Lorene::Mtbl_cf Class Reference
[Spectral representation.]

Coefficients storage for the multi-domain spectral method. More...

#include <mtbl_cf.h>

List of all members.

Public Member Functions

 Mtbl_cf (const Mg3d &mgrid, const Base_val &basis)
 Constructor.
 Mtbl_cf (const Mg3d *p_mgrid, const Base_val &basis)
 Constructor.
 Mtbl_cf (const Mg3d &, FILE *)
 Constructor from a file (see sauve(FILE*) ).
 Mtbl_cf (const Mtbl_cf &)
 Copy constructor.
 ~Mtbl_cf ()
 Destructor.
void operator= (const Mtbl_cf &)
 Assignement to another Mtbl_cf.
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_cf to zero in a hard way.
void annule (int l_min, int l_max)
 Sets the Mtbl_cf to zero in some domains.
Tblset (int l)
 Read/write of the Tbl containing the coefficients in a given domain.
const Tbloperator() (int l) const
 Read-only of the Tbl containing the coefficients 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.
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 expansion.
double val_point_symy (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 expansion.
double val_point_asymy (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 expansion.
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 $\xi$, but collocation point in $(\theta', \phi')$, by means of the spectral expansion.
double val_point_jk_symy (int l, double x, int j, int k) const
 Computes the value of the field represented by *this at an arbitrary point in $\xi$, but collocation point in $(\theta', \phi')$, by means of the spectral expansion.
double val_point_jk_asymy (int l, double x, int j, int k) const
 Computes the value of the field represented by *this at an arbitrary point in $\xi$, but collocation point in $(\theta', \phi')$, by means of the spectral expansion.
double val_out_bound_jk (int l, int j, int k) const
 Computes the angular coefficient of index j,k of the field represented by *this at $\xi = 1 $ by means of the spectral expansion.
double val_in_bound_jk (int l, int j, int k) const
 Computes the angular coefficient of index j,k of the field represented by *this at $\xi = -1 $ by means of the spectral expansion.
const Mg3dget_mg () const
 Returns the Mg3d on which the Mtbl_cf is defined.
int get_etat () const
 Returns the logical state.
int get_nzone () const
 Returns the number of zones (domains).
void sauve (FILE *) const
 Save in a file.
void display (double threshold=1.e-7, int precision=4, ostream &ostr=cout) const
 Prints the coefficients whose values are greater than a given threshold, as well as the corresponding basis.
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_cf &)
 += Mtbl_cf
void operator-= (const Mtbl_cf &)
 -= Mtbl_cf
void operator*= (double)
 *= double
void operator/= (double)
 /= double
void dsdx ()
 ${\partial \over \partial \xi} $
void d2sdx2 ()
 ${\partial^2\over \partial \xi^2} $
void sx ()
 ${1 \over \xi} $ (r -sampling = RARE ) \ Id (r sampling = FIN ) \ ${1 \over \xi-1} $ (r -sampling = UNSURR )
void sx2 ()
 ${1 \over \xi^2}$ (r -sampling = RARE ) \ Id (r sampling = FIN ) \ ${1 \over (\xi-1)^2}$ (r -sampling = UNSURR )
void mult_x ()
 $\xi \, Id$ (r -sampling = RARE ) \ Id (r sampling = FIN ) \ $(\xi-1) \, Id $ (r -sampling = UNSURR )
void sxm1_zec ()
 Id (r sampling = RARE, FIN ) \ ${1 \over (\xi-1)}$ (r -sampling = UNSURR ).
void mult_xm1_zec ()
 Id (r sampling = RARE, FIN ) \ $(\xi-1) \, Id$ (r -sampling = UNSURR ).
void mult2_xm1_zec ()
 Id (r sampling = RARE, FIN ) \ $(\xi-1)^2 \, Id$ (r -sampling = UNSURR ).
void dsdt ()
 ${\partial \over \partial \theta}$
void d2sdt2 ()
 ${\partial^2 \over \partial \theta^2}$
void ssint ()
 $Id\over\sin\theta$
void scost ()
 $Id\over\cos\theta$
void mult_ct ()
 $\cos\theta \, Id$
void mult_st ()
 $\sin\theta \, Id$
void dsdp ()
 ${\partial \over \partial \phi}$
void d2sdp2 ()
 ${\partial^2 \over \partial \phi^2}$
void mult_cp ()
 $\cos\phi \, Id$
void mult_sp ()
 $\sin\phi \, Id$
void lapang ()
 Angular Laplacian.
void poisson_angu (double lambda=0)
 Resolution of the generalized angular Poisson equation.

Public Attributes

Base_val base
 Bases of the spectral expansions.
Tbl ** t
 Array (size nzone ) of pointers on the Tbl 's which contain the spectral coefficients in each domain.

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_cf &)
 Display.

