40 double integrale2d(
const Scalar& fi) {
42 const Map* mp = &fi.get_mp() ;
43 const Map_af* mp_aff =
dynamic_cast<const Map_af*
>(mp) ;
44 assert( mp_aff != 0x0 ) ;
45 assert( fi.check_dzpuis(4) || fi.check_dzpuis(3) ) ;
48 if (fi.get_etat() == ETATZERO) lambda = 0. ;
50 const Base_val& base = fi.get_spectral_base() ;
53 tmp.set_dzpuis(fi.get_dzpuis()) ;
55 tmp.set_spectral_base(base) ;
56 const Mg3d& mg = *mp_aff->get_mg() ;
57 int nz0 = mg.get_nzone() ;
58 tmp.mult_r_dzpuis(2) ;
59 tmp.set_spectral_va().coef() ;
60 tmp.set_spectral_va().ylm_i() ;
61 Mtbl_cf& mtc = *tmp.set_spectral_va().c_cf ;
62 for (
int lz=0; lz<nz0; lz++) {
63 int np0 = mg.get_np(lz)+2 ;
64 int nt0 = mg.get_nt(lz) ;
65 int nr0 = mg.get_nr(lz) ;
66 for (
int k=0; k<np0; k++)
67 for (
int j=0; j<nt0; j++)
68 for (
int i=0; i<nr0; i++) {
71 resu = mtc(lz, k, j, i) ;
72 mtc.set(lz, k, j, i) = resu ;
75 if (tmp.get_spectral_va().c != 0x0) {
76 delete tmp.set_spectral_va().c ;
77 tmp.set_spectral_va().c = 0x0 ;
80 Scalar integ(*mp_aff) ;
81 mp_aff->primr(tmp, integ,
true) ;
82 lambda = -integ.val_grid_point(0,0,0,0) ;