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

Logarithmic radial mapping. More...

#include <map.h>

Inheritance diagram for Map_log:
Map_radial Map

List of all members.

Public Member Functions

 Map_log (const Mg3d &mgrille, const Tbl &r_limits, const Itbl &typevar)
 Standard Constructor.
 Map_log (const Map_log &)
 Copy constructor.
 Map_log (const Mg3d &, FILE *)
 Constructor from a file (see sauve(FILE*).
virtual ~Map_log ()
 Destructor.
virtual const Map_afmp_angu (int) const
 Returns the "angular" mapping for the outside of domain l_zone.
double get_alpha (int l) const
 Returns $\alpha$ in the domain l.
double get_beta (int l) const
 Returns $\beta$ in the domain l.
int get_type (int l) const
 Returns the type of description in the domain l.
void sol_elliptic (Param_elliptic &params, const Scalar &so, Scalar &uu) const
 General elliptic solver.
void sol_elliptic_boundary (Param_elliptic &params, const Scalar &so, Scalar &uu, const Mtbl_cf &bound, double fact_dir, double fact_neu) const
 General elliptic solver including inner boundary conditions.
void sol_elliptic_boundary (Param_elliptic &params, const Scalar &so, Scalar &uu, const Scalar &bound, double fact_dir, double fact_neu) const
 General elliptic solver including inner boundary conditions, the bound being given as a Scalar on a mono-domain angular grid.
void sol_elliptic_no_zec (Param_elliptic &params, const Scalar &so, Scalar &uu, double) const
 General elliptic solver.
virtual void sauve (FILE *) const
 Save in a file.
virtual void operator= (const Map_af &mpa)
 Assignment to an affine mapping.
virtual ostream & operator>> (ostream &) const
 Operator >>.
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
 < Comparison operator
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 dsdr (const Scalar &ci, Scalar &resu) const
 Computes $\partial/ \partial r$ of a Scalar.
virtual void dsdxi (const Scalar &ci, Scalar &resu) const
 Computes $\partial/ \partial \xi$ 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 homothetie (double)
 Sets a new radial scale.
virtual void resize (int, double)
 < Not implemented
virtual void adapt (const Cmp &, const Param &, int)
 < Not implemented
virtual void dsdr (const Cmp &, Cmp &) const
 < Not implemented
virtual void dsdxi (const Cmp &, Cmp &) const
 < Not implemented
virtual void srdsdt (const Cmp &, Cmp &) const
 < Not implemented
virtual void srstdsdp (const Cmp &, Cmp &) const
 < Not implemented
virtual void srdsdt (const Scalar &, Scalar &) const
 < Not implemented
virtual void srstdsdp (const Scalar &, Scalar &) const
 < Not implemented
virtual void dsdt (const Scalar &, Scalar &) const
 < Not implemented
virtual void stdsdp (const Scalar &, Scalar &) const
 < Not implemented
virtual void laplacien (const Scalar &, int, Scalar &) const
 < Not implemented
virtual void laplacien (const Cmp &, int, Cmp &) const
 < Not implemented
virtual void lapang (const Scalar &, Scalar &) const
 < Not implemented
virtual void primr (const Scalar &, Scalar &, bool) const
 < Not implemented
virtual Tblintegrale (const Cmp &) const
 < Not implemented
virtual void poisson (const Cmp &, Param &, Cmp &) const
 < Not implemented
virtual void poisson_tau (const Cmp &, Param &, Cmp &) const
 < Not implemented
virtual void poisson_falloff (const Cmp &, Param &, Cmp &, int) const
 < Not implemented
virtual void poisson_ylm (const Cmp &, Param &, Cmp &, int, double *) const
 < Not implemented
virtual void poisson_regular (const Cmp &, int, int, double, Param &, Cmp &, Cmp &, Cmp &, Tenseur &, Cmp &, Cmp &) const
 < Not implemented
virtual void poisson_angu (const Scalar &, Param &, Scalar &, double=0) const
 < Not implemented
virtual Paramdonne_para_poisson_vect (Param &, int) const
 < Not implemented
virtual void poisson_frontiere (const Cmp &, const Valeur &, int, int, Cmp &, double=0., double=0.) const
 < Not implemented
virtual void poisson_frontiere_double (const Cmp &, const Valeur &, const Valeur &, int, Cmp &) const
 < Not implemented
virtual void poisson_interne (const Cmp &, const Valeur &, Param &, Cmp &) const
 < Not implemented
virtual void poisson2d (const Cmp &, const Cmp &, Param &, Cmp &) const
 < Not implemented
virtual void dalembert (Param &, Scalar &, const Scalar &, const Scalar &, const Scalar &) const
 < Not 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 dxdlnr
 Same as dxdr if the domains where the description is affine and $ \partial x / \partial \ln r$ where it is logarithmic.
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 ()

Private Attributes

Tbl alpha
 Array (size: mg->nzone ) of the values of $\alpha$ in each domain.
Tbl beta
 Array (size: mg->nzone ) of the values of $\beta$ in each domain.
Itbl type_var
 Array (size: mg->nzone ) of the type of variable in each domain.

Friends

Mtblmap_log_fait_r (const Map *)
 < Not implemented
Mtblmap_log_fait_tet (const Map *)
Mtblmap_log_fait_phi (const Map *)
Mtblmap_log_fait_sint (const Map *)
Mtblmap_log_fait_cost (const Map *)
Mtblmap_log_fait_sinp (const Map *)
Mtblmap_log_fait_cosp (const Map *)
Mtblmap_log_fait_x (const Map *)
Mtblmap_log_fait_y (const Map *)
Mtblmap_log_fait_z (const Map *)
Mtblmap_log_fait_xa (const Map *)
Mtblmap_log_fait_ya (const Map *)
Mtblmap_log_fait_za (const Map *)
Mtblmap_log_fait_xsr (const Map *)
Mtblmap_log_fait_dxdr (const Map *)
Mtblmap_log_fait_drdt (const Map *)
Mtblmap_log_fait_stdrdp (const Map *)
Mtblmap_log_fait_srdrdt (const Map *)
Mtblmap_log_fait_srstdrdp (const Map *)
Mtblmap_log_fait_sr2drdt (const Map *)
Mtblmap_log_fait_sr2stdrdp (const Map *)
Mtblmap_log_fait_d2rdx2 (const Map *)
Mtblmap_log_fait_lapr_tp (const Map *)
Mtblmap_log_fait_d2rdtdx (const Map *)
Mtblmap_log_fait_sstd2rdpdx (const Map *)
Mtblmap_log_fait_sr2d2rdt2 (const Map *)
Mtblmap_log_fait_dxdlnr (const Map *)
ostream & operator<< (ostream &, const Map &)
 Operator <<.

Detailed Description

Logarithmic radial mapping.

()

This mapping is a variation of the affine one.

In each domain the description can be either affine (cf. Map_af documentation) or logarithmic. In that case (implemented only in the shells) we have

Definition at line 3579 of file map.h.


Constructor & Destructor Documentation

Map_log::Map_log ( const Mg3d mgrille,
const Tbl r_limits,
const Itbl typevar 
)

Standard Constructor.

Parameters:
mgrille [input] Multi-domain grid on which the mapping is defined
r_limits [input] Tbl (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
type_var [input] Array (size: number of domains) defining the type f mapping in each domain.

Definition at line 63 of file map_log.C.

References alpha, beta, Mg3d::get_nzone(), Mg3d::get_type_r(), log(), Map::mg, Tbl::set(), Tbl::set_etat_qcq(), and type_var.

Map_log::Map_log ( const Map_log so  ) 

Copy constructor.

Definition at line 135 of file map_log.C.

Map_log::Map_log ( const Mg3d mgrille,
FILE *  fd 
)

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

Definition at line 141 of file map_log.C.

References alpha, beta, and type_var.

Map_log::~Map_log (  )  [virtual]

Destructor.

Definition at line 156 of file map_log.C.


Member Function Documentation

void Map_log::adapt ( const Cmp ,
const Param ,
int   
) [virtual]

< Not implemented

Implements Map.

Definition at line 97 of file map_log_pas_fait.C.

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_log::dalembert ( Param ,
Scalar ,
const Scalar ,
const Scalar ,
const Scalar  
) const [virtual]

< Not implemented

Implements Map.

Definition at line 188 of file map_log_pas_fait.C.

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_log::donne_para_poisson_vect ( Param ,
int   
) const [virtual]

< Not implemented

Implements Map.

Definition at line 167 of file map_log_pas_fait.C.

void Map_log::dsdr ( const Cmp ,
Cmp  
) const [virtual]

< Not implemented

Implements Map.

Definition at line 101 of file map_log_pas_fait.C.

void Map_log::dsdr ( const Scalar ci,
Scalar resu 
) const [virtual]

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

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 104 of file map_log_deriv.C.

References Valeur::annule(), Tensor::annule_domain(), Valeur::coef(), Scalar::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_xm1_zec(), Valeur::set(), Scalar::set_dzpuis(), Scalar::set_etat_zero(), Scalar::set_spectral_base(), and Scalar::set_spectral_va().

void Map_log::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 158 of file map_log_deriv.C.

References Valeur::annule(), Tensor::annule_domain(), Valeur::coef(), Scalar::dsdx(), dxdlnr, 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_xm1_zec(), Valeur::set(), Scalar::set_dzpuis(), Scalar::set_etat_zero(), Scalar::set_spectral_base(), and Scalar::set_spectral_va().

void Map_log::dsdt ( const Scalar ,
Scalar  
) const [virtual]

< Not implemented

Implements Map.

Definition at line 125 of file map_log_pas_fait.C.

void Map_log::dsdxi ( const Cmp ,
Cmp  
) const [virtual]

< Not implemented

Implements Map.

Definition at line 105 of file map_log_pas_fait.C.

void Map_log::dsdxi ( const Scalar ci,
Scalar resu 
) const [virtual]

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

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 50 of file map_log_deriv.C.

References Valeur::annule(), Tensor::annule_domain(), Valeur::coef(), Scalar::dsdx(), 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_xm1_zec(), Valeur::set(), Scalar::set_dzpuis(), Scalar::set_etat_zero(), Scalar::set_spectral_base(), and Scalar::set_spectral_va().

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.

double Map_log::get_alpha ( int  l  )  const [inline]

Returns $\alpha$ in the domain l.

Definition at line 3633 of file map.h.

References alpha.

double Map_log::get_beta ( int  l  )  const [inline]

Returns $\beta$ in the domain l.

Definition at line 3635 of file map.h.

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 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.

int Map_log::get_type ( int  l  )  const [inline]

Returns the type of description in the domain l.

Definition at line 3637 of file map.h.

References type_var.

void Map_log::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 89 of file map_log_pas_fait.C.

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_log::integrale ( const Cmp  )  const [virtual]

< Not implemented

Implements Map.

Definition at line 145 of file map_log_pas_fait.C.

void Map_log::lapang ( const Scalar ,
Scalar  
) const [virtual]

< Not implemented

Implements Map.

Definition at line 141 of file map_log_pas_fait.C.

void Map_log::laplacien ( const Cmp ,
int  ,
Cmp  
) const [virtual]

< Not implemented

Implements Map.

Definition at line 133 of file map_log_pas_fait.C.

void Map_log::laplacien ( const Scalar ,
int  ,
Scalar  
) const [virtual]

< Not implemented

Implements Map.

Definition at line 137 of file map_log_pas_fait.C.

const Map_af & Map_log::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 192 of file map_log_pas_fait.C.

References 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_log::operator= ( const Map_af mpa  )  [virtual]
virtual bool Map::operator== ( const Map  )  const [pure virtual, inherited]

Comparison operator (egality).

bool Map_log::operator== ( const Map  )  const [virtual]
ostream & Map_log::operator>> ( ostream &  ost  )  const [virtual]

Operator >>.

Implements Map.

Definition at line 200 of file map_log.C.

References alpha, beta, Mg3d::get_nr(), Mg3d::get_nzone(), Map::mg, Map::r, and type_var.

void Map_log::poisson ( const Cmp ,
Param ,
Cmp  
) const [virtual]

< Not implemented

Implements Map.

Definition at line 150 of file map_log_pas_fait.C.

void Map_log::poisson2d ( const Cmp ,
const Cmp ,
Param ,
Cmp  
) const [virtual]

< Not implemented

Implements Map.

Definition at line 184 of file map_log_pas_fait.C.

void Map_log::poisson_angu ( const Scalar ,
Param ,
Scalar ,
double  = 0 
) const [virtual]

< Not implemented

Implements Map.

Definition at line 163 of file map_log_pas_fait.C.

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_log::poisson_falloff ( const Cmp ,
Param ,
Cmp ,
int   
) const [virtual]

< Not implemented

Implements Map.

Definition at line 202 of file map_log_pas_fait.C.

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

< Not implemented

Implements Map.

Definition at line 172 of file map_log_pas_fait.C.

void Map_log::poisson_frontiere_double ( const Cmp ,
const Valeur ,
const Valeur ,
int  ,
Cmp  
) const [virtual]

< Not implemented

Implements Map.

Definition at line 176 of file map_log_pas_fait.C.

void Map_log::poisson_interne ( const Cmp ,
const Valeur ,
Param ,
Cmp  
) const [virtual]

< Not implemented

Implements Map.

Definition at line 180 of file map_log_pas_fait.C.

void Map_log::poisson_regular ( const Cmp ,
int  ,
int  ,
double  ,
Param ,
Cmp ,
Cmp ,
Cmp ,
Tenseur ,
Cmp ,
Cmp  
) const [virtual]

< Not implemented

Implements Map.

Definition at line 158 of file map_log_pas_fait.C.

void Map_log::poisson_tau ( const Cmp ,
Param ,
Cmp  
) const [virtual]

< Not implemented

Implements Map.

Definition at line 154 of file map_log_pas_fait.C.

void Map_log::poisson_ylm ( const Cmp ,
Param ,
Cmp ,
int  ,
double *   
) const [virtual]

< Not implemented

Implements Map.

Definition at line 206 of file map_log_pas_fait.C.

void Map_log::primr ( const Scalar ,
Scalar ,
bool   
) const [virtual]

< Not implemented

Implements Map.

Definition at line 198 of file map_log_pas_fait.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_radial::reset_coord (  )  [protected, virtual, inherited]
void Map_log::resize ( int  ,
double   
) [virtual]

< Not implemented

Implements Map.

Definition at line 93 of file map_log_pas_fait.C.

void Map_log::sauve ( FILE *  fd  )  const [virtual]

Save in a file.

Reimplemented from Map_radial.

Definition at line 159 of file map_log.C.

References alpha, beta, Itbl::sauve(), Tbl::sauve(), and type_var.

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_log::sol_elliptic ( Param_elliptic params,
const Scalar so,
Scalar uu 
) const

General elliptic solver.

The field is zero at infinity.

Parameters:
params [input] : the operators and variables to be uses.
so [input] : the source.
uu [output] : the solution.

Definition at line 71 of file map_log_elliptic.C.

References Scalar::check_dzpuis(), Valeur::coef(), Scalar::get_etat(), Map::get_mg(), Tensor::get_mp(), Scalar::get_spectral_va(), Map::mg, Scalar::set_dzpuis(), Scalar::set_etat_qcq(), Scalar::set_etat_zero(), Scalar::set_spectral_va(), Param_elliptic::var_F, Param_elliptic::var_G, Valeur::ylm(), and Valeur::ylm_i().

void Map_log::sol_elliptic_boundary ( Param_elliptic params,
const Scalar so,
Scalar uu,
const Scalar bound,
double  fact_dir,
double  fact_neu 
) const
void Map_log::sol_elliptic_boundary ( Param_elliptic params,
const Scalar so,
Scalar uu,
const Mtbl_cf bound,
double  fact_dir,
double  fact_neu 
) const

General elliptic solver including inner boundary conditions.

The field is zero at infinity.

Parameters:
params [input] : the operators and variables to be uses.
so [input] : the source.
uu [output] : the solution.
bound [input] : the boundary condition
fact_dir : 1 Dirchlet condition, 0 Neumann condition
fact_neu : 0 Dirchlet condition, 1 Neumann condition

Definition at line 128 of file map_log_elliptic.C.

References Scalar::check_dzpuis(), Valeur::coef(), Scalar::get_etat(), Map::get_mg(), Tensor::get_mp(), Scalar::get_spectral_va(), Map::mg, Scalar::set_dzpuis(), Scalar::set_etat_qcq(), Scalar::set_etat_zero(), Scalar::set_spectral_va(), Param_elliptic::var_F, Param_elliptic::var_G, Valeur::ylm(), and Valeur::ylm_i().

void Map_log::sol_elliptic_no_zec ( Param_elliptic params,
const Scalar so,
Scalar uu,
double  val 
) const

General elliptic solver.

The equation is not solved in the compactified domain.

Parameters:
params [input] : the operators and variables to be uses.
so [input] : the source.
uu [output] : the solution.
val [input] : value at the last shell.

Definition at line 271 of file map_log_elliptic.C.

References Scalar::check_dzpuis(), Valeur::coef(), Scalar::get_etat(), Map::get_mg(), Tensor::get_mp(), Scalar::get_spectral_va(), Map::mg, Scalar::set_dzpuis(), Scalar::set_etat_qcq(), Scalar::set_etat_zero(), Scalar::set_spectral_va(), Param_elliptic::var_F, Param_elliptic::var_G, Valeur::ylm(), and Valeur::ylm_i().

void Map_log::srdsdt ( const Scalar ,
Scalar  
) const [virtual]

< Not implemented

Implements Map.

Definition at line 117 of file map_log_pas_fait.C.

void Map_log::srdsdt ( const Cmp ,
Cmp  
) const [virtual]

< Not implemented

Implements Map.

Definition at line 109 of file map_log_pas_fait.C.

void Map_log::srstdsdp ( const Scalar ,
Scalar  
) const [virtual]

< Not implemented

Implements Map.

Definition at line 121 of file map_log_pas_fait.C.

void Map_log::srstdsdp ( const Cmp ,
Cmp  
) const [virtual]

< Not implemented

Implements Map.

Definition at line 113 of file map_log_pas_fait.C.

void Map_log::stdsdp ( const Scalar ,
Scalar  
) const [virtual]

< Not implemented

Implements Map.

Definition at line 129 of file map_log_pas_fait.C.

void Map_log::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)$.

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

Implements Map.

Definition at line 200 of file map_log_radius.C.

References val_lx().

void Map_log::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 114 of file map_log_radius.C.

References alpha, beta, exp(), Mg3d::get_nzone(), Mg3d::get_type_r(), log(), Map::mg, and type_var.

void Map_log::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 [] unused by the Map_af version
l [output] value of the domain index
xi [output] value of $\xi$

Implements Map_radial.

Definition at line 223 of file map_log_radius.C.

References val_lx().

double Map_log::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 57 of file map_log_radius.C.

References alpha, beta, exp(), Mg3d::get_type_r(), Map::mg, and type_var.

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

< Comparison operator

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 213 of file map_log_radius.C.

References val_r().


Friends And Related Function Documentation

Mtbl* map_log_fait_r ( const Map cvi  )  [friend]

< Not implemented

Definition at line 53 of file map_log_fait.C.

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

Operator <<.


Member Data Documentation

Tbl Map_log::alpha [private]

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

Definition at line 3585 of file map.h.

Tbl Map_log::beta [private]

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

Definition at line 3587 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.

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.

Same as dxdr if the domains where the description is affine and $ \partial x / \partial \ln r$ where it is logarithmic.

Definition at line 3599 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.

$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.

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.

Array (size: mg->nzone ) of the type of variable in each domain.

The possibles types are AFFINE and LOG.

Definition at line 3591 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.


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

Generated on 7 Oct 2014 for LORENE by  doxygen 1.6.1