Detailed Description

Coefficients storage for the multi-domain spectral method.

This class is essentially an array (on the various physical domains) of Tbl specially designed for storage of the coefficients of the spectral expansions in each domain. It is intended to be used in conjunction with the class Mtbl (see class Valeur ). A difference between a Mtbl and a Mtbl_cf , both defined one the same grid Mg3d , is that each Tbl of the Mtbl_cf has 2 more elements in the $\phi$-dimension (Dim_tbl::dim[2]) than the corresponding Tbl of the Mtbl . A Mbl_cf is initialy created with a logical state ETATZERO . Arithmetic operations are provided with the usual meaning (see below).

()

Definition at line 186 of file mtbl_cf.h.


Constructor & Destructor Documentation

Lorene::Mtbl_cf::Mtbl_cf ( const Mg3d mgrid,
const Base_val basis 
)

Constructor.

Definition at line 127 of file mtbl_cf.C.

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

Lorene::Mtbl_cf::Mtbl_cf ( const Mg3d p_mgrid,
const Base_val basis 
)

Constructor.

Definition at line 135 of file mtbl_cf.C.

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

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

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

Definition at line 176 of file mtbl_cf.C.

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

Lorene::Mtbl_cf::Mtbl_cf ( const Mtbl_cf mtc  ) 

Copy constructor.

Definition at line 153 of file mtbl_cf.C.

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

Lorene::Mtbl_cf::~Mtbl_cf (  ) 

Destructor.

Definition at line 146 of file mtbl_cf.C.

References del_t().


Member Function Documentation

void Lorene::Mtbl_cf::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 400 of file mtbl_cf.C.

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

void Lorene::Mtbl_cf::annule ( int  l_min,
int  l_max 
)

Sets the Mtbl_cf to zero in some domains.

Parameters:
l_min [input] The Mtbl_cf 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 335 of file mtbl_cf.C.

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

void Lorene::Mtbl_cf::annule_hard (  ) 

Sets the Mtbl_cf 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_cf.C.

References Lorene::Tbl::annule_hard(), etat, Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), mg, nzone, and t.

void Lorene::Mtbl_cf::d2sdp2 (  ) 

${\partial^2 \over \partial \phi^2}$

Definition at line 135 of file valeur_d2sdp2.C.

References Lorene::Base_val::b, base, etat, MAX_BASE, MSQ_P, nzone, P_COSSIN, t, and TRA_P.

void Lorene::Mtbl_cf::d2sdt2 (  ) 
void Lorene::Mtbl_cf::d2sdx2 (  ) 
void Lorene::Mtbl_cf::del_t (  )  [private]

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

Definition at line 279 of file mtbl_cf.C.

References etat, nzone, and t.

void Lorene::Mtbl_cf::display ( double  threshold = 1.e-7,
int  precision = 4,
ostream &  ostr = cout 
) const

Prints the coefficients whose values are greater than a given threshold, as well as the corresponding basis.

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

Definition at line 59 of file mtbl_cf_display.C.

References base, etat, Lorene::Tbl::get_etat(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), mg, Lorene::Base_val::name_phi(), Lorene::Base_val::name_r(), Lorene::Base_val::name_theta(), nzone, and t.

void Lorene::Mtbl_cf::dsdp (  ) 

${\partial \over \partial \phi}$

Definition at line 142 of file valeur_dsdp.C.

References Lorene::Base_val::b, base, etat, MAX_BASE_2, MSQ_P, nzone, P_COSSIN, P_COSSIN_I, P_COSSIN_P, t, and TRA_P.

void Lorene::Mtbl_cf::dsdt (  ) 
void Lorene::Mtbl_cf::dsdx (  ) 
int Lorene::Mtbl_cf::get_etat (  )  const [inline]

Returns the logical state.

Definition at line 456 of file mtbl_cf.h.

