374 assert(l < mg->get_nzone()) ;
375 assert(
etat == ETATQCQ) ;
392 assert(l < mg->get_nzone()) ;
393 assert(
etat == ETATQCQ) ;
411 double&
set(
int l,
int k,
int j,
int i) {
412 assert(l < mg->get_nzone()) ;
413 assert(
etat == ETATQCQ) ;
421 return c->
set(l, k, j, i) ;
432 assert(
etat != ETATNONDEF) ;
433 assert(l < mg->get_nzone()) ;
434 if (
etat == ETATZERO) {
442 return (*
c)(l, k, j, i) ;
455 double val_point(
int l,
double x,
double theta,
double phi)
const ;
468 double val_point_jk(
int l,
double x,
int j,
int k)
const ;
540 void filtre_tp(
int nn,
int nz1,
int nz2) ;
649 void sauve(FILE *)
const ;
659 void display_coef(
double threshold = 1.e-7,
int precision = 4,
660 ostream& ostr = cout)
const ;
671 void affiche_seuil(ostream& ostr,
int type = 0,
int precision = 4,
672 double threshold = 1.e-7)
const ;
753 void annule(
int l_min,
int l_max) ;
809 void equipot(
double uu0,
int nz_search,
double precis,
int nitermax,
810 int& niter,
Itbl& l_iso,
Tbl& xi_iso)
const ;
846 int nitermax,
int& niter,
Itbl& l_iso,
864 ostream& operator<<(ostream& ,
const Valeur& ) ;
void std_base_scal_odd()
Sets the bases for spectral expansions (member base ) to the standard odd ones for a scalar...
friend void rotate_propre_pair(Valeur &, bool)
Friend fonction.
const Valeur & dsdt() const
Returns of *this.
Cmp log(const Cmp &)
Neperian logarithm.
void equipot(double uu0, int nz_search, double precis, int nitermax, int &niter, Itbl &l_iso, Tbl &xi_iso) const
Determines an equipotential surface of the field represented by *this (inward search).
Mtbl_cf * c_cf
Coefficients of the spectral expansion of the function.
Cmp asin(const Cmp &)
Arcsine.
const Valeur & dsdx() const
Returns of *this.
Valeur * p_dsdt
Pointer on .
Component of a tensorial field *** DEPRECATED : use class Scalar instead ***.
Cmp exp(const Cmp &)
Exponential.
friend ostream & operator<<(ostream &, const Valeur &)
Display.
void operator+=(const Valeur &)
+= Valeur
Valeur * p_d2sdt2
Pointer on .
const Valeur & lapang() const
Returns the angular Laplacian of *this.
Valeur * p_sx
Pointer on .
void ylm_i()
Inverse of ylm()
Valeur * p_ssint
Pointer on .
void set_etat_cf_qcq()
Sets the logical state to ETATQCQ (ordinary state) for values in the configuration space (Mtbl_cf c_c...
void coef() const
Computes the coeffcients of *this.
Cmp sqrt(const Cmp &)
Square root.
Valeur * p_dsdp
Pointer on .
const Valeur & mult_sp() const
Returns applied to *this.
void set_etat_zero()
Sets the logical state to ETATZERO (zero).
void mult_x_shell(int index)
Applies the following operator to *this : \ Id (r sampling = RARE, UNSURR ) \ (r -sampling = FIN ) \...
void ylm()
Computes the coefficients of *this.
void annule_hard()
Sets the Valeur to zero in a hard way.
Cmp racine_cubique(const Cmp &)
Cube root.
Tensor field of valence 0 (or component of a tensorial field).
const Valeur & dsdp() const
Returns of *this.
Base_val operator*(const Base_val &, const Base_val &)
This operator is used when calling multiplication or division of Valeur .
Valeur * p_scost
Pointer on .
void coef_i() const
Computes the physical value of *this.
void display_coef(double threshold=1.e-7, int precision=4, ostream &ostr=cout) const
Displays the spectral coefficients and the associated basis functions.
void mult_xm1_zec()
Applies the following operator to *this : \ Id (r sampling = RARE, FIN ) \ (r -sampling = UNSURR ) ...
Basic integer array class.
const Valeur & sx() const
Returns (r -sampling = RARE ) \ Id (r sampling = FIN ) \ (r -sampling = UNSURR ) ...
const Valeur & d2sdp2() const
Returns of *this.
Values and coefficients of a (real-value) function.
void mult2_xm1_zec()
Applies the following operator to *this : \ Id (r sampling = RARE, FIN ) \ (r -sampling = UNSURR ) ...
Cmp operator%(const Cmp &, const Cmp &)
Cmp * Cmp with desaliasing.
Cmp operator/(const Cmp &, const Cmp &)
Cmp / Cmp.
void annule(int l)
Sets the Valeur to zero in a given domain.
Tbl min(const Cmp &)
Minimum values of a Cmp in each domain.
Scalar operator|(const Scalar &, const Scalar &)
Scalar * Scalar with desaliasing only in r.
void set_base(const Base_val &)
Sets the bases for spectral expansions (member base )
Cmp cos(const Cmp &)
Cosine.
void smooth(int nzet, Valeur &uuva) const
Changes the function *this as a smooth one when there exists a discontinuity between the nucleus and ...
Tbl diffrel(const Cmp &a, const Cmp &b)
Relative difference between two Cmp (norme version).
void std_base_scal()
Sets the bases for spectral expansions (member base ) to the standard ones for a scalar.
const Valeur & d2sdx2() const
Returns of *this.
const Mg3d * get_mg() const
Returns the Mg3d on which the this is defined.
Cmp tan(const Cmp &)
Tangent.
int get_etat() const
Returns the logical state.
const Valeur & mult_x() const
Returns (r -sampling = RARE ) \ Id (r sampling = FIN ) \ (r -sampling = UNSURR ) ...
void mult_xp1_shell(int index)
Applies the following operator to *this : \ Id (r sampling = RARE, UNSURR ) \ (r -sampling = FIN ) \...
double operator()(int l, int k, int j, int i) const
Read-only of a particular element (configuration space).
const Mg3d * mg
Multi-grid Mgd3 on which this is defined.
const Valeur & scost() const
Returns of *this.
Tbl norme(const Cmp &)
Sums of the absolute values of all the values of the Cmp in each domain.
double val_point(int l, double x, double theta, double phi) const
Computes the value of the field represented by *this at an arbitrary point, by means of the spectral ...
Valeur * p_dsdx
Pointer on .
Cmp atan(const Cmp &)
Arctangent.
void sauve(FILE *) const
Save in a file.
const Valeur & ssint() const
Returns of *this.
void set_etat_nondef()
Sets the logical state to ETATNONDEF (undefined).
Cmp operator+(const Cmp &)
void del_t()
Logical destructor.
void nouveau()
Memory allocation.
Base_val base
Bases on which the spectral expansion is performed.
void filtre_tp(int nn, int nz1, int nz2)
Sets the n lasts coefficients in to 0 in the domain nz1 to nz2 when expressed in spherical harmonics...
friend void rotate_propre_impair(Valeur &, bool)
Friend fonction.
Mtbl * c
Values of the function at the points of the multi-grid.
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.
const Valeur & sx2() const
Returns (r -sampling = RARE ) \ Id (r sampling = FIN ) \ (r -sampling = UNSURR ) ...
const Valeur & stdsdp() const
Returns of *this.
Valeur(const Mg3d &mgrid)
Constructor.
const Valeur & mult_st() const
Returns applied to *this.
Tbl max(const Cmp &)
Maximum values of a Cmp in each domain.
double totalmax(const Mtbl &)
Maximum value of the Mtbl elements in all domains.
double val_point_jk(int l, double x, int j, int k) const
Computes the value of the field represented by *this at an arbitrary point in , but collocation point...
Cmp pow(const Cmp &, int)
Power .
void val_propre_1d()
Set the basis to the eigenvalues of .
Valeur * p_mult_st
Pointer on .
Active physical coordinates and mapping derivatives.
Valeur * p_d2sdx2
Pointer on .
Tbl & set(int l)
Read/write of the Tbl in a given domain.
Valeur * p_mult_cp
Pointer on .
double totalmin(const Mtbl &)
Minimum value of the Mtbl elements in all domain.
void operator=(const Valeur &a)
Assignement to another Valeur.
void mult_xm1_shell(int index)
Applies the following operator to *this : \ Id (r sampling = RARE, UNSURR ) \ (r -sampling = FIN ) \...
void val_propre_1d_i()
Inverse transformation of val_propre_1d.
Bases of the spectral expansions.
Valeur operator &(const Valeur &, const Valeur &)
Valeur * Valeur with desaliasing only in and direction.
void set_base_r(int l, int base_r)
Sets the expansion basis for r ( ) functions in a given domain.
void operator-=(const Valeur &)
-= Valeur
const Tbl & operator()(int l) const
Read-only of the value in a given domain (configuration space).
void va_x()
Returns (r -sampling = RARE ) \ (r sampling = FIN ) \ (r -sampling = UNSURR )
const Valeur & mult_cp() const
Returns applied to *this.
Valeur * p_lapang
Pointer on the angular Laplacian.
Valeur * p_mult_ct
Pointer on .
void set_base_p(int base_p)
Sets the expansion basis for functions in all domains.
Cmp log10(const Cmp &)
Basis 10 logarithm.
Valeur * p_sx2
Pointer on .
Cmp acos(const Cmp &)
Arccosine.
Cmp abs(const Cmp &)
Absolute value.
void operator*=(const Valeur &)
*= Valeur
void equipot_outward(double uu0, int nz_search, double precis, int nitermax, int &niter, Itbl &l_iso, Tbl &xi_iso) const
Determines an equipotential surface of the field represented by *this (outward search).
Valeur * p_d2sdp2
Pointer on .
Coefficients storage for the multi-domain spectral method.
const Valeur & mult_ct() const
Returns applied to *this.
void set_etat_c_qcq()
Sets the logical state to ETATQCQ (ordinary state) for values in the configuration space (Mtbl c )...
void set_base_t(int base_t)
Sets the expansion basis for functions in all domains.
Cmp operator-(const Cmp &)
- Cmp
int etat
Logical state (ETATNONDEF , ETATQCQ or ETATZERO ).
Cmp sin(const Cmp &)
Sine.
Mtbl Heaviside(const Mtbl &)
Heaviside function.
void sxm1_zec()
Applies the following operator to *this : \ Id (r sampling = RARE, FIN ) \ (r -sampling = UNSURR ) ...
void del_deriv()
Logical destructor of the derivatives.
Valeur * p_mult_sp
Pointer on .
Valeur * p_stdsdp
Pointer on .
void set_der_0x0()
Sets the pointers for derivatives to 0x0.
Valeur * p_mult_x
Pointer on .
const Valeur & d2sdt2() const
Returns of *this.
Tbl diffrelmax(const Cmp &a, const Cmp &b)
Relative difference between two Cmp (max version).
const Base_val & get_base() const
Return the bases for spectral expansions (member base )