LORENE
Lorene::Map_radial Class Referenceabstract

Base class for pure radial mappings. More...

#include <map.h>

Inheritance diagram for Lorene::Map_radial:
Lorene::Map_af Lorene::Map_et Lorene::Map_log

Public Member Functions

virtual ~Map_radial ()
 Destructor.
virtual void operator= (const Map_af &)=0
 Assignment to an affine mapping.
virtual void sauve (FILE *) const
 Save in a file.
virtual double val_r_jk (int l, double xi, int j, int k) const =0
 Returns the value of the radial coordinate r for a given $\xi$ and a given collocation point in $(\theta', \phi')$ in a given domain.
virtual void val_lx_jk (double rr, int j, int k, const Param &par, int &l, double &xi) const =0
 Computes the domain index l and the value of $\xi$ corresponding to a point of arbitrary r but collocation values of $(\theta, \phi)$.
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_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 (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, Scalar &uu) const
 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.

Public Attributes

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.

Protected Member Functions

 Map_radial (const Mg3d &mgrid)
 Constructor from a grid (protected to make Map_radial an abstract class).
 Map_radial (const Map_radial &mp)
 Copy constructor.
 Map_radial (const Mg3d &, FILE *)
 Constructor from a file (see sauve(FILE* ) ).
virtual void reset_coord ()
 Resets all the member Coords.

Detailed Description

Base class for pure radial mappings.

()

A pure radial mapping is a mapping of the type $r=R(\xi, \theta', \phi')$, $\theta=\theta'$, $\phi=\phi'$. The class Map_radial is an abstract class. Effective implementations of radial mapping are performed by the derived class Map_af and Map_et .

Definition at line 1536 of file map.h.

Constructor & Destructor Documentation

◆ Map_radial() [1/3]

Lorene::Map_radial::Map_radial ( const Mg3d & mgrid)
protected

Constructor from a grid (protected to make Map_radial an abstract class).

Definition at line 89 of file map_radial.C.

References Lorene::Map().

◆ Map_radial() [2/3]

Lorene::Map_radial::Map_radial ( const Map_radial & mp)
protected

Copy constructor.

Definition at line 96 of file map_radial.C.

References Lorene::Map(), and Map_radial().

◆ Map_radial() [3/3]

Lorene::Map_radial::Map_radial ( const Mg3d & mgi,
FILE * fd )
protected

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

Definition at line 103 of file map_radial.C.

References Lorene::Map().

◆ ~Map_radial()

Lorene::Map_radial::~Map_radial ( )
virtual

Destructor.

Definition at line 110 of file map_radial.C.

Member Function Documentation

◆ comp_p_from_cartesian() [1/2]

void Lorene::Map_radial::comp_p_from_cartesian ( const Cmp & v_x,
const Cmp & v_y,
Cmp & v_p ) const
virtual

Cmp version

Definition at line 176 of file map_radial_comp_rtp.C.

References comp_p_from_cartesian().

◆ comp_p_from_cartesian() [2/2]

void Lorene::Map_radial::comp_p_from_cartesian ( const Scalar & v_x,
const Scalar & v_y,
Scalar & v_p ) const
virtual

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

Definition at line 183 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_sp(), and Lorene::Scalar::set_dzpuis().

◆ comp_r_from_cartesian() [1/2]

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

Cmp version

Definition at line 65 of file map_radial_comp_rtp.C.

References comp_r_from_cartesian().

◆ comp_r_from_cartesian() [2/2]

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

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

Definition at line 72 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().

◆ comp_t_from_cartesian() [1/2]

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

Cmp version

Definition at line 121 of file map_radial_comp_rtp.C.

References comp_t_from_cartesian().

◆ comp_t_from_cartesian() [2/2]

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

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

Definition at line 128 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().

◆ comp_x_from_spherical() [1/2]

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

Cmp version

Definition at line 68 of file map_radial_comp_xyz.C.

References comp_x_from_spherical().

◆ comp_x_from_spherical() [2/2]

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

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

Definition at line 76 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().

◆ comp_y_from_spherical() [1/2]

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

Cmp version

Definition at line 126 of file map_radial_comp_xyz.C.

References comp_y_from_spherical().

◆ comp_y_from_spherical() [2/2]

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

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