References etat.

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

Returns the Mg3d on which the Mtbl_cf is defined.

Definition at line 453 of file mtbl_cf.h.

References mg.

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

Returns the number of zones (domains).

Definition at line 459 of file mtbl_cf.h.

References nzone.

void Lorene::Mtbl_cf::lapang (  ) 
void Lorene::Mtbl_cf::mult2_xm1_zec (  ) 

Id (r sampling = RARE, FIN ) \ $(\xi-1)^2 \, Id$ (r -sampling = UNSURR ).

Definition at line 106 of file valeur_mult2_xm1.C.

References Lorene::Base_val::b, base, etat, MAX_BASE, MSQ_R, nzone, R_CHEBU, t, and TRA_R.

void Lorene::Mtbl_cf::mult_cp (  ) 

$\cos\phi \, Id$

Definition at line 123 of file valeur_mult_cp.C.

References Lorene::Base_val::b, base, etat, MAX_BASE_2, MSQ_P, nzone, P_COSSIN, P_COSSIN_I, P_COSSIN_P, t, and TRA_P.

void Lorene::Mtbl_cf::mult_ct (  ) 
void Lorene::Mtbl_cf::mult_sp (  ) 

$\sin\phi \, Id$

Definition at line 123 of file valeur_mult_sp.C.

References Lorene::Base_val::b, base, etat, MAX_BASE_2, MSQ_P, nzone, P_COSSIN, P_COSSIN_I, P_COSSIN_P, t, and TRA_P.

void Lorene::Mtbl_cf::mult_st (  ) 
void Lorene::Mtbl_cf::mult_x (  ) 

$\xi \, Id$ (r -sampling = RARE ) \ Id (r sampling = FIN ) \ $(\xi-1) \, Id $ (r -sampling = UNSURR )

Definition at line 147 of file valeur_mult_x.C.

References Lorene::Base_val::b, base, etat, MAX_BASE, MSQ_R, nzone, R_CHEB, R_CHEBI, R_CHEBP, R_CHEBPI_I, R_CHEBPI_P, R_CHEBPIM_I, R_CHEBPIM_P, R_CHEBU, R_JACO02, R_LEG, R_LEGI, R_LEGP, t, and TRA_R.

void Lorene::Mtbl_cf::mult_xm1_zec (  ) 

Id (r sampling = RARE, FIN ) \ $(\xi-1) \, Id$ (r -sampling = UNSURR ).

Definition at line 106 of file valeur_mult_xm1.C.

References Lorene::Base_val::b, base, etat, MAX_BASE, MSQ_R, nzone, R_CHEBU, t, and TRA_R.

double Lorene::Mtbl_cf::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 332 of file mtbl_cf.h.

References etat, nzone, and t.

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

Read-only of the Tbl containing the coefficients in a given domain.

Parameters:
l [input] domain index

Definition at line 306 of file mtbl_cf.h.

References etat, nzone, and t.

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

*= double

Definition at line 432 of file mtbl_cf.C.

References Lorene::c_est_pas_fait().

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

+= Mtbl_cf

Definition at line 305 of file mtbl_cf_arithm.C.

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

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

-= Mtbl_cf

Definition at line 328 of file mtbl_cf_arithm.C.

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

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

/= double

Definition at line 437 of file mtbl_cf.C.

References Lorene::c_est_pas_fait().

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

Assignement to a int.

Definition at line 259 of file mtbl_cf.C.

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

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

Assignement to a double.

Definition at line 245 of file mtbl_cf.C.

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

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

Assignement to another Mtbl_cf.

Definition at line 223 of file mtbl_cf.C.

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

void Lorene::Mtbl_cf::poisson_angu ( double  lambda = 0  ) 

Resolution of the generalized angular Poisson equation.

The generalized angular Poisson equation is $\Delta_{\theta\varphi} u + \lambda u = \sigma$, where $\Delta_{\theta\varphi} u := \frac{\partial^2 u} {\partial \theta^2} + \frac{1}{\tan \theta} \frac{\partial u} {\partial \theta} +\frac{1}{\sin^2 \theta}\frac{\partial^2 u} {\partial \varphi^2}$.

Before the call to poisson_angu() , *this contains the coefficients of the source $\sigma$; after the call, it contains the coefficients of the solution $u$.

