Mtbl Class Reference
[Spectral representation.]

Multi-domain array. More...

#include <mtbl.h>

List of all members.

Public Member Functions

 Mtbl (const Mg3d &mgrid)
 Constructor.
 Mtbl (const Mg3d *p_mgrid)
 Constructor.
 Mtbl (const Mg3d &, FILE *)
 Constructor from a file (see sauve(FILE*)).
 Mtbl (const Coord &c)
 Constructor from a Coord.
 Mtbl (const Mtbl &a)
 Copy constructor.
 ~Mtbl ()
 Destructor.
void operator= (const Mtbl &)
 Assignement to another Mtbl.
void operator= (double)
 Assignement to a double.
void operator= (int)
 Assignement to a int.
void set_etat_nondef ()
 Sets the logical state to ETATNONDEF (undefined).
void set_etat_zero ()
 Sets the logical state to ETATZERO (zero).
void set_etat_qcq ()
 Sets the logical state to ETATQCQ (ordinary state).
void annule_hard ()
 Sets the Mtbl to zero in a hard way.
void annule (int l_min, int l_max)
 Sets the Mtbl to zero in some domains.
Tblset (int l)
 Read/write of the Tbl in a given domain.
const Tbloperator() (int l) const
 Read-only of the Tbl in a given domain.
double & set (int l, int k, int j, int i)
 Read/write of a particular element.
double operator() (int l, int k, int j, int i) const
 Read-only of a particular element.
const Mg3dget_mg () const
 Gives the Mg3d on which the Mtbl is defined.
int get_etat () const
 Gives the logical state.
int get_nzone () const
 Gives the number of zones (domains).
void sauve (FILE *) const
 Save in a file.
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
void operator+= (double)
 += double
void operator-= (const Mtbl &)
 -= Mtbl
void operator-= (double)
 -= double
void operator*= (const Mtbl &)
 *= Mtbl
void operator*= (double)
 *= double
void operator/= (const Mtbl &)
 /= Mtbl
void operator/= (double)
 /= double

Public Attributes

Tbl ** t
 Array (size nzone ) of pointers on the Tbl 's.

Private Member Functions

void del_t ()
 Logical destructor: dellocates the memory occupied by the Tbl array t .

Private Attributes

const Mg3dmg
 Pointer on the multi-grid Mgd3 on which this is defined.
int nzone
 Number of domains (zones).
int etat
 Logical state (ETATNONDEF , ETATQCQ or ETATZERO ).

Friends

ostream & operator<< (ostream &, const Mtbl &)
 Display.

Detailed Description

Multi-domain array.

()

This class is essentially an array of Tbl . It is intended to be used in conjunction with the class Mtbl_cf . A Mtbl is initialy created with a logical state NONDEF . Arithmetic operations are provided with the usual meaning (see below).

Version:
$Id: mtbl.h,v 1.6 2012/01/17 10:22:13 j_penner Exp $#

Definition at line 114 of file mtbl.h.


Constructor & Destructor Documentation

Mtbl::Mtbl ( const Mg3d mgrid  )  [explicit]

Constructor.

Definition at line 120 of file mtbl.C.

References Mg3d::get_nzone(), and nzone.

Mtbl::Mtbl ( const Mg3d p_mgrid  )  [explicit]

Constructor.

Definition at line 126 of file mtbl.C.

References Mg3d::get_nzone(), and nzone.

Mtbl::Mtbl ( const Mg3d g,
FILE *  fd 
)

Constructor from a file (see sauve(FILE*)).

Definition at line 178 of file mtbl.C.

References etat, fread_be(), Mg3d::get_nzone(), mg, nzone, and t.

Mtbl::Mtbl ( const Coord c  ) 

Constructor from a Coord.

Definition at line 132 of file mtbl.C.

References Coord::c, etat, Coord::fait(), get_mg(), Mg3d::get_nzone(), mg, nzone, and t.

Mtbl::Mtbl ( const Mtbl a  ) 

Copy constructor.

Definition at line 158 of file mtbl.C.

References etat, get_etat(), nzone, set_etat_qcq(), and t.

Mtbl::~Mtbl (  ) 

Destructor.

Definition at line 152 of file mtbl.C.

References del_t().


Member Function Documentation

void Mtbl::affiche_seuil ( ostream &  ostr,
int  precision = 4,
double  threshold = 1.e-7 
) const

Prints only the values greater than a given threshold.

Parameters:
ostr [input] Output stream used for the printing
precision [input] Number of printed digits (default: 4)
threshold [input] Value above which an array element is printed (default: 1.e-7)

Definition at line 389 of file mtbl.C.

References Tbl::affiche_seuil(), etat, and t.

void Mtbl::annule ( int  l_min,
int  l_max 
)

Sets the Mtbl to zero in some domains.

Parameters:
l_min [input] The Mtbl will be set (logically) to zero in the domains whose indices are in the range [l_min,l_max] .
l_max [input] see the comments for l_min .

Note that annule(0,nzone-1) is equivalent to set_etat_zero() .

Definition at line 325 of file mtbl.C.

References etat, nzone, Tbl::set_etat_zero(), set_etat_zero(), and t.

void Mtbl::annule_hard (  ) 

Sets the Mtbl to zero in a hard way.

1/ Sets the logical state to ETATQCQ , i.e. to an ordinary state. 2/ Allocates the memory of the Tbl array t , and fills it with zeros. NB: this function must be used for debugging purposes only. For other operations, the functions set_etat_zero() or annule(int, int) must be perferred.

Definition at line 308 of file mtbl.C.

