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

Logarithmic radial mapping. More...

#include <map.h>

Inheritance diagram for Lorene::Map_log:
Lorene::Map_radial Lorene::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 3587 of file map.h.


Constructor & Destructor Documentation

Lorene::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 70 of file map_log.C.

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

Lorene::Map_log::Map_log ( const Map_log so  ) 

Copy constructor.

Definition at line 142 of file map_log.C.

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

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

Definition at line 148 of file map_log.C.

References alpha, beta, and type_var.

Lorene::Map_log::~Map_log (  )  [virtual]

Destructor.

Definition at line 163 of file map_log.C.


Member Function Documentation

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

< Not implemented

Implements Lorene::Map.

Definition at line 104 of file map_log_pas_fait.C.

const Cmp& Lorene::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 810 of file map.h.

References Lorene::Map::p_cmp_zero.

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

Cmp version

Implements Lorene::Map.

Definition at line 179 of file map_radial_comp_rtp.C.

References Lorene::Map_radial::comp_p_from_cartesian().

void Lorene::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 Lorene::Map.

Definition at line 186 of file map_radial_comp_rtp.C.

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

void Lorene::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 Lorene::Map.

Definition at line 68 of file map_radial_comp_rtp.C.

References Lorene::Map_radial::comp_r_from_cartesian().

void Lorene::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 Lorene::Map.

Definition at line 75 of file map_radial_comp_rtp.C.

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

void Lorene::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 Lorene::Map.

Definition at line 124 of file map_radial_comp_rtp.C.

References Lorene::Map_radial::comp_t_from_cartesian().

void Lorene::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 Lorene::Map.

Definition at line 131 of file map_radial_comp_rtp.C.

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

void Lorene::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 Lorene::Map.

Definition at line 71 of file map_radial_comp_xyz.C.

References Lorene::Map_radial::comp_x_from_spherical().

void Lorene::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 Lorene::Map.

Definition at line 79 of file map_radial_comp_xyz.C.

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

void Lorene::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 Lorene::Map.

Definition at line 129 of file map_radial_comp_xyz.C.

References Lorene::Map_radial::comp_y_from_spherical().

void Lorene::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 Lorene::Map.

Definition at line 138 of file map_radial_comp_xyz.C.

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

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

Cmp version

Implements Lorene::Map.

Definition at line 187 of file map_radial_comp_xyz.C.

References Lorene::Map_radial::comp_z_from_spherical().

void Lorene::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 Lorene::Map.

Definition at line 195 of file map_radial_comp_xyz.C.

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

void Lorene::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 305 of file map.C.

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

void Lorene::Map_log::dalembert ( Param ,
Scalar ,
const Scalar ,
const Scalar ,
const Scalar  
) const [virtual]

< Not implemented

Implements Lorene::Map.

Definition at line 195 of file map_log_pas_fait.C.

void Lorene::Map_radial::dec2_dzpuis ( Scalar ci  )  const [virtual, inherited]
void Lorene::Map_radial::dec_dzpuis ( Scalar ci  )  const [virtual, inherited]
void Lorene::Map_radial::div_cost ( Scalar ci  )  const [virtual, inherited]
void Lorene::Map_radial::div_r ( Scalar ci  )  const [virtual, inherited]
void Lorene::Map_radial::div_r_zec ( Scalar uu  )  const [virtual, inherited]
void Lorene::Map_radial::div_rsint ( Scalar ci  )  const [virtual, inherited]
void Lorene::Map_radial::div_sint ( Scalar ci  )  const [virtual, inherited]
void Lorene::Map_radial::div_tant ( Scalar ci  )  const [virtual, inherited]
Param * Lorene::Map_log::donne_para_poisson_vect ( Param ,
int   
) const [virtual]

< Not implemented

Implements Lorene::Map.

Definition at line 174 of file map_log_pas_fait.C.

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

< Not implemented

Implements Lorene::Map.

Definition at line 108 of file map_log_pas_fait.C.

void Lorene::Map_log::dsdr ( const Scalar ci,
Scalar resu 
) const [virtual]
void Lorene::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 Lorene::Map.

Definition at line 165 of file map_log_deriv.C.

References Lorene::Valeur::annule(), Lorene::Tensor::annule_domain(), Lorene::Valeur::coef(), Lorene::Scalar::dsdx(), dxdlnr, Lorene::Scalar::get_dzpuis(), Lorene::Scalar::get_etat(), Lorene::Map::get_mg(), Lorene::Tensor::get_mp(), Lorene::Mg3d::get_nzone(), Lorene::Scalar::get_spectral_va(), Lorene::Mg3d::get_type_r(), Lorene::Map::mg, Lorene::Valeur::mult_xm1_zec(), Lorene::Valeur::set(), Lorene::Scalar::set_dzpuis(), Lorene::Scalar::set_etat_zero(), Lorene::Scalar::set_spectral_base(), and Lorene::Scalar::set_spectral_va().

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

< Not implemented

Implements Lorene::Map.

Definition at line 132 of file map_log_pas_fait.C.

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