Parameters:
lambda [input] coefficient $\lambda$ in the above equation (default value = 0)

Definition at line 86 of file mtbl_cf_pde.C.

References Lorene::Base_val::b, base, get_mg(), Lorene::Mg3d::get_nzone(), MAX_BASE, MSQ_T, T_LEG, T_LEG_I, T_LEG_IP, T_LEG_MI, T_LEG_MP, T_LEG_P, T_LEG_PI, T_LEG_PP, and TRA_T.

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

Save in a file.

Definition at line 207 of file mtbl_cf.C.

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

void Lorene::Mtbl_cf::scost (  ) 
double& Lorene::Mtbl_cf::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 319 of file mtbl_cf.h.

References etat, nzone, and t.

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

Read/write of the Tbl containing the coefficients in a given domain.

Parameters:
l [input] domain index

Definition at line 294 of file mtbl_cf.h.

References etat, nzone, and t.

void Lorene::Mtbl_cf::set_etat_nondef (  ) 

Sets the logical state to ETATNONDEF (undefined).

Deallocates the memory occupied by the Tbl array t .

Definition at line 297 of file mtbl_cf.C.

References del_t(), and etat.

void Lorene::Mtbl_cf::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 303 of file mtbl_cf.C.

References etat, Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), mg, nzone, and t.

void Lorene::Mtbl_cf::set_etat_zero (  ) 

Sets the logical state to ETATZERO (zero).

Deallocates the memory occupied by the Tbl array t .

Definition at line 291 of file mtbl_cf.C.

References del_t(), and etat.

void Lorene::Mtbl_cf::ssint (  ) 
void Lorene::Mtbl_cf::sx (  ) 

${1 \over \xi} $ (r -sampling = RARE ) \ Id (r sampling = FIN ) \ ${1 \over \xi-1} $ (r -sampling = UNSURR )

Definition at line 156 of file valeur_sx.C.

References Lorene::Base_val::b, base, etat, MAX_BASE, MSQ_R, nzone, R_CHEB, R_CHEBI, R_CHEBP, R_CHEBPI_I, R_CHEBPI_P, R_CHEBPIM_I, R_CHEBPIM_P, R_CHEBU, R_JACO02, R_LEG, R_LEGI, R_LEGP, t, and TRA_R.

void Lorene::Mtbl_cf::sx2 (  ) 

${1 \over \xi^2}$ (r -sampling = RARE ) \ Id (r sampling = FIN ) \ ${1 \over (\xi-1)^2}$ (r -sampling = UNSURR )

Definition at line 160 of file valeur_sx2.C.

References Lorene::Base_val::b, base, etat, MAX_BASE, MSQ_R, nzone, R_CHEB, R_CHEBI, R_CHEBP, R_CHEBPI_I, R_CHEBPI_P, R_CHEBPIM_I, R_CHEBPIM_P, R_CHEBU, R_LEG, R_LEGI, R_LEGP, t, and TRA_R.

void Lorene::Mtbl_cf::sxm1_zec (  ) 

Id (r sampling = RARE, FIN ) \ ${1 \over (\xi-1)}$ (r -sampling = UNSURR ).

Definition at line 115 of file valeur_sxm1_zec.C.

References Lorene::Base_val::b, base, etat, MAX_BASE, MSQ_R, nzone, R_CHEBU, t, and TRA_R.

double Lorene::Mtbl_cf::val_in_bound_jk ( int  l,
int  j,
int  k 
) const

Computes the angular coefficient of index j,k of the field represented by *this at $\xi = -1 $ by means of the spectral expansion.

Not defined in the nucleus.

Parameters:
l [input] index of the domain
j [input] index in $\theta$-direction
k [input] index in $\phi$-direction
Returns:
coefficient at the boundary $\xi = -1$ in the domain no. l of the field whose spectral coefficients are stored in *this .

Definition at line 455 of file mtbl_cf_val_point.C.

References Lorene::Base_val::b, base, Lorene::Mg3d::get_nr(), mg, MSQ_R, operator()(), R_CHEB, R_CHEBU, and TRA_R.

double Lorene::Mtbl_cf::val_out_bound_jk ( int  l,
int  j,
int  k 
) const

Computes the angular coefficient of index j,k of the field represented by *this at $\xi = 1 $ by means of the spectral expansion.

