Map_et Class Reference
[Mapping grid -> physical space (spherical coordinates)]

Radial mapping of rather general form. More...

#include <map.h>

Inheritance diagram for Map_et:
Map_radial Map

List of all members.

Public Member Functions

 Map_et (const Mg3d &mgrille, const double *r_limits)
 Standard Constructor.
 Map_et (const Mg3d &mgrille, const double *r_limits, const Tbl &tab)
 Constructor using the equation of the surface of the star.
 Map_et (const Map_et &)
 Copy constructor.
 Map_et (const Mg3d &, FILE *)
 Constructor from a file (see sauve(FILE*) ).
virtual ~Map_et ()
 Destructor.
virtual void operator= (const Map_et &mp)
 Assignment to another Map_et.
virtual void operator= (const Map_af &mpa)
 Assignment to an affine mapping.
void set_ff (const Valeur &)
 Assigns a given value to the function $F(\theta',\phi')$.
void set_gg (const Valeur &)
 Assigns a given value to the function $G(\theta',\phi')$.
virtual const Map_afmp_angu (int) const
 Returns the "angular" mapping for the outside of domain l_zone.
const double * get_alpha () const
 Returns a pointer on the array alpha (values of $\alpha$ in each domain).
const double * get_beta () const
 Returns a pointer on the array beta (values of $\beta$ in each domain).
const Valeurget_ff () const
 Returns a (constant) reference to the function $F(\theta',\phi')$.
const Valeurget_gg () const
 Returns a (constant) reference to the function $G(\theta',\phi')$.
virtual double val_r (int l, double xi, double theta, double pphi) const
 Returns the value of the radial coordinate r for a given $(\xi, \theta', \phi')$ in a given domain.
virtual void val_lx (double rr, double theta, double pphi, int &l, double &xi) const
 Computes the domain index l and the value of $\xi$ corresponding to a point given by its physical coordinates $(r, \theta, \phi)$.
virtual void val_lx (double rr, double theta, double pphi, const Param &par, int &l, double &xi) const
 Computes the domain index l and the value of $\xi$ corresponding to a point given by its physical coordinates $(r, \theta, \phi)$.
virtual bool operator== (const Map &) const
 Comparison operator (egality).
virtual double val_r_jk (int l, double xi, int j, int k) const
 Returns the value of the radial coordinate r for a given $\xi$ and a given collocation point in $(\theta', \phi')$ in a given domain.
virtual void val_lx_jk (double rr, int j, int k, const Param &par, int &l, double &xi) const
 Computes the domain index l and the value of $\xi$ corresponding to a point of arbitrary r but collocation values of $(\theta, \phi)$.
virtual void sauve (FILE *) const
 Save in a file.
virtual void homothetie (double lambda)
 Sets a new radial scale.
virtual void resize (int l, double lambda)
 Rescales the outer boundary of one domain.
void resize_extr (double lambda)
 Rescales the outer boundary of the outermost domain in the case of non-compactified external domain.
void set_alpha (double alpha0, int l)
 Modifies the value of $\alpha$ in domain no. l.
void set_beta (double beta0, int l)
 Modifies the value of $\beta$ in domain no. l.
virtual void adapt (const Cmp &ent, const Param &par, int nbr_filtre=0)
 Adaptation of the mapping to a given scalar field.
virtual void dsdxi (const Cmp &ci, Cmp &resu) const
 Computes $\partial/ \partial \xi$ of a Cmp.
virtual void dsdr (const Cmp &ci, Cmp &resu) const
 Computes $\partial/ \partial r$ of a Cmp.
virtual void srdsdt (const Cmp &ci, Cmp &resu) const
 Computes $1/r \partial/ \partial \theta$ of a Cmp.
virtual void srstdsdp (const Cmp &ci, Cmp &resu) const
 Computes $1/(r\sin\theta) \partial/ \partial \phi$ of a Cmp.
virtual void dsdxi (const Scalar &uu, Scalar &resu) const
 Computes $\partial/ \partial \xi$ of a Scalar.
virtual void dsdr (const Scalar &uu, Scalar &resu) const
 Computes $\partial/ \partial r$ of a Scalar.
virtual void dsdradial (const Scalar &uu, Scalar &resu) const
 Computes $\partial/ \partial r$ of a Scalar if the description is affine and $\partial/ \partial \ln r$ if it is logarithmic.
virtual void srdsdt (const Scalar &uu, Scalar &resu) const
 Computes $1/r \partial/ \partial \theta$ of a Scalar.
virtual void srstdsdp (const Scalar &uu, Scalar &resu) const
 Computes $1/(r\sin\theta) \partial/ \partial \phi$ of a Scalar.
virtual void dsdt (const Scalar &uu, Scalar &resu) const
 Computes $\partial/ \partial \theta$ of a Scalar.
virtual void stdsdp (const Scalar &uu, Scalar &resu) const
 Computes $1/\sin\theta \partial/ \partial \varphi$ of a Scalar.
virtual void laplacien (const Scalar &uu, int zec_mult_r, Scalar &lap) const
 Computes the Laplacian of a scalar field.
virtual void laplacien (const Cmp &uu, int zec_mult_r, Cmp &lap) const
 Computes the Laplacian of a scalar field (Cmp version).
virtual void lapang (const Scalar &uu, Scalar &lap) const
 Computes the angular Laplacian of a scalar field.
virtual void primr (const Scalar &uu, Scalar &resu, bool null_infty) const
 Computes the radial primitive which vanishes for $r\to \infty$.
virtual Tblintegrale (const Cmp &) const
 Computes the integral over all space of a Cmp.
virtual void poisson (const Cmp &source, Param &par, Cmp &uu) const
 Computes the solution of a scalar Poisson equation.
virtual void poisson_tau (const Cmp &source, Param &par, Cmp &uu) const
 Computes the solution of a scalar Poisson equation with a Tau method.
virtual void poisson_falloff (const Cmp &source, Param &par, Cmp &uu, int k_falloff) const
virtual void poisson_ylm (const Cmp &source, Param &par, Cmp &uu, int nylm, double *intvec) const
virtual void poisson_regular (const Cmp &source, int k_div, int nzet, double unsgam1, Param &par, Cmp &uu, Cmp &uu_regu, Cmp &uu_div, Tenseur &duu_div, Cmp &source_regu, Cmp &source_div) const
 Computes the solution of a scalar Poisson equation.
virtual void poisson_angu (const Scalar &source, Param &par, Scalar &uu, double lambda=0) const
 Computes the solution of the generalized angular Poisson equation.
virtual Paramdonne_para_poisson_vect (Param &para, int i) const
 Internal function intended to be used by Map::poisson_vect and Map::poisson_vect_oohara .
virtual void poisson_frontiere (const Cmp &, const Valeur &, int, int, Cmp &, double=0., double=0.) const
 Not yet implemented.
virtual void poisson_frontiere_double (const Cmp &source, const Valeur &lim_func, const Valeur &lim_der, int num_zone, Cmp &pot) const
virtual void poisson_interne (const Cmp &source, const Valeur &limite, Param &par, Cmp &pot) const
 Computes the solution of a Poisson equation in the shell .
virtual void poisson2d (const Cmp &source_mat, const Cmp &source_quad, Param &par, Cmp &uu) const
 Computes the solution of a 2-D Poisson equation.
virtual void dalembert (Param &par, Scalar &fJp1, const Scalar &fJ, const Scalar &fJm1, const Scalar &source) const
 Not yet implemented.
virtual bool operator== (const Map &) const =0
 Comparison operator (egality).
virtual void reevaluate (const Map *mp_prev, int nzet, Cmp &uu) const
 Recomputes the values of a Cmp at the collocation points after a change in the mapping.
virtual void reevaluate (const Map *mp_prev, int nzet, Scalar &uu) const
 Recomputes the values of a Scalar at the collocation points after a change in the mapping.
virtual void reevaluate (const Map *mp_prev, int nzet, Cmp &uu) const =0
 Recomputes the values of a Cmp at the collocation points after a change in the mapping.
virtual void reevaluate (const Map *mp_prev, int nzet, Scalar &uu) const =0
 Recomputes the values of a Scalar at the collocation points after a change in the mapping.
virtual void reevaluate_symy (const Map *mp_prev, int nzet, Cmp &uu) const
 Recomputes the values of a Cmp at the collocation points after a change in the mapping.
virtual void reevaluate_symy (const Map *mp_prev, int nzet, Scalar &uu) const
 Recomputes the values of a Scalar at the collocation points after a change in the mapping.
virtual void reevaluate_symy (const Map *mp_prev, int nzet, Cmp &uu) const =0
 Recomputes the values of a Cmp at the collocation points after a change in the mapping.
virtual void reevaluate_symy (const Map *mp_prev, int nzet, Scalar &uu) const =0
 Recomputes the values of a Scalar at the collocation points after a change in the mapping.
virtual void mult_r (Scalar &uu) const
 Multiplication by r of a Scalar, the dzpuis of uu is not changed.
virtual void mult_r (Cmp &ci) const
 Multiplication by r of a Cmp.
virtual void mult_r_zec (Scalar &) const
 Multiplication by r (in the compactified external domain only) of a Scalar.
virtual void mult_rsint (Scalar &) const
 Multiplication by $r\sin\theta$ of a Scalar.
virtual void div_rsint (Scalar &) const
 Division by $r\sin\theta$ of a Scalar.
virtual void div_r (Scalar &) const
 Division by r of a Scalar.
virtual void div_r_zec (Scalar &) const
 Division by r (in the compactified external domain only) of a Scalar.
virtual void mult_cost (Scalar &) const
 Multiplication by $\cos\theta$ of a Scalar.
virtual void div_cost (Scalar &) const
 Division by $\cos\theta$ of a Scalar.
virtual void mult_sint (Scalar &) const
 Multiplication by $\sin\theta$ of a Scalar.
virtual void div_sint (Scalar &) const
 Division by $\sin\theta$ of a Scalar.
virtual void div_tant (Scalar &) const
 Division by $\tan\theta$ of a Scalar.
virtual void comp_x_from_spherical (const Scalar &v_r, const Scalar &v_theta, const Scalar &v_phi, Scalar &v_x) const
 Computes the Cartesian x component (with respect to bvect_cart) of a vector given by its spherical components with respect to bvect_spher.
virtual void comp_x_from_spherical (const Cmp &v_r, const Cmp &v_theta, const Cmp &v_phi, Cmp &v_x) const
 Cmp version
virtual void comp_y_from_spherical (const Scalar &v_r, const Scalar &v_theta, const Scalar &v_phi, Scalar &v_y) const
 Computes the Cartesian y component (with respect to bvect_cart ) of a vector given by its spherical components with respect to bvect_spher .
virtual void comp_y_from_spherical (const Cmp &v_r, const Cmp &v_theta, const Cmp &v_phi, Cmp &v_y) const
 Cmp version
virtual void comp_z_from_spherical (const Scalar &v_r, const Scalar &v_theta, Scalar &v_z) const
 Computes the Cartesian z component (with respect to bvect_cart ) of a vector given by its spherical components with respect to bvect_spher .
virtual void comp_z_from_spherical (const Cmp &v_r, const Cmp &v_theta, Cmp &v_z) const
 Cmp version
virtual void comp_r_from_cartesian (const Scalar &v_x, const Scalar &v_y, const Scalar &v_z, Scalar &v_r) const
 Computes the Spherical r component (with respect to bvect_spher ) of a vector given by its cartesian components with respect to bvect_cart .
virtual void comp_r_from_cartesian (const Cmp &v_x, const Cmp &v_y, const Cmp &v_z, Cmp &v_r) const
 Cmp version
virtual void comp_t_from_cartesian (const Scalar &v_x, const Scalar &v_y, const Scalar &v_z, Scalar &v_t) const
 Computes the Spherical $\theta$ component (with respect to bvect_spher ) of a vector given by its cartesian components with respect to bvect_cart .
virtual void comp_t_from_cartesian (const Cmp &v_x, const Cmp &v_y, const Cmp &v_z, Cmp &v_t) const
 Cmp version
virtual void comp_p_from_cartesian (const Scalar &v_x, const Scalar &v_y, Scalar &v_p) const
 Computes the Spherical $\phi$ component (with respect to bvect_spher ) of a vector given by its cartesian components with respect to bvect_cart .
virtual void comp_p_from_cartesian (const Cmp &v_x, const Cmp &v_y, Cmp &v_p) const
 Cmp version
virtual void dec_dzpuis (Scalar &) const
 Decreases by 1 the value of dzpuis of a Scalar and changes accordingly its values in the compactified external domain (CED).
virtual void dec2_dzpuis (Scalar &) const
 Decreases by 2 the value of dzpuis of a Scalar and changes accordingly its values in the compactified external domain (CED).
virtual void inc_dzpuis (Scalar &) const
 Increases by 1 the value of dzpuis of a Scalar and changes accordingly its values in the compactified external domain (CED).
virtual void inc2_dzpuis (Scalar &) const
 Increases by 2 the value of dzpuis of a Scalar and changes accordingly its values in the compactified external domain (CED).
virtual void poisson_compact (const Cmp &source, const Cmp &aa, const Tenseur &bb, const Param &par, Cmp &psi) const
 Resolution of the elliptic equation $ a \Delta\psi + {\bf b} \cdot \nabla \psi = \sigma$ in the case where the stellar interior is covered by a single domain.