< Not implemented

Implements Lorene::Map.

Definition at line 112 of file map_log_pas_fait.C.

void Lorene::Map_log::dsdxi ( const Scalar ci,
Scalar resu 
) const [virtual]
const Metric_flat & Lorene::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 334 of file map.C.

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

const Metric_flat & Lorene::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 324 of file map.C.

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

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

Returns $\alpha$ in the domain l.

Definition at line 3641 of file map.h.

References alpha.

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

Returns $\beta$ in the domain l.

Definition at line 3643 of file map.h.

References beta.

const Base_vect_cart& Lorene::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 794 of file map.h.

References Lorene::Map::bvect_cart.

const Base_vect_spher& Lorene::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 786 of file map.h.

References Lorene::Map::bvect_spher.

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

Gives the Mg3d on which the mapping is defined.

Definition at line 768 of file map.h.

References Lorene::Map::mg.

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

Returns the x coordinate of the origin.

Definition at line 771 of file map.h.

References Lorene::Map::ori_x.

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

Returns the y coordinate of the origin.

Definition at line 773 of file map.h.

References Lorene::Map::ori_y.

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

Returns the z coordinate of the origin.

Definition at line 775 of file map.h.

References Lorene::Map::ori_z.

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

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

Definition at line 778 of file map.h.

References Lorene::Map::rot_phi.

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

Returns the type of description in the domain l.

Definition at line 3645 of file map.h.

References type_var.

void Lorene::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 Lorene::Map.

Definition at line 96 of file map_log_pas_fait.C.

void Lorene::Map_radial::inc2_dzpuis ( Scalar ci  )  const [virtual, inherited]
void Lorene::Map_radial::inc_dzpuis ( Scalar ci  )  const [virtual, inherited]
Tbl * Lorene::Map_log::integrale ( const Cmp  )  const [virtual]

< Not implemented

Implements Lorene::Map.

Definition at line 152 of file map_log_pas_fait.C.

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

< Not implemented

Implements Lorene::Map.

Definition at line 148 of file map_log_pas_fait.C.

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

< Not implemented

Implements Lorene::Map.

Definition at line 140 of file map_log_pas_fait.C.

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

< Not implemented

Implements Lorene::Map.

Definition at line 144 of file map_log_pas_fait.C.

const Map_af & Lorene::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 Lorene::Map.

Definition at line 199 of file map_log_pas_fait.C.

References Lorene::Map::p_mp_angu.

void Lorene::Map_radial::mult_cost ( Scalar ci  )  const [virtual, inherited]
void Lorene::Map_radial::mult_r ( Cmp ci  )  const [virtual, inherited]
void Lorene::Map_radial::mult_r ( Scalar uu  )  const [virtual, inherited]
void Lorene::Map_radial::mult_r_zec ( Scalar ci  )  const [virtual, inherited]
void Lorene::Map_radial::mult_rsint ( Scalar ci  )  const [virtual, inherited]
void Lorene::Map_radial::mult_sint ( Scalar ci  )  const [virtual, inherited]
void Lorene::Map_log::operator= ( const Map_af mpa  )  [virtual]
virtual bool Lorene::Map::operator== ( const Map  )  const [pure virtual, inherited]

Comparison operator (egality).

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

Operator >>.

Implements Lorene::Map.

Definition at line 207 of file map_log.C.

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

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

< Not implemented

Implements Lorene::Map.

Definition at line 157 of file map_log_pas_fait.C.

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

< Not implemented

Implements Lorene::Map.

Definition at line 191 of file map_log_pas_fait.C.

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

< Not implemented

Implements Lorene::Map.

Definition at line 170 of file map_log_pas_fait.C.

void Lorene::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 Lorene::Map.

Definition at line 456 of file map_radial_poisson_cpt.C.

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

void Lorene::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 Lorene::Map.

Definition at line 158 of file map_radial_poisson_cpt.C.

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

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

< Not implemented

Implements Lorene::Map.

Definition at line 209 of file map_log_pas_fait.C.

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

< Not implemented

Implements Lorene::Map.

Definition at line 179 of file map_log_pas_fait.C.

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

< Not implemented

Implements Lorene::Map.

Definition at line 183 of file map_log_pas_fait.C.

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

< Not implemented

Implements Lorene::Map.

Definition at line 187 of file map_log_pas_fait.C.

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

< Not implemented

Implements Lorene::Map.

Definition at line 165 of file map_log_pas_fait.C.

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

< Not implemented

Implements Lorene::Map.

Definition at line 161 of file map_log_pas_fait.C.

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

< Not implemented

Implements Lorene::Map.

Definition at line 213 of file map_log_pas_fait.C.

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

< Not implemented

Implements Lorene::Map.

Definition at line 205 of file map_log_pas_fait.C.

virtual void Lorene::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 Lorene::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 Lorene::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 176 of file map_radial_reevaluate.C.

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

void Lorene::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 61 of file map_radial_reevaluate.C.

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

virtual void Lorene::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 Lorene::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 Lorene::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 196 of file map_radial_reeval_symy.C.

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