Parameters:
l [input] index of the domain
j [input] index in $\theta$-direction
k [input] index in $\phi$-direction
Returns:
coefficient at the boundary $\xi = 1$ in the domain no. l of the field whose spectral coefficients are stored in *this .

Definition at line 431 of file mtbl_cf_val_point.C.

References Lorene::Base_val::b, base, Lorene::Mg3d::get_nr(), mg, MSQ_R, R_CHEB, R_CHEBI, R_CHEBP, R_CHEBPI_I, R_CHEBPI_P, R_CHEBPIM_I, R_CHEBPIM_P, R_CHEBU, R_JACO02, and TRA_R.

double Lorene::Mtbl_cf::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 expansion.

Parameters:
l [input] index of the domain
x [input] value of the coordinate $\xi$
theta [input] value of the coordinate $\theta'$
phi [input] value of the coordinate $\phi'$
Returns:
value at the point $(\xi, \theta', \phi')$ in the domain no. l of the field whose spectral coefficients are stored in *this .

Definition at line 118 of file mtbl_cf_val_point.C.

References Lorene::Base_val::b, base, etat, Lorene::Tbl::get_etat(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), MAX_BASE, MAX_BASE_2, mg, MSQ_P, MSQ_R, MSQ_T, P_COSSIN, P_COSSIN_I, P_COSSIN_P, R_CHEB, R_CHEBI, R_CHEBP, R_CHEBPI_I, R_CHEBPI_P, R_CHEBPIM_I, R_CHEBPIM_P, R_CHEBU, R_JACO02, R_LEG, R_LEGI, R_LEGP, Lorene::Tbl::t, t, T_COS, T_COS_I, T_COS_P, T_COSSIN_C, T_COSSIN_CI, T_COSSIN_CP, T_COSSIN_S, T_COSSIN_SI, T_COSSIN_SP, T_SIN, T_SIN_I, T_SIN_P, TRA_P, TRA_R, and TRA_T.