Definition at line 135 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().

◆ comp_z_from_spherical() [1/2]

void Lorene::Map_radial::comp_z_from_spherical ( const Cmp & v_r,
const Cmp & v_theta,
Cmp & v_z ) const
virtual

Cmp version

Definition at line 184 of file map_radial_comp_xyz.C.

References comp_z_from_spherical().

◆ comp_z_from_spherical() [2/2]

void Lorene::Map_radial::comp_z_from_spherical ( const Scalar & v_r,
const Scalar & v_theta,
Scalar & v_z ) const
virtual

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

Definition at line 192 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_ct(), Lorene::Valeur::mult_st(), and Lorene::Scalar::set_dzpuis().

◆ dec2_dzpuis()

void Lorene::Map_radial::dec2_dzpuis ( Scalar & ci) const
virtual

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

Definition at line 748 of file map_radial_r_manip.C.

References Lorene::Valeur::annule(), Lorene::Valeur::base, Lorene::Scalar::get_dzpuis(), Lorene::Scalar::get_etat(), Lorene::Valeur::get_mg(), Lorene::Valeur::mult2_xm1_zec(), Lorene::Scalar::set_dzpuis(), Lorene::Scalar::set_etat_qcq(), Lorene::Scalar::set_spectral_va(), and xsr.

◆ dec_dzpuis()

void Lorene::Map_radial::dec_dzpuis ( Scalar & ci) const
virtual

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

Definition at line 643 of file map_radial_r_manip.C.

References Lorene::Valeur::annule(), Lorene::Valeur::base, Lorene::Scalar::get_dzpuis(), Lorene::Scalar::get_etat(), Lorene::Valeur::get_mg(), Lorene::Valeur::mult_xm1_zec(), Lorene::Scalar::set_dzpuis(), Lorene::Scalar::set_etat_qcq(), Lorene::Scalar::set_spectral_va(), and xsr.

◆ div_cost()

void Lorene::Map_radial::div_cost ( Scalar & ci) const
virtual

◆ div_r()

◆ div_r_zec()

void Lorene::Map_radial::div_r_zec ( Scalar & uu) const
virtual

◆ div_rsint()

◆ div_sint()

void Lorene::Map_radial::div_sint ( Scalar & ci) const
virtual

◆ div_tant()

void Lorene::Map_radial::div_tant ( Scalar & ci) const
virtual

◆ inc2_dzpuis()

void Lorene::Map_radial::inc2_dzpuis ( Scalar & ci) const
virtual

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

Definition at line 799 of file map_radial_r_manip.C.

References Lorene::Valeur::annule(), Lorene::Valeur::base, Lorene::Scalar::get_dzpuis(), Lorene::Scalar::get_etat(), Lorene::Valeur::get_mg(), Lorene::Scalar::set_dzpuis(), Lorene::Scalar::set_etat_qcq(), Lorene::Scalar::set_spectral_va(), Lorene::Valeur::sxm1_zec(), and xsr.

◆ inc_dzpuis()

void Lorene::Map_radial::inc_dzpuis ( Scalar & ci) const
virtual

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

Definition at line 696 of file map_radial_r_manip.C.

References Lorene::Valeur::annule(), Lorene::Valeur::base, Lorene::Scalar::get_dzpuis(), Lorene::Scalar::get_etat(), Lorene::Valeur::get_mg(), Lorene::Scalar::set_dzpuis(), Lorene::Scalar::set_etat_qcq(), Lorene::Scalar::set_spectral_va(), Lorene::Valeur::sxm1_zec(), and xsr.

◆ mult_cost()

void Lorene::Map_radial::mult_cost ( Scalar & ci) const
virtual

◆ mult_r() [1/2]

void Lorene::Map_radial::mult_r ( Cmp & ci) const
virtual

Multiplication by r of a Cmp.

In the CED, there is only a decrement of dzpuis

Definition at line 219 of file map_radial_r_manip.C.

References Lorene::Cmp::annule(), Lorene::Valeur::base, Lorene::Cmp::get_dzpuis(), Lorene::Cmp::get_etat(), Lorene::Valeur::get_mg(), Lorene::Valeur::mult_x(), Lorene::Cmp::set_dzpuis(), Lorene::Cmp::va, and xsr.

