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 182 of file mtbl_cf.h.


Constructor & Destructor Documentation

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

Constructor.

Definition at line 120 of file mtbl_cf.C.

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

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

Constructor.

Definition at line 128 of file mtbl_cf.C.

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

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

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

Definition at line 169 of file mtbl_cf.C.

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

Mtbl_cf::Mtbl_cf ( const Mtbl_cf mtc  ) 

Copy constructor.

Definition at line 146 of file mtbl_cf.C.

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

Mtbl_cf::~Mtbl_cf (  ) 

Destructor.

Definition at line 139 of file mtbl_cf.C.

References del_t().


Member Function Documentation

void 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 393 of file mtbl_cf.C.

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

void 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 328 of file mtbl_cf.C.

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

void 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 308 of file mtbl_cf.C.

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

void Mtbl_cf::d2sdp2 (  ) 

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

Definition at line 128 of file valeur_d2sdp2.C.

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

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

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

Definition at line 272 of file mtbl_cf.C.

References etat, nzone, and t.

void 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 52 of file mtbl_cf_display.C.

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

void Mtbl_cf::dsdp (  ) 

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

Definition at line 135 of file valeur_dsdp.C.

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

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

Returns the logical state.

Definition at line 452 of file mtbl_cf.h.

References etat.

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

Returns the Mg3d on which the Mtbl_cf is defined.

Definition at line 449 of file mtbl_cf.h.

References mg.

int Mtbl_cf::get_nzone (  )  const [inline]

Returns the number of zones (domains).

Definition at line 455 of file mtbl_cf.h.

References nzone.

void Mtbl_cf::lapang (  ) 

Angular Laplacian.

Definition at line 89 of file mtbl_cf_lapang.C.

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

void Mtbl_cf::mult2_xm1_zec (  ) 

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

Definition at line 99 of file valeur_mult2_xm1.C.

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

void Mtbl_cf::mult_cp (  ) 

$\cos\phi \, Id$

Definition at line 116 of file valeur_mult_cp.C.

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

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

$\sin\phi \, Id$

Definition at line 116 of file valeur_mult_sp.C.

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

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

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

Definition at line 135 of file valeur_mult_x.C.

References 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, t, and TRA_R.

void Mtbl_cf::mult_xm1_zec (  ) 

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

Definition at line 99 of file valeur_mult_xm1.C.

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

double 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 328 of file mtbl_cf.h.

References etat, nzone, and t.

const Tbl& 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 302 of file mtbl_cf.h.

References etat, nzone, and t.

void Mtbl_cf::operator*= ( double   ) 

*= double

Definition at line 425 of file mtbl_cf.C.

References c_est_pas_fait().

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

+= Mtbl_cf

Definition at line 298 of file mtbl_cf_arithm.C.

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

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

-= Mtbl_cf

Definition at line 321 of file mtbl_cf_arithm.C.

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

void Mtbl_cf::operator/= ( double   ) 

/= double

Definition at line 430 of file mtbl_cf.C.

References c_est_pas_fait().

void Mtbl_cf::operator= ( int  m  ) 

Assignement to a int.

Definition at line 252 of file mtbl_cf.C.

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

void Mtbl_cf::operator= ( double  x  ) 

Assignement to a double.

Definition at line 238 of file mtbl_cf.C.

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

void Mtbl_cf::operator= ( const Mtbl_cf mtc  ) 

Assignement to another Mtbl_cf.

Definition at line 216 of file mtbl_cf.C.

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

void 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 79 of file mtbl_cf_pde.C.

References Base_val::b, base, get_mg(), 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 Mtbl_cf::sauve ( FILE *  fd  )  const

Save in a file.

Definition at line 200 of file mtbl_cf.C.

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

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

References etat, nzone, and t.

Tbl& 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 290 of file mtbl_cf.h.

References etat, nzone, and t.

void Mtbl_cf::set_etat_nondef (  ) 

Sets the logical state to ETATNONDEF (undefined).

Deallocates the memory occupied by the Tbl array t .

Definition at line 290 of file mtbl_cf.C.

References del_t(), and etat.

void 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 296 of file mtbl_cf.C.

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

void Mtbl_cf::set_etat_zero (  ) 

Sets the logical state to ETATZERO (zero).

Deallocates the memory occupied by the Tbl array t .

Definition at line 284 of file mtbl_cf.C.

References del_t(), and etat.

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

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

Definition at line 139 of file valeur_sx.C.

References 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, t, and TRA_R.

void 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 148 of file valeur_sx2.C.

References 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, t, and TRA_R.

void Mtbl_cf::sxm1_zec (  ) 

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

Definition at line 108 of file valeur_sxm1_zec.C.

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

double 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 448 of file mtbl_cf_val_point.C.

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

double 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 424 of file mtbl_cf_val_point.C.

References Base_val::b, base, 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 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 111 of file mtbl_cf_val_point.C.

References Base_val::b, base, etat, Tbl::get_etat(), Mg3d::get_np(), Mg3d::get_nr(), 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, 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 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 67 of file mtbl_cf_vp_asymy.C.

References Base_val::b, base, etat, Tbl::get_etat(), Mg3d::get_np(), Mg3d::get_nr(), 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, 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 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 254 of file mtbl_cf_val_point.C.

References Base_val::b, base, etat, Tbl::get_etat(), Mg3d::get_np(), Mg3d::get_nr(), Mg3d::get_nt(), MAX_BASE, mg, MSQ_R, MSQ_T, 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, 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, Base_val::theta_functions(), and TRA_R.

double 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 199 of file mtbl_cf_vp_asymy.C.

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

double 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 197 of file mtbl_cf_vp_symy.C.

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

double 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 65 of file mtbl_cf_vp_symy.C.

References Base_val::b, base, etat, Tbl::get_etat(), Mg3d::get_np(), Mg3d::get_nr(), 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, 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 196 of file mtbl_cf.h.

int Mtbl_cf::etat [private]

Logical state (ETATNONDEF , ETATQCQ or ETATZERO ).

Definition at line 192 of file mtbl_cf.h.

const Mg3d* Mtbl_cf::mg [private]

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

Definition at line 188 of file mtbl_cf.h.

int Mtbl_cf::nzone [private]

Number of domains (zones).

Definition at line 190 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 201 of file mtbl_cf.h.


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

Generated on 7 Oct 2014 for LORENE by  doxygen 1.6.1