85 Mtbl* map_et_fait_dxdr(
const Map* cvi) {
88 const Map_et* cv =
static_cast<const Map_et*
>(cvi) ;
89 const Mg3d* mg = cv->
get_mg() ;
93 Mtbl* mti =
new Mtbl(mg) ;
97 const double* alpha = cv->alpha ;
98 const Valeur& ff = cv->ff ;
99 const Valeur& gg = cv->gg ;
101 for (
int l=0 ; l<nz ; l++) {
103 int nr = mg->get_nr(l);
104 int nt = mg->get_nt(l) ;
105 int np = mg->get_np(l) ;
107 const Tbl& da = *((cv->daa)[l]) ;
108 const Tbl& db = *((cv->dbb)[l]) ;
110 Tbl* tb = (mti->t)[l] ;
112 double* p_r = tb->t ;
114 switch(mg->get_type_r(l)) {
116 case FIN:
case RARE: {
117 for (
int k=0 ; k<np ; k++) {
118 for (
int j=0 ; j<nt ; j++) {
119 for (
int i=0 ; i<nr ; i++) {
121 ( alpha[l] * ( 1. + da(i) * ff(l, k, j, 0)
122 + db(i) * gg(l, k, j, 0) )
132 for (
int k=0 ; k<np ; k++) {
133 for (
int j=0 ; j<nt ; j++) {
134 for (
int i=0 ; i<nr ; i++) {
136 ( alpha[l] * ( 1. + da(i) * ff(l, k, j, 0) )
146 cout <<
"map_et_fait_dxdr: unknown type_r !" << endl ;
162 Mtbl* map_et_fait_drdt(
const Map* cvi) {
165 const Map_et* cv =
static_cast<const Map_et*
>(cvi) ;
166 const Mg3d* mg = cv->
get_mg() ;
170 Mtbl* mti =
new Mtbl(mg) ;
171 mti->set_etat_qcq() ;
174 const double* alpha = cv->alpha ;
175 const Valeur& ff = cv->ff ;
176 const Valeur& gg = cv->gg ;
177 const Valeur& dffdt = ff.dsdt() ;
178 const Valeur& dggdt = gg.dsdt() ;
181 for (
int l=0 ; l<nz ; l++) {
183 int nr = mg->get_nr(l);
184 int nt = mg->get_nt(l) ;
185 int np = mg->get_np(l) ;
187 const Tbl& aa = *((cv->aa)[l]) ;
188 const Tbl& bb = *((cv->bb)[l]) ;
190 Tbl* tb = (mti->t)[l] ;
192 double* p_r = tb->t ;
194 switch(mg->get_type_r(l)) {
197 case RARE :
case FIN: {
198 for (
int k=0 ; k<np ; k++) {
199 for (
int j=0 ; j<nt ; j++) {
200 for (
int i=0 ; i<nr ; i++) {
201 *p_r = alpha[l] * ( aa(i) * dffdt(l, k, j, 0)
202 + bb(i) * dggdt(l, k, j, 0) ) ;
212 for (
int k=0 ; k<np ; k++) {
213 for (
int j=0 ; j<nt ; j++) {
214 for (
int i=0 ; i<nr ; i++) {
215 *p_r = - aa(i) * dffdt(l, k, j, 0) ;
224 cout <<
"map_et_fait_drdt: unknown type_r !" << endl ;
241 Mtbl* map_et_fait_stdrdp(
const Map* cvi) {
244 const Map_et* cv =
static_cast<const Map_et*
>(cvi) ;
245 const Mg3d* mg = cv->
get_mg() ;
249 Mtbl* mti =
new Mtbl(mg) ;
250 mti->set_etat_qcq() ;
253 const double* alpha = cv->alpha ;
254 const Valeur& ff = cv->ff ;
255 const Valeur& gg = cv->gg ;
256 const Valeur& stdffdp = ff.stdsdp() ;
257 const Valeur& stdggdp = gg.stdsdp() ;
260 for (
int l=0 ; l<nz ; l++) {
262 int nr = mg->get_nr(l);
263 int nt = mg->get_nt(l) ;
264 int np = mg->get_np(l) ;
266 const Tbl& aa = *((cv->aa)[l]) ;
267 const Tbl& bb = *((cv->bb)[l]) ;
269 Tbl* tb = (mti->t)[l] ;
271 double* p_r = tb->t ;
273 switch(mg->get_type_r(l)) {
276 case RARE :
case FIN: {
277 for (
int k=0 ; k<np ; k++) {
278 for (
int j=0 ; j<nt ; j++) {
279 for (
int i=0 ; i<nr ; i++) {
280 *p_r = alpha[l] * ( aa(i) * stdffdp(l, k, j, 0)
281 + bb(i) * stdggdp(l, k, j, 0) ) ;
291 for (
int k=0 ; k<np ; k++) {
292 for (
int j=0 ; j<nt ; j++) {
293 for (
int i=0 ; i<nr ; i++) {
294 *p_r = - aa(i) * stdffdp(l, k, j, 0) ;
303 cout <<
"map_et_fait_stdrdp: unknown type_r !" << endl ;
320 Mtbl* map_et_fait_srdrdt(
const Map* cvi) {
323 const Map_et* cv =
static_cast<const Map_et*
>(cvi) ;
324 const Mg3d* mg = cv->
get_mg() ;
328 Mtbl* mti =
new Mtbl(mg) ;
329 mti->set_etat_qcq() ;
332 const double* alpha = cv->alpha ;
333 const double* beta = cv->beta ;
334 const Valeur& ff = cv->ff ;
335 const Valeur& gg = cv->gg ;
336 const Valeur& dffdt = ff.dsdt() ;
337 const Valeur& dggdt = gg.dsdt() ;
340 for (
int l=0 ; l<nz ; l++) {
342 const Grille3d* g = mg->get_grille3d(l) ;
344 int nr = mg->get_nr(l);
345 int nt = mg->get_nt(l) ;
346 int np = mg->get_np(l) ;
348 const Tbl& aa = *((cv->aa)[l]) ;
349 const Tbl& bb = *((cv->bb)[l]) ;
351 Tbl* tb = (mti->t)[l] ;
353 double* p_r = tb->t ;
355 switch(mg->get_type_r(l)) {
359 const Tbl& asx = cv->aasx ;
360 const Tbl& bsx = cv->bbsx ;
362 for (
int k=0 ; k<np ; k++) {
363 for (
int j=0 ; j<nt ; j++) {
364 for (
int i=0 ; i<nr ; i++) {
365 *p_r = ( asx(i) * dffdt(l, k, j, 0)
366 + bsx(i) * dggdt(l, k, j, 0) ) /
367 ( 1. + asx(i) * ff(l, k, j, 0)
368 + bsx(i) * gg(l, k, j, 0) ) ;
377 for (
int k=0 ; k<np ; k++) {
378 for (
int j=0 ; j<nt ; j++) {
379 for (
int i=0 ; i<nr ; i++) {
380 *p_r = alpha[l] * ( aa(i) * dffdt(l, k, j, 0)
381 + bb(i) * dggdt(l, k, j, 0) )
383 (g->x)[i] + aa(i) * ff(l, k, j, 0)
384 + bb(i) * gg(l, k, j, 0) )
395 const Tbl& asxm1 = cv->zaasx ;
397 for (
int k=0 ; k<np ; k++) {
398 for (
int j=0 ; j<nt ; j++) {
399 for (
int i=0 ; i<nr ; i++) {
400 *p_r = - asxm1(i) * dffdt(l, k, j, 0)
401 / ( 1. + asxm1(i) * ff(l, k, j, 0) ) ;
410 cout <<
"map_et_fait_srdrdt: unknown type_r !" << endl ;
426 Mtbl* map_et_fait_srstdrdp(
const Map* cvi) {
429 const Map_et* cv =
static_cast<const Map_et*
>(cvi) ;
430 const Mg3d* mg = cv->
get_mg() ;
434 Mtbl* mti =
new Mtbl(mg) ;
435 mti->set_etat_qcq() ;
438 const double* alpha = cv->alpha ;
439 const double* beta = cv->beta ;
440 const Valeur& ff = cv->ff ;
441 const Valeur& gg = cv->gg ;
442 const Valeur& stdffdp = ff.stdsdp() ;
443 const Valeur& stdggdp = gg.stdsdp() ;
446 for (
int l=0 ; l<nz ; l++) {
448 const Grille3d* g = mg->get_grille3d(l) ;
450 int nr = mg->get_nr(l);
451 int nt = mg->get_nt(l) ;
452 int np = mg->get_np(l) ;
454 const Tbl& aa = *((cv->aa)[l]) ;
455 const Tbl& bb = *((cv->bb)[l]) ;
457 Tbl* tb = (mti->t)[l] ;
459 double* p_r = tb->t ;
461 switch(mg->get_type_r(l)) {
465 const Tbl& asx = cv->aasx ;
466 const Tbl& bsx = cv->bbsx ;
468 for (
int k=0 ; k<np ; k++) {
469 for (
int j=0 ; j<nt ; j++) {
470 for (
int i=0 ; i<nr ; i++) {
471 *p_r = ( asx(i) * stdffdp(l, k, j, 0)
472 + bsx(i) * stdggdp(l, k, j, 0) ) /
473 ( 1. + asx(i) * ff(l, k, j, 0)
474 + bsx(i) * gg(l, k, j, 0) ) ;
483 for (
int k=0 ; k<np ; k++) {
484 for (
int j=0 ; j<nt ; j++) {
485 for (
int i=0 ; i<nr ; i++) {
486 *p_r = alpha[l] * ( aa(i) * stdffdp(l, k, j, 0)
487 + bb(i) * stdggdp(l, k, j, 0) )
489 (g->x)[i] + aa(i) * ff(l, k, j, 0)
490 + bb(i) * gg(l, k, j, 0) )
501 const Tbl& asxm1 = cv->zaasx ;
503 for (
int k=0 ; k<np ; k++) {
504 for (
int j=0 ; j<nt ; j++) {
505 for (
int i=0 ; i<nr ; i++) {
506 *p_r = - asxm1(i) * stdffdp(l, k, j, 0)
507 / ( 1. + asxm1(i) * ff(l, k, j, 0) ) ;
516 cout <<
"map_et_fait_srstdrdp: unknown type_r !" << endl ;
531 Mtbl* map_et_fait_sr2drdt(
const Map* cvi) {
534 const Map_et* cv =
static_cast<const Map_et*
>(cvi) ;
535 const Mg3d* mg = cv->
get_mg() ;
539 Mtbl* mti =
new Mtbl(mg) ;
540 mti->set_etat_qcq() ;
543 const double* alpha = cv->alpha ;
544 const double* beta = cv->beta ;
545 const Valeur& ff = cv->ff ;
546 const Valeur& gg = cv->gg ;
547 const Valeur& dffdt = ff.dsdt() ;
548 const Valeur& dggdt = gg.dsdt() ;
551 for (
int l=0 ; l<nz ; l++) {
553 const Grille3d* g = mg->get_grille3d(l) ;
555 int nr = mg->get_nr(l);
556 int nt = mg->get_nt(l) ;
557 int np = mg->get_np(l) ;
559 const Tbl& aa = *((cv->aa)[l]) ;
560 const Tbl& bb = *((cv->bb)[l]) ;
562 Tbl* tb = (mti->t)[l] ;
564 double* p_r = tb->t ;
566 switch(mg->get_type_r(l)) {
570 const Tbl& asx = cv->aasx ;
571 const Tbl& bsx = cv->bbsx ;
572 const Tbl& asx2 = cv->aasx2 ;
573 const Tbl& bsx2 = cv->bbsx2 ;
575 for (
int k=0 ; k<np ; k++) {
576 for (
int j=0 ; j<nt ; j++) {
577 for (
int i=0 ; i<nr ; i++) {
579 double ww = 1. + asx(i) * ff(l, k, j, 0)
580 + bsx(i) * gg(l, k, j, 0) ;
582 *p_r = ( asx2(i) * dffdt(l, k, j, 0)
583 + bsx2(i) * dggdt(l, k, j, 0) ) /
594 for (
int k=0 ; k<np ; k++) {
595 for (
int j=0 ; j<nt ; j++) {
596 for (
int i=0 ; i<nr ; i++) {
598 double ww = alpha[l] * (
599 (g->x)[i] + aa(i) * ff(l, k, j, 0)
600 + bb(i) * gg(l, k, j, 0) )
603 *p_r = alpha[l] * ( aa(i) * dffdt(l, k, j, 0)
604 + bb(i) * dggdt(l, k, j, 0) )
615 const Tbl& asxm1 = cv->zaasx ;
616 const Tbl& asxm1car = cv->zaasx2 ;
618 for (
int k=0 ; k<np ; k++) {
619 for (
int j=0 ; j<nt ; j++) {
620 for (
int i=0 ; i<nr ; i++) {
622 double ww = 1. + asxm1(i) * ff(l, k, j, 0) ;
624 *p_r = - asxm1car(i) * dffdt(l, k, j, 0)
625 / ( alpha[l] * ww*ww ) ;
634 cout <<
"map_et_fait_sr2drdt: unknown type_r !" << endl ;
650 Mtbl* map_et_fait_sr2stdrdp(
const Map* cvi) {
653 const Map_et* cv =
static_cast<const Map_et*
>(cvi) ;
654 const Mg3d* mg = cv->
get_mg() ;
658 Mtbl* mti =
new Mtbl(mg) ;
659 mti->set_etat_qcq() ;
662 const double* alpha = cv->alpha ;
663 const double* beta = cv->beta ;
664 const Valeur& ff = cv->ff ;
665 const Valeur& gg = cv->gg ;
666 const Valeur& stdffdp = ff.stdsdp() ;
667 const Valeur& stdggdp = gg.stdsdp() ;
670 for (
int l=0 ; l<nz ; l++) {
672 const Grille3d* g = mg->get_grille3d(l) ;
674 int nr = mg->get_nr(l);
675 int nt = mg->get_nt(l) ;
676 int np = mg->get_np(l) ;
678 const Tbl& aa = *((cv->aa)[l]) ;
679 const Tbl& bb = *((cv->bb)[l]) ;
681 Tbl* tb = (mti->t)[l] ;
683 double* p_r = tb->t ;
685 switch(mg->get_type_r(l)) {
689 const Tbl& asx = cv->aasx ;
690 const Tbl& bsx = cv->bbsx ;
691 const Tbl& asx2 = cv->aasx2 ;
692 const Tbl& bsx2 = cv->bbsx2 ;
694 for (
int k=0 ; k<np ; k++) {
695 for (
int j=0 ; j<nt ; j++) {
696 for (
int i=0 ; i<nr ; i++) {
698 double ww = 1. + asx(i) * ff(l, k, j, 0)
699 + bsx(i) * gg(l, k, j, 0) ;
701 *p_r = ( asx2(i) * stdffdp(l, k, j, 0)
702 + bsx2(i) * stdggdp(l, k, j, 0) ) /
712 for (
int k=0 ; k<np ; k++) {
713 for (
int j=0 ; j<nt ; j++) {
714 for (
int i=0 ; i<nr ; i++) {
716 double ww = alpha[l] * (
717 (g->x)[i] + aa(i) * ff(l, k, j, 0)
718 + bb(i) * gg(l, k, j, 0) )
721 *p_r = alpha[l] * ( aa(i) * stdffdp(l, k, j, 0)
722 + bb(i) * stdggdp(l, k, j, 0) )
733 const Tbl& asxm1 = cv->zaasx ;
734 const Tbl& asxm1car = cv->zaasx2 ;
736 for (
int k=0 ; k<np ; k++) {
737 for (
int j=0 ; j<nt ; j++) {
738 for (
int i=0 ; i<nr ; i++) {
740 double ww = 1. + asxm1(i) * ff(l, k, j, 0) ;
742 *p_r = - asxm1car(i) * stdffdp(l, k, j, 0)
743 / ( alpha[l] * ww*ww ) ;
752 cout <<
"map_et_fait_sr2stdrdp: unknown type_r !" << endl ;
770 Mtbl* map_et_fait_rsxdxdr(
const Map* cvi) {
773 const Map_et* cv =
static_cast<const Map_et*
>(cvi) ;
774 const Mg3d* mg = cv->
get_mg() ;
778 Mtbl* mti =
new Mtbl(mg) ;
779 mti->set_etat_qcq() ;
782 const double* alpha = cv->alpha ;
783 const double* beta = cv->beta ;
784 const Valeur& ff = cv->ff ;
785 const Valeur& gg = cv->gg ;
787 for (
int l=0 ; l<nz ; l++) {
789 const Grille3d* g = mg->get_grille3d(l) ;
791 int nr = mg->get_nr(l);
792 int nt = mg->get_nt(l) ;
793 int np = mg->get_np(l) ;
795 const Tbl& aa = *((cv->aa)[l]) ;
796 const Tbl& bb = *((cv->bb)[l]) ;
797 const Tbl& da = *((cv->daa)[l]) ;
798 const Tbl& db = *((cv->dbb)[l]) ;
800 Tbl* tb = (mti->t)[l] ;
802 double* p_r = tb->t ;
804 switch(mg->get_type_r(l)) {
808 const Tbl& asx = cv->aasx ;
809 const Tbl& bsx = cv->bbsx ;
811 for (
int k=0 ; k<np ; k++) {
812 for (
int j=0 ; j<nt ; j++) {
813 for (
int i=0 ; i<nr ; i++) {
815 *p_r = ( 1. + asx(i) * ff(l, k, j, 0)
816 + bsx(i) * gg(l, k, j, 0) ) /
817 ( 1. + da(i) * ff(l, k, j, 0)
818 + db(i) * gg(l, k, j, 0) ) ;
828 for (
int k=0 ; k<np ; k++) {
829 for (
int j=0 ; j<nt ; j++) {
830 for (
int i=0 ; i<nr ; i++) {
832 *p_r = ( (g->x)[i] + aa(i) * ff(l, k, j, 0)
833 + bb(i) * gg(l, k, j, 0)
834 + beta[l]/alpha[l] ) /
835 ( ( 1. + da(i) * ff(l, k, j, 0)
836 + db(i) * gg(l, k, j, 0) ) *
837 ( (g->x)[i] + beta[l]/alpha[l] ) ) ;
848 const Tbl& asxm1 = cv->zaasx ;
850 for (
int k=0 ; k<np ; k++) {
851 for (
int j=0 ; j<nt ; j++) {
852 for (
int i=0 ; i<nr ; i++) {
854 *p_r = ( 1. + asxm1(i) * ff(l, k, j, 0) ) /
855 ( 1. + da(i) * ff(l, k, j, 0) ) ;
865 cout <<
"map_et_fait_rsxdxdr: unknown type_r !" << endl ;
882 Mtbl* map_et_fait_rsx2drdx(
const Map* cvi) {
885 const Map_et* cv =
static_cast<const Map_et*
>(cvi) ;
886 const Mg3d* mg = cv->
get_mg() ;
890 Mtbl* mti =
new Mtbl(mg) ;
891 mti->set_etat_qcq() ;
894 const double* alpha = cv->alpha ;
895 const double* beta = cv->beta ;
896 const Valeur& ff = cv->ff ;
897 const Valeur& gg = cv->gg ;
899 for (
int l=0 ; l<nz ; l++) {
901 const Grille3d* g = mg->get_grille3d(l) ;
903 int nr = mg->get_nr(l);
904 int nt = mg->get_nt(l) ;
905 int np = mg->get_np(l) ;
907 const Tbl& aa = *((cv->aa)[l]) ;
908 const Tbl& bb = *((cv->bb)[l]) ;
909 const Tbl& da = *((cv->daa)[l]) ;
910 const Tbl& db = *((cv->dbb)[l]) ;
912 Tbl* tb = (mti->t)[l] ;
914 double* p_r = tb->t ;
916 switch(mg->get_type_r(l)) {
920 const Tbl& asx = cv->aasx ;
921 const Tbl& bsx = cv->bbsx ;
923 for (
int k=0 ; k<np ; k++) {
924 for (
int j=0 ; j<nt ; j++) {
925 for (
int i=0 ; i<nr ; i++) {
927 double ww = 1. + asx(i) * ff(l, k, j, 0)
928 + bsx(i) * gg(l, k, j, 0) ;
931 ( 1. + da(i) * ff(l, k, j, 0)
932 + db(i) * gg(l, k, j, 0) ) ;
942 for (
int k=0 ; k<np ; k++) {
943 for (
int j=0 ; j<nt ; j++) {
944 for (
int i=0 ; i<nr ; i++) {
946 double ww = ( (g->x)[i] + aa(i) * ff(l, k, j, 0)
947 + bb(i) * gg(l, k, j, 0)
948 + beta[l]/alpha[l] ) /
949 ( (g->x)[i] + beta[l]/alpha[l] ) ;
952 ( 1. + da(i) * ff(l, k, j, 0)
953 + db(i) * gg(l, k, j, 0) ) ;
964 for (
int k=0 ; k<np ; k++) {
965 for (
int j=0 ; j<nt ; j++) {
966 for (
int i=0 ; i<nr ; i++) {
968 *p_r = 1. + da(i) * ff(l, k, j, 0) ;
978 cout <<
"map_et_fait_rsx2drdx: unknown type_r !" << endl ;
1001 Mtbl* map_et_fait_d2rdx2(
const Map* cvi) {
1004 const Map_et* cv =
static_cast<const Map_et*
>(cvi) ;
1005 const Mg3d* mg = cv->
get_mg() ;
1009 Mtbl* mti =
new Mtbl(mg) ;
1010 mti->set_etat_qcq() ;
1013 const double* alpha = cv->alpha ;
1014 const Valeur& ff = cv->ff ;
1015 const Valeur& gg = cv->gg ;
1017 for (
int l=0 ; l<nz ; l++) {
1019 int nr = mg->get_nr(l);
1020 int nt = mg->get_nt(l) ;
1021 int np = mg->get_np(l) ;
1023 const Tbl& dda = *((cv->ddaa)[l]) ;
1024 const Tbl& ddb = *((cv->ddbb)[l]) ;
1026 Tbl* tb = (mti->t)[l] ;
1027 tb->set_etat_qcq() ;
1028 double* p_r = tb->t ;
1030 switch(mg->get_type_r(l)) {
1032 case FIN:
case RARE: {
1033 for (
int k=0 ; k<np ; k++) {
1034 for (
int j=0 ; j<nt ; j++) {
1035 for (
int i=0 ; i<nr ; i++) {
1037 *p_r = alpha[l] * ( dda(i) * ff(l, k, j, 0)
1038 + ddb(i) * gg(l, k, j, 0) ) ;
1047 for (
int k=0 ; k<np ; k++) {
1048 for (
int j=0 ; j<nt ; j++) {
1049 for (
int i=0 ; i<nr ; i++) {
1051 *p_r = - alpha[l] * dda(i) * ff(l, k, j, 0) ;
1060 cout <<
"map_et_fait_d2rdx2: unknown type_r !" << endl ;
1079 Mtbl* map_et_fait_lapr_tp(
const Map* cvi) {
1082 const Map_et* cv =
static_cast<const Map_et*
>(cvi) ;
1083 const Mg3d* mg = cv->
get_mg() ;
1087 Mtbl* mti =
new Mtbl(mg) ;
1088 mti->set_etat_qcq() ;
1091 const double* alpha = cv->alpha ;
1092 const double* beta = cv->beta ;
1093 const Valeur& ff = cv->ff ;
1094 const Valeur& gg = cv->gg ;
1096 Valeur ff_tmp = ff ;
1097 Valeur gg_tmp = gg ;
1100 const Valeur& lapff = ff_tmp.lapang() ;
1101 const Valeur& lapgg = gg_tmp.lapang() ;
1104 for (
int l=0 ; l<nz ; l++) {
1106 const Grille3d* g = mg->get_grille3d(l) ;
1108 int nr = mg->get_nr(l);
1109 int nt = mg->get_nt(l) ;
1110 int np = mg->get_np(l) ;
1112 const Tbl& aa = *((cv->aa)[l]) ;
1113 const Tbl& bb = *((cv->bb)[l]) ;
1115 Tbl* tb = (mti->t)[l] ;
1116 tb->set_etat_qcq() ;
1117 double* p_r = tb->t ;
1119 switch(mg->get_type_r(l)) {
1123 const Tbl& asx = cv->aasx ;
1124 const Tbl& bsx = cv->bbsx ;
1125 const Tbl& asx2 = cv->aasx2 ;
1126 const Tbl& bsx2 = cv->bbsx2 ;
1128 for (
int k=0 ; k<np ; k++) {
1129 for (
int j=0 ; j<nt ; j++) {
1130 for (
int i=0 ; i<nr ; i++) {
1132 double ww = 1. + asx(i) * ff(l, k, j, 0)
1133 + bsx(i) * gg(l, k, j, 0) ;
1135 *p_r = ( asx2(i) * lapff(l, k, j, 0)
1136 + bsx2(i) * lapgg(l, k, j, 0) ) /
1137 (alpha[l] * ww*ww) ;
1146 for (
int k=0 ; k<np ; k++) {
1147 for (
int j=0 ; j<nt ; j++) {
1148 for (
int i=0 ; i<nr ; i++) {
1150 double ww = alpha[l] * (
1151 (g->x)[i] + aa(i) * ff(l, k, j, 0)
1152 + bb(i) * gg(l, k, j, 0) )
1155 *p_r = alpha[l] * ( aa(i) * lapff(l, k, j, 0)
1156 + bb(i) * lapgg(l, k, j, 0) )
1167 const Tbl& asxm1 = cv->zaasx ;
1168 const Tbl& asxm1car = cv->zaasx2 ;
1170 for (
int k=0 ; k<np ; k++) {
1171 for (
int j=0 ; j<nt ; j++) {
1172 for (
int i=0 ; i<nr ; i++) {
1174 double ww = 1. + asxm1(i) * ff(l, k, j, 0) ;
1176 *p_r = - asxm1car(i) * lapff(l, k, j, 0)
1177 / ( alpha[l] * ww*ww ) ;
1186 cout <<
"map_et_fait_lapr_tp: unknown type_r !" << endl ;
1202 Mtbl* map_et_fait_d2rdtdx(
const Map* cvi) {
1205 const Map_et* cv =
static_cast<const Map_et*
>(cvi) ;
1206 const Mg3d* mg = cv->
get_mg() ;
1210 Mtbl* mti =
new Mtbl(mg) ;
1211 mti->set_etat_qcq() ;
1214 const double* alpha = cv->alpha ;
1215 const Valeur& ff = cv->ff ;
1216 const Valeur& gg = cv->gg ;
1217 const Valeur& dffdt = ff.dsdt() ;
1218 const Valeur& dggdt = gg.dsdt() ;
1220 for (
int l=0 ; l<nz ; l++) {
1222 int nr = mg->get_nr(l);
1223 int nt = mg->get_nt(l) ;
1224 int np = mg->get_np(l) ;
1226 const Tbl& da = *((cv->daa)[l]) ;
1227 const Tbl& db = *((cv->dbb)[l]) ;
1229 Tbl* tb = (mti->t)[l] ;
1230 tb->set_etat_qcq() ;
1231 double* p_r = tb->t ;
1233 switch(mg->get_type_r(l)) {
1235 case FIN:
case RARE: {
1236 for (
int k=0 ; k<np ; k++) {
1237 for (
int j=0 ; j<nt ; j++) {
1238 for (
int i=0 ; i<nr ; i++) {
1240 *p_r = alpha[l] * ( da(i) * dffdt(l, k, j, 0)
1241 + db(i) * dggdt(l, k, j, 0) ) ;
1250 for (
int k=0 ; k<np ; k++) {
1251 for (
int j=0 ; j<nt ; j++) {
1252 for (
int i=0 ; i<nr ; i++) {
1254 *p_r = - alpha[l] * da(i) * dffdt(l, k, j, 0) ;
1263 cout <<
"map_et_fait_d2rdtdx: unknown type_r !" << endl ;
1279 Mtbl* map_et_fait_sstd2rdpdx(
const Map* cvi) {
1282 const Map_et* cv =
static_cast<const Map_et*
>(cvi) ;
1283 const Mg3d* mg = cv->
get_mg() ;
1287 Mtbl* mti =
new Mtbl(mg) ;
1288 mti->set_etat_qcq() ;
1291 const double* alpha = cv->alpha ;
1292 const Valeur& ff = cv->ff ;
1293 const Valeur& gg = cv->gg ;
1294 const Valeur& stdffdp = ff.stdsdp() ;
1295 const Valeur& stdggdp = gg.stdsdp() ;
1297 for (
int l=0 ; l<nz ; l++) {
1299 int nr = mg->get_nr(l);
1300 int nt = mg->get_nt(l) ;
1301 int np = mg->get_np(l) ;
1303 const Tbl& da = *((cv->daa)[l]) ;
1304 const Tbl& db = *((cv->dbb)[l]) ;
1306 Tbl* tb = (mti->t)[l] ;
1307 tb->set_etat_qcq() ;
1308 double* p_r = tb->t ;
1310 switch(mg->get_type_r(l)) {
1312 case FIN:
case RARE: {
1313 for (
int k=0 ; k<np ; k++) {
1314 for (
int j=0 ; j<nt ; j++) {
1315 for (
int i=0 ; i<nr ; i++) {
1317 *p_r = alpha[l] * ( da(i) * stdffdp(l, k, j, 0)
1318 + db(i) * stdggdp(l, k, j, 0) ) ;
1327 for (
int k=0 ; k<np ; k++) {
1328 for (
int j=0 ; j<nt ; j++) {
1329 for (
int i=0 ; i<nr ; i++) {
1331 *p_r = - alpha[l] * da(i) * stdffdp(l, k, j, 0) ;
1340 cout <<
"map_et_fait_sstd2rdpdx: unknown type_r !" << endl ;
1356 Mtbl* map_et_fait_sr2d2rdt2(
const Map* cvi) {
1359 const Map_et* cv =
static_cast<const Map_et*
>(cvi) ;
1360 const Mg3d* mg = cv->
get_mg() ;
1364 Mtbl* mti =
new Mtbl(mg) ;
1365 mti->set_etat_qcq() ;
1368 const double* alpha = cv->alpha ;
1369 const double* beta = cv->beta ;
1370 const Valeur& ff = cv->ff ;
1371 const Valeur& gg = cv->gg ;
1372 const Valeur& d2ffdt2 = ff.d2sdt2() ;
1373 const Valeur& d2ggdt2 = gg.d2sdt2() ;
1376 for (
int l=0 ; l<nz ; l++) {
1378 const Grille3d* g = mg->get_grille3d(l) ;
1380 int nr = mg->get_nr(l);
1381 int nt = mg->get_nt(l) ;
1382 int np = mg->get_np(l) ;
1384 const Tbl& aa = *((cv->aa)[l]) ;
1385 const Tbl& bb = *((cv->bb)[l]) ;
1387 Tbl* tb = (mti->t)[l] ;
1388 tb->set_etat_qcq() ;
1389 double* p_r = tb->t ;
1391 switch(mg->get_type_r(l)) {
1395 const Tbl& asx = cv->aasx ;
1396 const Tbl& bsx = cv->bbsx ;
1397 const Tbl& asx2 = cv->aasx2 ;
1398 const Tbl& bsx2 = cv->bbsx2 ;
1400 for (
int k=0 ; k<np ; k++) {
1401 for (
int j=0 ; j<nt ; j++) {
1402 for (
int i=0 ; i<nr ; i++) {
1404 double ww = 1. + asx(i) * ff(l, k, j, 0)
1405 + bsx(i) * gg(l, k, j, 0) ;
1407 *p_r = ( asx2(i) * d2ffdt2(l, k, j, 0)
1408 + bsx2(i) * d2ggdt2(l, k, j, 0) ) /
1409 (alpha[l] * ww*ww) ;
1418 for (
int k=0 ; k<np ; k++) {
1419 for (
int j=0 ; j<nt ; j++) {
1420 for (
int i=0 ; i<nr ; i++) {
1422 double ww = alpha[l] * (
1423 (g->x)[i] + aa(i) * ff(l, k, j, 0)
1424 + bb(i) * gg(l, k, j, 0) )
1427 *p_r = alpha[l] * ( aa(i) * d2ffdt2(l, k, j, 0)
1428 + bb(i) * d2ggdt2(l, k, j, 0) )
1439 const Tbl& asxm1 = cv->zaasx ;
1440 const Tbl& asxm1car = cv->zaasx2 ;
1442 for (
int k=0 ; k<np ; k++) {
1443 for (
int j=0 ; j<nt ; j++) {
1444 for (
int i=0 ; i<nr ; i++) {
1446 double ww = 1. + asxm1(i) * ff(l, k, j, 0) ;
1448 *p_r = - asxm1car(i) * d2ffdt2(l, k, j, 0)
1449 / ( alpha[l] * ww*ww ) ;
1458 cout <<
"map_et_fait_sr2d2rdt2: unknown type_r !" << endl ;
int get_nzone() const
Returns the number of domains.
const Mg3d * get_mg() const
Gives the Mg3d on which the Mtbl is defined.