00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #ifndef __PROTO_H_
00032 #define __PROTO_H_
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182
00183
00184
00185
00186
00187
00188
00189
00190
00191
00192
00193
00194
00195
00196
00197
00198
00199
00200
00201
00202
00203
00204
00205
00206
00207
00208
00209
00210
00211
00212
00213
00214
00215
00216
00217
00218
00219
00220
00221
00222
00223
00224
00225
00226
00227
00228
00229
00230
00231
00232
00233
00234
00235
00236
00237
00238
00239
00240
00241
00242
00243
00244
00245
00246
00247
00248
00249
00250
00251
00252
00253
00254
00255
00256
00257
00258
00259
00260
00261
00262
00263
00264
00265
00266
00267
00268
00269
00270
00271
00272
00273
00274
00275
00276
00277
00278
00279
00280
00281
00282
00283
00284
00285
00286
00287
00288
00289
00290
00291
00292
00293 class Param ;
00294 class Tbl ;
00295 class Mtbl ;
00296 class Mtbl_cf ;
00297 class Map_af ;
00298 class Matrice ;
00299 class Valeur ;
00300 class Base_val ;
00301 class Cmp ;
00302 class Tenseur ;
00303 class Scalar ;
00304 class Tensor ;
00305 class Sym_tensor ;
00306 class Vector ;
00307 class Param_elliptic ;
00308
00309
00310
00311
00312 double* cheb_ini(const int) ;
00313 double* chebimp_ini(const int) ;
00314 void four1d(const int, double* ) ;
00315 void chebyf1d(const int, double* ) ;
00316 void chebyr1d(const int, double* ) ;
00317 void cfpcossin(const int* ,const int* , double* ) ;
00318 void cfpcossini(const int* ,const int* , double* ) ;
00319 void cftcos(const int*, const int*, double*, const int*, double*) ;
00320 void cftsin(const int*, const int*, double*, const int*, double*) ;
00321 void cftcosp(const int*, const int*, double*, const int*, double*) ;
00322 void cftcosi(const int*, const int*, double*, const int*, double*) ;
00323 void cftsinp(const int*, const int*, double*, const int*, double*) ;
00324 void cftsini(const int*, const int*, double*, const int*, double*) ;
00325 void cftcossincp(const int*, const int*, double*, const int*, double*) ;
00326 void cftcossinsi(const int*, const int*, double*, const int*, double*) ;
00327 void cftcossinsp(const int*, const int*, double*, const int*, double*) ;
00328 void cftcossinci(const int*, const int*, double*, const int*, double*) ;
00329 void cftcossins(const int*, const int*, double*, const int*, double*) ;
00330 void cftcossinc(const int*, const int*, double*, const int*, double*) ;
00331 void cftleg(const int*, const int*, double*, const int*, double*) ;
00332 void cftlegmp(const int*, const int*, double*, const int*, double*) ;
00333 void cftlegmi(const int*, const int*, double*, const int*, double*) ;
00334 void cftlegp(const int*, const int*, double*, const int*, double*) ;
00335 void cftlegpp(const int*, const int*, double*, const int*, double*) ;
00336 void cftlegi(const int*, const int*, double*, const int*, double*) ;
00337 void cftlegip(const int*, const int*, double*, const int*, double*) ;
00338 void cftlegpi(const int*, const int*, double*, const int*, double*) ;
00339 void cftlegii(const int*, const int*, double*, const int*, double*) ;
00340 void cfrcheb(const int*, const int*, double*, const int*, double*) ;
00341 void cfrchebp(const int*, const int*, double*, const int*, double*) ;
00342 void cfrchebi(const int*, const int*, double*, const int*, double*) ;
00343 void cfrchebpimp(const int*, const int*, double*, const int*, double*) ;
00344 void cfrchebpimi(const int*, const int*, double*, const int*, double*) ;
00345 void cfrchebpip(const int*, const int*, double*, const int*, double*) ;
00346 void cfrchebpii(const int*, const int*, double*, const int*, double*) ;
00347 void cipcossin(const int* , const int* , const int* , double* , double* ) ;
00348 void cipcossini(const int* , const int* , const int* , double* , double* ) ;
00349 void citcos(const int*, const int*, double*, const int*, double*) ;
00350 void citcosp(const int*, const int*, double*, const int*, double*) ;
00351 void citcosi(const int*, const int*, double*, const int*, double*) ;
00352 void citsinp(const int*, const int*, double*, const int*, double*) ;
00353 void citsini(const int*, const int*, double*, const int*, double*) ;
00354 void citcossincp(const int*, const int*, double*, const int*, double*) ;
00355 void citcossinsi(const int*, const int*, double*, const int*, double*) ;
00356 void citcossinsp(const int*, const int*, double*, const int*, double*) ;
00357 void citcossinci(const int*, const int*, double*, const int*, double*) ;
00358 void citcossins(const int*, const int*, double*, const int*, double*) ;
00359 void citcossinc(const int*, const int*, double*, const int*, double*) ;
00360 void citleg(const int*, const int*, double*, const int*, double*) ;
00361 void citlegmp(const int*, const int*, double*, const int*, double*) ;
00362 void citlegmi(const int*, const int*, double*, const int*, double*) ;
00363 void citlegp(const int*, const int*, double*, const int*, double*) ;
00364 void citlegpp(const int*, const int*, double*, const int*, double*) ;
00365 void citlegi(const int*, const int*, double*, const int*, double*) ;
00366 void citlegip(const int*, const int*, double*, const int*, double*) ;
00367 void citlegpi(const int*, const int*, double*, const int*, double*) ;
00368 void citlegii(const int*, const int*, double*, const int*, double*) ;
00369 void circheb(const int*, const int*, double*, const int*, double*) ;
00370 void circhebp(const int*, const int*, double*, const int*, double*) ;
00371 void circhebi(const int*, const int*, double*, const int*, double*) ;
00372 void circhebpimp(const int*, const int*, double*, const int*, double*) ;
00373 void circhebpimi(const int*, const int*, double*, const int*, double*) ;
00374 void circhebpip(const int*, const int*, double*, const int*, double*) ;
00375 void circhebpii(const int*, const int*, double*, const int*, double*) ;
00376 double* legendre(int , int ) ;
00377 double* legendre_norm(int , int ) ;
00378 double* mat_cossincp_legp(int, int) ;
00379 double* mat_cossinci_legi(int, int) ;
00380 double* mat_cossinc_leg(int, int) ;
00381 double* mat_cosp_legpp(int, int) ;
00382 double* mat_cosi_legip(int, int) ;
00383 double* mat_sini_legpi(int, int) ;
00384 double* mat_sinp_legii(int, int) ;
00385 double* mat_cos_legmp(int, int) ;
00386 double* mat_sin_legmi(int, int) ;
00387 double* mat_legp_cossincp(int, int) ;
00388 double* mat_legi_cossinci(int, int) ;
00389 double* mat_leg_cossinc(int, int) ;
00390 double* mat_legpp_cosp(int, int) ;
00391 double* mat_legip_cosi(int, int) ;
00392 double* mat_legpi_sini(int, int) ;
00393 double* mat_legii_sinp(int, int) ;
00394 double* mat_legmp_cos(int, int) ;
00395 double* mat_legmi_sin(int, int) ;
00396 void chb_cossincp_legp(const int* , const double* , double* ) ;
00397 void chb_legp_cossincp(const int* , const double* , double* ) ;
00398 void chb_cossinc_leg(const int* , const double* , double* ) ;
00399 void chb_leg_cossinc(const int* , const double* , double* ) ;
00400 void chb_cosp_legpp(const int* , const double* , double* ) ;
00401 void chb_legpp_cosp(const int* , const double* , double* ) ;
00402 void chb_cosi_legip(const int* , const double* , double* ) ;
00403 void chb_legip_cosi(const int* , const double* , double* ) ;
00404 void chb_sini_legpi(const int* , const double* , double* ) ;
00405 void chb_legpi_sini(const int* , const double* , double* ) ;
00406 void chb_cossinci_legi(const int* , const double* , double* ) ;
00407 void chb_legi_cossinci(const int* , const double* , double* ) ;
00408 void chb_sinp_legii(const int* , const double* , double* ) ;
00409 void chb_legii_sinp(const int* , const double* , double* ) ;
00410 void chb_cos_legmp(const int* , const double* , double* ) ;
00411 void chb_legmp_cos(const int* , const double* , double* ) ;
00412 void chb_sin_legmi(const int* , const double* , double* ) ;
00413 void chb_legmi_sin(const int* , const double* , double* ) ;
00414
00415 double int1d_chebp(int, const double* ) ;
00416 double int1d_chebi(int, const double* ) ;
00417 double int1d_cheb(int, const double* ) ;
00418
00419 double* jacobi(int, double) ;
00420 double* pointsgausslobatto(int) ;
00421 Tbl jacobipointsgl(int) ;
00422 double* coeffjaco(int, double*) ;
00423 void cfrjaco02(const int*, const int*, double*, const int*, double*);
00424
00425
00426 void cipcossin(const int* , const int* , const int* , double* , double* ) ;
00427 void citcosp(const int*, const int*, double*, const int*, double*) ;
00428 void citcosi(const int*, const int*, double*, const int*, double*) ;
00429 void citcos(const int*, const int*, double*, const int*, double*) ;
00430 void citsin(const int*, const int*, double*, const int*, double*) ;
00431 void citsinp(const int*, const int*, double*, const int*, double*) ;
00432 void citsini(const int*, const int*, double*, const int*, double*) ;
00433 void citcossincp(const int*, const int*, double*, const int*, double*) ;
00434 void citcossinsi(const int*, const int*, double*, const int*, double*) ;
00435 void citcossinsp(const int*, const int*, double*, const int*, double*) ;
00436 void citcossinci(const int*, const int*, double*, const int*, double*) ;
00437 void citcossins(const int*, const int*, double*, const int*, double*) ;
00438 void citcossinc(const int*, const int*, double*, const int*, double*) ;
00439 void citlegp(const int*, const int*, double*, const int*, double*) ;
00440 void citlegpp(const int*, const int*, double*, const int*, double*) ;
00441 void citlegi(const int*, const int*, double*, const int*, double*) ;
00442 void circheb(const int*, const int*, double*, const int*, double*) ;
00443 void circhebp(const int*, const int*, double*, const int*, double*) ;
00444 void circhebi(const int*, const int*, double*, const int*, double*) ;
00445 void circhebpimp(const int*, const int*, double*, const int*, double*) ;
00446 void circhebpimi(const int*, const int*, double*, const int*, double*) ;
00447 void cirjaco02(const int*, const int*, double* , const int*, double*) ;
00448
00449
00450 Matrice _laplacien_mat_pas_prevu(int, int, double, int) ;
00451 Matrice _laplacien_mat_r_chebp(int, int, double, int) ;
00452 Matrice _laplacien_mat_r_chebi(int, int, double, int) ;
00453 Matrice _laplacien_mat_r_chebu(int, int, double, int) ;
00454 Matrice _laplacien_mat_r_chebu_deux(int, int) ;
00455 Matrice _laplacien_mat_r_chebu_trois(int, int) ;
00456 Matrice _laplacien_mat_r_chebu_quatre(int, int) ;
00457 Matrice _laplacien_mat_r_chebu_cinq(int, int) ;
00458 Matrice _laplacien_mat_r_cheb(int, int, double, int) ;
00459 Matrice laplacien_mat(int , int , double , int, int ) ;
00460
00461
00462 Matrice _cl_pas_prevu (const Matrice&, int, double, int) ;
00463 Matrice _cl_r_cheb (const Matrice&, int, double, int) ;
00464 Matrice _cl_r_chebi (const Matrice&, int, double, int) ;
00465 Matrice _cl_r_chebu (const Matrice&, int, double, int) ;
00466 Matrice _cl_r_chebu_cinq (const Matrice&, int) ;
00467 Matrice _cl_r_chebu_quatre (const Matrice&, int) ;
00468 Matrice _cl_r_chebu_trois (const Matrice&, int) ;
00469 Matrice _cl_r_chebu_deux (const Matrice&, int) ;
00470 Matrice _cl_r_chebp (const Matrice&, int, double, int) ;
00471 Matrice combinaison (const Matrice&, int, double, int, int) ;
00472
00473 Tbl _cl_pas_prevu (const Tbl&, int) ;
00474 Tbl _cl_r_cheb (const Tbl&, int) ;
00475 Tbl _cl_r_chebi (const Tbl&, int) ;
00476 Tbl _cl_r_chebu (const Tbl&, int) ;
00477 Tbl _cl_r_chebu_deux (const Tbl&) ;
00478 Tbl _cl_r_chebu_trois (const Tbl&) ;
00479 Tbl _cl_r_chebu_quatre (const Tbl&) ;
00480 Tbl _cl_r_chebu_cinq (const Tbl&) ;
00481 Tbl _cl_r_chebp (const Tbl&, int) ;
00482 Tbl combinaison (const Tbl&, int, int) ;
00483
00484
00485
00486 Matrice _prepa_nondege_pas_prevu(const Matrice &, int , double, int) ;
00487 Matrice _prepa_nondege_r_cheb (const Matrice&, int, double, int) ;
00488 Matrice _prepa_nondege_r_chebp (const Matrice&, int, double, int) ;
00489 Matrice _prepa_nondege_r_chebi (const Matrice&, int, double, int) ;
00490 Matrice _prepa_nondege_r_chebu (const Matrice&, int, double, int) ;
00491 Matrice _prepa_nondege_r_chebu_deux (const Matrice&, int) ;
00492 Matrice _prepa_nondege_r_chebu_trois (const Matrice&, int) ;
00493 Matrice _prepa_nondege_r_chebu_quatre (const Matrice&, int) ;
00494 Matrice _prepa_nondege_r_chebu_cinq (const Matrice&, int) ;
00495 Matrice prepa_nondege (const Matrice&, int, double, int, int) ;
00496
00497
00498 Tbl _solp_pas_prevu(const Matrice&, const Matrice&, double, double, const Tbl&, int) ;
00499 Tbl _solp_r_cheb (const Matrice&, const Matrice&, double, double, const Tbl&, int) ;
00500 Tbl _solp_r_chebp (const Matrice&, const Matrice&, double, double, const Tbl&, int) ;
00501 Tbl _solp_r_chebi (const Matrice&, const Matrice&, double, double, const Tbl&, int) ;
00502 Tbl _solp_r_chebu (const Matrice&, const Matrice&, double, double, const Tbl&, int) ;
00503 Tbl _solp_r_chebu_deux (const Matrice&, const Matrice&, const Tbl&) ;
00504 Tbl _solp_r_chebu_trois (const Matrice&, const Matrice&, double, const Tbl&) ;
00505 Tbl _solp_r_chebu_quatre (const Matrice&, const Matrice&, double, const Tbl&) ;
00506 Tbl _solp_r_chebu_cinq (const Matrice&, const Matrice&, const Tbl&) ;
00507 Tbl solp (const Matrice&, const Matrice&, double, double, const Tbl&, int, int) ;
00508
00509
00510 Tbl _solh_pas_prevu (int, int, double) ;
00511 Tbl _solh_r_cheb (int, int, double) ;
00512 Tbl _solh_r_chebp (int, int, double) ;
00513 Tbl _solh_r_chebi (int, int, double) ;
00514 Tbl _solh_r_chebu (int, int, double) ;
00515 Tbl solh (int, int, double, int) ;
00516
00517
00518 Matrice helmholtz_minus_mat(int , int, double , double , double, int ) ;
00519 Matrice cl_helmholtz_minus (const Matrice&, int) ;
00520 Tbl cl_helmholtz_minus (const Tbl&, int) ;
00521 Matrice prepa_helmholtz_minus_nondege (const Matrice&, int) ;
00522 Tbl solp_helmholtz_minus (const Matrice&, const Matrice&, const Tbl&,
00523 double, double, int, int) ;
00524 Tbl solh_helmholtz_minus (int, int, double, double, double, int) ;
00525
00526
00527 Matrice helmholtz_plus_mat(int , int, double , double , double, int ) ;
00528 Matrice cl_helmholtz_plus (const Matrice&, int) ;
00529 Tbl cl_helmholtz_plus (const Tbl&, int) ;
00530 Matrice prepa_helmholtz_plus_nondege (const Matrice&, int) ;
00531 Tbl solp_helmholtz_plus (const Matrice&, const Matrice&, const Tbl&,
00532 double, double, int) ;
00533 Tbl solh_helmholtz_plus (int, int, double, double, double, int) ;
00534
00535
00536
00537 Tbl val_solh (int, double, double, int) ;
00538 Tbl val_solp (const Tbl&, double, int) ;
00539
00540 double val1_dern_1d (int, const Tbl&, int) ;
00541 double valm1_dern_1d (int, const Tbl&, int) ;
00542
00543
00544
00545 void _d2sdx2_1d_pas_prevu(int, double*, double* ) ;
00546 void _d2sdx2_1d_r_chebu(int, double*, double* ) ;
00547 void _d2sdx2_1d_r_cheb(int, double*, double* ) ;
00548 void _d2sdx2_1d_r_chebp(int, double*, double* ) ;
00549 void _d2sdx2_1d_r_chebi(int, double*, double * ) ;
00550 void d2sdx2_1d(int, double** , int) ;
00551
00552 void _dsdx_1d_pas_prevu(int, double*, double* ) ;
00553 void _dsdx_1d_r_chebu(int, double*, double* ) ;
00554 void _dsdx_1d_r_chebp(int, double*, double* ) ;
00555 void _dsdx_1d_r_chebi(int, double*, double* ) ;
00556 void dsdx_1d(int, double** , int) ;
00557
00558 void _multx_1d_pas_prevu(int, double*, double* ) ;
00559 void _multx_1d_r_cheb(int, double*, double* ) ;
00560 void multx_1d(int, double **, int) ;
00561 void multxpun_1d(int, double **, int) ;
00562
00563 void _sx_1d_pas_prevu(int, double*, double* ) ;
00564 void _sx_1d_r_chebi(int, double*, double* ) ;
00565 void _sx_1d_r_chebp(int, double*, double* ) ;
00566 void sx_1d(int, double **, int) ;
00567
00568 void _sx2_1d_pas_prevu(int, double*, double*) ;
00569 void _sx2_1d_identite(int, double*, double*) ;
00570 void _sx2_1d_r_chebp(int, double*, double*) ;
00571 void _sx2_1d_r_chebi(int, double*, double*) ;
00572 void _sxm12_1d_r_chebu(int, double *, double*) ;
00573 void sx2_1d(int, double**, int) ;
00574
00575 void _sxdsdx_1d_pas_prevu(int, double*, double*) ;
00576 void _dsdx_1d_r_cheb(int, double*, double*) ;
00577 void _sxdsdx_1d_r_chebi(int, double*, double*) ;
00578 void _sxdsdx_1d_r_chebp(int, double*, double*) ;
00579 void sxdsdx_1d(int, double** , int) ;
00580
00581
00582 void _dsdx_r_chebp(Tbl *, int &) ;
00583 void _dsdx_r_chebi(Tbl *, int &) ;
00584
00585
00586 int nullite_plm_sym (int, int, int, int) ;
00587 int nullite_plm_nonsym (int, int, int, int) ;
00588 int nullite_plm_nonsym_anti (int, int, int, int) ;
00589 int nullite_plm (int, int, int, int, Base_val) ;
00590
00591 void donne_lm_sym (int, int, int, int, int&, int&, int&) ;
00592 void donne_lm_nonsym (int, int, int, int, int&, int&, int&) ;
00593 void donne_lm_nonsym_anti (int, int, int, int, int&, int&, int&) ;
00594 void donne_lm (int, int, int, int, Base_val, int&, int&, int&) ;
00595
00596
00597
00598 void som_r_pas_prevu
00599 (double*, const int, const int, const int, const double, double*) ;
00600 void som_r_cheb
00601 (double*, const int, const int, const int, const double, double*) ;
00602 void som_r_chebi
00603 (double*, const int, const int, const int, const double, double*) ;
00604 void som_r_chebp
00605 (double*, const int, const int, const int, const double, double*) ;
00606 void som_r_chebu
00607 (double*, const int, const int, const int, const double, double*) ;
00608 void som_r_chebpim_p
00609 (double*, const int, const int, const int, const double, double*) ;
00610 void som_r_chebpim_i
00611 (double*, const int, const int, const int, const double, double*) ;
00612 void som_r_chebpi_p
00613 (double*, const int, const int, const int, const double, double*) ;
00614 void som_r_chebpi_i
00615 (double*, const int, const int, const int, const double, double*) ;
00616 void som_r_cheb_symy
00617 (double*, const int, const int, const int, const double, double*) ;
00618 void som_r_chebu_symy
00619 (double*, const int, const int, const int, const double, double*) ;
00620 void som_r_chebpim_p_symy
00621 (double*, const int, const int, const int, const double, double*) ;
00622 void som_r_chebpim_i_symy
00623 (double*, const int, const int, const int, const double, double*) ;
00624 void som_r_cheb_asymy
00625 (double*, const int, const int, const int, const double, double*) ;
00626 void som_r_chebu_asymy
00627 (double*, const int, const int, const int, const double, double*) ;
00628 void som_r_chebpim_p_asymy
00629 (double*, const int, const int, const int, const double, double*) ;
00630 void som_r_chebpim_i_asymy
00631 (double*, const int, const int, const int, const double, double*) ;
00632 void som_r_jaco02
00633 (double*, const int, const int, const int, const double, double*) ;
00634
00635
00636 void som_tet_pas_prevu
00637 (double*, const int, const int, const double, double*) ;
00638 void som_tet_cos
00639 (double*, const int, const int, const double, double* ) ;
00640 void som_tet_cos_p
00641 (double*, const int, const int, const double, double* ) ;
00642 void som_tet_cos_i
00643 (double*, const int, const int, const double, double* ) ;
00644 void som_tet_sin
00645 (double*, const int, const int, const double, double* ) ;
00646 void som_tet_sin_p
00647 (double*, const int, const int, const double, double* ) ;
00648 void som_tet_sin_i
00649 (double*, const int, const int, const double, double* ) ;
00650 void som_tet_cossin_cp
00651 (double*, const int, const int, const double, double* ) ;
00652 void som_tet_cossin_ci
00653 (double*, const int, const int, const double, double* ) ;
00654 void som_tet_cossin_c
00655 (double*, const int, const int, const double, double* ) ;
00656 void som_tet_cossin_s
00657 (double*, const int, const int, const double, double* ) ;
00658 void som_tet_cossin_sp
00659 (double*, const int, const int, const double, double* ) ;
00660 void som_tet_cossin_si
00661 (double*, const int, const int, const double, double* ) ;
00662 void som_tet_cossin_cp_symy
00663 (double*, const int, const int, const double, double* ) ;
00664 void som_tet_cossin_ci_symy
00665 (double*, const int, const int, const double, double* ) ;
00666 void som_tet_cossin_cp_asymy
00667 (double*, const int, const int, const double, double* ) ;
00668 void som_tet_cossin_ci_asymy
00669 (double*, const int, const int, const double, double* ) ;
00670
00671
00672 void som_phi_pas_prevu
00673 (double*, const int, const double, double* ) ;
00674 void som_phi_cossin
00675 (double*, const int, const double, double* ) ;
00676 void som_phi_cossin_p
00677 (double*, const int, const double, double* ) ;
00678 void som_phi_cossin_i
00679 (double*, const int, const double, double* ) ;
00680 void som_phi_cossin_symy
00681 (double*, const int, const double, double* ) ;
00682 void som_phi_cossin_asymy
00683 (double*, const int, const double, double* ) ;
00684
00685
00686 void sxm1_1d_cheb(int, double*) ;
00687 void mult_xm1_1d_cheb(int, const double*, double*) ;
00688 void mult2_xm1_1d_cheb(int, const double*, double*) ;
00689
00690
00691 void _xdsdx_1d_pas_prevu (int, double*, double*) ;
00692 void _xdsdx_1d_r_cheb (int, double*, double*) ;
00693 void _xdsdx_1d_r_chebp (int, double*, double*) ;
00694 void _xdsdx_1d_r_chebi (int, double*, double*) ;
00695 void xdsdx_1d(int, double**, int) ;
00696
00697
00698 void multx2_1d(int, double **, int) ;
00699 void _multx2_1d_r_cheb(int, double* , double *);
00700 void _multx2_1d_r_chebp(int, double* , double *);
00701 void _multx2_1d_r_chebi(int, double* , double *);
00702 void _multx2_1d_pas_prevu(int, double* , double *);
00703
00704
00705 void sxpun_1d(int, double **, int) ;
00706 void _sxpun_1d_r_cheb(int, double* , double *);
00707 void _sxpun_1d_pas_prevu(int, double* , double *);
00708 Cmp division_xpun (const Cmp&, int) ;
00709
00710
00711 void get_operateur_dal(const Param&, const int&, const int&,
00712 int&, Matrice& );
00713 Tbl dal_inverse(const int&, const int&, const Matrice&, const Tbl&,
00714 const bool) ;
00715 Mtbl_cf sol_dalembert(Param&, const Map_af&, const Mtbl_cf&) ;
00716
00717 void runge_kutta3_wave_sys(double, const Scalar&, const Scalar&, Scalar& , Scalar&, int dl=0 ) ;
00718 void evolve_outgoing_BC(double, int, const Scalar&, Scalar&, Tbl&, Tbl&, Tbl&, int dl=0) ;
00719 void tilde_laplacian(const Scalar& B_in, Scalar& tilde_lap, int dl=-1) ;
00720 void initialize_outgoing_BC(int, const Scalar& , const Scalar& , Tbl&) ;
00721
00722
00723 void tensorelliptic ( Scalar source, Scalar& resu, double fitd1, double fit2d1, double fit0d2 = 0., double fit1d2 = 0., double fit0d3 = 0., double fit1d3 = 0.);
00724 void tensorellipticBt ( Scalar source, Scalar& resu, double fitd1, double fit2d1, double fit0d2 = 0., double fit1d2 = 0., double fit0d3 = 0., double fit1d3 = 0.);
00725 void tensorellipticCt ( Scalar source, Scalar& resu, double fitd1, double fit2d1, double fit0d2, double fit1d2, double fit0d3, double fit1d3);
00726
00727 Sym_tensor secmembre_kerr ( const Sym_tensor& hij, const Sym_tensor& aa,const Scalar& nn,const Scalar& ppsi,const Vector& bb);
00728
00729 Sym_tensor boundfree_tensBC( Sym_tensor source, Vector Beta, Scalar Psi, Scalar Nn, Sym_tensor hij_guess, double precision , int loopmax = 250) ;
00730
00731
00732 void c_est_pas_fait(char * ) ;
00733
00734
00735
00736 Matrice lap_cpt_mat(int, int, int) ;
00737 Matrice xdsdx_mat(int, int, int) ;
00738 Matrice combinaison_cpt (const Matrice &, int, int) ;
00739 Tbl combinaison_cpt (const Tbl &, int) ;
00740
00741
00742 void dirichlet_binaire (const Cmp& source_un, const Cmp& source_deux,
00743 const Valeur& boundary_un, const Valeur& boundary_deux,
00744 Cmp& sol_un, Cmp& sol_deux, int num_front,
00745 double precision) ;
00746 void dirichlet_binaire (const Cmp& source_un, const Cmp& source_deux,
00747 double bound_un, double bound_deux,
00748 Cmp& sol_un, Cmp& sol_deux, int num_front,
00749 double precision) ;
00750 void dirichlet_binaire (const Scalar& source_un, const Scalar& source_deux,
00751 const Valeur& boundary_un, const Valeur& boundary_deux,
00752 Scalar& sol_un, Scalar& sol_deux, int num_front,
00753 double precision) ;
00754
00755 void neumann_binaire (const Cmp& source_un, const Cmp& source_deux,
00756 const Valeur& boundary_un, const Valeur& boundary_deux,
00757 Cmp& sol_un, Cmp& sol_deux, int num_front,
00758 double precision) ;
00759 void neumann_binaire (const Cmp& source_un, const Cmp& source_deux,
00760 double bound_un, double bound_deux,
00761 Cmp& sol_un, Cmp& sol_deux, int num_front,
00762 double precision) ;
00763 void neumann_binaire (const Scalar& source_un, const Scalar& source_deux,
00764 const Valeur& boundary_un, const Valeur& boundary_deux,
00765 Scalar& sol_un, Scalar& sol_deux, int num_front,
00766 double precision) ;
00767
00768 void poisson_vect_frontiere (double lambda, const Tenseur& source, Tenseur& shift,
00769 const Valeur& lim_x, const Valeur& lim_y, const Valeur& lim_z,
00770 int num_front, double precision, int itermax) ;
00771 void poisson_vect_boundary (double lambda, const Vector& source, Vector& shift,
00772 const Valeur& lim_x, const Valeur& lim_y, const Valeur& lim_z,
00773 int num_front, double precision, int itermax) ;
00774
00775 void poisson_vect_binaire ( double lambda,
00776 const Tenseur& source_un, const Tenseur& source_deux,
00777 const Valeur& bound_x_un, const Valeur& bound_y_un,
00778 const Valeur& bound_z_un, const Valeur& bound_x_deux,
00779 const Valeur& bound_y_deux, const Valeur& bound_z_deux,
00780 Tenseur& sol_un, Tenseur& sol_deux, int num_front, double precision) ;
00781 void poisson_vect_binaire ( double lambda,
00782 const Vector& source_un, const Vector& source_deux,
00783 const Valeur& bound_x_un, const Valeur& bound_y_un,
00784 const Valeur& bound_z_un, const Valeur& bound_x_deux,
00785 const Valeur& bound_y_deux, const Valeur& bound_z_deux,
00786 Vector& sol_un, Vector& sol_deux, int num_front, double precision) ;
00787
00788
00789 Mtbl_cf elliptic_solver (const Param_elliptic&, const Mtbl_cf&) ;
00790
00791 Mtbl_cf elliptic_solver_boundary (const Param_elliptic& ope_var, const Mtbl_cf& source, const Mtbl_cf& bound, double fact_dir, double fact_neu ) ;
00792
00793 Mtbl_cf elliptic_solver_no_zec (const Param_elliptic&, const Mtbl_cf&,
00794 double val) ;
00795 Mtbl_cf elliptic_solver_only_zec (const Param_elliptic&, const Mtbl_cf&,
00796 double val) ;
00797 Mtbl_cf elliptic_solver_sin_zec (const Param_elliptic&, const Mtbl_cf&, double*, double*) ;
00798 Mtbl_cf elliptic_solver_fixe_der_zero (double,
00799 const Param_elliptic&,
00800 const Mtbl_cf&) ;
00801
00802
00803 double integrale2d(const Scalar&) ;
00804
00805
00806 Scalar pois_vect_r0(const Scalar& ) ;
00807
00808
00809 double regle (Tenseur& shift_auto, const Tenseur& shift_comp, double omega, double) ;
00810
00811
00812 double serie_lindquist_plus (double rayon, double distance, double xa, double ya,
00813 double za, double precision, double itemax) ;
00814
00815 double serie_lindquist_moins (double rayon, double distance, double xa, double ya,
00816 double za, double precision, double itemax) ;
00817
00818 double adm_serie (double rayon, double distance, double precision) ;
00819
00820 double bare_serie (double rayon, double distance, double precision) ;
00821
00822 void set_lindquist (Cmp& psi_un, Cmp& psi_deux, double rayon, double precision) ;
00823
00824 void separation (const Cmp& c1, const Cmp& c2, Cmp& res1, Cmp& res2, int decrois,
00825 int puiss, int lmax, double precision, const double relax = 0.5, const int itemax = 100, const int flag = 1) ;
00826
00827
00828
00829 void coupe_l_tous( Sym_tensor& hij,Sym_tensor& aa, Scalar& nn,Scalar& ppsi, Vector& bb, int ntt, int cutoff);
00830 void tensor_coupe_l( Sym_tensor& ten, int ntt, int cutoff);
00831
00832
00833 #endif