References Tbl::annule_hard(), etat, Mg3d::get_grille3d(), mg, nzone, and t.

void Mtbl::del_t (  )  [private]

Logical destructor: dellocates the memory occupied by the Tbl array t .

Definition at line 273 of file mtbl.C.

References nzone, and t.

int Mtbl::get_etat (  )  const [inline]

Gives the logical state.

Definition at line 273 of file mtbl.h.

References etat.

const Mg3d* Mtbl::get_mg (  )  const [inline]

Gives the Mg3d on which the Mtbl is defined.

Definition at line 270 of file mtbl.h.

References mg.

int Mtbl::get_nzone (  )  const [inline]

Gives the number of zones (domains).

Definition at line 276 of file mtbl.h.

References nzone.

double Mtbl::operator() ( int  l,
int  k,
int  j,
int  i 
) const [inline]

Read-only of a particular element.

Parameters:
l [input] domain index
k [input] $\phi$ index
j [input] $\theta$ index
i [input] r ($\xi$) index

Definition at line 255 of file mtbl.h.

References etat, nzone, and t.

const Tbl& Mtbl::operator() ( int  l  )  const [inline]

Read-only of the Tbl in a given domain.

Parameters:
l [input] domain index

Definition at line 228 of file mtbl.h.

References etat, nzone, and t.

void Mtbl::operator*= ( double   ) 

*= double

Definition at line 429 of file mtbl.C.

References c_est_pas_fait().

void Mtbl::operator*= ( const Mtbl mi  ) 

*= Mtbl

Definition at line 553 of file mtbl_arithm.C.

References etat, get_etat(), get_mg(), mg, nzone, set_etat_zero(), and t.

void Mtbl::operator+= ( double   ) 

+= double

Definition at line 419 of file mtbl.C.

References c_est_pas_fait().

void Mtbl::operator+= ( const Mtbl mi  ) 

+= Mtbl

Definition at line 509 of file mtbl_arithm.C.

References annule_hard(), etat, get_etat(), get_mg(), mg, nzone, and t.

void Mtbl::operator-= ( double   ) 

-= double

Definition at line 424 of file mtbl.C.

References c_est_pas_fait().

void Mtbl::operator-= ( const Mtbl mi  ) 

-= Mtbl

Definition at line 531 of file mtbl_arithm.C.

References annule_hard(), etat, get_etat(), get_mg(), mg, nzone, and t.

void Mtbl::operator/= ( double   ) 

/= double

Definition at line 434 of file mtbl.C.

References c_est_pas_fait().

void Mtbl::operator/= ( const Mtbl  ) 

/= Mtbl

void Mtbl::operator= ( int  m  ) 

Assignement to a int.

Definition at line 253 of file mtbl.C.

References nzone, set_etat_qcq(), set_etat_zero(), and t.

void Mtbl::operator= ( double  x  ) 

Assignement to a double.

Definition at line 239 of file mtbl.C.

References nzone, set_etat_qcq(), set_etat_zero(), and t.

void Mtbl::operator= ( const Mtbl mtc  ) 

Assignement to another Mtbl.

Definition at line 220 of file mtbl.C.

References get_etat(), mg, nzone, set_etat_qcq(), set_etat_zero(), and t.

void Mtbl::sauve ( FILE *  fd  )  const

Save in a file.

Definition at line 205 of file mtbl.C.

References etat, fwrite_be(), mg, nzone, Tbl::sauve(), Mg3d::sauve(), and t.

double& Mtbl::set ( int  l,
int  k,
int  j,
int  i 
) [inline]

Read/write of a particular element.

Parameters:
l [input] domain index
k [input] $\phi$ index
j [input] $\theta$ index
i [input] r ($\xi$) index

Definition at line 241 of file mtbl.h.

References etat, nzone, and t.

Tbl& Mtbl::set ( int  l  )  [inline]

Read/write of the Tbl in a given domain.

Parameters:
l [input] domain index

Definition at line 217 of file mtbl.h.

References etat, nzone, and t.

void Mtbl::set_etat_nondef (  ) 

Sets the logical state to ETATNONDEF (undefined).

Deallocates the memory occupied by the Tbl array t .

Definition at line 289 of file mtbl.C.

References del_t(), and etat.

void Mtbl::set_etat_qcq (  ) 

Sets the logical state to ETATQCQ (ordinary state).

If the state (member etat ) is already ETATQCQ , this function does nothing. Otherwise, it performs the memory allocation for the Tbl array t .

Definition at line 295 of file mtbl.C.

References etat, Mg3d::get_grille3d(), mg, nzone, and t.

void Mtbl::set_etat_zero (  ) 

Sets the logical state to ETATZERO (zero).

Deallocates the memory occupied by the Tbl array t .

Definition at line 283 of file mtbl.C.

References del_t(), and etat.


Friends And Related Function Documentation

ostream& operator<< ( ostream &  ,
const Mtbl  
) [friend]

Display.


Member Data Documentation

int Mtbl::etat [private]

Logical state (ETATNONDEF , ETATQCQ or ETATZERO ).

Definition at line 124 of file mtbl.h.

const Mg3d* Mtbl::mg [private]

Pointer on the multi-grid Mgd3 on which this is defined.

Definition at line 120 of file mtbl.h.

int Mtbl::nzone [private]

Number of domains (zones).

Definition at line 122 of file mtbl.h.

Array (size nzone ) of pointers on the Tbl 's.

Definition at line 128 of file mtbl.h.


The documentation for this class was generated from the following files:

Generated on 7 Oct 2014 for LORENE by  doxygen 1.6.1