Lorene::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.7 2014/10/13 08:52:36 j_novak Exp $#

Definition at line 118 of file mtbl.h.


Constructor & Destructor Documentation

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

Constructor.

Definition at line 127 of file mtbl.C.

References Lorene::Mg3d::get_nzone(), and nzone.

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

Constructor.

Definition at line 133 of file mtbl.C.

References Lorene::Mg3d::get_nzone(), and nzone.

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

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

Definition at line 185 of file mtbl.C.

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

Lorene::Mtbl::Mtbl ( const Coord c  ) 

Constructor from a Coord.

Definition at line 139 of file mtbl.C.

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

Lorene::Mtbl::Mtbl ( const Mtbl a  ) 

Copy constructor.

Definition at line 165 of file mtbl.C.

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

Lorene::Mtbl::~Mtbl (  ) 

Destructor.

Definition at line 159 of file mtbl.C.

References del_t().


Member Function Documentation

void Lorene::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 396 of file mtbl.C.

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

void Lorene::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 332 of file mtbl.C.

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

void Lorene::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 315 of file mtbl.C.

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

void Lorene::Mtbl::del_t (  )  [private]

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

Definition at line 280 of file mtbl.C.

References nzone, and t.

int Lorene::Mtbl::get_etat (  )  const [inline]

Gives the logical state.

Definition at line 277 of file mtbl.h.

References etat.

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

Gives the Mg3d on which the Mtbl is defined.

Definition at line 274 of file mtbl.h.

References mg.

int Lorene::Mtbl::get_nzone (  )  const [inline]

Gives the number of zones (domains).

Definition at line 280 of file mtbl.h.

References nzone.

double Lorene::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 259 of file mtbl.h.

References etat, nzone, and t.

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

Read-only of the Tbl in a given domain.

Parameters:
l [input] domain index

Definition at line 232 of file mtbl.h.

References etat, nzone, and t.

void Lorene::Mtbl::operator*= ( double   ) 

*= double

Definition at line 436 of file mtbl.C.

References Lorene::c_est_pas_fait().

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

*= Mtbl

Definition at line 560 of file mtbl_arithm.C.

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

void Lorene::Mtbl::operator+= ( double   ) 

+= double

Definition at line 426 of file mtbl.C.

References Lorene::c_est_pas_fait().

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

+= Mtbl

Definition at line 516 of file mtbl_arithm.C.

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

void Lorene::Mtbl::operator-= ( double   ) 

-= double

Definition at line 431 of file mtbl.C.

References Lorene::c_est_pas_fait().

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

-= Mtbl

Definition at line 538 of file mtbl_arithm.C.

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

void Lorene::Mtbl::operator/= ( double   ) 

/= double

Definition at line 441 of file mtbl.C.

References Lorene::c_est_pas_fait().

void Lorene::Mtbl::operator/= ( const Mtbl  ) 

/= Mtbl

void Lorene::Mtbl::operator= ( int  m  ) 

Assignement to a int.

Definition at line 260 of file mtbl.C.

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

void Lorene::Mtbl::operator= ( double  x  ) 

Assignement to a double.

Definition at line 246 of file mtbl.C.

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

void Lorene::Mtbl::operator= ( const Mtbl mtc  ) 

Assignement to another Mtbl.

Definition at line 227 of file mtbl.C.

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

void Lorene::Mtbl::sauve ( FILE *  fd  )  const

Save in a file.

Definition at line 212 of file mtbl.C.

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

double& Lorene::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 245 of file mtbl.h.

References etat, nzone, and t.

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

Read/write of the Tbl in a given domain.

Parameters:
l [input] domain index

Definition at line 221 of file mtbl.h.

References etat, nzone, and t.

void Lorene::Mtbl::set_etat_nondef (  ) 

Sets the logical state to ETATNONDEF (undefined).

Deallocates the memory occupied by the Tbl array t .

Definition at line 296 of file mtbl.C.

References del_t(), and etat.

void Lorene::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 302 of file mtbl.C.

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

void Lorene::Mtbl::set_etat_zero (  ) 

Sets the logical state to ETATZERO (zero).

Deallocates the memory occupied by the Tbl array t .

Definition at line 290 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 Lorene::Mtbl::etat [private]

Logical state (ETATNONDEF , ETATQCQ or ETATZERO ).

Definition at line 128 of file mtbl.h.

const Mg3d* Lorene::Mtbl::mg [private]

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

Definition at line 124 of file mtbl.h.

int Lorene::Mtbl::nzone [private]

Number of domains (zones).

Definition at line 126 of file mtbl.h.

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

Definition at line 132 of file mtbl.h.


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

Generated on 7 Dec 2019 for LORENE by  doxygen 1.6.1