◆ mult_r() [2/2]

◆ mult_r_zec()

void Lorene::Map_radial::mult_r_zec ( Scalar & ci) const
virtual

◆ mult_rsint()

◆ mult_sint()

void Lorene::Map_radial::mult_sint ( Scalar & ci) const
virtual

◆ operator=()

virtual void Lorene::Map_radial::operator= ( const Map_af & )
pure virtual

Assignment to an affine mapping.

Implemented in Lorene::Map_af, Lorene::Map_et, and Lorene::Map_log.

◆ operator==()

virtual bool Lorene::Map_radial::operator== ( const Map & ) const
pure virtual

Comparison operator (egality).

Implemented in Lorene::Map_af, Lorene::Map_et, and Lorene::Map_log.

References Lorene::Map().

◆ poisson_compact() [1/2]

void Lorene::Map_radial::poisson_compact ( const Cmp & source,
const Cmp & aa,
const Tenseur & bb,
const Param & par,
Cmp & psi ) const
virtual

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

Definition at line 155 of file map_radial_poisson_cpt.C.

References Lorene::Cmp::annule(), Lorene::bvect_spher, Lorene::Valeur::c_cf, Lorene::Valeur::coef(), Lorene::Valeur::d2sdx2(), Lorene::diffrel(), Lorene::Cmp::dsdr(), Lorene::Valeur::dsdx(), dxdr, Lorene::Param::get_double(), Lorene::Cmp::get_etat(), Lorene::Tenseur::get_etat(), Lorene::Param::get_int(), Lorene::Param::get_int_mod(), Lorene::Cmp::get_mp(), Lorene::Tenseur::get_mp(), Lorene::Tenseur::get_triad(), Lorene::Valeur::lapang(), Lorene::Cmp::laplacien(), Lorene::max(), 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().

◆ poisson_compact() [2/2]

void Lorene::Map_radial::poisson_compact ( int nzet,
const Cmp & source,
const Cmp & aa,
const Tenseur & bb,
const Param & par,
Cmp & psi ) const
virtual

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

Definition at line 453 of file map_radial_poisson_cpt.C.

References Lorene::Cmp::annule(), Lorene::Mtbl::annule_hard(), Lorene::Tbl::annule_hard(), Lorene::bvect_spher, Lorene::Valeur::c_cf, Lorene::Valeur::coef(), Lorene::diffrel(), Lorene::Cmp::dsdr(), Lorene::Map_af::dsdr(), Lorene::Param::get_double(), Lorene::Cmp::get_etat(), Lorene::Tenseur::get_etat(), Lorene::Param::get_int(), Lorene::Param::get_int_mod(), Lorene::Cmp::get_mp(), Lorene::Tenseur::get_mp(), Lorene::Tenseur::get_triad(), Lorene::Cmp::laplacien(), Lorene::Map_af::laplacien(), Lorene::max(), Lorene::min(), 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::Valeur::ylm(), and Lorene::Valeur::ylm_i().

◆ reevaluate() [1/2]

void Lorene::Map_radial::reevaluate ( const Map * mp_prev,
int nzet,
Cmp & uu ) const
virtual

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 58 of file map_radial_reevaluate.C.

References Lorene::Param::add_double(), Lorene::Param::add_int(), Lorene::Param::add_int_mod(), Lorene::Cmp::annule(), Lorene::Cmp::get_dzpuis(), Lorene::Cmp::get_etat(), Lorene::Cmp::get_mp(), Lorene::Map(), Map_radial(), Lorene::r, Lorene::Mtbl::set_etat_qcq(), Lorene::Tbl::set_etat_qcq(), Lorene::Mtbl::t, Lorene::Cmp::va, val_lx_jk(), and Lorene::Mtbl_cf::val_point_jk().

◆ reevaluate() [2/2]

void Lorene::Map_radial::reevaluate ( const Map * mp_prev,
int nzet,
Scalar & uu ) const
virtual

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 173 of file map_radial_reevaluate.C.