virtual void poisson_compact (int nzet, const Cmp &source, const Cmp &aa, const Tenseur &bb, const Param &par, Cmp &psi) const
 Resolution of the elliptic equation $ a \Delta\psi + {\bf b} \cdot \nabla \psi = \sigma$ in the case of a multidomain stellar interior.
const Mg3dget_mg () const
 Gives the Mg3d on which the mapping is defined.
double get_ori_x () const
 Returns the x coordinate of the origin.
double get_ori_y () const
 Returns the y coordinate of the origin.
double get_ori_z () const
 Returns the z coordinate of the origin.
double get_rot_phi () const
 Returns the angle between the x --axis and X --axis.
const Base_vect_spherget_bvect_spher () const
 Returns the orthonormal vectorial basis $(\partial/\partial r,1/r\partial/\partial \theta, 1/(r\sin\theta)\partial/\partial \phi)$ associated with the coordinates $(r, \theta, \phi)$ of the mapping.
const Base_vect_cartget_bvect_cart () const
 Returns the Cartesian basis $(\partial/\partial x,\partial/\partial y,\partial/\partial z)$ associated with the coordinates (x,y,z) of the mapping, i.e.
const Metric_flatflat_met_spher () const
 Returns the flat metric associated with the spherical coordinates and with components expressed in the triad bvect_spher.
const Metric_flatflat_met_cart () const
 Returns the flat metric associated with the Cartesian coordinates and with components expressed in the triad bvect_cart.
const Cmpcmp_zero () const
 Returns the null Cmp defined on *this.
void convert_absolute (double xx, double yy, double zz, double &rr, double &theta, double &pphi) const
 Determines the coordinates $(r,\theta,\phi)$ corresponding to given absolute Cartesian coordinates (X,Y,Z).
void set_ori (double xa0, double ya0, double za0)
 Sets a new origin.
void set_rot_phi (double phi0)
 Sets a new rotation angle.

Public Attributes

Coord rsxdxdr
 $1/(\partial R/\partial \xi) R/\xi$ in the nucleus; \ $1/(\partial R/\partial \xi) R/(\xi + \beta/\alpha)$ in the shells; \ $1/(\partial U/\partial \xi) U/(\xi-1)$ in the outermost compactified domain.
Coord rsx2drdx
 $[ R/ (\alpha \xi + \beta) ]^2 (\partial R/\partial \xi) / \alpha$ in the nucleus and the shells; \ $\partial U/\partial \xi / \alpha$ in the outermost compactified domain.
Coord xsr
 $\xi/R$ in the nucleus; \ 1/R in the non-compactified shells; \ $(\xi-1)/U$ in the compactified outer domain.
Coord dxdr
 $1/(\partial R/\partial\xi) = \partial \xi /\partial r$ in the nucleus and in the non-compactified shells; \ $-1/(\partial U/\partial\xi) = - \partial \xi /\partial u$ in the compactified outer domain.
Coord drdt
 $\partial R/\partial\theta'$ in the nucleus and in the non-compactified shells; \ $-\partial U/\partial\theta'$ in the compactified external domain (CED).
Coord stdrdp
 ${1\over\sin\theta} \partial R/\partial\varphi'$ in the nucleus and in the non-compactified shells; \ $-{1\over\sin\theta}\partial U/\partial\varphi'$ in the compactified external domain (CED).
