509 explicit Cmp(
const Map& map) ;
510 explicit Cmp(
const Map* p_map) ;
534 void import(
const Cmp& ci) ;
564 void import(
int nzet,
const Cmp& ci) ;
725 assert(
etat == ETATQCQ) ;
734 assert(
etat == ETATQCQ) ;
749 double&
set(
int l,
int k,
int j,
int i) {
750 assert(
etat == ETATQCQ) ;
751 return va.
set(l, k, j, i) ;
762 assert(
etat != ETATNONDEF) ;
763 if (
etat == ETATZERO) {
768 return va(l, k, j, i) ;
781 double val_point(
double r,
double theta,
double phi)
const ;
852 void annule(
int l_min,
int l_max) ;
920 void sauve(FILE *)
const ;
931 void affiche_seuil(ostream& ostr,
int type = 0,
int precision = 4,
932 double threshold = 1.e-7)
const ;
1110 Cmp poisson_falloff(
int k_falloff)
const ;
1112 Cmp poisson_ylm(
int nylm,
double* intvec)
const ;
1131 void poisson_falloff(
Param& par,
Cmp& uu,
int k_falloff)
const ;
1133 void poisson_ylm(
Param& par,
Cmp& uu,
int nylm,
double* intvec)
const ;
1166 Cmp poisson_frontiere_double (
const Valeur&,
const Valeur&,
int)
const ;
1195 Cmp& source_regu,
Cmp& source_div)
const ;
1232 bool detail =
false)
const ;
1251 ostream& operator<<(ostream& ,
const Cmp & ) ;
1261 Cmp
operator+(
const Cmp&,
const Cmp &) ;
1266 Cmp
operator-(
const Cmp &,
const Cmp &) ;
1271 Cmp
operator*(
const Cmp &,
const Cmp &) ;
1272 Cmp
operator%(
const Cmp &,
const Cmp &) ;
1277 Cmp
operator/(
const Cmp &,
const Cmp &) ;
1283 Cmp
sin(
const Cmp& ) ;
1284 Cmp
cos(
const Cmp& ) ;
1285 Cmp
tan(
const Cmp& ) ;
1286 Cmp
asin(
const Cmp& ) ;
1287 Cmp
acos(
const Cmp& ) ;
1288 Cmp
atan(
const Cmp& ) ;
1289 Cmp
exp(
const Cmp& ) ;
1290 Cmp
log(
const Cmp& ) ;
1291 Cmp
log10(
const Cmp& ) ;
1292 Cmp
sqrt(
const Cmp& ) ;
1294 Cmp
pow(
const Cmp& ,
int ) ;
1295 Cmp
pow(
const Cmp& ,
double ) ;
1296 Cmp
abs(
const Cmp& ) ;
1303 Tbl
max(
const Cmp& ) ;
1310 Tbl
min(
const Cmp& ) ;
1318 Tbl
norme(
const Cmp& ) ;
1328 Tbl
diffrel(
const Cmp& a,
const Cmp& b) ;
void del_t()
Logical destructor.
const Cmp & dsdr() const
Returns of *this .
const Map * get_mp() const
Returns the mapping.
Cmp * p_dsdy
Pointer on of *this , where .
Cmp log(const Cmp &)
Neperian logarithm.
Cmp asin(const Cmp &)
Arcsine.
void import_anti_asymy(int nzet, const Cmp &ci)
Assignment to another Cmp defined on a different mapping, when the two mappings have anti-aligned Car...
Component of a tensorial field *** DEPRECATED : use class Scalar instead ***.
Cmp exp(const Cmp &)
Exponential.
void operator=(const Cmp &a)
Assignment to another Cmp defined on the same mapping.
const Cmp & dsdx() const
Returns of *this , where .
int ind_lap
Power of r by which the last computed Laplacian has been multiplied in the external compactified doma...
Cmp sqrt(const Cmp &)
Square root.
void dec_dzpuis()
Decreases by 1 the value of dzpuis and changes accordingly the values of the Cmp in the external comp...
void import_align(int nzet, const Cmp &ci)
Assignment to another Cmp defined on a different mapping, when the two mappings have aligned Cartesia...
void annule(int l)
Sets the Cmp to zero in a given domain.
const Cmp & srstdsdp() const
Returns of *this .
void set_der_0x0()
Sets the pointers for derivatives to 0x0.
int get_etat() const
Returns the logical state.
void import_anti(int nzet, const Cmp &ci)
Assignment to another Cmp defined on a different mapping, when the two mappings have anti-aligned Car...
Cmp racine_cubique(const Cmp &)
Cube root.
Base_val operator*(const Base_val &, const Base_val &)
This operator is used when calling multiplication or division of Valeur .
int etat
Logical state (ETATNONDEF , ETATQCQ or ETATZERO ).
Base class for coordinate mappings.
const Cmp & srdsdt() const
Returns of *this .
void mult_r_zec()
Multiplication by r in the external compactified domain (ZEC)
void del_deriv()
Logical destructor of the derivatives.
void annule_hard()
Sets the Cmp to zero in a hard way.
Values and coefficients of a (real-value) function.
Tbl * p_integ
Pointer on the space integral of *this (values in each domain)
Cmp operator%(const Cmp &, const Cmp &)
Cmp * Cmp with desaliasing.
Cmp operator/(const Cmp &, const Cmp &)
Cmp / Cmp.
Tbl min(const Cmp &)
Minimum values of a Cmp in each domain.
void filtre_phi(int n, int zone)
Sets the n lasts coefficients in to 0 in the domain zone .
void raccord_externe(int puis, int nbre, int lmax)
Matching of the external domain with the outermost shell.
Cmp cos(const Cmp &)
Cosine.
Tbl diffrel(const Cmp &a, const Cmp &b)
Relative difference between two Cmp (norme version).
void div_r()
Division by r everywhere.
Cmp * p_lap
Pointer on the Laplacian of *this.
Cmp tan(const Cmp &)
Tangent.
void inc_dzpuis()
Increases by the value of dzpuis and changes accordingly the values of the Cmp in the external compac...
void mult_r()
Multiplication by r everywhere.
void set_etat_zero()
Sets the logical state to ETATZERO (zero).
Cmp poisson_tau() const
Same as Poisson with a Tau method.
Tbl norme(const Cmp &)
Sums of the absolute values of all the values of the Cmp in each domain.
void raccord_c1_zec(int puis, int nbre, int lmax)
Performs the matching of the external domain with respect to the last shell using function like wit...
Cmp * p_srstdsdp
Pointer on of *this.
Cmp atan(const Cmp &)
Arctangent.
Tbl multipole_spectrum()
Gives the spectrum in terms of multipolar modes l .
void import_align_symy(int nzet, const Cmp &ci)
Assignment to another Cmp defined on a different mapping, when the two mappings have aligned Cartesia...
Cmp operator+(const Cmp &)
void filtre(int n)
Sets the n lasts coefficients in r to 0 in the external domain.
int dzpuis
Power of r by which the quantity represented by this must be divided in the external compactified zo...
double operator()(int l, int k, int j, int i) const
Read-only of a particular element.
void import_gal(int nzet, const Cmp &ci)
Assignment to another Cmp defined on a different mapping, when the two mappings do not have a particu...
bool dz_nonzero() const
Returns true if the last domain is compactified and *this is not zero in this domain.
void operator-=(const Cmp &)
-= Cmp
void mult_rsint()
Multiplication by .
void set_val_inf(double val)
Sets the value of the Cmp to val at infinity.
const Cmp & deriv(int i) const
Returns of *this , where .
Cmp poisson_dirichlet(const Valeur &limite, int num) const
Is identicall to Cmp::poisson() .
double integrale() const
Computes the integral over all space of *this .
void fixe_decroissance(int puis)
Substracts all the components behaving like in the external domain, with n strictly lower than puis ...
Tbl max(const Cmp &)
Maximum values of a Cmp in each domain.
friend ostream & operator<<(ostream &, const Cmp &)
Display.
const Tbl & operator()(int l) const
Read-only of the value in a given domain.
void import_align_asymy(int nzet, const Cmp &ci)
Assignment to another Cmp defined on a different mapping, when the two mappings have aligned Cartesia...
void dec2_dzpuis()
Decreases by 2 the value of dzpuis and changes accordingly the values of the Cmp in the external comp...
Cmp pow(const Cmp &, int)
Power .
void set_etat_qcq()
Sets the logical state to ETATQCQ (ordinary state).
const Cmp & dsdz() const
Returns of *this , where .
void import_symy(const Cmp &ci)
Assignment to another Cmp defined on a different mapping.
void inc2_dzpuis()
Increases by 2 the value of dzpuis and changes accordingly the values of the Cmp in the external comp...
void affiche_seuil(ostream &ostr, int type=0, int precision=4, double threshold=1.e-7) const
Prints only the values greater than a given threshold.
void operator*=(const Cmp &)
*= Cmp
void std_base_scal()
Sets the spectral bases of the Valeur va to the standard ones for a scalar.
void set_val_hor(double val, int zone)
Sets the value of the Cmp to val on the inner boudary of the shell number zone .This is usefull for d...
void operator+=(const Cmp &)
+= Cmp
Cmp poisson() const
Solves the scalar Poisson equation with *this as a source.
void mult_cost()
Multiplication by $.
void allocate_all()
Sets the logical state to ETATQCQ (ordinary state) and performs the memory allocation of all the elem...
Tbl test_poisson(const Cmp &uu, ostream &ostr, bool detail=false) const
Checks if a Poisson equation with *this as a source has been correctly solved.
const Map * mp
Reference mapping.
int get_dzpuis() const
Returns dzpuis.
Cmp * p_srdsdt
Pointer on of *this.
Cmp log10(const Cmp &)
Basis 10 logarithm.
void set_etat_nondef()
Sets the logical state to ETATNONDEF (undefined).
Cmp acos(const Cmp &)
Arccosine.
Cmp abs(const Cmp &)
Absolute value.
void raccord(int n)
Performs the matching of the nucleus with respect to the first shell.
Cmp * p_dsdz
Pointer on of *this , where .
Cmp * p_dsdr
Pointer on of *this.
Cmp(const Map &map)
Constructor from mapping.
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 import_anti_symy(int nzet, const Cmp &ci)
Assignment to another Cmp defined on a different mapping, when the two mappings have anti-aligned Car...
Valeur ** asymptot(int n, const int flag=0) const
Asymptotic expansion at r = infinity.
Cmp poisson_neumann(const Valeur &, int) const
Idem as Cmp::poisson_dirichlet , the boundary condition being on the radial derivative of the solutio...
Cmp operator-(const Cmp &)
- Cmp
void set_dzpuis(int)
Set a value to dzpuis.
Cmp sin(const Cmp &)
Sine.
const Cmp & dsdy() const
Returns of *this , where .
void sauve(FILE *) const
Save in a file.
const Tbl & integrale_domains() const
Computes the integral in each domain of *this .
const Cmp & laplacien(int zec_mult_r=4) const
Returns the Laplacian of *this.
Cmp * p_dsdx
Pointer on of *this , where .
void import_asymy(const Cmp &ci)
Assignment to another Cmp defined on a different mapping.
Valeur va
The numerical value of the Cmp.
Cmp poisson_neumann_interne(const Valeur &, Param &par, Cmp &resu) const
Idem as Cmp::poisson_neumann , the boundary condition is on the radial derivative of the solution...
double val_point(double r, double theta, double phi) const
Computes the value of the field represented by *this at an arbitrary point , by means of the spectral...
Tensor handling *** DEPRECATED : use class Tensor instead ***.
Tbl diffrelmax(const Cmp &a, const Cmp &b)
Relative difference between two Cmp (max version).
Tbl & set(int l)
Read/write of the value in a given domain (configuration space).
void poisson_regular(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
Solves the scalar Poisson equation with *this as a source (version with parameters to control the res...