620#include "base_vect.h"
632class Param_elliptic ;
757 virtual void sauve(FILE* )
const ;
825 double& rr,
double& theta,
double& pphi)
const ;
835 virtual double val_r(
int l,
double xi,
double theta,
double pphi)
846 virtual void val_lx(
double rr,
double theta,
double pphi,
847 int& l,
double& xi)
const = 0 ;
861 virtual void val_lx(
double rr,
double theta,
double pphi,
862 const Param& par,
int& l,
double& xi)
const = 0 ;
873 void set_ori(
double xa0,
double ya0,
double za0) ;
891 virtual void resize(
int l,
double lambda) = 0 ;
1080 Cmp& lap)
const = 0 ;
1102 bool null_infty)
const = 0 ;
1173 const Cmp& v_phi,
Cmp& v_x)
const = 0 ;
1189 const Cmp& v_phi,
Cmp& v_y)
const = 0 ;
1204 Cmp& v_z)
const = 0 ;
1219 const Cmp& v_z,
Cmp& v_r)
const = 0 ;
1235 const Cmp& v_z,
Cmp& v_t)
const = 0 ;
1250 Cmp& v_p)
const = 0 ;
1312 virtual void poisson_falloff(
const Cmp& source,
Param& par,
Cmp& uu,
1313 int k_falloff)
const = 0 ;
1315 virtual void poisson_ylm(
const Cmp& source,
Param& par,
Cmp& pot,
1316 int nylm,
double* intvec)
const = 0 ;
1341 double unsgam1,
Param& par,
Cmp& uu,
1342 Cmp& uu_regu,
Cmp& uu_div,
1344 Cmp& source_div)
const = 0 ;
1361 Cmp& psi)
const = 0 ;
1379 Cmp& psi)
const = 0 ;
1399 Scalar& uu,
double lambda=0)
const = 0 ;
1449 int raccord,
int num_front,
Cmp& pot,
1450 double = 0.,
double = 0.)
const = 0 ;
1452 virtual void poisson_frontiere_double (
const Cmp& source,
const Valeur& lim_func,
1453 const Valeur& lim_der,
int num_zone,
Cmp& pot)
const = 0 ;
1514ostream& operator<<(ostream& ,
const Map& ) ;
1685 virtual void sauve(FILE* )
const ;
1698 virtual double val_r_jk(
int l,
double xi,
int j,
int k)
const = 0 ;
1711 int& l,
double& xi)
const = 0 ;
1848 const Cmp& v_phi,
Cmp& v_x)
const ;
1864 const Cmp& v_phi,
Cmp& v_y)
const ;
1895 const Cmp& v_z,
Cmp& v_r)
const ;
1911 const Cmp& v_z,
Cmp& v_t)
const ;
2051 Map_af(
const Mg3d& mgrille,
const double* r_limits) ;
2119 virtual double val_r(
int l,
double xi,
double theta,
double pphi)
const ;
2130 virtual void val_lx(
double rr,
double theta,
double pphi,
2131 int& l,
double& xi)
const ;
2142 virtual void val_lx(
double rr,
double theta,
double pphi,
2143 const Param& par,
int& l,
double& xi)
const ;
2154 virtual double val_r_jk(
int l,
double xi,
int j,
int k)
const ;
2165 virtual void val_lx_jk(
double rr,
int j,
int k,
const Param& par,
2166 int& l,
double& xi)
const ;
2175 virtual void sauve(FILE* )
const ;
2178 virtual ostream&
operator>>(ostream &)
const ;
2198 virtual void resize(
int l,
double lambda) ;
2209 virtual void adapt(
const Cmp& ent,
const Param& par,
int nbr=0) ;
2215 void set_beta(
double beta0,
int l) ;
2226 virtual void dsdxi(
const Cmp& ci,
Cmp& resu)
const ;
2234 virtual void dsdr(
const Cmp& ci,
Cmp& resu)
const ;
2347 bool null_infty)
const ;
2381 virtual void poisson_falloff(
const Cmp& source,
Param& par,
Cmp& uu,
2382 int k_falloff)
const ;
2384 virtual void poisson_ylm(
const Cmp& source,
Param& par,
Cmp& pot,
2385 int nylm,
double* intvec)
const ;
2409 double unsgam1,
Param& par,
Cmp& uu,
2410 Cmp& uu_regu,
Cmp& uu_div,
2412 Cmp& source_div)
const ;
2432 Scalar& uu,
double lambda=0)
const ;
2457 const Valeur& lim_der,
int num_zone,
Cmp& pot)
const ;
2484 double integrale_surface_falloff (
const Cmp& ci)
const ;
2522 double fact_dir,
double fact_neu )
const ;
2530 double fact_dir,
double fact_neu )
const ;
2563 double* coefs,
double*)
const ;
2656 friend Mtbl* map_af_fait_r(
const Map* ) ;
2657 friend Mtbl* map_af_fait_tet(
const Map* ) ;
2658 friend Mtbl* map_af_fait_phi(
const Map* ) ;
2659 friend Mtbl* map_af_fait_sint(
const Map* ) ;
2660 friend Mtbl* map_af_fait_cost(
const Map* ) ;
2661 friend Mtbl* map_af_fait_sinp(
const Map* ) ;
2662 friend Mtbl* map_af_fait_cosp(
const Map* ) ;
2664 friend Mtbl* map_af_fait_x(
const Map* ) ;
2665 friend Mtbl* map_af_fait_y(
const Map* ) ;
2666 friend Mtbl* map_af_fait_z(
const Map* ) ;
2668 friend Mtbl* map_af_fait_xa(
const Map* ) ;
2669 friend Mtbl* map_af_fait_ya(
const Map* ) ;
2670 friend Mtbl* map_af_fait_za(
const Map* ) ;
2672 friend Mtbl* map_af_fait_xsr(
const Map* ) ;
2673 friend Mtbl* map_af_fait_dxdr(
const Map* ) ;
2674 friend Mtbl* map_af_fait_drdt(
const Map* ) ;
2675 friend Mtbl* map_af_fait_stdrdp(
const Map* ) ;
2676 friend Mtbl* map_af_fait_srdrdt(
const Map* ) ;
2677 friend Mtbl* map_af_fait_srstdrdp(
const Map* ) ;
2678 friend Mtbl* map_af_fait_sr2drdt(
const Map* ) ;
2679 friend Mtbl* map_af_fait_sr2stdrdp(
const Map* ) ;
2680 friend Mtbl* map_af_fait_d2rdx2(
const Map* ) ;
2681 friend Mtbl* map_af_fait_lapr_tp(
const Map* ) ;
2682 friend Mtbl* map_af_fait_d2rdtdx(
const Map* ) ;
2683 friend Mtbl* map_af_fait_sstd2rdpdx(
const Map* ) ;
2684 friend Mtbl* map_af_fait_sr2d2rdt2(
const Map* ) ;
2688 Mtbl* map_af_fait_r(
const Map* ) ;
2689 Mtbl* map_af_fait_tet(
const Map* ) ;
2690 Mtbl* map_af_fait_phi(
const Map* ) ;
2691 Mtbl* map_af_fait_sint(
const Map* ) ;
2692 Mtbl* map_af_fait_cost(
const Map* ) ;
2693 Mtbl* map_af_fait_sinp(
const Map* ) ;
2694 Mtbl* map_af_fait_cosp(
const Map* ) ;
2696 Mtbl* map_af_fait_x(
const Map* ) ;
2697 Mtbl* map_af_fait_y(
const Map* ) ;
2698 Mtbl* map_af_fait_z(
const Map* ) ;
2700 Mtbl* map_af_fait_xa(
const Map* ) ;
2701 Mtbl* map_af_fait_ya(
const Map* ) ;
2702 Mtbl* map_af_fait_za(
const Map* ) ;
2704 Mtbl* map_af_fait_xsr(
const Map* ) ;
2705 Mtbl* map_af_fait_dxdr(
const Map* ) ;
2706 Mtbl* map_af_fait_drdt(
const Map* ) ;
2707 Mtbl* map_af_fait_stdrdp(
const Map* ) ;
2708 Mtbl* map_af_fait_srdrdt(
const Map* ) ;
2709 Mtbl* map_af_fait_srstdrdp(
const Map* ) ;
2710 Mtbl* map_af_fait_sr2drdt(
const Map* ) ;
2711 Mtbl* map_af_fait_sr2stdrdp(
const Map* ) ;
2712 Mtbl* map_af_fait_d2rdx2(
const Map* ) ;
2713 Mtbl* map_af_fait_lapr_tp(
const Map* ) ;
2714 Mtbl* map_af_fait_d2rdtdx(
const Map* ) ;
2715 Mtbl* map_af_fait_sstd2rdpdx(
const Map* ) ;
2716 Mtbl* map_af_fait_sr2d2rdt2(
const Map* ) ;
2857 Map_et(
const Mg3d& mgrille,
const double* r_limits) ;
2876 Map_et(
const Mg3d& mgrille,
const double* r_limits,
const Tbl& tab);
2942 virtual double val_r(
int l,
double xi,
double theta,
double pphi)
const ;
2953 virtual void val_lx(
double rr,
double theta,
double pphi,
2954 int& l,
double& xi)
const ;
2974 virtual void val_lx(
double rr,
double theta,
double pphi,
2975 const Param& par,
int& l,
double& xi)
const ;
2989 virtual double val_r_jk(
int l,
double xi,
int j,
int k)
const ;
3007 virtual void val_lx_jk(
double rr,
int j,
int k,
const Param& par,
3008 int& l,
double& xi)
const ;
3015 virtual void sauve(FILE* )
const ;
3018 virtual ostream&
operator>>(ostream &)
const ;
3038 virtual void resize(
int l,
double lambda) ;
3052 void set_beta(
double beta0,
int l) ;
3100 virtual void adapt(
const Cmp& ent,
const Param& par,
int nbr_filtre = 0) ;
3111 virtual void dsdxi(
const Cmp& ci,
Cmp& resu)
const ;
3119 virtual void dsdr(
const Cmp& ci,
Cmp& resu)
const ;
3233 bool null_infty)
const ;
3327 virtual void poisson_falloff(
const Cmp& source,
Param& par,
Cmp& uu,
3328 int k_falloff)
const ;
3330 virtual void poisson_ylm(
const Cmp& source,
Param& par,
Cmp& uu,
3331 int nylm,
double* intvec)
const ;
3369 double unsgam1,
Param& par,
Cmp& uu,
3370 Cmp& uu_regu,
Cmp& uu_div,
3372 Cmp& source_div)
const ;
3392 Scalar& uu,
double lambda=0)
const ;
3423 Cmp&,
double = 0.,
double = 0.)
const ;
3424 virtual void poisson_frontiere_double (
const Cmp& source,
3426 int num_zone,
Cmp& pot)
const ;
3494 friend Mtbl* map_et_fait_r(
const Map* ) ;
3495 friend Mtbl* map_et_fait_tet(
const Map* ) ;
3496 friend Mtbl* map_et_fait_phi(
const Map* ) ;
3497 friend Mtbl* map_et_fait_sint(
const Map* ) ;
3498 friend Mtbl* map_et_fait_cost(
const Map* ) ;
3499 friend Mtbl* map_et_fait_sinp(
const Map* ) ;
3500 friend Mtbl* map_et_fait_cosp(
const Map* ) ;
3502 friend Mtbl* map_et_fait_x(
const Map* ) ;
3503 friend Mtbl* map_et_fait_y(
const Map* ) ;
3504 friend Mtbl* map_et_fait_z(
const Map* ) ;
3506 friend Mtbl* map_et_fait_xa(
const Map* ) ;
3507 friend Mtbl* map_et_fait_ya(
const Map* ) ;
3508 friend Mtbl* map_et_fait_za(
const Map* ) ;
3510 friend Mtbl* map_et_fait_xsr(
const Map* ) ;
3511 friend Mtbl* map_et_fait_dxdr(
const Map* ) ;
3512 friend Mtbl* map_et_fait_drdt(
const Map* ) ;
3513 friend Mtbl* map_et_fait_stdrdp(
const Map* ) ;
3514 friend Mtbl* map_et_fait_srdrdt(
const Map* ) ;
3515 friend Mtbl* map_et_fait_srstdrdp(
const Map* ) ;
3516 friend Mtbl* map_et_fait_sr2drdt(
const Map* ) ;
3517 friend Mtbl* map_et_fait_sr2stdrdp(
const Map* ) ;
3518 friend Mtbl* map_et_fait_d2rdx2(
const Map* ) ;
3519 friend Mtbl* map_et_fait_lapr_tp(
const Map* ) ;
3520 friend Mtbl* map_et_fait_d2rdtdx(
const Map* ) ;
3521 friend Mtbl* map_et_fait_sstd2rdpdx(
const Map* ) ;
3522 friend Mtbl* map_et_fait_sr2d2rdt2(
const Map* ) ;
3524 friend Mtbl* map_et_fait_rsxdxdr(
const Map* ) ;
3525 friend Mtbl* map_et_fait_rsx2drdx(
const Map* ) ;
3529 Mtbl* map_et_fait_r(
const Map* ) ;
3530 Mtbl* map_et_fait_tet(
const Map* ) ;
3531 Mtbl* map_et_fait_phi(
const Map* ) ;
3532 Mtbl* map_et_fait_sint(
const Map* ) ;
3533 Mtbl* map_et_fait_cost(
const Map* ) ;
3534 Mtbl* map_et_fait_sinp(
const Map* ) ;
3535 Mtbl* map_et_fait_cosp(
const Map* ) ;
3537 Mtbl* map_et_fait_x(
const Map* ) ;
3538 Mtbl* map_et_fait_y(
const Map* ) ;
3539 Mtbl* map_et_fait_z(
const Map* ) ;
3541 Mtbl* map_et_fait_xa(
const Map* ) ;
3542 Mtbl* map_et_fait_ya(
const Map* ) ;
3543 Mtbl* map_et_fait_za(
const Map* ) ;
3545 Mtbl* map_et_fait_xsr(
const Map* ) ;
3546 Mtbl* map_et_fait_dxdr(
const Map* ) ;
3547 Mtbl* map_et_fait_drdt(
const Map* ) ;
3548 Mtbl* map_et_fait_stdrdp(
const Map* ) ;
3549 Mtbl* map_et_fait_srdrdt(
const Map* ) ;
3550 Mtbl* map_et_fait_srstdrdp(
const Map* ) ;
3551 Mtbl* map_et_fait_sr2drdt(
const Map* ) ;
3552 Mtbl* map_et_fait_sr2stdrdp(
const Map* ) ;
3553 Mtbl* map_et_fait_d2rdx2(
const Map* ) ;
3554 Mtbl* map_et_fait_lapr_tp(
const Map* ) ;
3555 Mtbl* map_et_fait_d2rdtdx(
const Map* ) ;
3556 Mtbl* map_et_fait_sstd2rdpdx(
const Map* ) ;
3557 Mtbl* map_et_fait_sr2d2rdt2(
const Map* ) ;
3559 Mtbl* map_et_fait_rsxdxdr(
const Map* ) ;
3560 Mtbl* map_et_fait_rsx2drdx(
const Map* ) ;
3667 double fact_dir,
double fact_neu )
const ;
3674 double fact_dir,
double fact_neu )
const ;
3690 virtual void sauve(FILE*)
const ;
3696 virtual ostream&
operator>> (ostream&)
const ;
3707 virtual double val_r (
int l,
double xi,
double theta,
double pphi)
const ;
3718 virtual void val_lx (
double rr,
double theta,
double pphi,
int& l,
double& xi)
const ;
3729 virtual void val_lx (
double rr,
double theta,
double pphi,
const Param& par,
int& l,
double& xi)
const ;
3743 virtual double val_r_jk (
int l,
double xi,
int j,
int k)
const ;
3754 virtual void val_lx_jk (
double rr,
int j,
int k,
const Param& par,
int& l,
double& xi)
const ;
3783 virtual void resize (
int,
double) ;
3816 friend Mtbl* map_log_fait_tet(
const Map* ) ;
3817 friend Mtbl* map_log_fait_phi(
const Map* ) ;
3818 friend Mtbl* map_log_fait_sint(
const Map* ) ;
3819 friend Mtbl* map_log_fait_cost(
const Map* ) ;
3820 friend Mtbl* map_log_fait_sinp(
const Map* ) ;
3821 friend Mtbl* map_log_fait_cosp(
const Map* ) ;
3823 friend Mtbl* map_log_fait_x(
const Map* ) ;
3824 friend Mtbl* map_log_fait_y(
const Map* ) ;
3825 friend Mtbl* map_log_fait_z(
const Map* ) ;
3827 friend Mtbl* map_log_fait_xa(
const Map* ) ;
3828 friend Mtbl* map_log_fait_ya(
const Map* ) ;
3829 friend Mtbl* map_log_fait_za(
const Map* ) ;
3831 friend Mtbl* map_log_fait_xsr(
const Map* ) ;
3832 friend Mtbl* map_log_fait_dxdr(
const Map* ) ;
3833 friend Mtbl* map_log_fait_drdt(
const Map* ) ;
3834 friend Mtbl* map_log_fait_stdrdp(
const Map* ) ;
3835 friend Mtbl* map_log_fait_srdrdt(
const Map* ) ;
3836 friend Mtbl* map_log_fait_srstdrdp(
const Map* ) ;
3837 friend Mtbl* map_log_fait_sr2drdt(
const Map* ) ;
3838 friend Mtbl* map_log_fait_sr2stdrdp(
const Map* ) ;
3839 friend Mtbl* map_log_fait_d2rdx2(
const Map* ) ;
3840 friend Mtbl* map_log_fait_lapr_tp(
const Map* ) ;
3841 friend Mtbl* map_log_fait_d2rdtdx(
const Map* ) ;
3842 friend Mtbl* map_log_fait_sstd2rdpdx(
const Map* ) ;
3843 friend Mtbl* map_log_fait_sr2d2rdt2(
const Map* ) ;
3844 friend Mtbl* map_log_fait_dxdlnr(
const Map* ) ;
3848Mtbl* map_log_fait_r(
const Map* ) ;
3849Mtbl* map_log_fait_tet(
const Map* ) ;
3850Mtbl* map_log_fait_phi(
const Map* ) ;
3851Mtbl* map_log_fait_sint(
const Map* ) ;
3852Mtbl* map_log_fait_cost(
const Map* ) ;
3853Mtbl* map_log_fait_sinp(
const Map* ) ;
3854Mtbl* map_log_fait_cosp(
const Map* ) ;
3856Mtbl* map_log_fait_x(
const Map* ) ;
3857Mtbl* map_log_fait_y(
const Map* ) ;
3858Mtbl* map_log_fait_z(
const Map* ) ;
3860Mtbl* map_log_fait_xa(
const Map* ) ;
3861Mtbl* map_log_fait_ya(
const Map* ) ;
3862Mtbl* map_log_fait_za(
const Map* ) ;
3864Mtbl* map_log_fait_xsr(
const Map* ) ;
3865Mtbl* map_log_fait_dxdr(
const Map* ) ;
3866Mtbl* map_log_fait_drdt(
const Map* ) ;
3867Mtbl* map_log_fait_stdrdp(
const Map* ) ;
3868Mtbl* map_log_fait_srdrdt(
const Map* ) ;
3869Mtbl* map_log_fait_srstdrdp(
const Map* ) ;
3870Mtbl* map_log_fait_sr2drdt(
const Map* ) ;
3871Mtbl* map_log_fait_sr2stdrdp(
const Map* ) ;
3872Mtbl* map_log_fait_d2rdx2(
const Map* ) ;
3873Mtbl* map_log_fait_lapr_tp(
const Map* ) ;
3874Mtbl* map_log_fait_d2rdtdx(
const Map* ) ;
3875Mtbl* map_log_fait_sstd2rdpdx(
const Map* ) ;
3876Mtbl* map_log_fait_sr2d2rdt2(
const Map* ) ;
3878Mtbl* map_log_fait_dxdlnr (
const Map*) ;
Cartesian vectorial bases (triads).
Spherical orthonormal vectorial bases (triads).
Component of a tensorial field *** DEPRECATED : use class Scalar instead ***.
Active physical coordinates and mapping derivatives.
Basic integer array class.
void sol_elliptic_boundary(Param_elliptic ¶ms, const Scalar &so, Scalar &uu, const Mtbl_cf &bound, double fact_dir, double fact_neu) const
General elliptic solver including inner boundary conditions.
virtual ostream & operator>>(ostream &) const
Operator >>
virtual void srstdsdp(const Cmp &ci, Cmp &resu) const
Computes of a Cmp.
const double * get_beta() const
Returns the pointer on the array beta.
const double * get_alpha() const
Returns the pointer on the array alpha.
void set_beta(double beta0, int l)
Modifies the value of in domain no. l.
virtual void poisson_interne(const Cmp &source, const Valeur &limite, Param &par, Cmp &pot) const
Computes the solution of a Poisson equation in the shell, imposing a boundary condition at the surfac...
virtual void adapt(const Cmp &ent, const Param &par, int nbr=0)
Adaptation of the mapping to a given scalar field.
void set_coord()
Assignment of the building functions to the member Coords.
virtual void poisson_frontiere(const Cmp &, const Valeur &, int, int, Cmp &, double=0., double=0.) const
Solver of the Poisson equation with boundary condition for the affine mapping case.
void sol_elliptic(Param_elliptic ¶ms, const Scalar &so, Scalar &uu) const
General elliptic solver.
virtual ~Map_af()
Destructor.
virtual void poisson_regular(const Cmp &source, int k_div, int nzet, double unsgam1, Param &par, Cmp &uu, Cmp &uu_regu, Cmp &uu_div, Tenseur &duu_div, Cmp &source_regu, Cmp &source_div) const
Computes the solution of a scalar Poisson equation.
virtual Param * donne_para_poisson_vect(Param &par, int i) const
Internal function intended to be used by Map::poisson_vect and Map::poisson_vect_oohara .
void sol_elliptic_sin_zec(Param_elliptic ¶ms, const Scalar &so, Scalar &uu, double *coefs, double *) const
General elliptic solver.
virtual void sauve(FILE *) const
Save in a file.
void sol_elliptic_fixe_der_zero(double val, Param_elliptic ¶ms, const Scalar &so, Scalar &uu) const
General elliptic solver fixing the derivative at the origin and relaxing the continuity of the first ...
virtual void primr(const Scalar &uu, Scalar &resu, bool null_infty) const
Computes the radial primitive which vanishes for .
double * beta
Array (size: mg->nzone ) of the values of in each domain.
virtual void dalembert(Param &par, Scalar &fJp1, const Scalar &fJ, const Scalar &fJm1, const Scalar &source) const
Performs one time-step integration of the d'Alembert scalar equation.
virtual void operator=(const Map_af &)
Assignment to another affine mapping.
void homothetie_interne(double lambda)
Sets a new radial scale at the bondary between the nucleus and the first shell.
virtual void homothetie(double lambda)
Sets a new radial scale.
virtual void poisson_angu(const Scalar &source, Param &par, Scalar &uu, double lambda=0) const
Computes the solution of the generalized angular Poisson equation.
virtual void laplacien(const Scalar &uu, int zec_mult_r, Scalar &lap) const
Computes the Laplacian of a scalar field.
double * alpha
Array (size: mg->nzone ) of the values of in each domain.
virtual void lapang(const Scalar &uu, Scalar &lap) const
Computes the angular Laplacian of a scalar field.
void sol_elliptic_2d(Param_elliptic &, const Scalar &, Scalar &) const
General elliptic solver in a 2D case.
virtual void poisson2d(const Cmp &source_mat, const Cmp &source_quad, Param &par, Cmp &uu) const
Computes the solution of a 2-D Poisson equation.
virtual void 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 corresponding to a point of arbitrary r but collocation...
virtual void poisson(const Cmp &source, Param &par, Cmp &uu) const
Computes the solution of a scalar Poisson equation.
virtual void dsdradial(const Scalar &, Scalar &) const
Computes of a Scalar.
virtual void dsdr(const Cmp &ci, Cmp &resu) const
Computes of a Cmp.
virtual void dsdt(const Scalar &uu, Scalar &resu) const
Computes of a Scalar.
virtual bool operator==(const Map &) const
Comparison operator (egality)
virtual void val_lx(double rr, double theta, double pphi, int &l, double &xi) const
Computes the domain index l and the value of corresponding to a point given by its physical coordina...
void set_alpha(double alpha0, int l)
Modifies the value of in domain no. l.
virtual void stdsdp(const Scalar &uu, Scalar &resu) const
Computes of a Scalar.
virtual Tbl * integrale(const Cmp &) const
Computes the integral over all space of a Cmp.
void sol_elliptic_pseudo_1d(Param_elliptic &, const Scalar &, Scalar &) const
General elliptic solver in a pseudo 1d case.
virtual void poisson_tau(const Cmp &source, Param &par, Cmp &uu) const
Computes the solution of a scalar Poisson equation using a Tau method.
double integrale_surface_infini(const Cmp &ci) const
Performs the surface integration of ci at infinity.
virtual void resize(int l, double lambda)
Rescales the outer boundary of one domain.
virtual double val_r_jk(int l, double xi, int j, int k) const
Returns the value of the radial coordinate r for a given and a given collocation point in in a give...
void sol_elliptic_only_zec(Param_elliptic ¶ms, const Scalar &so, Scalar &uu, double val) const
General elliptic solver.
virtual void srdsdt(const Cmp &ci, Cmp &resu) const
Computes of a Cmp.
virtual void poisson_frontiere_double(const Cmp &source, const Valeur &lim_func, const Valeur &lim_der, int num_zone, Cmp &pot) const
Solver of the Poisson equation with boundary condition for the affine mapping case,...
void sol_elliptic_no_zec(Param_elliptic ¶ms, const Scalar &so, Scalar &uu, double val) const
General elliptic solver.
virtual const Map_af & mp_angu(int) const
Returns the "angular" mapping for the outside of domain l_zone.
virtual void dsdxi(const Cmp &ci, Cmp &resu) const
Computes of a Cmp.
double integrale_surface(const Cmp &ci, double rayon) const
Performs the surface integration of ci on the sphere of radius rayon .
virtual double val_r(int l, double xi, double theta, double pphi) const
Returns the value of the radial coordinate r for a given in a given domain.
Radial mapping of rather general form.
const Valeur & get_ff() const
Returns a (constant) reference to the function .
const double * get_alpha() const
Returns a pointer on the array alpha (values of in each domain)
void resize_extr(double lambda)
Rescales the outer boundary of the outermost domain in the case of non-compactified external domain.
double * beta
Array (size: mg->nzone ) of the values of in each domain.
virtual void poisson_interne(const Cmp &source, const Valeur &limite, Param &par, Cmp &pot) const
Computes the solution of a Poisson equation in the shell .
virtual void 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 corresponding to a point of arbitrary r but collocation...
Tbl ** ddaa
Array (size: mg->nzone ) of Tbl which stores the values of in each domain.
virtual double val_r(int l, double xi, double theta, double pphi) const
Returns the value of the radial coordinate r for a given in a given domain.
virtual void operator=(const Map_et &mp)
Assignment to another Map_et
virtual void dsdr(const Cmp &ci, Cmp &resu) const
Computes of a Cmp.
virtual const Map_af & mp_angu(int) const
Returns the "angular" mapping for the outside of domain l_zone.
virtual ostream & operator>>(ostream &) const
Operator >>
Tbl ** ddbb
Array (size: mg->nzone ) of Tbl which stores the values of in each domain.
Tbl zaasx2
Values at the nr collocation points of in the outermost compactified domain.
Coord rsx2drdx
in the nucleus and the shells; \ in the outermost compactified domain.
virtual bool operator==(const Map &) const
Comparison operator (egality)
virtual void poisson_tau(const Cmp &source, Param &par, Cmp &uu) const
Computes the solution of a scalar Poisson equation with a Tau method.
Tbl bbsx
Values at the nr collocation points of in the nucleus.
virtual void srstdsdp(const Cmp &ci, Cmp &resu) const
Computes of a Cmp.
virtual void poisson2d(const Cmp &source_mat, const Cmp &source_quad, Param &par, Cmp &uu) const
Computes the solution of a 2-D Poisson equation.
void set_gg(const Valeur &)
Assigns a given value to the function .
virtual Param * donne_para_poisson_vect(Param ¶, int i) const
Internal function intended to be used by Map::poisson_vect and Map::poisson_vect_oohara .
const Valeur & get_gg() const
Returns a (constant) reference to the function .
virtual void dsdradial(const Scalar &uu, Scalar &resu) const
Computes of a Scalar if the description is affine and if it is logarithmic.
virtual void lapang(const Scalar &uu, Scalar &lap) const
Computes the angular Laplacian of a scalar field.
Tbl ** dbb
Array (size: mg->nzone ) of Tbl which stores the values of in each domain.
virtual void laplacien(const Scalar &uu, int zec_mult_r, Scalar &lap) const
Computes the Laplacian of a scalar field.
void fait_poly()
Construction of the polynomials and .
virtual void homothetie(double lambda)
Sets a new radial scale.
virtual void poisson(const Cmp &source, Param &par, Cmp &uu) const
Computes the solution of a scalar Poisson equation.
virtual void stdsdp(const Scalar &uu, Scalar &resu) const
Computes of a Scalar.
virtual void dsdt(const Scalar &uu, Scalar &resu) const
Computes of a Scalar.
virtual void poisson_regular(const Cmp &source, int k_div, int nzet, double unsgam1, Param &par, Cmp &uu, Cmp &uu_regu, Cmp &uu_div, Tenseur &duu_div, Cmp &source_regu, Cmp &source_div) const
Computes the solution of a scalar Poisson equation.
Tbl aasx
Values at the nr collocation points of in the nucleus.
const double * get_beta() const
Returns a pointer on the array beta (values of in each domain)
Tbl aasx2
Values at the nr collocation points of in the nucleus.
virtual Tbl * integrale(const Cmp &) const
Computes the integral over all space of a Cmp.
Tbl zaasx
Values at the nr collocation points of in the outermost compactified domain.
virtual void poisson_frontiere(const Cmp &, const Valeur &, int, int, Cmp &, double=0., double=0.) const
Not yet implemented.
virtual void adapt(const Cmp &ent, const Param &par, int nbr_filtre=0)
Adaptation of the mapping to a given scalar field.
Tbl ** daa
Array (size: mg->nzone ) of Tbl which stores the values of in each domain.
virtual void dalembert(Param &par, Scalar &fJp1, const Scalar &fJ, const Scalar &fJm1, const Scalar &source) const
Not yet implemented.
void set_coord()
Assignement of the building functions to the member Coords.
virtual void poisson_angu(const Scalar &source, Param &par, Scalar &uu, double lambda=0) const
Computes the solution of the generalized angular Poisson equation.
Coord rsxdxdr
in the nucleus; \ in the shells; \ in the outermost compactified domain.
void set_beta(double beta0, int l)
Modifies the value of in domain no. l.
Tbl ** aa
Array (size: mg->nzone ) of Tbl which stores the values of in each domain.
virtual void srdsdt(const Cmp &ci, Cmp &resu) const
Computes of a Cmp.
Valeur ff
Values of the function at the nt*np angular collocation points in each domain.
void set_alpha(double alpha0, int l)
Modifies the value of in domain no. l.
virtual void val_lx(double rr, double theta, double pphi, int &l, double &xi) const
Computes the domain index l and the value of corresponding to a point given by its physical coordina...
virtual void primr(const Scalar &uu, Scalar &resu, bool null_infty) const
Computes the radial primitive which vanishes for .
Tbl ** bb
Array (size: mg->nzone ) of Tbl which stores the values of in each domain.
virtual ~Map_et()
Destructor.
double * alpha
Array (size: mg->nzone ) of the values of in each domain.
Tbl bbsx2
Values at the nr collocation points of in the nucleus.
Valeur gg
Values of the function at the nt*np angular collocation points in each domain.
virtual void sauve(FILE *) const
Save in a file.
void set_ff(const Valeur &)
Assigns a given value to the function .
virtual void resize(int l, double lambda)
Rescales the outer boundary of one domain.
virtual double val_r_jk(int l, double xi, int j, int k) const
Returns the value of the radial coordinate r for a given and a given collocation point in in a give...
virtual void reset_coord()
Resets all the member Coords.
virtual void dsdxi(const Cmp &ci, Cmp &resu) const
Computes of a Cmp.
Logarithmic radial mapping.
virtual void poisson2d(const Cmp &, const Cmp &, Param &, Cmp &) const
< Not implemented
virtual void poisson(const Cmp &, Param &, Cmp &) const
< Not implemented
double get_beta(int l) const
Returns in the domain l.
virtual void srdsdt(const Cmp &, Cmp &) const
< Not implemented
double get_alpha(int l) const
Returns in the domain l.
friend Mtbl * map_log_fait_r(const Map *)
< Not implemented
virtual Param * donne_para_poisson_vect(Param &, int) const
< Not implemented
virtual void dalembert(Param &, Scalar &, const Scalar &, const Scalar &, const Scalar &) const
< Not implemented
virtual void srstdsdp(const Cmp &, Cmp &) const
< Not implemented
virtual void homothetie(double)
Sets a new radial scale.
virtual double val_r(int l, double xi, double theta, double pphi) const
Returns the value of the radial coordinate r for a given in a given domain.
Itbl type_var
Array (size: mg->nzone ) of the type of variable in each domain.
void sol_elliptic_boundary(Param_elliptic ¶ms, const Scalar &so, Scalar &uu, const Mtbl_cf &bound, double fact_dir, double fact_neu) const
General elliptic solver including inner boundary conditions.
virtual void dsdxi(const Scalar &ci, Scalar &resu) const
Computes of a Scalar.
virtual Tbl * integrale(const Cmp &) const
< Not implemented
virtual void adapt(const Cmp &, const Param &, int)
< Not implemented
virtual void poisson_frontiere_double(const Cmp &, const Valeur &, const Valeur &, int, Cmp &) const
< Not implemented
virtual void sauve(FILE *) const
Save in a file.
void sol_elliptic(Param_elliptic ¶ms, const Scalar &so, Scalar &uu) const
General elliptic solver.
void sol_elliptic_no_zec(Param_elliptic ¶ms, const Scalar &so, Scalar &uu, double) const
General elliptic solver.
Tbl alpha
Array (size: mg->nzone ) of the values of in each domain.
virtual ostream & operator>>(ostream &) const
Operator >>
virtual void poisson_tau(const Cmp &, Param &, Cmp &) const
< Not implemented
int get_type(int l) const
Returns the type of description in the domain l.
virtual void lapang(const Scalar &, Scalar &) const
< Not implemented
virtual void poisson_ylm(const Cmp &, Param &, Cmp &, int, double *) const
< Not implemented
virtual void primr(const Scalar &, Scalar &, bool) const
< Not implemented
virtual ~Map_log()
Destructor.
virtual void dsdradial(const Scalar &uu, Scalar &resu) const
Computes of a Scalar if the description is affine and if it is logarithmic.
virtual void poisson_angu(const Scalar &, Param &, Scalar &, double=0) const
< Not implemented
virtual void val_lx(double rr, double theta, double pphi, int &l, double &xi) const
Computes the domain index l and the value of corresponding to a point given by its physical coordina...
Coord dxdlnr
Same as dxdr if the domains where the description is affine and where it is logarithmic.
virtual void poisson_regular(const Cmp &, int, int, double, Param &, Cmp &, Cmp &, Cmp &, Tenseur &, Cmp &, Cmp &) const
< Not implemented
virtual void laplacien(const Scalar &, int, Scalar &) const
< Not implemented
virtual void dsdt(const Scalar &, Scalar &) const
< Not implemented
virtual void poisson_falloff(const Cmp &, Param &, Cmp &, int) const
< Not implemented
virtual void resize(int, double)
< Not implemented
virtual void poisson_interne(const Cmp &, const Valeur &, Param &, Cmp &) const
< Not implemented
virtual void operator=(const Map_af &mpa)
Assignment to an affine mapping.
virtual void stdsdp(const Scalar &, Scalar &) const
< Not implemented
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 corresponding to a point of arbitrary r but collocation...
virtual void dsdr(const Scalar &ci, Scalar &resu) const
Computes of a Scalar.
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 const Map_af & mp_angu(int) const
Returns the "angular" mapping for the outside of domain l_zone.
Tbl beta
Array (size: mg->nzone ) of the values of in each domain.
virtual void poisson_frontiere(const Cmp &, const Valeur &, int, int, Cmp &, double=0., double=0.) const
< Not implemented
Base class for pure radial mappings.
Coord d2rdx2
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
virtual void inc2_dzpuis(Scalar &) const
Increases by 2 the value of dzpuis of a Scalar and changes accordingly its values in the compactifi...
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.
Coord sr2drdt
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
Coord srstdrdp
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
virtual void mult_r_zec(Scalar &) const
Multiplication by r (in the compactified external domain only) of a Scalar.
virtual void poisson_compact(const Cmp &source, const Cmp &aa, const Tenseur &bb, const Param &par, Cmp &psi) const
Resolution of the elliptic equation in the case where the stellar interior is covered by a single do...
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 c...
Coord d2rdtdx
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
virtual void mult_r(Scalar &uu) const
Multiplication by r of a Scalar, the dzpuis of uu is not changed.
virtual void div_rsint(Scalar &) const
Division by of a Scalar.
virtual void dec_dzpuis(Scalar &) const
Decreases by 1 the value of dzpuis of a Scalar and changes accordingly its values in the compactified...
virtual void operator=(const Map_af &)=0
Assignment to an affine mapping.
virtual void div_r_zec(Scalar &) const
Division by r (in the compactified external domain only) of a Scalar.
virtual void div_tant(Scalar &) const
Division by of a Scalar.
virtual void inc_dzpuis(Scalar &) const
Increases by 1 the value of dzpuis of a Scalar and changes accordingly its values in the compactifi...
virtual bool operator==(const Map &) const =0
Comparison operator (egality)
Coord sstd2rdpdx
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
virtual void reset_coord()
Resets all the member Coords.
Coord lapr_tp
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
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 mult_cost(Scalar &) const
Multiplication by of a Scalar.
virtual void div_r(Scalar &) const
Division by r 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 co...
Coord sr2stdrdp
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
Coord drdt
in the nucleus and in the non-compactified shells; \ in the compactified external domain (CED).
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 corresponding to a point of arbitrary r but collocation...
Coord srdrdt
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
Coord xsr
in the nucleus; \ 1/R in the non-compactified shells; \ in the compactified outer domain.
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 ...
virtual void sauve(FILE *) const
Save in a file.
virtual ~Map_radial()
Destructor.
virtual void mult_sint(Scalar &) const
Multiplication by of a Scalar.
Coord dxdr
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
Coord sr2d2rdt2
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
virtual void comp_p_from_cartesian(const Scalar &v_x, const Scalar &v_y, Scalar &v_p) const
Computes the Spherical component (with respect to bvect_spher ) of a vector given by its cartesian c...
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 c...
virtual void dec2_dzpuis(Scalar &) const
Decreases by 2 the value of dzpuis of a Scalar and changes accordingly its values in the compactifi...
virtual void div_sint(Scalar &) const
Division by of a Scalar.
virtual void div_cost(Scalar &) const
Division by of a Scalar.
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 component (with respect to bvect_spher ) of a vector given by its cartesian c...
virtual void mult_rsint(Scalar &) const
Multiplication by of a Scalar.
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 and a given collocation point in in a give...
Coord stdrdp
in the nucleus and in the non-compactified shells; \ in the compactified external domain (CED).
Base class for coordinate mappings.
double get_ori_z() const
Returns the z coordinate of the origin.
virtual void lapang(const Scalar &uu, Scalar &lap) const =0
Computes the angular Laplacian of a scalar field.
virtual void reset_coord()
Resets all the member Coords.
const Base_vect_cart & get_bvect_cart() const
Returns the Cartesian basis associated with the coordinates (x,y,z) of the mapping,...
Coord y
y coordinate centered on the grid
virtual void div_sint(Scalar &) const =0
Division by of a Scalar.
virtual void dec2_dzpuis(Scalar &) const =0
Decreases by 2 the value of dzpuis of a Scalar and changes accordingly its values in the compacti...
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 mult_r(Scalar &uu) const =0
Multiplication by r of a Scalar , the dzpuis of uu is not changed.
virtual void poisson_compact(const Cmp &source, const Cmp &aa, const Tenseur &bb, const Param &par, Cmp &psi) const =0
Resolution of the elliptic equation in the case where the stellar interior is covered by a single do...
double ori_x
Absolute coordinate x of the origin.
virtual void inc_dzpuis(Scalar &) const =0
Increases by 1 the value of dzpuis of a Scalar and changes accordingly its values in the compacti...
virtual void dsdr(const Scalar &uu, Scalar &resu) const =0
Computes of a Scalar .
virtual void poisson_compact(int nzet, const Cmp &source, const Cmp &aa, const Tenseur &bb, const Param &par, Cmp &psi) const =0
Resolution of the elliptic equation in the case of a multidomain stellar interior.
Coord ya
Absolute y coordinate.
virtual void mult_cost(Scalar &) const =0
Multiplication by of a Scalar.
virtual void srdsdt(const Cmp &ci, Cmp &resu) const =0
Computes of a Cmp .
void set_rot_phi(double phi0)
Sets a new rotation angle.
virtual void div_r_zec(Scalar &) const =0
Division by r (in the compactified external domain only) of a Scalar.
virtual void dsdxi(const Cmp &ci, Cmp &resu) const =0
Computes of a Cmp .
virtual void poisson_frontiere(const Cmp &source, const Valeur &limite, int raccord, int num_front, Cmp &pot, double=0., double=0.) const =0
Computes the solution of a Poisson equation from the domain num_front+1 .
Metric_flat * p_flat_met_cart
Pointer onto the flat metric associated with the Cartesian coordinates and with components expressed ...
virtual void comp_p_from_cartesian(const Scalar &v_x, const Scalar &v_y, Scalar &v_p) const =0
Computes the Spherical component (with respect to bvect_spher ) of a vector given by its cartesian c...
virtual void comp_x_from_spherical(const Scalar &v_r, const Scalar &v_theta, const Scalar &v_phi, Scalar &v_x) const =0
Computes the Cartesian x component (with respect to bvect_cart ) of a vector given by its spherical c...
virtual const Map_af & mp_angu(int) const =0
Returns the "angular" mapping for the outside of domain l_zone.
virtual ostream & operator>>(ostream &) const =0
Operator >>
double ori_y
Absolute coordinate y of the origin.
virtual void comp_p_from_cartesian(const Cmp &v_x, const Cmp &v_y, Cmp &v_p) const =0
Cmp version
virtual Param * donne_para_poisson_vect(Param ¶, int i) const =0
Function intended to be used by Map::poisson_vect and Map::poisson_vect_oohara .
virtual void resize(int l, double lambda)=0
Rescales the outer boundary of one domain.
Coord r
r coordinate centered on the grid
virtual void comp_x_from_spherical(const Cmp &v_r, const Cmp &v_theta, const Cmp &v_phi, Cmp &v_x) const =0
Cmp version
virtual void comp_y_from_spherical(const Cmp &v_r, const Cmp &v_theta, const Cmp &v_phi, Cmp &v_y) const =0
Cmp version
virtual void mult_rsint(Scalar &) const =0
Multiplication by of a Scalar.
Base_vect_spher bvect_spher
Orthonormal vectorial basis associated with the coordinates of the mapping.
virtual void srstdsdp(const Scalar &uu, Scalar &resu) const =0
Computes of a Scalar .
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.
Metric_flat * p_flat_met_spher
Pointer onto the flat metric associated with the spherical coordinates and with components expressed ...
void convert_absolute(double xx, double yy, double zz, double &rr, double &theta, double &pphi) const
Determines the coordinates corresponding to given absolute Cartesian coordinates (X,...
virtual void homothetie(double lambda)=0
Sets a new radial scale.
void set_ori(double xa0, double ya0, double za0)
Sets a new origin.
virtual void adapt(const Cmp &ent, const Param &par, int nbr=0)=0
Adaptation of the mapping to a given scalar field.
virtual void dsdr(const Cmp &ci, Cmp &resu) const =0
Computes of a Cmp .
virtual void dsdt(const Scalar &uu, Scalar &resu) const =0
Computes of a Scalar .
virtual void comp_z_from_spherical(const Scalar &v_r, const Scalar &v_theta, Scalar &v_z) const =0
Computes the Cartesian z component (with respect to bvect_cart ) of a vector given by its spherical c...
virtual void dec_dzpuis(Scalar &) const =0
Decreases by 1 the value of dzpuis of a Scalar and changes accordingly its values in the compacti...
virtual void laplacien(const Cmp &uu, int zec_mult_r, Cmp &lap) const =0
Computes the Laplacian of a scalar field (Cmp version).
virtual void operator=(const Map_af &)=0
Assignment to an affine mapping.
virtual void comp_z_from_spherical(const Cmp &v_r, const Cmp &v_theta, Cmp &v_z) const =0
Cmp version
double get_ori_y() const
Returns the y coordinate of the origin.
virtual void val_lx(double rr, double theta, double pphi, const Param &par, int &l, double &xi) const =0
Computes the domain index l and the value of corresponding to a point given by its physical coordina...
Coord za
Absolute z coordinate.
virtual void div_rsint(Scalar &) const =0
Division by of a Scalar.
virtual void mult_sint(Scalar &) const =0
Multiplication by of a Scalar.
virtual void primr(const Scalar &uu, Scalar &resu, bool null_infty) const =0
Computes the radial primitive which vanishes for .
virtual void dsdradial(const Scalar &uu, Scalar &resu) const =0
Computes of a Scalar if the description is affine and if it is logarithmic.
virtual void comp_t_from_cartesian(const Cmp &v_x, const Cmp &v_y, const Cmp &v_z, Cmp &v_t) const =0
Cmp version
virtual void stdsdp(const Scalar &uu, Scalar &resu) const =0
Computes of a Scalar .
Coord tet
coordinate centered on the grid
const Base_vect_spher & get_bvect_spher() const
Returns the orthonormal vectorial basis associated with the coordinates of the mapping.
virtual void val_lx(double rr, double theta, double pphi, int &l, double &xi) const =0
Computes the domain index l and the value of corresponding to a point given by its physical coordina...
const Cmp & cmp_zero() const
Returns the null Cmp defined on *this.
virtual void mult_r(Cmp &ci) const =0
Multiplication by r of a Cmp .
virtual void poisson_angu(const Scalar &source, Param &par, Scalar &uu, double lambda=0) const =0
Computes the solution of the generalized angular Poisson equation.
friend ostream & operator<<(ostream &, const Map &)
Operator <<.
Base_vect_cart bvect_cart
Cartesian basis associated with the coordinates (x,y,z) of the mapping, i.e.
virtual void srdsdt(const Scalar &uu, Scalar &resu) const =0
Computes of a Scalar .
const Metric_flat & flat_met_cart() const
Returns the flat metric associated with the Cartesian coordinates and with components expressed in th...
virtual void div_tant(Scalar &) const =0
Division by of a Scalar.
virtual bool operator==(const Map &) const =0
Comparison operator (egality)
double rot_phi
Angle between the x –axis and X –axis.
virtual void div_r(Scalar &) const =0
Division by r of a Scalar.
virtual void poisson_tau(const Cmp &source, Param &par, Cmp &uu) const =0
Computes the solution of a scalar Poisson equationwith a Tau method.
virtual void sauve(FILE *) const
Save in a file.
virtual Tbl * integrale(const Cmp &) const =0
Computes the integral over all space of a Cmp .
Coord z
z coordinate centered on the grid
double get_ori_x() const
Returns the x coordinate of the origin.
virtual void poisson(const Cmp &source, Param &par, Cmp &uu) const =0
Computes the solution of a scalar Poisson equation.
virtual void mult_r_zec(Scalar &) const =0
Multiplication by r (in the compactified external domain only) of a Scalar.
virtual void comp_y_from_spherical(const Scalar &v_r, const Scalar &v_theta, const Scalar &v_phi, Scalar &v_y) const =0
Computes the Cartesian y component (with respect to bvect_cart ) of a vector given by its spherical c...
Map_af * p_mp_angu
Pointer on the "angular" mapping.
virtual void comp_r_from_cartesian(const Cmp &v_x, const Cmp &v_y, const Cmp &v_z, Cmp &v_r) const =0
Cmp version
Coord x
x coordinate centered on the grid
virtual void poisson2d(const Cmp &source_mat, const Cmp &source_quad, Param &par, Cmp &uu) const =0
Computes the solution of a 2-D Poisson equation.
Coord phi
coordinate centered on the grid
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 comp_r_from_cartesian(const Scalar &v_x, const Scalar &v_y, const Scalar &v_z, Scalar &v_r) const =0
Computes the Spherical r component (with respect to bvect_spher ) of a vector given by its cartesian ...
virtual void dalembert(Param &par, Scalar &fJp1, const Scalar &fJ, const Scalar &fJm1, const Scalar &source) const =0
Performs one time-step integration of the d'Alembert scalar equation.
virtual void poisson_regular(const Cmp &source, int k_div, int nzet, double unsgam1, Param &par, Cmp &uu, Cmp &uu_regu, Cmp &uu_div, Tenseur &duu_div, Cmp &source_regu, Cmp &source_div) const =0
Computes the solution of a scalar Poisson equation.
double ori_z
Absolute coordinate z of the origin.
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.
double get_rot_phi() const
Returns the angle between the x –axis and X –axis.
Coord xa
Absolute x coordinate.
virtual void div_cost(Scalar &) const =0
Division by of a Scalar.
virtual void srstdsdp(const Cmp &ci, Cmp &resu) const =0
Computes of a Cmp .
virtual void inc2_dzpuis(Scalar &) const =0
Increases by 2 the value of dzpuis of a Scalar and changes accordingly its values in the compacti...
Cmp * p_cmp_zero
The null Cmp.
virtual double val_r(int l, double xi, double theta, double pphi) const =0
Returns the value of the radial coordinate r for a given in a given domain.
virtual void dsdxi(const Scalar &uu, Scalar &resu) const =0
Computes of a Scalar .
virtual void poisson_interne(const Cmp &source, const Valeur &limite, Param &par, Cmp &pot) const =0
Computes the solution of a Poisson equation in the shell, imposing a boundary condition at the surfac...
const Mg3d * get_mg() const
Gives the Mg3d on which the mapping is defined.
virtual void comp_t_from_cartesian(const Scalar &v_x, const Scalar &v_y, const Scalar &v_z, Scalar &v_t) const =0
Computes the Spherical component (with respect to bvect_spher ) of a vector given by its cartesian c...
const Metric_flat & flat_met_spher() const
Returns the flat metric associated with the spherical coordinates and with components expressed in th...
virtual void laplacien(const Scalar &uu, int zec_mult_r, Scalar &lap) const =0
Computes the Laplacian of a scalar field.
const Mg3d * mg
Pointer on the multi-grid Mgd3 on which this is defined
virtual ~Map()
Destructor.
Flat metric for tensor calculation.
Coefficients storage for the multi-domain spectral method.
This class contains the parameters needed to call the general elliptic solver.
Tensor field of valence 0 (or component of a tensorial field).
Tensor handling *** DEPRECATED : use class Tensor instead ***.
Values and coefficients of a (real-value) function.