141 explicit Mtbl(
const Mg3d* p_mgrid) ;
211 void annule(
int l_min,
int l_max) ;
223 assert(
etat == ETATQCQ) ;
234 assert(
etat == ETATQCQ) ;
245 double&
set(
int l,
int k,
int j,
int i) {
247 assert(
etat == ETATQCQ) ;
248 return (
t[l])->set(k, j, i) ;
260 assert(
etat != ETATNONDEF) ;
262 if (
etat == ETATZERO) {
266 else return (*
t[l])(k, j, i) ;
286 void sauve(FILE *)
const ;
295 double threshold = 1.e-7)
const ;
320 ostream& operator<<(ostream& ,
const Mtbl & ) ;
333 Mtbl
operator+(
const Mtbl&,
const Mtbl& ) ;
343 Mtbl
operator-(
const Mtbl&,
const Mtbl& ) ;
353 Mtbl
operator*(
const Mtbl&,
const Mtbl& ) ;
363 Mtbl
operator/(
const Mtbl&,
const Mtbl& ) ;
374 Mtbl
sin(
const Mtbl& ) ;
376 Mtbl
cos(
const Mtbl& ) ;
378 Mtbl
tan(
const Mtbl& ) ;
380 Mtbl
asin(
const Mtbl& ) ;
382 Mtbl
acos(
const Mtbl& ) ;
384 Mtbl
atan(
const Mtbl& ) ;
386 Mtbl
exp(
const Mtbl& ) ;
390 Mtbl
log(
const Mtbl& ) ;
392 Mtbl
log(
const Mtbl& ) ;
394 Mtbl
log10(
const Mtbl& ) ;
396 Mtbl
sqrt(
const Mtbl& ) ;
400 Mtbl
pow(
const Mtbl& ,
int ) ;
402 Mtbl
pow(
const Mtbl& ,
double ) ;
404 Mtbl
abs(
const Mtbl& ) ;
423 Tbl
max(
const Mtbl& ) ;
430 Tbl
min(
const Mtbl& ) ;
437 Tbl
norme(
const Mtbl& ) ;
447 Tbl
diffrel(
const Mtbl& a,
const Mtbl& b) ;
457 Tbl
diffrelmax(
const Mtbl& a,
const Mtbl& b) ;
Cmp log(const Cmp &)
Neperian logarithm.
Cmp asin(const Cmp &)
Arcsine.
Cmp exp(const Cmp &)
Exponential.
Cmp sqrt(const Cmp &)
Square root.
void del_t()
Logical destructor: dellocates the memory occupied by the Tbl array t .
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 .
void annule(int l_min, int l_max)
Sets the Mtbl to zero in some domains.
Cmp operator/(const Cmp &, const Cmp &)
Cmp / Cmp.
Tbl min(const Cmp &)
Minimum values of a Cmp in each domain.
Cmp cos(const Cmp &)
Cosine.
Tbl diffrel(const Cmp &a, const Cmp &b)
Relative difference between two Cmp (norme version).
void operator*=(const Mtbl &)
*= Mtbl
int get_etat() const
Gives the logical state.
Cmp tan(const Cmp &)
Tangent.
double operator()(int l, int k, int j, int i) const
Read-only of a particular element.
void operator+=(const Mtbl &)
+= Mtbl
Tbl norme(const Cmp &)
Sums of the absolute values of all the values of the Cmp in each domain.
int get_nzone() const
Gives the number of zones (domains)
void set_etat_zero()
Sets the logical state to ETATZERO (zero).
Cmp atan(const Cmp &)
Arctangent.
Cmp operator+(const Cmp &)
const Mg3d * mg
Pointer on the multi-grid Mgd3 on which this is defined.
void affiche_seuil(ostream &ostr, int precision=4, double threshold=1.e-7) const
Prints only the values greater than a given threshold.
Mtbl(const Mg3d &mgrid)
Constructor.
int etat
Logical state (ETATNONDEF , ETATQCQ or ETATZERO ).
int nzone
Number of domains (zones)
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.
Cmp pow(const Cmp &, int)
Power .
Active physical coordinates and mapping derivatives.
void set_etat_qcq()
Sets the logical state to ETATQCQ (ordinary state).
double totalmin(const Mtbl &)
Minimum value of the Mtbl elements in all domain.
void sauve(FILE *) const
Save in a file.
void annule_hard()
Sets the Mtbl to zero in a hard way.
void operator/=(const Mtbl &)
/= Mtbl
Cmp log10(const Cmp &)
Basis 10 logarithm.
Cmp acos(const Cmp &)
Arccosine.
Cmp abs(const Cmp &)
Absolute value.
const Tbl & operator()(int l) const
Read-only of the Tbl in a given domain.
Cmp operator-(const Cmp &)
- Cmp
friend ostream & operator<<(ostream &, const Mtbl &)
Display.
Cmp sin(const Cmp &)
Sine.
Mtbl Heaviside(const Mtbl &)
Heaviside function.
void operator-=(const Mtbl &)
-= Mtbl
Tbl ** t
Array (size nzone ) of pointers on the Tbl 's.
const Mg3d * get_mg() const
Gives the Mg3d on which the Mtbl is defined.
void set_etat_nondef()
Sets the logical state to ETATNONDEF (undefined).
Tbl diffrelmax(const Cmp &a, const Cmp &b)
Relative difference between two Cmp (max version).
void operator=(const Mtbl &)
Assignement to another Mtbl.