double Lorene::Mtbl_cf::val_point_asymy ( 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 expansion.

Case where the field is antisymmetric with respect to the y=0 plane.

Parameters:
l [input] index of the domain
x [input] value of the coordinate $\xi$
theta [input] value of the coordinate $\theta'$
phi [input] value of the coordinate $\phi'$
Returns:
value at the point $(\xi, \theta', \phi')$ in the domain no. l of the field whose spectral coefficients are stored in *this .

Definition at line 74 of file mtbl_cf_vp_asymy.C.

References Lorene::Base_val::b, base, etat, Lorene::Tbl::get_etat(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), MAX_BASE, MAX_BASE_2, mg, MSQ_P, MSQ_R, MSQ_T, P_COSSIN, P_COSSIN_I, P_COSSIN_P, R_CHEB, R_CHEBI, R_CHEBP, R_CHEBPIM_I, R_CHEBPIM_P, R_CHEBU, Lorene::Tbl::t, t, T_COS, T_COS_P, T_COSSIN_CI, T_COSSIN_CP, T_SIN, T_SIN_P, TRA_P, TRA_R, and TRA_T.

double Lorene::Mtbl_cf::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 $\xi$, but collocation point in $(\theta', \phi')$, by means of the spectral expansion.

Parameters:
l [input] index of the domain
x [input] value of the coordinate $\xi$
j [input] index of the collocation point in $\theta'$
k [input] index of the collocation point in $\phi'$
Returns:
value at the point $(\xi, {\theta'}_j, {\phi'}_k)$ in the domain no. l of the field whose spectral coefficients are stored in *this .

Definition at line 261 of file mtbl_cf_val_point.C.

References Lorene::Base_val::b, base, etat, Lorene::Tbl::get_etat(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), MAX_BASE, mg, MSQ_R, MSQ_T, Lorene::Base_val::phi_functions(), R_CHEB, R_CHEBI, R_CHEBP, R_CHEBPI_I, R_CHEBPI_P, R_CHEBPIM_I, R_CHEBPIM_P, R_CHEBU, R_JACO02, Lorene::Tbl::t, t, T_COS, T_COS_I, T_COS_P, T_COSSIN_C, T_COSSIN_CI, T_COSSIN_CP, T_COSSIN_S, T_COSSIN_SI, T_COSSIN_SP, T_SIN, T_SIN_I, T_SIN_P, Lorene::Base_val::theta_functions(), and TRA_R.

double Lorene::Mtbl_cf::val_point_jk_asymy ( int  l,
double  x,
int  j,
int  k 
) const

Computes the value of the field represented by *this at an arbitrary point in $\xi$, but collocation point in $(\theta', \phi')$, by means of the spectral expansion.

Case where the field is antisymmetric with respect to the y=0 plane.

Parameters:
l [input] index of the domain
x [input] value of the coordinate $\xi$
j [input] index of the collocation point in $\theta'$
k [input] index of the collocation point in $\phi'$
Returns:
value at the point $(\xi, {\theta'}_j, {\phi'}_k)$ in the domain no. l of the field whose spectral coefficients are stored in *this .

Definition at line 206 of file mtbl_cf_vp_asymy.C.

References Lorene::Base_val::b, base, etat, Lorene::Tbl::get_etat(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), MAX_BASE, mg, MSQ_R, MSQ_T, Lorene::Base_val::phi_functions(), R_CHEB, R_CHEBI, R_CHEBP, R_CHEBPIM_I, R_CHEBPIM_P, R_CHEBU, Lorene::Tbl::t, t, T_COSSIN_CP, Lorene::Base_val::theta_functions(), and TRA_R.

double Lorene::Mtbl_cf::val_point_jk_symy ( int  l,
double  x,
int  j,
int  k 
) const

Computes the value of the field represented by *this at an arbitrary point in $\xi$, but collocation point in $(\theta', \phi')$, by means of the spectral expansion.

Case where the field is symmetric with respect to the y=0 plane.

Parameters:
l [input] index of the domain
x [input] value of the coordinate $\xi$
j [input] index of the collocation point in $\theta'$
k [input] index of the collocation point in $\phi'$
Returns:
value at the point $(\xi, {\theta'}_j, {\phi'}_k)$ in the domain no. l of the field whose spectral coefficients are stored in *this .

Definition at line 204 of file mtbl_cf_vp_symy.C.

References Lorene::Base_val::b, base, etat, Lorene::Tbl::get_etat(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), MAX_BASE, mg, MSQ_R, MSQ_T, Lorene::Base_val::phi_functions(), R_CHEB, R_CHEBI, R_CHEBP, R_CHEBPIM_I, R_CHEBPIM_P, R_CHEBU, Lorene::Tbl::t, t, T_COSSIN_CP, Lorene::Base_val::theta_functions(), and TRA_R.

double Lorene::Mtbl_cf::val_point_symy ( 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 expansion.

Case where the field is symmetric with respect to the y=0 plane.

Parameters:
l [input] index of the domain
x [input] value of the coordinate $\xi$
theta [input] value of the coordinate $\theta'$
phi [input] value of the coordinate $\phi'$
Returns:
value at the point $(\xi, \theta', \phi')$ in the domain no. l of the field whose spectral coefficients are stored in *this .

Definition at line 72 of file mtbl_cf_vp_symy.C.

References Lorene::Base_val::b, base, etat, Lorene::Tbl::get_etat(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), MAX_BASE, MAX_BASE_2, mg, MSQ_P, MSQ_R, MSQ_T, P_COSSIN, P_COSSIN_I, P_COSSIN_P, R_CHEB, R_CHEBI, R_CHEBP, R_CHEBPIM_I, R_CHEBPIM_P, R_CHEBU, Lorene::Tbl::t, t, T_COS, T_COS_P, T_COSSIN_CI, T_COSSIN_CP, T_SIN, T_SIN_P, TRA_P, TRA_R, and TRA_T.


Friends And Related Function Documentation

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

Display.


Member Data Documentation

Bases of the spectral expansions.

Definition at line 200 of file mtbl_cf.h.

int Lorene::Mtbl_cf::etat [private]

Logical state (ETATNONDEF , ETATQCQ or ETATZERO ).

Definition at line 196 of file mtbl_cf.h.

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

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

Definition at line 192 of file mtbl_cf.h.

int Lorene::Mtbl_cf::nzone [private]

Number of domains (zones).

Definition at line 194 of file mtbl_cf.h.

Array (size nzone ) of pointers on the Tbl 's which contain the spectral coefficients in each domain.

Definition at line 205 of file mtbl_cf.h.


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

Generated on 7 Dec 2019 for LORENE by  doxygen 1.6.1