28 char map_af_deriv_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Map/map_af_deriv.C,v 1.13 2014/10/13 08:53:02 j_novak Exp $" ;
138 assert (ci.
get_etat() != ETATNONDEF) ;
146 assert( ci.
get_etat() == ETATQCQ ) ;
157 resu = (ci.
va).dsdx() ;
176 tmp_ced.
set(nzm1) -= 2. * ci.
va(nzm1) ;
179 resu = tmp + tmp_ced ;
190 tmp2.
base = (ci.
va).dsdx().base ;
192 tmp2.annule(0, nz-2) ;
193 tmp2.mult_xm1_zec() ;
195 tmp2.
set(nzm1) -= 4*ci.
va(nzm1) ;
197 tmp2.mult_xm1_zec() ;
199 resu = tmp + tmp2 /
xsr ;
205 cerr <<
"Map_af::dsdxi: unexpected value of input dzpuis !\n" 206 <<
" ci.get_dzpuis() = " << ci.
get_dzpuis() << endl ;
214 (resu.
va).set_base( (ci.
va).dsdx().get_base() ) ;
222 assert (uu.
get_etat() != ETATNONDEF) ;
231 assert( uu.
get_etat() == ETATQCQ ) ;
241 resu = uuva.
dsdx() * unity ;
259 tmp_ced.
set(nzm1) -= dzp * uuva(nzm1) ;
281 assert (ci.
get_etat() != ETATNONDEF) ;
289 assert( ci.
get_etat() == ETATQCQ ) ;
300 resu = (ci.
va).dsdx() *
dxdr ;
319 tmp_ced.
set(nzm1) -= 2. * ci.
va(nzm1) ;
322 resu = tmp + tmp_ced ;
333 tmp2.
base = (ci.
va).dsdx().base ;
335 tmp2.annule(0, nz-2) ;
336 tmp2.mult_xm1_zec() ;
338 tmp2.
set(nzm1) -= 4*ci.
va(nzm1) ;
340 tmp2.mult_xm1_zec() ;
342 resu = tmp + tmp2 /
xsr ;
348 cerr <<
"Map_af::dsdr: unexpected value of input dzpuis !\n" 349 <<
" ci.get_dzpuis() = " << ci.
get_dzpuis() << endl ;
357 (resu.
va).set_base( (ci.
va).dsdx().get_base() ) ;
365 assert (uu.
get_etat() != ETATNONDEF) ;
373 assert( uu.
get_etat() == ETATQCQ ) ;
401 tmp_ced.
set(nzm1) -= dzp * uuva(nzm1) ;
419 assert (uu.
get_etat() != ETATNONDEF) ;
427 assert( uu.
get_etat() == ETATQCQ ) ;
456 tmp_ced.
set(nzm1) -= dzp * uuva(nzm1) ;
477 assert (ci.
get_etat() != ETATNONDEF) ;
485 assert( ci.
get_etat() == ETATQCQ ) ;
505 tmp.set_base(sauve_base) ;
526 tmp.set_base(sauve_base) ;
529 resu = tmp + tmp_ced ;
541 tmp_ced.mult_xm1_zec() ;
549 resu = tmp + tmp_ced /
xsr ;
557 cerr <<
"Map_af::srdsdt: unexpected value of input dzpuis !\n" 558 <<
" ci.get_dzpuis() = " << ci.
get_dzpuis() << endl ;
570 assert (uu.
get_etat() != ETATNONDEF) ;
578 assert( uu.
get_etat() == ETATQCQ ) ;
595 tmp.set_base(sauve_base) ;
616 tmp.set_base(sauve_base) ;
619 resu = tmp + tmp_ced ;
635 assert (ci.
get_etat() != ETATNONDEF) ;
643 assert( ci.
get_etat() == ETATQCQ ) ;
664 tmp.set_base(sauve_base) ;
685 tmp.set_base(sauve_base) ;
688 resu = tmp + tmp_ced ;
700 tmp_ced.mult_xm1_zec() ;
708 resu = tmp + tmp_ced /
xsr ;
716 cerr <<
"Map_af::srstdsdp: unexpected value of input dzpuis !\n" 717 <<
" ci.get_dzpuis() = " << ci.
get_dzpuis() << endl ;
731 assert (uu.
get_etat() != ETATNONDEF) ;
739 assert( uu.
get_etat() == ETATQCQ ) ;
759 tmp.set_base(sauve_base) ;
781 tmp.set_base(sauve_base) ;
784 resu = tmp + tmp_ced ;
799 assert (ci.
get_etat() != ETATNONDEF) ;
807 assert( ci.
get_etat() == ETATQCQ ) ;
825 assert (ci.
get_etat() != ETATNONDEF) ;
833 assert( ci.
get_etat() == ETATQCQ ) ;
const Map * get_mp() const
Returns the mapping.
void annule_domain(int l)
Sets the Tensor to zero in a given domain.
const Valeur & dsdt() const
Returns of *this.
const Valeur & dsdx() const
Returns of *this.
Component of a tensorial field *** DEPRECATED : use class Scalar instead ***.
virtual void srstdsdp(const Cmp &ci, Cmp &resu) const
Computes of a Cmp.
void coef() const
Computes the coeffcients of *this.
virtual void set_etat_zero()
Sets the logical state to ETATZERO (zero).
virtual void dsdradial(const Scalar &, Scalar &) const
Computes of a Scalar.
virtual void srdsdt(const Cmp &ci, Cmp &resu) const
Computes of a Cmp.
const Mg3d * get_mg() const
Gives the Mg3d on which the mapping is defined.
int get_etat() const
Returns the logical state.
Tensor field of valence 0 (or component of a tensorial field).
const Valeur & dsdp() const
Returns of *this.
void mult_xm1_zec()
Applies the following operator to *this : \ Id (r sampling = RARE, FIN ) \ (r -sampling = UNSURR ) ...
const Valeur & sx() const
Returns (r -sampling = RARE ) \ Id (r sampling = FIN ) \ (r -sampling = UNSURR ) ...
const Scalar & dsdx() const
Returns of *this , where .
Values and coefficients of a (real-value) function.
int get_etat() const
Returns the logical state ETATNONDEF (undefined), ETATZERO (null) or ETATQCQ (ordinary).
void annule(int l)
Sets the Valeur to zero in a given domain.
void set(const Map *mp, Mtbl *(*construct)(const Map *))
Semi-constructor from a mapping and a method.
void set_base(const Base_val &)
Sets the bases for spectral expansions (member base )
virtual void stdsdp(const Scalar &uu, Scalar &resu) const
Computes of a Scalar.
void set_dzpuis(int)
Modifies the dzpuis flag.
virtual void dsdxi(const Cmp &ci, Cmp &resu) const
Computes of a Cmp.
void set_etat_zero()
Sets the logical state to ETATZERO (zero).
const Valeur & ssint() const
Returns of *this.
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.
int get_dzpuis() const
Returns dzpuis.
const Valeur & stdsdp() const
Returns of *this.
int get_nzone() const
Returns the number of domains.
Coord xsr
in the nucleus; \ 1/R in the non-compactified shells; \ in the compactified outer domain...
void set_spectral_base(const Base_val &)
Sets the spectral bases of the Valeur va.
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.
void set_dzpuis(int)
Set a value to dzpuis.
Valeur & set_spectral_va()
Returns va (read/write version)
int get_type_r(int l) const
Returns the type of sampling in the radial direction in domain no.
const Map & get_mp() const
Returns the mapping.
Valeur va
The numerical value of the Cmp.
virtual void dsdr(const Cmp &ci, Cmp &resu) const
Computes of a Cmp.
virtual void dsdt(const Scalar &uu, Scalar &resu) const
Computes of a Scalar.
const Valeur & get_spectral_va() const
Returns va (read only version)
Coord r
r coordinate centered on the grid
const Base_val & get_base() const
Return the bases for spectral expansions (member base )
Tbl & set(int l)
Read/write of the value in a given domain (configuration space).