91 Cmp& source_regu,
Cmp& source_div)
const {
94 assert(source.
get_etat() != ETATNONDEF) ;
95 assert(source.
get_mp() ==
this) ;
100 assert(uu.
get_mp() ==
this) ;
120 for (
int l=0; l<nz; l++) {
124 apre1 = apre1 *
dxdr *
dxdr * unjj ;
134 for (
int l=0; l<nz; l++) {
135 *(amax1.
t[l]) = amax0(l) ;
148 double unmlambda = 1. - lambda ;
172 cout <<
"Map_et::poisson_regular : relat. diff. u^J <-> u^{J-1} : " 211 sxlapang = sxlapang.
lapang() ;
213 sxlapang = sxlapang.
sx() ;
237 vuu = 2. *
dxdr * (
rsxdxdr * unjj - 1.) * varduudx
250 sauve_base = vuu.
base ;
281 ssj = lambda * ssjm1 + unmlambda * ssjm2 ;
283 ssj = ( source + uu + (amax - apre) * ssj ) / amax ;
285 (ssj.
va).set_base((source.
va).base) ;
303 uu_regu, uu_div, duu_div,
304 source_regu, source_div) ;
315 dr_uu_div =
alpha[0] * dr_uu_div *
dxdr ;
318 bv = dt_uu_div.
base ;
322 bv = dp_uu_div.
base ;
337 cout <<
" step " << niter <<
" : " ;
338 for (
int l=0; l<nz; l++) {
339 cout << tdiff(l) <<
" " ;
354 while ( (diff > precis) && (niter < nitermax) ) ;
const Map * get_mp() const
Returns the mapping.
Coord d2rdx2
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
const Valeur & dsdt() const
Returns of *this.
Coord sr2stdrdp
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
Component of a tensorial field *** DEPRECATED : use class Scalar instead ***.
const Valeur & lapang() const
Returns the angular Laplacian of *this.
void set_triad(const Base_vect &new_triad)
Assigns a new vectorial basis (triad) of decomposition.
void dec_dzpuis()
Decreases by 1 the value of dzpuis and changes accordingly the values of the Cmp in the external comp...
const Base_vect_spher & get_bvect_spher() const
Returns the orthonormal vectorial basis associated with the coordinates of the mapping.
double * alpha
Array (size: mg->nzone ) of the values of in each domain.
void ylm()
Computes the coefficients of *this.
int get_etat() const
Returns the logical state.
Coord sr2drdt
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
virtual void poisson_regular(const Cmp &source, int k_div, int nzet, double unsgam1, Param &par, Cmp &uu, Cmp &uu_regu, Cmp &uu_div, Tenseur &duu_div, Cmp &source_regu, Cmp &source_div) const
Computes the solution of a scalar Poisson equation.
const Valeur & sx() const
Returns (r -sampling = RARE ) \ Id (r sampling = FIN ) \ (r -sampling = UNSURR ) ...
Values and coefficients of a (real-value) function.
void annule(int l)
Sets the Valeur to zero in a given domain.
void set_base(const Base_val &)
Sets the bases for spectral expansions (member base )
Tbl diffrel(const Cmp &a, const Cmp &b)
Relative difference between two Cmp (norme version).
Coord srstdrdp
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
Cmp & get_cmp_mod(int position=0) const
Returns the reference of a modifiable Cmp stored in the list.
Cmp & set()
Read/write for a scalar (see also operator=(const Cmp&) ).
const int & get_int(int position=0) const
Returns the reference of a int stored in the list.
virtual void poisson_regular(const Cmp &source, int k_div, int nzet, double unsgam1, Param &par, Cmp &uu, Cmp &uu_regu, Cmp &uu_div, Tenseur &duu_div, Cmp &source_regu, Cmp &source_div) const
Computes the solution of a scalar Poisson equation.
Coord dxdr
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
Base_val base
Bases on which the spectral expansion is performed.
const Valeur & stdsdp() const
Returns of *this.
int get_nzone() const
Returns the number of domains.
int & get_int_mod(int position=0) const
Returns the reference of a modifiable int stored in the list.
Tbl max(const Cmp &)
Maximum values of a Cmp in each domain.
Coord sstd2rdpdx
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
void dec2_dzpuis()
Decreases by 2 the value of dzpuis and changes accordingly the values of the Cmp in the external comp...
Coord xsr
in the nucleus; \ 1/R in the non-compactified shells; \ in the compactified outer domain...
void set_etat_qcq()
Sets the logical state to ETATQCQ (ordinary state).
void set_etat_qcq()
Sets the logical state to ETATQCQ (ordinary state).
Coord rsxdxdr
in the nucleus; \ in the shells; \ in the outermost compactified domain.
const Mg3d * mg
Pointer on the multi-grid Mgd3 on which this is defined.
Bases of the spectral expansions.
int get_dzpuis() const
Returns dzpuis.
Coord lapr_tp
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
bool check_dzpuis(int dzi) const
Returns false if the last domain is compactified and *this is not zero in this domain and dzpuis is n...
void set_dzpuis(int)
Set a value to dzpuis.
const double & get_double(int position=0) const
Returns the reference of a double stored in the list.
int get_type_r(int l) const
Returns the type of sampling in the radial direction in domain no.
Tbl ** t
Array (size nzone ) of pointers on the Tbl 's.
Coord srdrdt
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
Valeur va
The numerical value of the Cmp.
Tensor handling *** DEPRECATED : use class Tensor instead ***.
Coord d2rdtdx
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.