void Lorene::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 62 of file map_radial_reeval_symy.C.

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

void Lorene::Map_radial::reset_coord (  )  [protected, virtual, inherited]
void Lorene::Map_log::resize ( int  ,
double   
) [virtual]

< Not implemented

Implements Lorene::Map.

Definition at line 100 of file map_log_pas_fait.C.

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

Save in a file.

Reimplemented from Lorene::Map_radial.

Definition at line 166 of file map_log.C.

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

void Lorene::Map::set_ori ( double  xa0,
double  ya0,
double  za0 
) [inherited]
void Lorene::Map::set_rot_phi ( double  phi0  )  [inherited]
void Lorene::Map_log::sol_elliptic ( Param_elliptic params,
const Scalar so,
Scalar uu 
) const
void Lorene::Map_log::sol_elliptic_boundary ( Param_elliptic params,
const Scalar so,
Scalar uu,
const Scalar bound,
double  fact_dir,
double  fact_neu 
) const
void Lorene::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 138 of file map_log_elliptic.C.

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

void Lorene::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 281 of file map_log_elliptic.C.

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

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

< Not implemented

Implements Lorene::Map.

Definition at line 124 of file map_log_pas_fait.C.

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

< Not implemented

Implements Lorene::Map.

Definition at line 116 of file map_log_pas_fait.C.

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

< Not implemented

Implements Lorene::Map.

Definition at line 128 of file map_log_pas_fait.C.

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

< Not implemented

Implements Lorene::Map.

Definition at line 120 of file map_log_pas_fait.C.

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

< Not implemented

Implements Lorene::Map.

Definition at line 136 of file map_log_pas_fait.C.

void Lorene::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 Lorene::Map.

Definition at line 207 of file map_log_radius.C.

References val_lx().

void Lorene::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 Lorene::Map.

Definition at line 121 of file map_log_radius.C.

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

void Lorene::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 Lorene::Map_radial.

Definition at line 230 of file map_log_radius.C.

References val_lx().

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

Definition at line 64 of file map_log_radius.C.

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

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

Definition at line 220 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 60 of file map_log_fait.C.

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

Operator <<.


Member Data Documentation

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

Definition at line 3593 of file map.h.

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

Definition at line 3595 of file map.h.

Base_vect_cart Lorene::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 700 of file map.h.

Base_vect_spher Lorene::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 692 of file map.h.

Coord Lorene::Map::cosp [inherited]

$\cos\phi$

Definition at line 727 of file map.h.

Coord Lorene::Map::cost [inherited]

$\cos\theta$

Definition at line 725 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 1643 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 1622 of file map.h.

$\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 1571 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 3607 of file map.h.

$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 1563 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 1634 of file map.h.

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

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

Definition at line 679 of file map.h.

double Lorene::Map::ori_x [protected, inherited]

Absolute coordinate x of the origin.

Definition at line 681 of file map.h.

double Lorene::Map::ori_y [protected, inherited]

Absolute coordinate y of the origin.

Definition at line 682 of file map.h.

double Lorene::Map::ori_z [protected, inherited]

Absolute coordinate z of the origin.

Definition at line 683 of file map.h.

Cmp* Lorene::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 716 of file map.h.

Metric_flat* Lorene::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 710 of file map.h.

Metric_flat* Lorene::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 705 of file map.h.

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

Pointer on the "angular" mapping.

Definition at line 718 of file map.h.

Coord Lorene::Map::phi [inherited]

$\phi$ coordinate centered on the grid

Definition at line 723 of file map.h.

Coord Lorene::Map::r [inherited]

r coordinate centered on the grid

Definition at line 721 of file map.h.

double Lorene::Map::rot_phi [protected, inherited]

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

Definition at line 684 of file map.h.

Coord Lorene::Map::sinp [inherited]

$\sin\phi$

Definition at line 726 of file map.h.

Coord Lorene::Map::sint [inherited]

$\sin\theta$

Definition at line 724 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 1660 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 1603 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 1611 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 1587 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 1595 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 1651 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 1579 of file map.h.

Coord Lorene::Map::tet [inherited]

$\theta$ coordinate centered on the grid

Definition at line 722 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 3599 of file map.h.

Coord Lorene::Map::x [inherited]

x coordinate centered on the grid

Definition at line 729 of file map.h.

Coord Lorene::Map::xa [inherited]

Absolute x coordinate.

Definition at line 733 of file map.h.

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

Definition at line 1552 of file map.h.

Coord Lorene::Map::y [inherited]

y coordinate centered on the grid

Definition at line 730 of file map.h.

Coord Lorene::Map::ya [inherited]

Absolute y coordinate.

Definition at line 734 of file map.h.

Coord Lorene::Map::z [inherited]

z coordinate centered on the grid

Definition at line 731 of file map.h.

Coord Lorene::Map::za [inherited]

Absolute z coordinate.

Definition at line 735 of file map.h.


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

Generated on 7 Dec 2019 for LORENE by  doxygen 1.6.1