Coord srdrdt
 $1/R \times (\partial R/\partial\theta')$ in the nucleus and in the non-compactified shells; \ $-1/U \times (\partial U/\partial\theta)$ in the compactified outer domain.
Coord srstdrdp
 $1/(R\sin\theta) \times (\partial R/\partial\varphi')$ in the nucleus and in the non-compactified shells; \ $-1/(U\sin\theta) \times (\partial U/\partial\varphi')$ in the compactified outer domain.
Coord sr2drdt
 $1/R^2 \times (\partial R/\partial\theta')$ in the nucleus and in the non-compactified shells; \ $-1/U^2 \times (\partial U/\partial\theta')$ in the compactified outer domain.
Coord sr2stdrdp
 $1/(R^2\sin\theta) \times (\partial R/\partial\varphi')$ in the nucleus and in the non-compactified shells; \ $-1/(U^2\sin\theta) \times (\partial U/\partial\varphi')$ in the compactified outer domain.
Coord d2rdx2
 $\partial^2 R/\partial\xi^2$ in the nucleus and in the non-compactified shells; \ $-\partial^2 U/\partial\xi^2 $ in the compactified outer domain.
Coord lapr_tp
 $1/R^2 \times [ 1/\sin(\theta)\times \partial /\partial\theta' (\sin\theta \partial R /\partial\theta') + 1/\sin^2\theta \partial^2 R /\partial{\varphi'}^2] $ in the nucleus and in the non-compactified shells; \ $- 1/U^2 \times [ 1/\sin(\theta)\times \partial /\partial\theta' (\sin\theta \partial U /\partial\theta') + 1/\sin^2\theta \partial^2 U /\partial{\varphi'}^2] $ in the compactified outer domain.
Coord d2rdtdx
 $\partial^2 R/\partial\xi\partial\theta'$ in the nucleus and in the non-compactified shells; \ $-\partial^2 U/\partial\xi\partial\theta'$ in the compactified outer domain.
Coord sstd2rdpdx
 $1/\sin\theta \times \partial^2 R/\partial\xi\partial\varphi'$ in the nucleus and in the non-compactified shells; \ $-1/\sin\theta \times \partial^2 U/\partial\xi\partial\varphi' $ in the compactified outer domain.
Coord sr2d2rdt2
 $1/R^2 \partial^2 R/\partial{\theta'}^2$ in the nucleus and in the non-compactified shells; \ $-1/U^2 \partial^2 U/\partial{\theta'}^2$ in the compactified outer domain.
Coord r
 r coordinate centered on the grid
Coord tet
 $\theta$ coordinate centered on the grid
Coord phi
 $\phi$ coordinate centered on the grid
Coord sint
 $\sin\theta$
Coord cost
 $\cos\theta$
Coord sinp
 $\sin\phi$
Coord cosp
 $\cos\phi$
Coord x
 x coordinate centered on the grid
Coord y
 y coordinate centered on the grid
Coord z
 z coordinate centered on the grid
Coord xa
 Absolute x coordinate.
Coord ya
 Absolute y coordinate.
Coord za
 Absolute z coordinate.

Protected Member Functions

virtual void reset_coord ()
 Resets all the member Coords.

Protected Attributes

const Mg3dmg
 Pointer on the multi-grid Mgd3 on which this is defined.
double ori_x
 Absolute coordinate x of the origin.
double ori_y
 Absolute coordinate y of the origin.
double ori_z
 Absolute coordinate z of the origin.
double rot_phi
 Angle between the x --axis and X --axis.
Base_vect_spher bvect_spher
 Orthonormal vectorial basis $(\partial/\partial r,1/r\partial/\partial \theta, 1/(r\sin\theta)\partial/\partial \phi)$ associated with the coordinates $(r, \theta, \phi)$ of the mapping.
Base_vect_cart bvect_cart
 Cartesian basis $(\partial/\partial x,\partial/\partial y,\partial/\partial z)$ associated with the coordinates (x,y,z) of the mapping, i.e.
Metric_flatp_flat_met_spher
 Pointer onto the flat metric associated with the spherical coordinates and with components expressed in the triad bvect_spher.
Metric_flatp_flat_met_cart
 Pointer onto the flat metric associated with the Cartesian coordinates and with components expressed in the triad bvect_cart.
Cmpp_cmp_zero
 The null Cmp.
Map_afp_mp_angu
 Pointer on the "angular" mapping.

Private Member Functions

void set_coord ()
 Assignement of the building functions to the member Coords.
void fait_poly ()
 Construction of the polynomials $A(\xi)$ and $B(\xi)$.
virtual ostream & operator>> (ostream &) const
 Operator >>.

Private Attributes

double * alpha
 Array (size: mg->nzone ) of the values of $\alpha$ in each domain.
double * beta
 Array (size: mg->nzone ) of the values of $\beta$ in each domain.
Tbl ** aa
 Array (size: mg->nzone ) of Tbl which stores the values of $A(\xi)$ in each domain.
Tbl ** daa
 Array (size: mg->nzone ) of Tbl which stores the values of $A'(\xi)$ in each domain.
Tbl ** ddaa
 Array (size: mg->nzone ) of Tbl which stores the values of $A''(\xi)$ in each domain.
Tbl aasx
 Values at the nr collocation points of $A(\xi)/\xi$ in the nucleus.
Tbl aasx2
 Values at the nr collocation points of $A(\xi)/\xi^2$ in the nucleus.
Tbl zaasx
 Values at the nr collocation points of $A(\xi)/(\xi-1)$ in the outermost compactified domain.
Tbl zaasx2
 Values at the nr collocation points of $A(\xi)/(\xi-1)^2$ in the outermost compactified domain.
Tbl ** bb
 Array (size: mg->nzone ) of Tbl which stores the values of $B(\xi)$ in each domain.
Tbl ** dbb
 Array (size: mg->nzone ) of Tbl which stores the values of $B'(\xi)$ in each domain.
Tbl ** ddbb
 Array (size: mg->nzone ) of Tbl which stores the values of $B''(\xi)$ in each domain.
Tbl bbsx
 Values at the nr collocation points of $B(\xi)/\xi$ in the nucleus.
Tbl bbsx2
 Values at the nr collocation points of $B(\xi)/\xi^2$ in the nucleus.
Valeur ff
 Values of the function $F(\theta', \phi')$ at the nt*np angular collocation points in each domain.
Valeur gg
 Values of the function $G(\theta', \phi')$ at the nt*np angular collocation points in each domain.

Friends

Mtblmap_et_fait_r (const Map *)
Mtblmap_et_fait_tet (const Map *)
Mtblmap_et_fait_phi (const Map *)
Mtblmap_et_fait_sint (const Map *)
Mtblmap_et_fait_cost (const Map *)
Mtblmap_et_fait_sinp (const Map *)
Mtblmap_et_fait_cosp (const Map *)
Mtblmap_et_fait_x (const Map *)
Mtblmap_et_fait_y (const Map *)
Mtblmap_et_fait_z (const Map *)
Mtblmap_et_fait_xa (const Map *)
Mtblmap_et_fait_ya (const Map *)
Mtblmap_et_fait_za (const Map *)
Mtblmap_et_fait_xsr (const Map *)
Mtblmap_et_fait_dxdr (const Map *)
Mtblmap_et_fait_drdt (const Map *)
Mtblmap_et_fait_stdrdp (const Map *)
Mtblmap_et_fait_srdrdt (const Map *)
Mtblmap_et_fait_srstdrdp (const Map *)
Mtblmap_et_fait_sr2drdt (const Map *)
Mtblmap_et_fait_sr2stdrdp (const Map *)
Mtblmap_et_fait_d2rdx2 (const Map *)
Mtblmap_et_fait_lapr_tp (const Map *)
Mtblmap_et_fait_d2rdtdx (const Map *)
Mtblmap_et_fait_sstd2rdpdx (const Map *)
Mtblmap_et_fait_sr2d2rdt2 (const Map *)
Mtblmap_et_fait_rsxdxdr (const Map *)
Mtblmap_et_fait_rsx2drdx (const Map *)
ostream & operator<< (ostream &, const Map &)
 Operator <<.

Detailed Description

Radial mapping of rather general form.

()

This mapping relates the grid coordinates $(\xi, \theta', \phi')$ and the physical coordinates $(r, \theta, \phi)$ in the following manner [see Bonazzola, Gourgoulhon & Marck, Phys. Rev. D 58 , 104020 (1998) for details]: $\theta=\theta'$, $\phi=\phi'$ and

Definition at line 2748 of file map.h.


Constructor & Destructor Documentation

Map_et::Map_et ( const Mg3d mgrille,
const double *  r_limits 
)

Standard Constructor.

Parameters:
mgrille [input] Multi-domain grid on which the mapping is defined
r_limits [input] Array (size: number of domains + 1) of the value of r at the boundaries of the various domains :

  • r_limits[l] : inner boundary of the domain no. l
  • r_limits[l+1] : outer boundary of the domain no. l

Definition at line 145 of file map_et.C.

References alpha, beta, fait_poly(), ff, Mg3d::get_nzone(), Mg3d::get_type_r(), gg, Map::mg, set_coord(), Valeur::set_etat_zero(), and Valeur::std_base_scal().

Map_et::Map_et ( const Mg3d mgrille,
const double *  r_limits,
const Tbl tab 
)

Constructor using the equation of the surface of the star.

Parameters:
mgrille [input] Multi-domain grid on which the mapping is defined It must contains at least one shell.
r_limits [input] Array (size: number of domains + 1) of the value of r at the boundaries of the various domains :

  • r_limits[l] : inner boundary of the domain no. l
  • r_limits[l+1] : outer boundary of the domain no. l The first value is not used.
tab [input] equation of the surface between the nucleus and the first shell in the form : ${\rm tab}(k,j) = r(\phi_k,\theta_j)$, where $\phi_k$ and $\theta_j$ are the values of the angular colocation points.

Definition at line 219 of file map_et.C.

References alpha, Valeur::annule(), Valeur::annule_hard(), beta, fait_poly(), ff, Base_val::get_base_p(), Tbl::get_dim(), Tbl::get_ndim(), Mg3d::get_np(), Mg3d::get_nt(), Mg3d::get_nzone(), gg, max(), min(), P_COSSIN, Valeur::set(), Tbl::set(), set_coord(), Valeur::set_etat_c_qcq(), Tbl::set_etat_qcq(), Valeur::std_base_scal(), and Mg3d::std_base_scal().

Map_et::Map_et ( const Map_et mpi  ) 

Copy constructor.

Definition at line 384 of file map_et.C.

References alpha, beta, fait_poly(), Mg3d::get_nzone(), Map::mg, and set_coord().

Map_et::Map_et ( const Mg3d mgi,
FILE *  fich 
)

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

Definition at line 445 of file map_et.C.

References alpha, beta, fait_poly(), fread_be(), Mg3d::get_nzone(), Map::mg, and set_coord().

Map_et::~Map_et (  )  [virtual]

Destructor.

Definition at line 482 of file map_et.C.

References aa, alpha, bb, beta, daa, dbb, ddaa, ddbb, Mg3d::get_nzone(), and Map::mg.


Member Function Documentation

void Map_et::adapt ( const Cmp ent,
const Param par,
int  nbr_filtre = 0 
) [virtual]

Adaptation of the mapping to a given scalar field.

Computes the functions $F(\theta',\phi')$ and $G(\theta',\phi')$ as well as the factors $\alpha$ and $\beta$, so that the boundaries of some domains coincide with isosurfaces of the scalar field ent .

Parameters:
ent [input] scalar field, the isosurfaces of which are used to determine the mapping
par [input/output] parameters of the computation: \ par.get_int(0) : maximum number of iterations to locate zeros by the secant method \ par.get_int(1) : number of domains where the adjustment to the isosurfaces of ent is to be performed \ par.get_int(2) : number of domains nz_search where the isosurfaces will be searched : the routine scans the nz_search innermost domains, starting from the domain of index nz_search-1 . NB: the field ent must be continuous over these domains \ par.get_int(3) : 1 = performs the full computation, 0 = performs only the rescaling by the factor par.get_double_mod(0) \ par.get_int(4) : theta index of the collocation point $(\theta_*, \phi_*)$ [using the notations of Bonazzola, Gourgoulhon & Marck, Phys. Rev. D 58 , 104020 (1998)] defining an isosurface of ent \ par.get_int(5) : phi index of the collocation point $(\theta_*, \phi_*)$ [using the notations of Bonazzola, Gourgoulhon & Marck, Phys. Rev. D 58 , 104020 (1998)] defining an isosurface of ent \ par.get_int_mod(0) [output] : number of iterations actually used in the secant method \ par.get_double(0) : required absolute precision in the determination of zeros by the secant method \ par.get_double(1) : factor by which the values of $\lambda$ and $\mu$ [using the notations of Bonazzola, Gourgoulhon & Marck, Phys. Rev. D 58 , 104020 (1998)] will be multiplied : 1 = regular mapping, 0 = contracting mapping \ par.get_double(2) : factor by which all the radial distances will be multiplied \ par.get_tbl(0) : array of values of the field ent to define the isosurfaces.
nbr\_filtre [input] Number of the last coefficients in $\varphi$ set to zero.

Implements Map.

Definition at line 104 of file map_et_adapt.C.

References alpha, beta, Valeur::c, Valeur::c_cf, Valeur::coef(), ff, Param::get_double(), Mtbl::get_etat(), Valeur::get_etat(), Itbl::get_etat(), Tbl::get_etat(), Param::get_int(), Param::get_int_mod(), Valeur::get_mg(), Cmp::get_mp(), Tbl::get_ndim(), Mg3d::get_np(), Mg3d::get_nt(), Mg3d::get_nzone(), Tbl::get_taille(), Param::get_tbl(), Mg3d::get_type_r(), gg, homothetie(), max(), Map::mg, min(), MSQ_P, P_COSSIN, P_COSSIN_P, reset_coord(), Mtbl_cf::set(), Valeur::set_etat_cf_qcq(), Tbl::set_etat_qcq(), Tbl::set_etat_zero(), Valeur::std_base_scal(), Mtbl_cf::t, Mtbl::t, Itbl::t, Tbl::t, Cmp::va, and val_r_jk().

const Cmp& Map::cmp_zero (  )  const [inline, inherited]

Returns the null Cmp defined on *this.

To be used by the Tenseur class when necessary to return a null Cmp .

Definition at line 803 of file map.h.

References Map::p_cmp_zero.

void Map_radial::comp_p_from_cartesian ( const Cmp v_x,
const Cmp v_y,
Cmp v_p 
) const [virtual, inherited]

Cmp version

Implements Map.

Definition at line 172 of file map_radial_comp_rtp.C.

References Map_radial::comp_p_from_cartesian().

void Map_radial::comp_p_from_cartesian ( const Scalar v_x,
const Scalar v_y,
Scalar v_p 
) const [virtual, inherited]

Computes the Spherical $\phi$ component (with respect to bvect_spher ) of a vector given by its cartesian components with respect to bvect_cart .

Parameters:
v_x [input] x-component of the vector
v_y [input] y-component of the vector
v_p [output] $\phi$-component of the vector

Implements Map.

Definition at line 179 of file map_radial_comp_rtp.C.

References Scalar::check_dzpuis(), Scalar::dz_nonzero(), Scalar::get_dzpuis(), Scalar::get_etat(), Tensor::get_mp(), Scalar::get_spectral_va(), Valeur::mult_cp(), and Scalar::set_dzpuis().

void Map_radial::comp_r_from_cartesian ( const Cmp v_x,
const Cmp v_y,
const Cmp v_z,
Cmp v_r 
) const [virtual, inherited]

Cmp version

Implements Map.

Definition at line 61 of file map_radial_comp_rtp.C.

References Map_radial::comp_r_from_cartesian().

void Map_radial::comp_r_from_cartesian ( const Scalar v_x,
const Scalar v_y,
const Scalar v_z,
Scalar v_r 
) const [virtual, inherited]

Computes the Spherical r component (with respect to bvect_spher ) of a vector given by its cartesian components with respect to bvect_cart .

Parameters:
v_x [input] x-component of the vector
v_y [input] y-component of the vector
v_z [input] z-component of the vector
v_r [output] r -component of the vector

Implements Map.

Definition at line 68 of file map_radial_comp_rtp.C.

References Scalar::check_dzpuis(), Scalar::dz_nonzero(), Scalar::get_dzpuis(), Scalar::get_etat(), Tensor::get_mp(), Scalar::get_spectral_va(), Valeur::mult_cp(), Valeur::mult_ct(), Valeur::mult_sp(), Valeur::mult_st(), and Scalar::set_dzpuis().

void Map_radial::comp_t_from_cartesian ( const Cmp v_x,
const Cmp v_y,
const Cmp v_z,
Cmp v_t 
) const [virtual, inherited]

Cmp version

Implements Map.

Definition at line 117 of file map_radial_comp_rtp.C.

References Map_radial::comp_t_from_cartesian().

void Map_radial::comp_t_from_cartesian ( const Scalar v_x,
const Scalar v_y,
const Scalar v_z,
Scalar v_t 
) const [virtual, inherited]

Computes the Spherical $\theta$ component (with respect to bvect_spher ) of a vector given by its cartesian components with respect to bvect_cart .

Parameters:
v_x [input] x-component of the vector
v_y [input] y-component of the vector
v_z [input] z-component of the vector
v_t [output] $\theta$-component of the vector

Implements Map.

Definition at line 124 of file map_radial_comp_rtp.C.

References Scalar::check_dzpuis(), Scalar::dz_nonzero(), Scalar::get_dzpuis(), Scalar::get_etat(), Tensor::get_mp(), Scalar::get_spectral_va(), Valeur::mult_cp(), Valeur::mult_ct(), Valeur::mult_sp(), Valeur::mult_st(), and Scalar::set_dzpuis().

void Map_radial::comp_x_from_spherical ( const Cmp v_r,
const Cmp v_theta,
const Cmp v_phi,
Cmp v_x 
) const [virtual, inherited]

Cmp version

Implements Map.

Definition at line 64 of file map_radial_comp_xyz.C.

References Map_radial::comp_x_from_spherical().

void Map_radial::comp_x_from_spherical ( const Scalar v_r,
const Scalar v_theta,
const Scalar v_phi,
Scalar v_x 
) const [virtual, inherited]

Computes the Cartesian x component (with respect to bvect_cart) of a vector given by its spherical components with respect to bvect_spher.

Parameters:
v_r [input] r -component of the vector
v_theta [input] $\theta$-component of the vector
v_phi [input] $\phi$-component of the vector
v_x [output] x-component of the vector

Implements Map.

Definition at line 72 of file map_radial_comp_xyz.C.

References Scalar::check_dzpuis(), Scalar::dz_nonzero(), Scalar::get_dzpuis(), Scalar::get_etat(), Tensor::get_mp(), Scalar::get_spectral_va(), Valeur::mult_cp(), Valeur::mult_ct(), Valeur::mult_sp(), Valeur::mult_st(), and Scalar::set_dzpuis().

void Map_radial::comp_y_from_spherical ( const Cmp v_r,
const Cmp v_theta,
const Cmp v_phi,
Cmp v_y 
) const [virtual, inherited]

Cmp version

Implements Map.

Definition at line 122 of file map_radial_comp_xyz.C.

References Map_radial::comp_y_from_spherical().

void Map_radial::comp_y_from_spherical ( const Scalar v_r,
const Scalar v_theta,
const Scalar v_phi,
Scalar v_y 
) const [virtual, inherited]

Computes the Cartesian y component (with respect to bvect_cart ) of a vector given by its spherical components with respect to bvect_spher .

Parameters:
v_r [input] r -component of the vector
v_theta [input] $\theta$-component of the vector
v_phi [input] $\phi$-component of the vector
v_y [output] y-component of the vector

Implements Map.

Definition at line 131 of file map_radial_comp_xyz.C.

References Scalar::check_dzpuis(), Scalar::dz_nonzero(), Scalar::get_dzpuis(), Scalar::get_etat(), Tensor::get_mp(), Scalar::get_spectral_va(), Valeur::mult_cp(), Valeur::mult_ct(), Valeur::mult_sp(), Valeur::mult_st(), and Scalar::set_dzpuis().

void Map_radial::comp_z_from_spherical ( const Cmp v_r,
const Cmp v_theta,
Cmp v_z 
) const [virtual, inherited]

Cmp version

Implements Map.

Definition at line 180 of file map_radial_comp_xyz.C.

References Map_radial::comp_z_from_spherical().

void Map_radial::comp_z_from_spherical ( const Scalar v_r,
const Scalar v_theta,
Scalar v_z 
) const [virtual, inherited]

Computes the Cartesian z component (with respect to bvect_cart ) of a vector given by its spherical components with respect to bvect_spher .

Parameters:
v_r [input] r -component of the vector
v_theta [input] $\theta$-component of the vector
v_z [output] z-component of the vector

Implements Map.

Definition at line 188 of file map_radial_comp_xyz.C.

References Scalar::check_dzpuis(), Scalar::dz_nonzero(), Scalar::get_dzpuis(), Scalar::get_etat(), Tensor::get_mp(), Scalar::get_spectral_va(), Valeur::mult_st(), and Scalar::set_dzpuis().

void Map::convert_absolute ( double  xx,
double  yy,
double  zz,
double &  rr,
double &  theta,
double &  pphi 
) const [inherited]

Determines the coordinates $(r,\theta,\phi)$ corresponding to given absolute Cartesian coordinates (X,Y,Z).

Parameters:
xx [input] value of the coordinate x (absolute frame)
yy [input] value of the coordinate y (absolute frame)
zz [input] value of the coordinate z (absolute frame)
rr [output] value of r
theta [output] value of $\theta$
pphi [output] value of $\phi$

Definition at line 298 of file map.C.

References Map::ori_x, Map::ori_y, Map::ori_z, Map::rot_phi, and sqrt().

void Map_et::dalembert ( Param par,
Scalar fJp1,
const Scalar fJ,
const Scalar fJm1,
const Scalar source 
) const [virtual]

Not yet implemented.

Implements Map.

Definition at line 65 of file map_et_dalembert.C.

References Scalar::get_etat(), Map::get_mg(), Tensor::get_mp(), and Map::mg.

void Map_radial::dec2_dzpuis ( Scalar ci  )  const [virtual, inherited]

Decreases by 2 the value of dzpuis of a Scalar and changes accordingly its values in the compactified external domain (CED).

Implements Map.

Definition at line 744 of file map_radial_r_manip.C.

References Valeur::annule(), Scalar::get_dzpuis(), Scalar::get_etat(), Valeur::get_mg(), Mg3d::get_nzone(), Mg3d::get_type_r(), Map::mg, Scalar::set_dzpuis(), Scalar::set_etat_qcq(), Scalar::set_spectral_va(), and Map_radial::xsr.

void Map_radial::dec_dzpuis ( Scalar ci  )  const [virtual, inherited]

Decreases by 1 the value of dzpuis of a Scalar and changes accordingly its values in the compactified external domain (CED).

Implements Map.

Definition at line 639 of file map_radial_r_manip.C.

References Valeur::annule(), Scalar::get_dzpuis(), Scalar::get_etat(), Valeur::get_mg(), Mg3d::get_nzone(), Mg3d::get_type_r(), Map::mg, Scalar::set_dzpuis(), Scalar::set_etat_qcq(), Scalar::set_spectral_va(), and Map_radial::xsr.

void Map_radial::div_cost ( Scalar ci  )  const [virtual, inherited]

Division by $\cos\theta$ of a Scalar.

Implements Map.

Definition at line 81 of file map_radial_th_manip.C.

References Scalar::get_etat(), Valeur::get_mg(), Map::mg, Valeur::scost(), Scalar::set_etat_qcq(), and Scalar::set_spectral_va().

void Map_radial::div_r ( Scalar ci  )  const [virtual, inherited]
void Map_radial::div_r_zec ( Scalar uu  )  const [virtual, inherited]
void Map_radial::div_rsint ( Scalar ci  )  const [virtual, inherited]
void Map_radial::div_sint ( Scalar ci  )  const [virtual, inherited]
void Map_radial::div_tant ( Scalar ci  )  const [virtual, inherited]
Param * Map_et::donne_para_poisson_vect ( Param para,
int  i 
) const [virtual]

Internal function intended to be used by Map::poisson_vect and Map::poisson_vect_oohara .

It constructs the sets of parameters used for each scalar Poisson equation from the one for the vectorial one.

Parameters:
para [input] : the Param used for the resolution of the vectorial Poisson equation : \ para.int() maximum number of iteration.\ para.double(0) relaxation parameter.\ para.double(1) required precision. \ para.tenseur_mod() source of the vectorial part at the previous step.\ para.cmp_mod() source of the scalar part at the previous step.
i [input] number of the scalar Poisson equation that is being solved (values from 0 to 2 for the componants of the vectorial part and 3 for the scalar one).
Returns:
the pointer on the parameter set used for solving the scalar Poisson equation labelled by i .

Implements Map.

Definition at line 71 of file map_poisson_vect.C.

References Param::add_cmp_mod(), Param::add_double(), Param::add_int(), Param::add_int_mod(), Param::get_cmp_mod(), Param::get_double(), Param::get_int(), Param::get_int_mod(), Param::get_tenseur_mod(), and Tenseur::set().

void Map_et::dsdr ( const Scalar uu,
Scalar resu 
) const [virtual]

Computes $\partial/ \partial r$ of a Scalar.

Note that in the compactified external domain (CED), the dzpuis flag of the output is 2 if the input has dzpuis = 0, and is increased by 1 in other cases.

Parameters:
uu [input] field to consider
resu [output] derivative of uu

Implements Map.

Definition at line 211 of file map_et_deriv.C.

References Tensor::annule_domain(), Valeur::coef(), Scalar::dsdx(), Map_radial::dxdr, Valeur::get_base(), Scalar::get_dzpuis(), Scalar::get_etat(), Map::get_mg(), Tensor::get_mp(), Mg3d::get_nzone(), Scalar::get_spectral_va(), Mg3d::get_type_r(), Map::mg, Coord::set(), Scalar::set_dzpuis(), Scalar::set_etat_zero(), Scalar::set_spectral_base(), Scalar::set_spectral_va(), and Map_radial::xsr.

void Map_et::dsdr ( const Cmp ci,
Cmp resu 
) const [virtual]

Computes $\partial/ \partial r$ of a Cmp.

Note that in the compactified external domain (CED), it computes $-\partial/ \partial u = r^2 \partial/ \partial r$.

Parameters:
ci [input] field to consider
resu [output] derivative of ci

Implements Map.

Definition at line 183 of file map_et_deriv.C.

References Cmp::check_dzpuis(), Map_radial::dxdr, Cmp::get_etat(), Map::get_mg(), Cmp::get_mp(), Mg3d::get_nzone(), Mg3d::get_type_r(), Map::mg, Cmp::set_dzpuis(), Cmp::set_etat_zero(), and Cmp::va.

void Map_et::dsdradial ( const Scalar uu,
Scalar resu 
) const [virtual]

Computes $\partial/ \partial r$ of a Scalar if the description is affine and $\partial/ \partial \ln r$ if it is logarithmic.

Note that in the compactified external domain (CED), the dzpuis flag of the output is 2 if the input has dzpuis = 0, and is increased by 1 in other cases.

Parameters:
uu [input] field to consider
resu [output] derivative of uu

Implements Map.

Definition at line 270 of file map_et_deriv.C.

References Tensor::annule_domain(), Valeur::coef(), Scalar::dsdx(), Map_radial::dxdr, Valeur::get_base(), Scalar::get_dzpuis(), Scalar::get_etat(), Map::get_mg(), Tensor::get_mp(), Mg3d::get_nzone(), Scalar::get_spectral_va(), Mg3d::get_type_r(), Map::mg, Coord::set(), Scalar::set_dzpuis(), Scalar::set_etat_zero(), Scalar::set_spectral_base(), Scalar::set_spectral_va(), and Map_radial::xsr.

void Map_et::dsdt ( const Scalar uu,
Scalar resu 
) const [virtual]

Computes $\partial/ \partial \theta$ of a Scalar.

Parameters:
uu [input] scalar field
resu [output] derivative of uu

Implements Map.

Definition at line 625 of file map_et_deriv.C.

References Map_radial::drdt, Valeur::dsdt(), Valeur::dsdx(), Map_radial::dxdr, Valeur::get_base(), Scalar::get_etat(), Map::get_mg(), Tensor::get_mp(), Scalar::get_spectral_va(), Map::mg, Valeur::set_base(), and Scalar::set_etat_zero().

void Map_et::dsdxi ( const Scalar uu,
Scalar resu 
) const [virtual]

Computes $\partial/ \partial \xi$ of a Scalar.

Note that in the compactified external domain (CED), the dzpuis flag of the output is 2 if the input has dzpuis = 0, and is increased by 1 in other cases.

Parameters:
uu [input] field to consider
resu [output] derivative of uu

Implements Map.

Definition at line 119 of file map_et_deriv.C.

References Tensor::annule_domain(), Valeur::coef(), Scalar::dsdx(), Valeur::get_base(), Scalar::get_dzpuis(), Scalar::get_etat(), Map::get_mg(), Tensor::get_mp(), Mg3d::get_nzone(), Scalar::get_spectral_va(), Mg3d::get_type_r(), Map::mg, Coord::set(), Valeur::set_base(), Scalar::set_dzpuis(), Scalar::set_etat_zero(), Scalar::set_spectral_base(), Scalar::set_spectral_va(), and Map_radial::xsr.

void Map_et::dsdxi ( const Cmp ci,
Cmp resu 
) const [virtual]

Computes $\partial/ \partial \xi$ of a Cmp.

Note that in the compactified external domain (CED), it computes $-\partial/ \partial u = \xi^2 \partial/ \partial \xi$.

Parameters:
ci [input] field to consider
resu [output] derivative of ci

Implements Map.

Definition at line 91 of file map_et_deriv.C.

References Cmp::check_dzpuis(), Cmp::dsdx(), Cmp::get_etat(), Map::get_mg(), Cmp::get_mp(), Mg3d::get_nzone(), Mg3d::get_type_r(), Map::mg, Cmp::set_dzpuis(), Cmp::set_etat_zero(), and Cmp::va.

void Map_et::fait_poly (  )  [private]

Construction of the polynomials $A(\xi)$ and $B(\xi)$.

Definition at line 641 of file map_et.C.

References aa, aasx, aasx2, bb, bbsx, bbsx2, daa, dbb, ddaa, ddbb, Mg3d::get_grille3d(), Mg3d::get_nr(), Mg3d::get_nzone(), Mg3d::get_type_r(), Map::mg, Tbl::set(), Tbl::set_etat_qcq(), Tbl::set_etat_zero(), Map::x, zaasx, and zaasx2.

const Metric_flat & Map::flat_met_cart (  )  const [inherited]

Returns the flat metric associated with the Cartesian coordinates and with components expressed in the triad bvect_cart.

Definition at line 327 of file map.C.

References Map::bvect_cart, and Map::p_flat_met_cart.

const Metric_flat & Map::flat_met_spher (  )  const [inherited]

Returns the flat metric associated with the spherical coordinates and with components expressed in the triad bvect_spher.

Definition at line 317 of file map.C.

References Map::bvect_spher, and Map::p_flat_met_spher.

const double * Map_et::get_alpha (  )  const

Returns a pointer on the array alpha (values of $\alpha$ in each domain).

Definition at line 1022 of file map_et.C.

References alpha.

const double * Map_et::get_beta (  )  const

Returns a pointer on the array beta (values of $\beta$ in each domain).

Definition at line 1026 of file map_et.C.

References beta.

const Base_vect_cart& Map::get_bvect_cart (  )  const [inline, inherited]

Returns the Cartesian basis $(\partial/\partial x,\partial/\partial y,\partial/\partial z)$ associated with the coordinates (x,y,z) of the mapping, i.e.

the Cartesian coordinates related to $(r, \theta, \phi)$ by means of usual formulae.

Definition at line 787 of file map.h.

References Map::bvect_cart.

const Base_vect_spher& Map::get_bvect_spher (  )  const [inline, inherited]

Returns the orthonormal vectorial basis $(\partial/\partial r,1/r\partial/\partial \theta, 1/(r\sin\theta)\partial/\partial \phi)$ associated with the coordinates $(r, \theta, \phi)$ of the mapping.

Definition at line 779 of file map.h.

References Map::bvect_spher.

const Valeur & Map_et::get_ff (  )  const

Returns a (constant) reference to the function $F(\theta',\phi')$.

Definition at line 1030 of file map_et.C.

References ff.

const Valeur & Map_et::get_gg (  )  const

Returns a (constant) reference to the function $G(\theta',\phi')$.

Definition at line 1034 of file map_et.C.

References gg.

const Mg3d* Map::get_mg (  )  const [inline, inherited]

Gives the Mg3d on which the mapping is defined.

Definition at line 761 of file map.h.

References Map::mg.

double Map::get_ori_x (  )  const [inline, inherited]

Returns the x coordinate of the origin.

Definition at line 764 of file map.h.

References Map::ori_x.

double Map::get_ori_y (  )  const [inline, inherited]

Returns the y coordinate of the origin.

Definition at line 766 of file map.h.

References Map::ori_y.

double Map::get_ori_z (  )  const [inline, inherited]

Returns the z coordinate of the origin.

Definition at line 768 of file map.h.

References Map::ori_z.

double Map::get_rot_phi (  )  const [inline, inherited]

Returns the angle between the x --axis and X --axis.

Definition at line 771 of file map.h.

References Map::rot_phi.

void Map_et::homothetie ( double  lambda  )  [virtual]

Sets a new radial scale.

Parameters:
lambda [input] factor by which the value of r is to be multiplied

Implements Map.

Definition at line 901 of file map_et.C.

References alpha, beta, Mg3d::get_nzone(), Mg3d::get_type_r(), Map::mg, and reset_coord().

void Map_radial::inc2_dzpuis ( Scalar ci  )  const [virtual, inherited]

Increases by 2 the value of dzpuis of a Scalar and changes accordingly its values in the compactified external domain (CED).

Implements Map.

Definition at line 795 of file map_radial_r_manip.C.

References Valeur::annule(), Scalar::get_dzpuis(), Scalar::get_etat(), Valeur::get_mg(), Mg3d::get_nzone(), Mg3d::get_type_r(), Map::mg, Scalar::set_dzpuis(), Scalar::set_etat_qcq(), Scalar::set_spectral_va(), and Map_radial::xsr.

void Map_radial::inc_dzpuis ( Scalar ci  )  const [virtual, inherited]

Increases by 1 the value of dzpuis of a Scalar and changes accordingly its values in the compactified external domain (CED).

Implements Map.

Definition at line 692 of file map_radial_r_manip.C.

References Valeur::annule(), Scalar::get_dzpuis(), Scalar::get_etat(), Valeur::get_mg(), Mg3d::get_nzone(), Mg3d::get_type_r(), Map::mg, Scalar::set_dzpuis(), Scalar::set_etat_qcq(), Scalar::set_spectral_va(), and Map_radial::xsr.

Tbl * Map_et::integrale ( const Cmp ci  )  const [virtual]

Computes the integral over all space of a Cmp.

The computed quantity is $\int u \, r^2 \sin\theta \, dr\, d\theta \, d\phi$. The routine allocates a Tbl (size: mg->nzone ) to store the result (partial integral) in each domain and returns a pointer to it.

Implements Map.

Definition at line 70 of file map_et_integ.C.

References Tbl::annule_hard(), Cmp::get_dzpuis(), Cmp::get_etat(), Mg3d::get_nzone(), Map::mg, rsx2drdx, Cmp::set_dzpuis(), and Cmp::va.

void Map_et::lapang ( const Scalar uu,
Scalar lap 
) const [virtual]

Computes the angular Laplacian of a scalar field.

Parameters:
uu [input] Scalar field u (represented as a Scalar) the Laplacian $\Delta u$ of which is to be computed
lap [output] Angular Laplacian of u (see documentation of Scalar

Implements Map.

Definition at line 279 of file map_et_lap.C.

void Map_et::laplacien ( const Cmp uu,
int  zec_mult_r,
Cmp lap 
) const [virtual]
void Map_et::laplacien ( const Scalar uu,
int  zec_mult_r,
Scalar lap 
) const [virtual]

Computes the Laplacian of a scalar field.

Parameters:
uu [input] Scalar field u (represented as a Scalar ) the Laplacian $\Delta u$ of which is to be computed
zec_mult_r [input] Determines the quantity computed in the compactified external domain (CED) : \ zec_mult_r = 0 : $\Delta u$ \ zec_mult_r = 2 : $r^2 \, \Delta u$ \ zec_mult_r = 4 (default) : $r^4 \, \Delta u$
lap [output] Laplacian of u

Implements Map.

Definition at line 71 of file map_et_lap.C.

References Valeur::annule(), Valeur::base, Scalar::check_dzpuis(), Map_radial::d2rdtdx, Map_radial::d2rdx2, Valeur::d2sdx2(), Valeur::dsdt(), Valeur::dsdx(), Map_radial::dxdr, Scalar::get_etat(), Map::get_mg(), Tensor::get_mp(), Mg3d::get_nzone(), Scalar::get_spectral_va(), Mg3d::get_type_r(), Valeur::lapang(), Map_radial::lapr_tp, Map::mg, Valeur::set_base(), Scalar::set_dzpuis(), Scalar::set_etat_qcq(), Scalar::set_etat_zero(), Scalar::set_spectral_va(), Map_radial::sr2drdt, Map_radial::sr2stdrdp, Map_radial::srdrdt, Map_radial::srstdrdp, Map_radial::sstd2rdpdx, Valeur::stdsdp(), Valeur::sx(), Map_radial::xsr, and Valeur::ylm().

const Map_af & Map_et::mp_angu ( int   )  const [virtual]

Returns the "angular" mapping for the outside of domain l_zone.

Valid only for the class Map_af.

Implements Map.

Definition at line 1041 of file map_et.C.

References c_est_pas_fait(), and Map::p_mp_angu.

void Map_radial::mult_cost ( Scalar ci  )  const [virtual, inherited]

Multiplication by $\cos\theta$ of a Scalar.

Implements Map.

Definition at line 57 of file map_radial_th_manip.C.

References Scalar::get_etat(), Valeur::get_mg(), Map::mg, Valeur::mult_ct(), Scalar::set_etat_qcq(), and Scalar::set_spectral_va().

void Map_radial::mult_r ( Cmp ci  )  const [virtual, inherited]

Multiplication by r of a Cmp.

In the CED, there is only a decrement of dzpuis

Implements Map.

Definition at line 215 of file map_radial_r_manip.C.

References Cmp::annule(), Valeur::base, Cmp::get_dzpuis(), Cmp::get_etat(), Valeur::get_mg(), Mg3d::get_nzone(), Mg3d::get_type_r(), Map::mg, Valeur::mult_x(), Cmp::set_dzpuis(), Cmp::va, and Map_radial::xsr.

void Map_radial::mult_r ( Scalar uu  )  const [virtual, inherited]
void Map_radial::mult_r_zec ( Scalar ci  )  const [virtual, inherited]

Multiplication by r (in the compactified external domain only) of a Scalar.

Implements Map.

Definition at line 292 of file map_radial_r_manip.C.

References Valeur::annule(), Valeur::base, Scalar::get_etat(), Valeur::get_mg(), Mg3d::get_nzone(), Mg3d::get_type_r(), Map::mg, Scalar::set_etat_qcq(), Scalar::set_spectral_va(), Valeur::sxm1_zec(), and Map_radial::xsr.

void Map_radial::mult_rsint ( Scalar ci  )  const [virtual, inherited]
void Map_radial::mult_sint ( Scalar ci  )  const [virtual, inherited]

Multiplication by $\sin\theta$ of a Scalar.

Implements Map.

Definition at line 105 of file map_radial_th_manip.C.

References Scalar::get_etat(), Valeur::get_mg(), Map::mg, Valeur::mult_st(), Scalar::set_etat_qcq(), and Scalar::set_spectral_va().

void Map_et::operator= ( const Map_af mpa  )  [virtual]
void Map_et::operator= ( const Map_et mp  )  [virtual]
virtual bool Map::operator== ( const Map  )  const [pure virtual, inherited]

Comparison operator (egality).

bool Map_et::operator== ( const Map mpi  )  const [virtual]
ostream & Map_et::operator>> ( ostream &  ost  )  const [private, virtual]
void Map_et::poisson ( const Cmp source,
Param par,
Cmp uu 
) const [virtual]

Computes the solution of a scalar Poisson equation.

Following the method explained in Sect. III.C of Bonazzola, Gourgoulhon & Marck, Phys. Rev. D 58 , 104020 (1998), the Poisson equation $\Delta u = \sigma$ is re-written as $a \tilde\Delta u = \sigma + R(u)$, where $\tilde\Delta$ is the Laplacian in an affine mapping and R(u) contains the terms generated by the deviation of the mapping *this from spherical symmetry. This equation is solved by iterations. At each step J the equation effectively solved is $\tilde\Delta u^{J+1} = s^J$ where

\[ s^J = 1/a_l^{\rm max} \{ {\tt source} + R(u^J) + (a_l^{\rm max}-a) [ \lambda s^{J-1} + (1-\lambda) s^{J-2} ] \} \ , \]

with $a_l^{\rm max} := \max(a)$ in domain no. l and $\lambda$ is a relaxation parameter.

Parameters:
source [input] source $\sigma$ of the Poisson equation
par [input/output] parameters for the iterative method: \ par.get_int(0) : [input] maximum number of iterations \ par.get_double(0) : [input] relaxation parameter $\lambda$ \ par.get_double(1) : [input] required precision: the iterative method is stopped as soon as the relative difference between $u^J$ and $u^{J-1}$ is greater than par.get_double(1) \ par.get_cmp_mod(0) : [input/output] input : Cmp containing $s^{J-1}$ (cf. the above equation) to start the iteration (if nothing is known a priori, this Cmp must be set to zero); output: value of $s^{J-1}$, to used in a next call to the routine \ par.get_int_mod(0) : [output] number of iterations actually used to get the solution.
uu [input/output] input : previously computed value of u to start the iteration (term R(u) ) (if nothing is known a priori, uu must be set to zero); output: solution u with the boundary condition u =0 at spatial infinity.

Implements Map.

Definition at line 97 of file map_et_poisson.C.

References alpha, Valeur::annule(), Valeur::base, Cmp::check_dzpuis(), Map_radial::d2rdtdx, Map_radial::d2rdx2, Cmp::dec2_dzpuis(), Cmp::dec_dzpuis(), diffrel(), Valeur::dsdt(), Map_radial::dxdr, Param::get_cmp_mod(), Param::get_double(), Cmp::get_dzpuis(), Cmp::get_etat(), Param::get_int(), Param::get_int_mod(), Cmp::get_mp(), Mg3d::get_nzone(), Mg3d::get_type_r(), Valeur::lapang(), Map_radial::lapr_tp, max(), Map::mg, Map_af::poisson(), rsxdxdr, Valeur::set_base(), Cmp::set_dzpuis(), Cmp::set_etat_qcq(), Mtbl::set_etat_qcq(), Map_radial::sr2drdt, Map_radial::sr2stdrdp, Map_radial::srdrdt, Map_radial::srstdrdp, Map_radial::sstd2rdpdx, Valeur::stdsdp(), Valeur::sx(), Mtbl::t, Cmp::va, Map_radial::xsr, and Valeur::ylm().

void Map_et::poisson2d ( const Cmp source_mat,
const Cmp source_quad,
Param par,
Cmp uu 
) const [virtual]

Computes the solution of a 2-D Poisson equation.

The 2-D Poisson equation writes

\[ {\partial^2 u\over\partial r^2} + {1\over r} {\partial u \over \partial r} + {1\over r^2} {\partial^2 u\over\partial \theta^2} = \sigma \ . \]

Parameters:
source_mat [input] Compactly supported part of the source $\sigma$ of the 2-D Poisson equation (typically matter terms)
source_quad [input] Non-compactly supported part of the source $\sigma$ of the 2-D Poisson equation (typically quadratic terms)
par [input/output] Parameters to control the resolution : \ par.get_double_mod(0) : [output] constant lambda such that the source of the equation effectively solved is source_mat + lambda * source_quad , in order to fulfill the virial identity GRV2. \ If the theta basis is T_SIN_I , the following arguments are required: \ par.get_int(0) : [input] maximum number of iterations \ par.get_double(0) : [input] relaxation parameter \ par.get_double(1) : [input] required precision: the iterative method is stopped as soon as the relative difference between $u^J$ and $u^{J-1}$ is greater than par.get_double(1) \ par.get_cmp_mod(0) : [input/output] input : Cmp containing $s^{J-1}$ to start the iteration (if nothing is known a priori, this Cmp must be set to zero); output: value of $s^{J-1}$, to used in a next call to the routine \ par.get_int_mod(0) : [output] number of iterations actually used to get the solution.
uu [input/output] solution u with the boundary condition u =0 at spatial infinity.

Implements Map.

Definition at line 75 of file map_et_poisson2d.C.

References alpha, Mtbl::annule(), Valeur::base, Cmp::check_dzpuis(), Map_radial::d2rdtdx, Map_radial::d2rdx2, Valeur::d2sdt2(), diffrel(), Valeur::dsdt(), Map_radial::dxdr, Param::get_cmp_mod(), Param::get_double(), Param::get_double_mod(), Cmp::get_dzpuis(), Cmp::get_etat(), Param::get_int(), Param::get_int_mod(), Map::get_mg(), Cmp::get_mp(), Mg3d::get_nzone(), Mg3d::get_type_r(), Cmp::import(), max(), Map::mg, Map_af::poisson2d(), rsxdxdr, Map_af::set_alpha(), Valeur::set_base(), Map_af::set_beta(), Cmp::set_dzpuis(), Cmp::set_etat_qcq(), Mtbl::set_etat_qcq(), Map_radial::sr2d2rdt2, Map_radial::sr2drdt, Map_radial::srdrdt, Valeur::sx(), Mtbl::t, T_COS_P, T_SIN_I, Cmp::va, val_r(), and Map_radial::xsr.

void Map_et::poisson_angu ( const Scalar source,
Param par,
Scalar uu,
double  lambda = 0 
) const [virtual]

Computes the solution 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}$.

Parameters:
source [input] source $\sigma$ of the equation $\Delta_{\theta\varphi} u + \lambda u = \sigma$.
par [input/output] possible parameters to control the resolution of the Poisson equation. See the actual implementation in the derived class of Map for documentation.
uu [input/output] solution u
lambda [input] coefficient $\lambda$ in the above equation (default value = 0)

Implements Map.

Definition at line 588 of file map_et_poisson.C.

References Valeur::base, Map_radial::d2rdtdx, Map_radial::d2rdx2, diffrel(), Valeur::dsdt(), Valeur::dsdx(), Map_radial::dxdr, Scalar::filtre_r(), Param::get_cmp_mod(), Param::get_double(), Scalar::get_dzpuis(), Scalar::get_etat(), Param::get_int(), Param::get_int_mod(), Tensor::get_mp(), Mg3d::get_nr(), Mg3d::get_nzone(), Scalar::get_spectral_va(), Map_radial::lapr_tp, max(), Map::mg, Scalar::mult_r(), Map_af::poisson_angu(), Valeur::set_base(), Scalar::set_dzpuis(), Scalar::set_spectral_va(), Map_radial::sr2drdt, Map_radial::sr2stdrdp, Map_radial::srdrdt, Map_radial::srstdrdp, Map_radial::sstd2rdpdx, and Valeur::stdsdp().

void Map_radial::poisson_compact ( int  nzet,
const Cmp source,
const Cmp aa,
const Tenseur bb,
const Param par,
Cmp psi 
) const [virtual, inherited]

Resolution of the elliptic equation $ a \Delta\psi + {\bf b} \cdot \nabla \psi = \sigma$ in the case of a multidomain stellar interior.

Parameters:
nzet [input] number of domains covering the stellar interior
source [input] source $\sigma$ of the above equation
aa [input] factor a in the above equation
bb [input] vector b in the above equation
par [input/output] possible parameters to control the resolution of the equation. See the actual implementation in the derived class of Map for documentation.
psi [input/output] solution $\psi$ which satisfies $\psi(0)=0$.

Implements Map.

Definition at line 449 of file map_radial_poisson_cpt.C.

References Cmp::annule(), Mtbl::annule_hard(), Tbl::annule_hard(), Map::bvect_spher, Valeur::c_cf, Valeur::coef(), diffrel(), Map_af::dsdr(), Cmp::dsdr(), Param::get_double(), Tenseur::get_etat(), Cmp::get_etat(), Mg3d::get_grille3d(), Param::get_int(), Param::get_int_mod(), Tenseur::get_mp(), Cmp::get_mp(), Mg3d::get_np(), Mg3d::get_nr(), Mg3d::get_nt(), Mg3d::get_nzone(), Tenseur::get_triad(), Cmp::laplacien(), Map_af::laplacien(), max(), Map::mg, min(), Map_radial::poisson_compact(), Mtbl::set(), Tbl::set(), Cmp::set_etat_qcq(), Cmp::set_etat_zero(), Cmp::srdsdt(), Cmp::srstdsdp(), Valeur::std_base_scal(), Tbl::t, Cmp::va, Grille3d::x, Valeur::ylm(), and Valeur::ylm_i().

void Map_radial::poisson_compact ( const Cmp source,
const Cmp aa,
const Tenseur bb,
const Param par,
Cmp psi 
) const [virtual, inherited]

Resolution of the elliptic equation $ a \Delta\psi + {\bf b} \cdot \nabla \psi = \sigma$ in the case where the stellar interior is covered by a single domain.

Parameters:
source [input] source $\sigma$ of the above equation
aa [input] factor a in the above equation
bb [input] vector b in the above equation
par [input/output] parameters of the iterative method of resolution : \ par.get_int(0) : [input] maximum number of iterations \ par.get_double(0) : [input] required precision: the iterative method is stopped as soon as the relative difference between $\psi^J$ and $\psi^{J-1}$ is greater than par.get_double(0) \ par.get_double(1) : [input] relaxation parameter $\lambda$ \ par.get_int_mod(0) : [output] number of iterations actually used to get the solution.
psi [input/output]: input : previously computed value of $\psi$ to start the iteration (if nothing is known a priori, psi must be set to zero); output: solution $\psi$ which satisfies $\psi(0)=0$.

Implements Map.

Definition at line 151 of file map_radial_poisson_cpt.C.

References Cmp::annule(), Map::bvect_spher, Valeur::c_cf, Valeur::coef(), Valeur::d2sdx2(), diffrel(), Cmp::dsdr(), Valeur::dsdx(), Map_radial::dxdr, Param::get_double(), Tenseur::get_etat(), Cmp::get_etat(), Param::get_int(), Param::get_int_mod(), Tenseur::get_mp(), Cmp::get_mp(), Mg3d::get_nr(), Mg3d::get_nzone(), Tenseur::get_triad(), Valeur::lapang(), Cmp::laplacien(), max(), Map::mg, min(), Valeur::mult_x(), Cmp::set_etat_qcq(), Cmp::set_etat_zero(), Cmp::srdsdt(), Cmp::srstdsdp(), Valeur::std_base_scal(), Valeur::sx(), Cmp::va, Valeur::ylm(), and Valeur::ylm_i().

void Map_et::poisson_frontiere ( const Cmp ,
const Valeur ,
int  ,
int  ,
Cmp ,
double  = 0.,
double  = 0. 
) const [virtual]

Not yet implemented.

Implements Map.

Definition at line 120 of file cmp_pde_frontiere.C.

void Map_et::poisson_interne ( const Cmp source,
const Valeur limite,
Param par,
Cmp pot 
) const [virtual]

Computes the solution of a Poisson equation in the shell .

imposing a boundary condition at the surface of the star

Parameters:
source [input] : source of the equation.
limite [input] : limite[num_front] contains the angular function being the boudary condition.
par [input] : parameters of the computation.
pot [output] : result.

Implements Map.

Definition at line 270 of file cmp_pde_frontiere.C.

References alpha, Valeur::base, Map_radial::d2rdtdx, Map_radial::d2rdx2, diffrel(), Valeur::dsdt(), Map_radial::dxdr, Param::get_cmp_mod(), Param::get_double(), Cmp::get_etat(), Param::get_int(), Param::get_int_mod(), Cmp::get_mp(), Mg3d::get_nzone(), Valeur::lapang(), Map_radial::lapr_tp, max(), Map::mg, Map_af::poisson_interne(), rsxdxdr, Valeur::set_base(), Cmp::set_etat_qcq(), Mtbl::set_etat_qcq(), Map_radial::sr2drdt, Map_radial::sr2stdrdp, Map_radial::srdrdt, Map_radial::srstdrdp, Map_radial::sstd2rdpdx, Valeur::stdsdp(), Valeur::sx(), Mtbl::t, Cmp::va, Map_radial::xsr, and Valeur::ylm().

void Map_et::poisson_regular ( const Cmp source,
int  k_div,
int  nzet,
double  unsgam1,
Param par,
Cmp uu,
Cmp uu_regu,
Cmp uu_div,
Tenseur duu_div,
Cmp source_regu,
Cmp source_div 
) const [virtual]

Computes the solution of a scalar Poisson equation.

The regularized source

Parameters:
source [input] source $\sigma$ of the Poisson equation $\Delta u = \sigma$.
k_div [input] regularization degree of the procedure
nzet [input] number of domains covering the star
unsgam1 [input] parameter $1/(\gamma-1)$ where $\gamma$ denotes the adiabatic index.
par [input/output] parameters for the iterative method: \ par.get_int(0) : [input] maximum number of iterations \ par.get_double(0) : [input] relaxation parameter $\lambda$ \ par.get_double(1) : [input] required precision: the iterative method is stopped as soon as the relative difference between $u^J$ and $u^{J-1}$ is greater than par.get_double(1) \ par.get_cmp_mod(0) : [input/output] input : Cmp containing $s^{J-1}$ (cf. the above equation) to start the iteration (if nothing is known a priori, this Cmp must be set to zero); output: value of $s^{J-1}$, to used in a next call to the routine \ par.get_int_mod(0) : [output] number of iterations actually used to get the solution.
uu [input/output] input : previously computed value of u to start the iteration (term R(u) ) (if nothing is known a priori, uu must be set to zero); output: solution u with the boundary condition u =0 at spatial infinity.
uu_regu [output] solution of the regular part of the source.
uu_div [output] solution of the diverging part of the source.
duu_div [output] derivative of the diverging potential
source_regu [output] regularized source
source_div [output] diverging part of the source

Implements Map.

Definition at line 80 of file map_et_poisson_regu.C.

References alpha, Valeur::annule(), Valeur::base, Cmp::check_dzpuis(), Map_radial::d2rdtdx, Map_radial::d2rdx2, Cmp::dec2_dzpuis(), Cmp::dec_dzpuis(), diffrel(), Valeur::dsdt(), Map_radial::dxdr, Map::get_bvect_spher(), Param::get_cmp_mod(), Param::get_double(), Cmp::get_dzpuis(), Cmp::get_etat(), Param::get_int(), Param::get_int_mod(), Cmp::get_mp(), Mg3d::get_nzone(), Mg3d::get_type_r(), Valeur::lapang(), Map_radial::lapr_tp, max(), Map::mg, Map_af::poisson_regular(), rsxdxdr, Tenseur::set(), Valeur::set_base(), Cmp::set_dzpuis(), Cmp::set_etat_qcq(), Mtbl::set_etat_qcq(), Tenseur::set_triad(), Map_radial::sr2drdt, Map_radial::sr2stdrdp, Map_radial::srdrdt, Map_radial::srstdrdp, Map_radial::sstd2rdpdx, Valeur::stdsdp(), Valeur::sx(), Mtbl::t, Cmp::va, Map_radial::xsr, and Valeur::ylm().

void Map_et::poisson_tau ( const Cmp source,
Param par,
Cmp uu 
) const [virtual]

Computes the solution of a scalar Poisson equation with a Tau method.

Following the method explained in Sect. III.C of Bonazzola, Gourgoulhon & Marck, Phys. Rev. D 58 , 104020 (1998), the Poisson equation $\Delta u = \sigma$ is re-written as $a \tilde\Delta u = \sigma + R(u)$, where $\tilde\Delta$ is the Laplacian in an affine mapping and R(u) contains the terms generated by the deviation of the mapping *this from spherical symmetry. This equation is solved by iterations. At each step J the equation effectively solved is $\tilde\Delta u^{J+1} = s^J$ where

\[ s^J = 1/a_l^{\rm max} \{ {\tt source} + R(u^J) + (a_l^{\rm max}-a) [ \lambda s^{J-1} + (1-\lambda) s^{J-2} ] \} \ , \]

with $a_l^{\rm max} := \max(a)$ in domain no. l and $\lambda$ is a relaxation parameter.

Parameters:
source [input] source $\sigma$ of the Poisson equation
par [input/output] parameters for the iterative method: \ par.get_int(0) : [input] maximum number of iterations \ par.get_double(0) : [input] relaxation parameter $\lambda$ \ par.get_double(1) : [input] required precision: the iterative method is stopped as soon as the relative difference between $u^J$ and $u^{J-1}$ is greater than par.get_double(1) \ par.get_cmp_mod(0) : [input/output] input : Cmp containing $s^{J-1}$ (cf. the above equation) to start the iteration (if nothing is known a priori, this Cmp must be set to zero); output: value of $s^{J-1}$, to used in a next call to the routine \ par.get_int_mod(0) : [output] number of iterations actually used to get the solution.
uu [input/output] input : previously computed value of u to start the iteration (term R(u) ) (if nothing is known a priori, uu must be set to zero); output: solution u with the boundary condition u =0 at spatial infinity.

Implements Map.

Definition at line 346 of file map_et_poisson.C.

References alpha, Valeur::annule(), Valeur::base, Cmp::check_dzpuis(), Map_radial::d2rdtdx, Map_radial::d2rdx2, Cmp::dec2_dzpuis(), Cmp::dec_dzpuis(), diffrel(), Valeur::dsdt(), Map_radial::dxdr, Param::get_cmp_mod(), Param::get_double(), Cmp::get_dzpuis(), Cmp::get_etat(), Param::get_int(), Param::get_int_mod(), Cmp::get_mp(), Mg3d::get_nzone(), Mg3d::get_type_r(), Valeur::lapang(), Map_radial::lapr_tp, max(), Map::mg, Map_af::poisson_tau(), rsxdxdr, Valeur::set_base(), Cmp::set_dzpuis(), Cmp::set_etat_qcq(), Mtbl::set_etat_qcq(), Map_radial::sr2drdt, Map_radial::sr2stdrdp, Map_radial::srdrdt, Map_radial::srstdrdp, Map_radial::sstd2rdpdx, Valeur::stdsdp(), Valeur::sx(), Mtbl::t, Cmp::va, Map_radial::xsr, and Valeur::ylm().

void Map_et::primr ( const Scalar uu,
Scalar resu,
bool  null_infty 
) const [virtual]

Computes the radial primitive which vanishes for $r\to \infty$.

i.e. the function $ F(r,\theta,\varphi) = \int_r^\infty f(r',\theta,\varphi) \, dr' $

Parameters:
uu [input] function f (must have a dzpuis = 2)
resu [input] function F
null_infty if true (default), the primitive is null at infinity (or on the grid boundary). F is null at the center otherwise

Implements Map.

Definition at line 106 of file map_et_integ.C.

virtual void Map::reevaluate ( const Map mp_prev,
int  nzet,
Scalar uu 
) const [pure virtual, inherited]

Recomputes the values of a Scalar at the collocation points after a change in the mapping.

Parameters:
mp_prev [input] Previous value of the mapping.
nzet [input] Number of domains where the computation must be done: the computation is performed for the domains of index $0\le {\tt l} \le {\tt nzet-1}$; uu is set to zero in the other domains.
uu [input/output] input : Scalar previously computed on the mapping *mp_prev ; ouput : values of (logically) the same Scalae at the grid points defined by *this.
virtual void Map::reevaluate ( const Map mp_prev,
int  nzet,
Cmp uu 
) const [pure virtual, inherited]

Recomputes the values of a Cmp at the collocation points after a change in the mapping.

Parameters:
mp_prev [input] Previous value of the mapping.
nzet [input] Number of domains where the computation must be done: the computation is performed for the domains of index $0\le {\tt l} \le {\tt nzet-1}$; uu is set to zero in the other domains.
uu [input/output] input : Cmp previously computed on the mapping *mp_prev ; ouput : values of (logically) the same Cmp at the grid points defined by *this.
void Map_radial::reevaluate ( const Map mp_prev,
int  nzet,
Scalar uu 
) const [virtual, inherited]

Recomputes the values of a Scalar at the collocation points after a change in the mapping.

Parameters:
mp_prev [input] Previous value of the mapping.
nzet [input] Number of domains where the computation must be done: the computation is performed for the domains of index $0\le {\tt l} \le {\tt nzet-1}$; uu is set to zero in the other domains.
uu [input/output] input : Scalar previously computed on the mapping *mp_prev ; ouput : values of (logically) the same Scalar at the grid points defined by *this.

Definition at line 169 of file map_radial_reevaluate.C.

References Param::add_double(), Param::add_int(), Param::add_int_mod(), Scalar::annule(), Coord::c, Valeur::c, Valeur::c_cf, Valeur::coef(), Coord::fait(), Scalar::get_dzpuis(), Scalar::get_etat(), Tensor::get_mp(), Mg3d::get_np(), Mg3d::get_nr(), Mg3d::get_nt(), Mg3d::get_nzone(), Map::mg, Map::r, Valeur::set_etat_c_qcq(), Tbl::set_etat_qcq(), Mtbl::set_etat_qcq(), Scalar::set_spectral_va(), Mtbl::t, Map_radial::val_lx_jk(), and Mtbl_cf::val_point_jk().

void Map_radial::reevaluate ( const Map mp_prev,
int  nzet,
Cmp uu 
) const [virtual, inherited]

Recomputes the values of a Cmp at the collocation points after a change in the mapping.

Parameters:
mp_prev [input] Previous value of the mapping.
nzet [input] Number of domains where the computation must be done: the computation is performed for the domains of index $0\le {\tt l} \le {\tt nzet-1}$; uu is set to zero in the other domains.
uu [input/output] input : Cmp previously computed on the mapping *mp_prev ; ouput : values of (logically) the same Cmp at the grid points defined by *this.

Definition at line 54 of file map_radial_reevaluate.C.

References Param::add_double(), Param::add_int(), Param::add_int_mod(), Cmp::annule(), Coord::c, Coord::fait(), Cmp::get_dzpuis(), Cmp::get_etat(), Cmp::get_mp(), Mg3d::get_np(), Mg3d::get_nr(), Mg3d::get_nt(), Mg3d::get_nzone(), Map::mg, Map::r, Tbl::set_etat_qcq(), Mtbl::set_etat_qcq(), Mtbl::t, Cmp::va, Map_radial::val_lx_jk(), and Mtbl_cf::val_point_jk().

virtual void Map::reevaluate_symy ( const Map mp_prev,
int  nzet,
Scalar uu 
) const [pure virtual, inherited]

Recomputes the values of a Scalar at the collocation points after a change in the mapping.

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

Parameters:
mp_prev [input] Previous value of the mapping.
nzet [input] Number of domains where the computation must be done: the computation is performed for the domains of index $0\le {\tt l} \le {\tt nzet-1}$; uu is set to zero in the other domains.
uu [input/output] input : Scalar previously computed on the mapping *mp_prev ; ouput : values of (logically) the same Scalar at the grid points defined by *this.
virtual void Map::reevaluate_symy ( const Map mp_prev,
int  nzet,
Cmp uu 
) const [pure virtual, inherited]

Recomputes the values of a Cmp at the collocation points after a change in the mapping.

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

Parameters:
mp_prev [input] Previous value of the mapping.
nzet [input] Number of domains where the computation must be done: the computation is performed for the domains of index $0\le {\tt l} \le {\tt nzet-1}$; uu is set to zero in the other domains.
uu [input/output] input : Cmp previously computed on the mapping *mp_prev ; ouput : values of (logically) the same Cmp at the grid points defined by *this.
void Map_radial::reevaluate_symy ( const Map mp_prev,
int  nzet,
Scalar uu 
) const [virtual, inherited]

Recomputes the values of a Scalar at the collocation points after a change in the mapping.

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

Parameters:
mp_prev [input] Previous value of the mapping.
nzet [input] Number of domains where the computation must be done: the computation is performed for the domains of index $0\le {\tt l} \le {\tt nzet-1}$; uu is set to zero in the other domains.
uu [input/output] input : Scalar previously computed on the mapping *mp_prev ; ouput : values of (logically) the same Scalar at the grid points defined by *this.

Definition at line 189 of file map_radial_reeval_symy.C.

References Param::add_double(), Param::add_int(), Param::add_int_mod(), Scalar::annule(), Coord::c, Valeur::c, Valeur::c_cf, Valeur::coef(), Coord::fait(), Scalar::get_dzpuis(), Scalar::get_etat(), Tensor::get_mp(), Mg3d::get_np(), Mg3d::get_nr(), Mg3d::get_nt(), Mg3d::get_nzone(), Mg3d::get_type_p(), Map::mg, Map::r, Valeur::set_etat_c_qcq(), Tbl::set_etat_qcq(), Mtbl::set_etat_qcq(), Scalar::set_spectral_va(), Mtbl::t, Map_radial::val_lx_jk(), and Mtbl_cf::val_point_jk_symy().

void Map_radial::reevaluate_symy ( const Map mp_prev,
int  nzet,
Cmp uu 
) const [virtual, inherited]

Recomputes the values of a Cmp at the collocation points after a change in the mapping.

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

Parameters:
mp_prev [input] Previous value of the mapping.
nzet [input] Number of domains where the computation must be done: the computation is performed for the domains of index $0\le {\tt l} \le {\tt nzet-1}$; uu is set to zero in the other domains.
uu [input/output] input : Cmp previously computed on the mapping *mp_prev ; ouput : values of (logically) the same Cmp at the grid points defined by *this.

Definition at line 55 of file map_radial_reeval_symy.C.

References Param::add_double(), Param::add_int(), Param::add_int_mod(), Cmp::annule(), Coord::c, Coord::fait(), Cmp::get_dzpuis(), Cmp::get_etat(), Cmp::get_mp(), Mg3d::get_np(), Mg3d::get_nr(), Mg3d::get_nt(), Mg3d::get_nzone(), Mg3d::get_type_p(), Map::mg, Map::r, Tbl::set_etat_qcq(), Mtbl::set_etat_qcq(), Mtbl::t, Cmp::va, Map_radial::val_lx_jk(), and Mtbl_cf::val_point_jk_symy().

void Map_et::reset_coord (  )  [protected, virtual]

Resets all the member Coords.

Reimplemented from Map_radial.

Definition at line 624 of file map_et.C.

References Coord::del_t(), rsx2drdx, and rsxdxdr.

void Map_et::resize ( int  l,
double  lambda 
) [virtual]

Rescales the outer boundary of one domain.

The inner boundary is unchanged. The inner boundary of the next domain is changed to match the new outer boundary.

Parameters:
l [input] index of the domain
lambda [input] factor by which the value of $R(\theta, \varphi)$ defining the outer boundary of the domain is to be multiplied.

Implements Map.

Definition at line 924 of file map_et.C.

References alpha, beta, ff, Mg3d::get_type_r(), gg, Map::mg, reset_coord(), and Valeur::set().

void Map_et::resize_extr ( double  lambda  ) 

Rescales the outer boundary of the outermost domain in the case of non-compactified external domain.

The inner boundary is unchanged.

Parameters:
lambda [input] factor by which the value of the radius of the outermost domain is to be multiplied.

Definition at line 51 of file map_et_resize_extr.C.

References alpha, beta, Mg3d::get_nzone(), Mg3d::get_type_r(), Map::mg, and reset_coord().

void Map_et::sauve ( FILE *  fich  )  const [virtual]

Save in a file.

Reimplemented from Map_radial.

Definition at line 775 of file map_et.C.

References alpha, beta, ff, fwrite_be(), Mg3d::get_nzone(), gg, Map::mg, and Valeur::sauve().

void Map_et::set_alpha ( double  alpha0,
int  l 
)

Modifies the value of $\alpha$ in domain no. l.

Definition at line 420 of file map_et.C.

References alpha, and reset_coord().

void Map_et::set_beta ( double  beta0,
int  l 
)

Modifies the value of $\beta$ in domain no. l.

Definition at line 431 of file map_et.C.

References beta, and reset_coord().

void Map_et::set_coord (  )  [private]
void Map_et::set_ff ( const Valeur ffi  ) 

Assigns a given value to the function $F(\theta',\phi')$.

Definition at line 558 of file map_et.C.

References ff, and reset_coord().

void Map_et::set_gg ( const Valeur ggi  ) 

Assigns a given value to the function $G(\theta',\phi')$.

Definition at line 566 of file map_et.C.

References gg, and reset_coord().

void Map::set_ori ( double  xa0,
double  ya0,
double  za0 
) [inherited]

Sets a new origin.

Definition at line 249 of file map.C.

References Map::bvect_spher, Map::ori_x, Map::ori_y, Map::ori_z, Map::reset_coord(), and Base_vect_spher::set_ori().

void Map::set_rot_phi ( double  phi0  )  [inherited]
void Map_et::srdsdt ( const Scalar uu,
Scalar resu 
) const [virtual]

Computes $1/r \partial/ \partial \theta$ of a Scalar.

Note that in the compactified external domain (CED), the dzpuis flag of the output is 2 if the input has dzpuis = 0, and is increased by 1 in other cases.

Parameters:
uu [input] field to consider
resu [output] derivative of uu

Implements Map.

Definition at line 387 of file map_et_deriv.C.

References Valeur::annule(), Valeur::base, Valeur::coef(), Valeur::dsdt(), Valeur::dsdx(), Map_radial::dxdr, Scalar::get_dzpuis(), Scalar::get_etat(), Map::get_mg(), Tensor::get_mp(), Mg3d::get_nzone(), Scalar::get_spectral_va(), Mg3d::get_type_r(), Map::mg, Valeur::mult_x(), Scalar::set_dzpuis(), Scalar::set_etat_zero(), Map_radial::srdrdt, Valeur::sx(), and Map_radial::xsr.

void Map_et::srdsdt ( const Cmp ci,
Cmp resu 
) const [virtual]

Computes $1/r \partial/ \partial \theta$ of a Cmp.

Note that in the compactified external domain (CED), it computes $1/u \partial/ \partial \theta = r \partial/ \partial \theta$.

Parameters:
ci [input] field to consider
resu [output] derivative of ci

Implements Map.

Definition at line 333 of file map_et_deriv.C.

References Valeur::base, Cmp::check_dzpuis(), Valeur::dsdt(), Valeur::dsdx(), Map_radial::dxdr, Cmp::get_etat(), Map::get_mg(), Cmp::get_mp(), Mg3d::get_nzone(), Mg3d::get_type_r(), Map::mg, Cmp::set_dzpuis(), Cmp::set_etat_zero(), Map_radial::srdrdt, Valeur::sx(), Cmp::va, and Map_radial::xsr.

void Map_et::srstdsdp ( const Scalar uu,
Scalar resu 
) const [virtual]

Computes $1/(r\sin\theta) \partial/ \partial \phi$ of a Scalar.

Note that in the compactified external domain (CED), the dzpuis flag of the output is 2 if the input has dzpuis = 0, and is increased by 1 in other cases.

Parameters:
uu [input] field to consider
resu [output] derivative of uu

Implements Map.

Definition at line 536 of file map_et_deriv.C.

References Valeur::annule(), Valeur::base, Valeur::coef(), Valeur::dsdp(), Valeur::dsdx(), Map_radial::dxdr, Scalar::get_dzpuis(), Scalar::get_etat(), Map::get_mg(), Tensor::get_mp(), Mg3d::get_nzone(), Scalar::get_spectral_va(), Mg3d::get_type_r(), Map::mg, Valeur::mult_x(), Scalar::set_dzpuis(), Scalar::set_etat_zero(), Map_radial::srstdrdp, Valeur::ssint(), Valeur::sx(), and Map_radial::xsr.

void Map_et::srstdsdp ( const Cmp ci,
Cmp resu 
) const [virtual]

Computes $1/(r\sin\theta) \partial/ \partial \phi$ of a Cmp.

Note that in the compactified external domain (CED), it computes $1/(u\sin\theta) \partial/ \partial \phi = r/\sin\theta \partial/ \partial \phi$.

Parameters:
ci [input] field to consider
resu [output] derivative of ci

Implements Map.

Definition at line 481 of file map_et_deriv.C.

References Valeur::base, Cmp::check_dzpuis(), Valeur::dsdp(), Valeur::dsdx(), Map_radial::dxdr, Cmp::get_etat(), Map::get_mg(), Cmp::get_mp(), Mg3d::get_nzone(), Mg3d::get_type_r(), Map::mg, Cmp::set_dzpuis(), Cmp::set_etat_zero(), Map_radial::srstdrdp, Valeur::ssint(), Valeur::sx(), Cmp::va, and Map_radial::xsr.

void Map_et::stdsdp ( const Scalar uu,
Scalar resu 
) const [virtual]

Computes $1/\sin\theta \partial/ \partial \varphi$ of a Scalar.

Parameters:
uu [input] scalar field
resu [output] derivative of uu

Implements Map.

Definition at line 670 of file map_et_deriv.C.

References Valeur::dsdx(), Map_radial::dxdr, Valeur::get_base(), Scalar::get_etat(), Map::get_mg(), Tensor::get_mp(), Scalar::get_spectral_va(), Map::mg, Valeur::set_base(), Scalar::set_etat_zero(), Map_radial::stdrdp, and Valeur::stdsdp().

void Map_et::val_lx ( double  rr,
double  theta,
double  pphi,
const Param par,
int &  l,
double &  xi 
) const [virtual]

Computes the domain index l and the value of $\xi$ corresponding to a point given by its physical coordinates $(r, \theta, \phi)$.

This version enables to pass some parameters to control the accuracy of the computation.

Parameters:
rr [input] value of r
theta [input] value of $\theta$
pphi [input] value of $\phi$
par [input/output] parameters to control the accuracy of the computation: \ par.get_int(0) : [input] maximum number of iterations in the secant method to locate $\xi$ \ par.get_int_mod(0) : [output] effective number of iterations used \ par.get_double(0) : [input] absolute precision in the secant method to locate $\xi$
l [output] value of the domain index
xi [output] value of $\xi$

Implements Map.

Definition at line 165 of file map_et_radius.C.

References Param::add_double(), alpha, beta, Valeur::c, ff, Param::get_double(), Tbl::get_etat(), Valeur::get_etat(), Param::get_int(), Param::get_int_mod(), Mg3d::get_nzone(), Mg3d::get_type_r(), gg, Map::mg, Mtbl::t, Valeur::val_point(), and zerosec().

void Map_et::val_lx ( double  rr,
double  theta,
double  pphi,
int &  l,
double &  xi 
) const [virtual]

Computes the domain index l and the value of $\xi$ corresponding to a point given by its physical coordinates $(r, \theta, \phi)$.

Parameters:
rr [input] value of r
theta [input] value of $\theta$
pphi [input] value of $\phi$
l [output] value of the domain index
xi [output] value of $\xi$

Implements Map.

Definition at line 142 of file map_et_radius.C.

References Param::add_double(), Param::add_int(), and Param::add_int_mod().

void Map_et::val_lx_jk ( double  rr,
int  j,
int  k,
const Param par,
int &  l,
double &  xi 
) const [virtual]

Computes the domain index l and the value of $\xi$ corresponding to a point of arbitrary r but collocation values of $(\theta, \phi)$.

Parameters:
rr [input] value of r
j [input] index of the collocation point in $\theta$
k [input] index of the collocation point in $\phi$
par [input/output] parameters to control the accuracy of the computation: \ par.get_int(0) : [input] maximum number of iterations in the secant method to locate $\xi$ \ par.get_int_mod(0) : [output] effective number of iterations used \ par.get_double(0) : [input] absolute precision in the secant method to locate $\xi$
l [output] value of the domain index
xi [output] value of $\xi$

Implements Map_radial.

Definition at line 414 of file map_et_radius.C.

References Param::add_double(), alpha, beta, Valeur::c, ff, Param::get_double(), Tbl::get_etat(), Valeur::get_etat(), Param::get_int(), Param::get_int_mod(), Mg3d::get_nzone(), Mg3d::get_type_r(), gg, Map::mg, Mtbl::t, and zerosec().

double Map_et::val_r ( int  l,
double  xi,
double  theta,
double  pphi 
) const [virtual]

Returns the value of the radial coordinate r for a given $(\xi, \theta', \phi')$ in a given domain.

Parameters:
l [input] index of the domain
xi [input] value of $\xi$
theta [input] value of $\theta'$
pphi [input] value of $\phi'$
Returns:
value of $r=R_l(\xi, \theta', \phi')$

Implements Map.

Definition at line 88 of file map_et_radius.C.

References alpha, beta, ff, Mg3d::get_type_r(), gg, Map::mg, and Valeur::val_point().

double Map_et::val_r_jk ( int  l,
double  xi,
int  j,
int  k 
) const [virtual]

Returns the value of the radial coordinate r for a given $\xi$ and a given collocation point in $(\theta', \phi')$ in a given domain.

Parameters:
l [input] index of the domain
xi [input] value of $\xi$
j [input] index of the collocation point in $\theta'$
k [input] index of the collocation point in $\phi'$
Returns:
value of $r=R_l(\xi, {\theta'}_j, {\phi'}_k)$

Implements Map_radial.

Definition at line 363 of file map_et_radius.C.

References alpha, beta, ff, Mg3d::get_type_r(), gg, and Map::mg.


Friends And Related Function Documentation

ostream& operator<< ( ostream &  ,
const Map  
) [friend, inherited]

Operator <<.


Member Data Documentation

Tbl** Map_et::aa [private]

Array (size: mg->nzone ) of Tbl which stores the values of $A(\xi)$ in each domain.

Definition at line 2761 of file map.h.

Tbl Map_et::aasx [private]

Values at the nr collocation points of $A(\xi)/\xi$ in the nucleus.

Definition at line 2774 of file map.h.

Tbl Map_et::aasx2 [private]

Values at the nr collocation points of $A(\xi)/\xi^2$ in the nucleus.

Definition at line 2777 of file map.h.

double* Map_et::alpha [private]

Array (size: mg->nzone ) of the values of $\alpha$ in each domain.

Definition at line 2754 of file map.h.

Tbl** Map_et::bb [private]

Array (size: mg->nzone ) of Tbl which stores the values of $B(\xi)$ in each domain.

Definition at line 2792 of file map.h.

Tbl Map_et::bbsx [private]

Values at the nr collocation points of $B(\xi)/\xi$ in the nucleus.

Definition at line 2805 of file map.h.

Tbl Map_et::bbsx2 [private]

Values at the nr collocation points of $B(\xi)/\xi^2$ in the nucleus.

Definition at line 2808 of file map.h.

double* Map_et::beta [private]

Array (size: mg->nzone ) of the values of $\beta$ in each domain.

Definition at line 2756 of file map.h.

Base_vect_cart Map::bvect_cart [protected, inherited]

Cartesian basis $(\partial/\partial x,\partial/\partial y,\partial/\partial z)$ associated with the coordinates (x,y,z) of the mapping, i.e.

the Cartesian coordinates related to $(r, \theta, \phi)$ by means of usual formulae.

Definition at line 693 of file map.h.

Base_vect_spher Map::bvect_spher [protected, inherited]

Orthonormal vectorial basis $(\partial/\partial r,1/r\partial/\partial \theta, 1/(r\sin\theta)\partial/\partial \phi)$ associated with the coordinates $(r, \theta, \phi)$ of the mapping.

Definition at line 685 of file map.h.

Coord Map::cosp [inherited]

$\cos\phi$

Definition at line 720 of file map.h.

Coord Map::cost [inherited]

$\cos\theta$

Definition at line 718 of file map.h.

$\partial^2 R/\partial\xi\partial\theta'$ in the nucleus and in the non-compactified shells; \ $-\partial^2 U/\partial\xi\partial\theta'$ in the compactified outer domain.

Definition at line 1636 of file map.h.

$\partial^2 R/\partial\xi^2$ in the nucleus and in the non-compactified shells; \ $-\partial^2 U/\partial\xi^2 $ in the compactified outer domain.

Definition at line 1615 of file map.h.

Tbl** Map_et::daa [private]

Array (size: mg->nzone ) of Tbl which stores the values of $A'(\xi)$ in each domain.

Definition at line 2766 of file map.h.

Tbl** Map_et::dbb [private]

Array (size: mg->nzone ) of Tbl which stores the values of $B'(\xi)$ in each domain.

Definition at line 2797 of file map.h.

Tbl** Map_et::ddaa [private]

Array (size: mg->nzone ) of Tbl which stores the values of $A''(\xi)$ in each domain.

Definition at line 2771 of file map.h.

Tbl** Map_et::ddbb [private]

Array (size: mg->nzone ) of Tbl which stores the values of $B''(\xi)$ in each domain.

Definition at line 2802 of file map.h.

Coord Map_radial::drdt [inherited]

$\partial R/\partial\theta'$ in the nucleus and in the non-compactified shells; \ $-\partial U/\partial\theta'$ in the compactified external domain (CED).

Definition at line 1564 of file map.h.

Coord Map_radial::dxdr [inherited]

$1/(\partial R/\partial\xi) = \partial \xi /\partial r$ in the nucleus and in the non-compactified shells; \ $-1/(\partial U/\partial\xi) = - \partial \xi /\partial u$ in the compactified outer domain.

Definition at line 1556 of file map.h.

Valeur Map_et::ff [private]

Values of the function $F(\theta', \phi')$ at the nt*np angular collocation points in each domain.

The Valeur ff is defined on the multi-grid mg->g_angu (cf. class Mg3d ).

Definition at line 2815 of file map.h.

Valeur Map_et::gg [private]

Values of the function $G(\theta', \phi')$ at the nt*np angular collocation points in each domain.

The Valeur gg is defined on the multi-grid mg->g_angu (cf. class Mg3d ).

Definition at line 2822 of file map.h.

$1/R^2 \times [ 1/\sin(\theta)\times \partial /\partial\theta' (\sin\theta \partial R /\partial\theta') + 1/\sin^2\theta \partial^2 R /\partial{\varphi'}^2] $ in the nucleus and in the non-compactified shells; \ $- 1/U^2 \times [ 1/\sin(\theta)\times \partial /\partial\theta' (\sin\theta \partial U /\partial\theta') + 1/\sin^2\theta \partial^2 U /\partial{\varphi'}^2] $ in the compactified outer domain.

Definition at line 1627 of file map.h.

const Mg3d* Map::mg [protected, inherited]

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

Definition at line 672 of file map.h.

double Map::ori_x [protected, inherited]

Absolute coordinate x of the origin.

Definition at line 674 of file map.h.

double Map::ori_y [protected, inherited]

Absolute coordinate y of the origin.

Definition at line 675 of file map.h.

double Map::ori_z [protected, inherited]

Absolute coordinate z of the origin.

Definition at line 676 of file map.h.

Cmp* Map::p_cmp_zero [protected, inherited]

The null Cmp.

To be used by the Tenseur class when necessary to return a null Cmp .

Definition at line 709 of file map.h.

Metric_flat* Map::p_flat_met_cart [mutable, protected, inherited]

Pointer onto the flat metric associated with the Cartesian coordinates and with components expressed in the triad bvect_cart.

Definition at line 703 of file map.h.

Metric_flat* Map::p_flat_met_spher [mutable, protected, inherited]

Pointer onto the flat metric associated with the spherical coordinates and with components expressed in the triad bvect_spher.

Definition at line 698 of file map.h.

Map_af* Map::p_mp_angu [mutable, protected, inherited]

Pointer on the "angular" mapping.

Definition at line 711 of file map.h.

Coord Map::phi [inherited]

$\phi$ coordinate centered on the grid

Definition at line 716 of file map.h.

Coord Map::r [inherited]

r coordinate centered on the grid

Definition at line 714 of file map.h.

double Map::rot_phi [protected, inherited]

Angle between the x --axis and X --axis.

Definition at line 677 of file map.h.

$[ R/ (\alpha \xi + \beta) ]^2 (\partial R/\partial \xi) / \alpha$ in the nucleus and the shells; \ $\partial U/\partial \xi / \alpha$ in the outermost compactified domain.

Definition at line 2837 of file map.h.

$1/(\partial R/\partial \xi) R/\xi$ in the nucleus; \ $1/(\partial R/\partial \xi) R/(\xi + \beta/\alpha)$ in the shells; \ $1/(\partial U/\partial \xi) U/(\xi-1)$ in the outermost compactified domain.

Definition at line 2830 of file map.h.

Coord Map::sinp [inherited]

$\sin\phi$

Definition at line 719 of file map.h.

Coord Map::sint [inherited]

$\sin\theta$

Definition at line 717 of file map.h.

$1/R^2 \partial^2 R/\partial{\theta'}^2$ in the nucleus and in the non-compactified shells; \ $-1/U^2 \partial^2 U/\partial{\theta'}^2$ in the compactified outer domain.

Definition at line 1653 of file map.h.

$1/R^2 \times (\partial R/\partial\theta')$ in the nucleus and in the non-compactified shells; \ $-1/U^2 \times (\partial U/\partial\theta')$ in the compactified outer domain.

Definition at line 1596 of file map.h.

$1/(R^2\sin\theta) \times (\partial R/\partial\varphi')$ in the nucleus and in the non-compactified shells; \ $-1/(U^2\sin\theta) \times (\partial U/\partial\varphi')$ in the compactified outer domain.

Definition at line 1604 of file map.h.

$1/R \times (\partial R/\partial\theta')$ in the nucleus and in the non-compactified shells; \ $-1/U \times (\partial U/\partial\theta)$ in the compactified outer domain.

Definition at line 1580 of file map.h.

$1/(R\sin\theta) \times (\partial R/\partial\varphi')$ in the nucleus and in the non-compactified shells; \ $-1/(U\sin\theta) \times (\partial U/\partial\varphi')$ in the compactified outer domain.

Definition at line 1588 of file map.h.

$1/\sin\theta \times \partial^2 R/\partial\xi\partial\varphi'$ in the nucleus and in the non-compactified shells; \ $-1/\sin\theta \times \partial^2 U/\partial\xi\partial\varphi' $ in the compactified outer domain.

Definition at line 1644 of file map.h.

${1\over\sin\theta} \partial R/\partial\varphi'$ in the nucleus and in the non-compactified shells; \ $-{1\over\sin\theta}\partial U/\partial\varphi'$ in the compactified external domain (CED).

Definition at line 1572 of file map.h.

Coord Map::tet [inherited]

$\theta$ coordinate centered on the grid

Definition at line 715 of file map.h.

Coord Map::x [inherited]

x coordinate centered on the grid

Definition at line 722 of file map.h.

Coord Map::xa [inherited]

Absolute x coordinate.

Definition at line 726 of file map.h.

Coord Map_radial::xsr [inherited]

$\xi/R$ in the nucleus; \ 1/R in the non-compactified shells; \ $(\xi-1)/U$ in the compactified outer domain.

Definition at line 1545 of file map.h.

Coord Map::y [inherited]

y coordinate centered on the grid

Definition at line 723 of file map.h.

Coord Map::ya [inherited]

Absolute y coordinate.

Definition at line 727 of file map.h.

Coord Map::z [inherited]

z coordinate centered on the grid

Definition at line 724 of file map.h.

Coord Map::za [inherited]

Absolute z coordinate.

Definition at line 728 of file map.h.

Tbl Map_et::zaasx [private]

Values at the nr collocation points of $A(\xi)/(\xi-1)$ in the outermost compactified domain.

Definition at line 2782 of file map.h.

Tbl Map_et::zaasx2 [private]

Values at the nr collocation points of $A(\xi)/(\xi-1)^2$ in the outermost compactified domain.

Definition at line 2787 of file map.h.


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

Generated on 7 Oct 2014 for LORENE by  doxygen 1.6.1