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 ;
320ostream& operator<<(ostream& ,
const Mtbl & ) ;
Active physical coordinates and mapping derivatives.
void sauve(FILE *) const
Save in a file.
friend ostream & operator<<(ostream &, const Mtbl &)
Display.
void annule(int l_min, int l_max)
Sets the Mtbl to zero in some domains.
double operator()(int l, int k, int j, int i) const
Read-only of a particular element.
const Mg3d * get_mg() const
Gives the Mg3d on which the Mtbl is defined.
double & set(int l, int k, int j, int i)
Read/write of a particular element.
Tbl & set(int l)
Read/write of the Tbl in a given domain.
int get_etat() const
Gives the logical state.
void del_t()
Logical destructor: dellocates the memory occupied by the Tbl array t .
void affiche_seuil(ostream &ostr, int precision=4, double threshold=1.e-7) const
Prints only the values greater than a given threshold.
void operator/=(const Mtbl &)
/= Mtbl
const Mg3d * mg
Pointer on the multi-grid Mgd3 on which this is defined.
void operator+=(const Mtbl &)
+= Mtbl
Tbl ** t
Array (size nzone ) of pointers on the Tbl 's.
void operator=(const Mtbl &)
Assignement to another Mtbl.
void set_etat_qcq()
Sets the logical state to ETATQCQ (ordinary state).
void set_etat_nondef()
Sets the logical state to ETATNONDEF (undefined).
int nzone
Number of domains (zones)
void set_etat_zero()
Sets the logical state to ETATZERO (zero).
int get_nzone() const
Gives the number of zones (domains)
void operator*=(const Mtbl &)
*= Mtbl
const Tbl & operator()(int l) const
Read-only of the Tbl in a given domain.
int etat
Logical state (ETATNONDEF , ETATQCQ or ETATZERO ).
void annule_hard()
Sets the Mtbl to zero in a hard way.
void operator-=(const Mtbl &)
-= Mtbl
Base_val operator*(const Base_val &, const Base_val &)
This operator is used when calling multiplication or division of Valeur .
Cmp operator-(const Cmp &)
- Cmp
Cmp atan(const Cmp &)
Arctangent.
Cmp sqrt(const Cmp &)
Square root.
Cmp log10(const Cmp &)
Basis 10 logarithm.
Cmp operator/(const Cmp &, const Cmp &)
Cmp / Cmp.
Cmp exp(const Cmp &)
Exponential.
Cmp sin(const Cmp &)
Sine.
Tbl diffrel(const Cmp &a, const Cmp &b)
Relative difference between two Cmp (norme version).
Tbl norme(const Cmp &)
Sums of the absolute values of all the values of the Cmp in each domain.
Cmp acos(const Cmp &)
Arccosine.
Cmp asin(const Cmp &)
Arcsine.
Cmp racine_cubique(const Cmp &)
Cube root.
Tbl min(const Cmp &)
Minimum values of a Cmp in each domain.
Tbl max(const Cmp &)
Maximum values of a Cmp in each domain.
Cmp pow(const Cmp &, int)
Power .
Cmp cos(const Cmp &)
Cosine.
Cmp abs(const Cmp &)
Absolute value.
Tbl diffrelmax(const Cmp &a, const Cmp &b)
Relative difference between two Cmp (max version).
Cmp operator+(const Cmp &)
Cmp tan(const Cmp &)
Tangent.
Cmp log(const Cmp &)
Neperian logarithm.
Mtbl Heaviside(const Mtbl &)
Heaviside function.
double totalmin(const Mtbl &)
Minimum value of the Mtbl elements in all domain.
double totalmax(const Mtbl &)
Maximum value of the Mtbl elements in all domains.