References Lorene::Param::add_double(), Lorene::Param::add_int(), Lorene::Param::add_int_mod(), Lorene::Scalar::annule(), Lorene::Valeur::coef(), Lorene::Scalar::get_dzpuis(), Lorene::Scalar::get_etat(), Lorene::Tensor::get_mp(), Lorene::Map(), Map_radial(), Lorene::r, Lorene::Valeur::set_etat_c_qcq(), Lorene::Mtbl::set_etat_qcq(), Lorene::Tbl::set_etat_qcq(), Lorene::Scalar::set_spectral_va(), Lorene::Mtbl::t, val_lx_jk(), and Lorene::Mtbl_cf::val_point_jk().

◆ reevaluate_symy() [1/2]

void Lorene::Map_radial::reevaluate_symy ( const Map * mp_prev,
int nzet,
Cmp & uu ) const
virtual

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 59 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::Cmp::get_dzpuis(), Lorene::Cmp::get_etat(), Lorene::Cmp::get_mp(), Lorene::Map(), Map_radial(), Lorene::r, Lorene::Mtbl::set_etat_qcq(), Lorene::Tbl::set_etat_qcq(), Lorene::Mtbl::t, Lorene::Cmp::va, val_lx_jk(), and Lorene::Mtbl_cf::val_point_jk_symy().

◆ reevaluate_symy() [2/2]

void Lorene::Map_radial::reevaluate_symy ( const Map * mp_prev,
int nzet,
Scalar & uu ) const
virtual

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 193 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::Valeur::coef(), Lorene::Scalar::get_dzpuis(), Lorene::Scalar::get_etat(), Lorene::Tensor::get_mp(), Lorene::Map(), Map_radial(), Lorene::r, Lorene::Valeur::set_etat_c_qcq(), Lorene::Mtbl::set_etat_qcq(), Lorene::Tbl::set_etat_qcq(), Lorene::Scalar::set_spectral_va(), Lorene::Mtbl::t, val_lx_jk(), and Lorene::Mtbl_cf::val_point_jk_symy().

◆ reset_coord()

void Lorene::Map_radial::reset_coord ( )
protectedvirtual

Resets all the member Coords.

Reimplemented in Lorene::Map_et.

Definition at line 126 of file map_radial.C.

References d2rdtdx, d2rdx2, drdt, dxdr, lapr_tp, sr2d2rdt2, sr2drdt, sr2stdrdp, srdrdt, srstdrdp, sstd2rdpdx, stdrdp, and xsr.

◆ sauve()

void Lorene::Map_radial::sauve ( FILE * fd) const
virtual

Save in a file.

Reimplemented in Lorene::Map_af, Lorene::Map_et, and Lorene::Map_log.

Definition at line 116 of file map_radial.C.

◆ val_lx_jk()

virtual void Lorene::Map_radial::val_lx_jk ( double rr,
int j,
int k,
const Param & par,
int & l,
double & xi ) const
pure virtual

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

Parameters
rr[input] value of r
j[input] index of the collocation point in $\theta$
k[input] index of the collocation point in $\phi$
par[input/output] parameters to control the accuracy of the computation
l[output] value of the domain index
xi[output] value of $\xi$

Implemented in Lorene::Map_af, Lorene::Map_et, and Lorene::Map_log.

◆ val_r_jk()

virtual double Lorene::Map_radial::val_r_jk ( int l,
double xi,
int j,
int k ) const
pure virtual

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

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

Implemented in Lorene::Map_af, Lorene::Map_et, and Lorene::Map_log.

Member Data Documentation

◆ d2rdtdx

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

Definition at line 1640 of file map.h.

◆ d2rdx2

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

Definition at line 1619 of file map.h.

◆ drdt

Coord Lorene::Map_radial::drdt

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

◆ dxdr

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

Definition at line 1560 of file map.h.

◆ lapr_tp

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

Definition at line 1631 of file map.h.

◆ sr2d2rdt2

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

Definition at line 1657 of file map.h.

◆ sr2drdt

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

Definition at line 1600 of file map.h.

◆ sr2stdrdp

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

Definition at line 1608 of file map.h.

◆ srdrdt

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

Definition at line 1584 of file map.h.

◆ srstdrdp

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

Definition at line 1592 of file map.h.

◆ sstd2rdpdx

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

Definition at line 1648 of file map.h.

◆ stdrdp

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

Definition at line 1576 of file map.h.

◆ xsr

Coord Lorene::Map_radial::xsr

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

Definition at line 1549 of file map.h.


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