648 #include "base_vect.h" 658 class Param_elliptic ;
780 virtual ostream&
operator>>(ostream &)
const = 0 ;
783 virtual void sauve(FILE* )
const ;
851 double& rr,
double& theta,
double& pphi)
const ;
861 virtual double val_r(
int l,
double xi,
double theta,
double pphi)
872 virtual void val_lx(
double rr,
double theta,
double pphi,
873 int& l,
double& xi)
const = 0 ;
887 virtual void val_lx(
double rr,
double theta,
double pphi,
888 const Param& par,
int& l,
double& xi)
const = 0 ;
899 void set_ori(
double xa0,
double ya0,
double za0) ;
917 virtual void resize(
int l,
double lambda) = 0 ;
930 virtual void adapt(
const Cmp& ent,
const Param& par,
int nbr=0) = 0 ;
1013 virtual void dsdxi(
const Cmp& ci,
Cmp& resu)
const = 0 ;
1021 virtual void dsdr(
const Cmp& ci,
Cmp& resu)
const = 0 ;
1029 virtual void srdsdt(
const Cmp& ci,
Cmp& resu)
const = 0 ;
1113 Cmp& lap)
const = 0 ;
1135 bool null_infty)
const = 0 ;
1149 virtual void mult_r(
Cmp& ci)
const = 0 ;
1206 const Cmp& v_phi,
Cmp& v_x)
const = 0 ;
1222 const Cmp& v_phi,
Cmp& v_y)
const = 0 ;
1237 Cmp& v_z)
const = 0 ;
1252 const Cmp& v_z,
Cmp& v_r)
const = 0 ;
1268 const Cmp& v_z,
Cmp& v_t)
const = 0 ;
1283 Cmp& v_p)
const = 0 ;
1342 virtual void poisson(
const Cmp& source,
Param& par,
Cmp& uu,
bool verbose=
true)
const = 0 ;
1382 virtual void poisson_falloff(
const Cmp& source,
Param& par,
Cmp& uu,
1383 int k_falloff)
const = 0 ;
1385 virtual void poisson_ylm(
const Cmp& source,
Param& par,
Cmp& pot,
1386 int nylm,
double* intvec)
const = 0 ;
1411 double unsgam1,
Param& par,
Cmp& uu,
1412 Cmp& uu_regu,
Cmp& uu_div,
1414 Cmp& source_div)
const = 0 ;
1431 Cmp& psi)
const = 0 ;
1449 Cmp& psi)
const = 0 ;
1469 Scalar& uu,
double lambda=0)
const = 0 ;
1472 Cmp& uu,
double lambda=0)
const = 0 ;
1522 int raccord,
int num_front,
Cmp& pot,
1523 double = 0.,
double = 0.)
const = 0 ;
1525 virtual void poisson_frontiere_double (
const Cmp& source,
const Valeur& lim_func,
1526 const Valeur& lim_der,
int num_zone,
Cmp& pot)
const = 0 ;
1567 Param& par,
Cmp& uu,
bool verbose=
true)
const = 0 ;
1589 ostream& operator<<(ostream& ,
const Map& ) ;
1760 virtual void sauve(FILE* )
const ;
1773 virtual double val_r_jk(
int l,
double xi,
int j,
int k)
const = 0 ;
1785 virtual void val_lx_jk(
double rr,
int j,
int k,
const Param& par,
1786 int& l,
double& xi)
const = 0 ;
1923 const Cmp& v_phi,
Cmp& v_x)
const ;
1939 const Cmp& v_phi,
Cmp& v_y)
const ;
1970 const Cmp& v_z,
Cmp& v_r)
const ;
1986 const Cmp& v_z,
Cmp& v_t)
const ;
2126 Map_af(
const Mg3d& mgrille,
const double* r_limits) ;
2195 virtual double val_r(
int l,
double xi,
double theta,
double pphi)
const ;
2206 virtual void val_lx(
double rr,
double theta,
double pphi,
2207 int& l,
double& xi)
const ;
2218 virtual void val_lx(
double rr,
double theta,
double pphi,
2219 const Param& par,
int& l,
double& xi)
const ;
2230 virtual double val_r_jk(
int l,
double xi,
int j,
int k)
const ;
2241 virtual void val_lx_jk(
double rr,
int j,
int k,
const Param& par,
2242 int& l,
double& xi)
const ;
2251 virtual void sauve(FILE* )
const ;
2254 virtual ostream&
operator>>(ostream &)
const ;
2274 virtual void resize(
int l,
double lambda) ;
2285 virtual void adapt(
const Cmp& ent,
const Param& par,
int nbr=0) ;
2291 void set_beta(
double beta0,
int l) ;
2302 virtual void dsdxi(
const Cmp& ci,
Cmp& resu)
const ;
2310 virtual void dsdr(
const Cmp& ci,
Cmp& resu)
const ;
2423 bool null_infty)
const ;
2457 virtual void poisson(
const Cmp& source,
Param& par,
Cmp& uu,
bool verbose =
true)
const ;
2488 virtual void poisson_falloff(
const Cmp& source,
Param& par,
Cmp& uu,
2489 int k_falloff)
const ;
2491 virtual void poisson_ylm(
const Cmp& source,
Param& par,
Cmp& pot,
2492 int nylm,
double* intvec)
const ;
2516 double unsgam1,
Param& par,
Cmp& uu,
2517 Cmp& uu_regu,
Cmp& uu_div,
2519 Cmp& source_div)
const ;
2539 Scalar& uu,
double lambda=0)
const ;
2541 Cmp& uu,
double lambda=0)
const ;
2566 const Valeur& lim_der,
int num_zone,
Cmp& pot)
const ;
2593 double integrale_surface_falloff (
const Cmp& ci)
const ;
2631 double fact_dir,
double fact_neu )
const ;
2639 double fact_dir,
double fact_neu )
const ;
2672 double* coefs,
double*)
const ;
2714 Param& par,
Cmp& uu,
bool verbose=
true)
const ;
2774 friend Mtbl* map_af_fait_r(
const Map* ) ;
2775 friend Mtbl* map_af_fait_tet(
const Map* ) ;
2776 friend Mtbl* map_af_fait_phi(
const Map* ) ;
2777 friend Mtbl* map_af_fait_sint(
const Map* ) ;
2778 friend Mtbl* map_af_fait_cost(
const Map* ) ;
2779 friend Mtbl* map_af_fait_sinp(
const Map* ) ;
2780 friend Mtbl* map_af_fait_cosp(
const Map* ) ;
2782 friend Mtbl* map_af_fait_x(
const Map* ) ;
2783 friend Mtbl* map_af_fait_y(
const Map* ) ;
2784 friend Mtbl* map_af_fait_z(
const Map* ) ;
2786 friend Mtbl* map_af_fait_xa(
const Map* ) ;
2787 friend Mtbl* map_af_fait_ya(
const Map* ) ;
2788 friend Mtbl* map_af_fait_za(
const Map* ) ;
2790 friend Mtbl* map_af_fait_xsr(
const Map* ) ;
2791 friend Mtbl* map_af_fait_dxdr(
const Map* ) ;
2792 friend Mtbl* map_af_fait_drdt(
const Map* ) ;
2793 friend Mtbl* map_af_fait_stdrdp(
const Map* ) ;
2794 friend Mtbl* map_af_fait_srdrdt(
const Map* ) ;
2795 friend Mtbl* map_af_fait_srstdrdp(
const Map* ) ;
2796 friend Mtbl* map_af_fait_sr2drdt(
const Map* ) ;
2797 friend Mtbl* map_af_fait_sr2stdrdp(
const Map* ) ;
2798 friend Mtbl* map_af_fait_d2rdx2(
const Map* ) ;
2799 friend Mtbl* map_af_fait_lapr_tp(
const Map* ) ;
2800 friend Mtbl* map_af_fait_d2rdtdx(
const Map* ) ;
2801 friend Mtbl* map_af_fait_sstd2rdpdx(
const Map* ) ;
2802 friend Mtbl* map_af_fait_sr2d2rdt2(
const Map* ) ;
2806 Mtbl* map_af_fait_r(
const Map* ) ;
2807 Mtbl* map_af_fait_tet(
const Map* ) ;
2808 Mtbl* map_af_fait_phi(
const Map* ) ;
2809 Mtbl* map_af_fait_sint(
const Map* ) ;
2810 Mtbl* map_af_fait_cost(
const Map* ) ;
2811 Mtbl* map_af_fait_sinp(
const Map* ) ;
2812 Mtbl* map_af_fait_cosp(
const Map* ) ;
2814 Mtbl* map_af_fait_x(
const Map* ) ;
2815 Mtbl* map_af_fait_y(
const Map* ) ;
2816 Mtbl* map_af_fait_z(
const Map* ) ;
2818 Mtbl* map_af_fait_xa(
const Map* ) ;
2819 Mtbl* map_af_fait_ya(
const Map* ) ;
2820 Mtbl* map_af_fait_za(
const Map* ) ;
2822 Mtbl* map_af_fait_xsr(
const Map* ) ;
2823 Mtbl* map_af_fait_dxdr(
const Map* ) ;
2824 Mtbl* map_af_fait_drdt(
const Map* ) ;
2825 Mtbl* map_af_fait_stdrdp(
const Map* ) ;
2826 Mtbl* map_af_fait_srdrdt(
const Map* ) ;
2827 Mtbl* map_af_fait_srstdrdp(
const Map* ) ;
2828 Mtbl* map_af_fait_sr2drdt(
const Map* ) ;
2829 Mtbl* map_af_fait_sr2stdrdp(
const Map* ) ;
2830 Mtbl* map_af_fait_d2rdx2(
const Map* ) ;
2831 Mtbl* map_af_fait_lapr_tp(
const Map* ) ;
2832 Mtbl* map_af_fait_d2rdtdx(
const Map* ) ;
2833 Mtbl* map_af_fait_sstd2rdpdx(
const Map* ) ;
2834 Mtbl* map_af_fait_sr2d2rdt2(
const Map* ) ;
2975 Map_et(
const Mg3d& mgrille,
const double* r_limits) ;
2994 Map_et(
const Mg3d& mgrille,
const double* r_limits,
const Tbl& tab);
3060 virtual double val_r(
int l,
double xi,
double theta,
double pphi)
const ;
3071 virtual void val_lx(
double rr,
double theta,
double pphi,
3072 int& l,
double& xi)
const ;
3092 virtual void val_lx(
double rr,
double theta,
double pphi,
3093 const Param& par,
int& l,
double& xi)
const ;
3107 virtual double val_r_jk(
int l,
double xi,
int j,
int k)
const ;
3125 virtual void val_lx_jk(
double rr,
int j,
int k,
const Param& par,
3126 int& l,
double& xi)
const ;
3133 virtual void sauve(FILE* )
const ;
3136 virtual ostream&
operator>>(ostream &)
const ;
3156 virtual void resize(
int l,
double lambda) ;
3170 void set_beta(
double beta0,
int l) ;
3218 virtual void adapt(
const Cmp& ent,
const Param& par,
int nbr_filtre = 0) ;
3229 virtual void dsdxi(
const Cmp& ci,
Cmp& resu)
const ;
3237 virtual void dsdr(
const Cmp& ci,
Cmp& resu)
const ;
3351 bool null_infty)
const ;
3415 virtual void poisson(
const Cmp& source,
Param& par,
Cmp& uu,
bool verbose=
true)
const ;
3536 virtual void poisson_falloff(
const Cmp& source,
Param& par,
Cmp& uu,
3537 int k_falloff)
const ;
3539 virtual void poisson_ylm(
const Cmp& source,
Param& par,
Cmp& uu,
3540 int nylm,
double* intvec)
const ;
3578 double unsgam1,
Param& par,
Cmp& uu,
3579 Cmp& uu_regu,
Cmp& uu_div,
3581 Cmp& source_div)
const ;
3601 Scalar& uu,
double lambda=0)
const ;
3603 Cmp& uu,
double lambda=0)
const ;
3634 Cmp&,
double = 0.,
double = 0.)
const ;
3635 virtual void poisson_frontiere_double (
const Cmp& source,
3637 int num_zone,
Cmp& pot)
const ;
3692 Param& par,
Cmp& uu,
bool verbose=
true)
const ;
3705 friend Mtbl* map_et_fait_r(
const Map* ) ;
3706 friend Mtbl* map_et_fait_tet(
const Map* ) ;
3707 friend Mtbl* map_et_fait_phi(
const Map* ) ;
3708 friend Mtbl* map_et_fait_sint(
const Map* ) ;
3709 friend Mtbl* map_et_fait_cost(
const Map* ) ;
3710 friend Mtbl* map_et_fait_sinp(
const Map* ) ;
3711 friend Mtbl* map_et_fait_cosp(
const Map* ) ;
3713 friend Mtbl* map_et_fait_x(
const Map* ) ;
3714 friend Mtbl* map_et_fait_y(
const Map* ) ;
3715 friend Mtbl* map_et_fait_z(
const Map* ) ;
3717 friend Mtbl* map_et_fait_xa(
const Map* ) ;
3718 friend Mtbl* map_et_fait_ya(
const Map* ) ;
3719 friend Mtbl* map_et_fait_za(
const Map* ) ;
3721 friend Mtbl* map_et_fait_xsr(
const Map* ) ;
3722 friend Mtbl* map_et_fait_dxdr(
const Map* ) ;
3723 friend Mtbl* map_et_fait_drdt(
const Map* ) ;
3724 friend Mtbl* map_et_fait_stdrdp(
const Map* ) ;
3725 friend Mtbl* map_et_fait_srdrdt(
const Map* ) ;
3726 friend Mtbl* map_et_fait_srstdrdp(
const Map* ) ;
3727 friend Mtbl* map_et_fait_sr2drdt(
const Map* ) ;
3728 friend Mtbl* map_et_fait_sr2stdrdp(
const Map* ) ;
3729 friend Mtbl* map_et_fait_d2rdx2(
const Map* ) ;
3730 friend Mtbl* map_et_fait_lapr_tp(
const Map* ) ;
3731 friend Mtbl* map_et_fait_d2rdtdx(
const Map* ) ;
3732 friend Mtbl* map_et_fait_sstd2rdpdx(
const Map* ) ;
3733 friend Mtbl* map_et_fait_sr2d2rdt2(
const Map* ) ;
3735 friend Mtbl* map_et_fait_rsxdxdr(
const Map* ) ;
3736 friend Mtbl* map_et_fait_rsx2drdx(
const Map* ) ;
3740 Mtbl* map_et_fait_r(
const Map* ) ;
3741 Mtbl* map_et_fait_tet(
const Map* ) ;
3742 Mtbl* map_et_fait_phi(
const Map* ) ;
3743 Mtbl* map_et_fait_sint(
const Map* ) ;
3744 Mtbl* map_et_fait_cost(
const Map* ) ;
3745 Mtbl* map_et_fait_sinp(
const Map* ) ;
3746 Mtbl* map_et_fait_cosp(
const Map* ) ;
3748 Mtbl* map_et_fait_x(
const Map* ) ;
3749 Mtbl* map_et_fait_y(
const Map* ) ;
3750 Mtbl* map_et_fait_z(
const Map* ) ;
3752 Mtbl* map_et_fait_xa(
const Map* ) ;
3753 Mtbl* map_et_fait_ya(
const Map* ) ;
3754 Mtbl* map_et_fait_za(
const Map* ) ;
3756 Mtbl* map_et_fait_xsr(
const Map* ) ;
3757 Mtbl* map_et_fait_dxdr(
const Map* ) ;
3758 Mtbl* map_et_fait_drdt(
const Map* ) ;
3759 Mtbl* map_et_fait_stdrdp(
const Map* ) ;
3760 Mtbl* map_et_fait_srdrdt(
const Map* ) ;
3761 Mtbl* map_et_fait_srstdrdp(
const Map* ) ;
3762 Mtbl* map_et_fait_sr2drdt(
const Map* ) ;
3763 Mtbl* map_et_fait_sr2stdrdp(
const Map* ) ;
3764 Mtbl* map_et_fait_d2rdx2(
const Map* ) ;
3765 Mtbl* map_et_fait_lapr_tp(
const Map* ) ;
3766 Mtbl* map_et_fait_d2rdtdx(
const Map* ) ;
3767 Mtbl* map_et_fait_sstd2rdpdx(
const Map* ) ;
3768 Mtbl* map_et_fait_sr2d2rdt2(
const Map* ) ;
3770 Mtbl* map_et_fait_rsxdxdr(
const Map* ) ;
3771 Mtbl* map_et_fait_rsx2drdx(
const Map* ) ;
3878 double fact_dir,
double fact_neu )
const ;
3885 double fact_dir,
double fact_neu )
const ;
3901 virtual void sauve(FILE*)
const ;
3907 virtual ostream&
operator>> (ostream&)
const ;
3918 virtual double val_r (
int l,
double xi,
double theta,
double pphi)
const ;
3929 virtual void val_lx (
double rr,
double theta,
double pphi,
int& l,
double& xi)
const ;
3940 virtual void val_lx (
double rr,
double theta,
double pphi,
const Param& par,
int& l,
double& xi)
const ;
3954 virtual double val_r_jk (
int l,
double xi,
int j,
int k)
const ;
3965 virtual void val_lx_jk (
double rr,
int j,
int k,
const Param& par,
int& l,
double& xi)
const ;
3994 virtual void resize (
int,
double) ;
4031 friend Mtbl* map_log_fait_tet(
const Map* ) ;
4032 friend Mtbl* map_log_fait_phi(
const Map* ) ;
4033 friend Mtbl* map_log_fait_sint(
const Map* ) ;
4034 friend Mtbl* map_log_fait_cost(
const Map* ) ;
4035 friend Mtbl* map_log_fait_sinp(
const Map* ) ;
4036 friend Mtbl* map_log_fait_cosp(
const Map* ) ;
4038 friend Mtbl* map_log_fait_x(
const Map* ) ;
4039 friend Mtbl* map_log_fait_y(
const Map* ) ;
4040 friend Mtbl* map_log_fait_z(
const Map* ) ;
4042 friend Mtbl* map_log_fait_xa(
const Map* ) ;
4043 friend Mtbl* map_log_fait_ya(
const Map* ) ;
4044 friend Mtbl* map_log_fait_za(
const Map* ) ;
4046 friend Mtbl* map_log_fait_xsr(
const Map* ) ;
4047 friend Mtbl* map_log_fait_dxdr(
const Map* ) ;
4048 friend Mtbl* map_log_fait_drdt(
const Map* ) ;
4049 friend Mtbl* map_log_fait_stdrdp(
const Map* ) ;
4050 friend Mtbl* map_log_fait_srdrdt(
const Map* ) ;
4051 friend Mtbl* map_log_fait_srstdrdp(
const Map* ) ;
4052 friend Mtbl* map_log_fait_sr2drdt(
const Map* ) ;
4053 friend Mtbl* map_log_fait_sr2stdrdp(
const Map* ) ;
4054 friend Mtbl* map_log_fait_d2rdx2(
const Map* ) ;
4055 friend Mtbl* map_log_fait_lapr_tp(
const Map* ) ;
4056 friend Mtbl* map_log_fait_d2rdtdx(
const Map* ) ;
4057 friend Mtbl* map_log_fait_sstd2rdpdx(
const Map* ) ;
4058 friend Mtbl* map_log_fait_sr2d2rdt2(
const Map* ) ;
4059 friend Mtbl* map_log_fait_dxdlnr(
const Map* ) ;
4063 Mtbl* map_log_fait_r(
const Map* ) ;
4064 Mtbl* map_log_fait_tet(
const Map* ) ;
4065 Mtbl* map_log_fait_phi(
const Map* ) ;
4066 Mtbl* map_log_fait_sint(
const Map* ) ;
4067 Mtbl* map_log_fait_cost(
const Map* ) ;
4068 Mtbl* map_log_fait_sinp(
const Map* ) ;
4069 Mtbl* map_log_fait_cosp(
const Map* ) ;
4071 Mtbl* map_log_fait_x(
const Map* ) ;
4072 Mtbl* map_log_fait_y(
const Map* ) ;
4073 Mtbl* map_log_fait_z(
const Map* ) ;
4075 Mtbl* map_log_fait_xa(
const Map* ) ;
4076 Mtbl* map_log_fait_ya(
const Map* ) ;
4077 Mtbl* map_log_fait_za(
const Map* ) ;
4079 Mtbl* map_log_fait_xsr(
const Map* ) ;
4080 Mtbl* map_log_fait_dxdr(
const Map* ) ;
4081 Mtbl* map_log_fait_drdt(
const Map* ) ;
4082 Mtbl* map_log_fait_stdrdp(
const Map* ) ;
4083 Mtbl* map_log_fait_srdrdt(
const Map* ) ;
4084 Mtbl* map_log_fait_srstdrdp(
const Map* ) ;
4085 Mtbl* map_log_fait_sr2drdt(
const Map* ) ;
4086 Mtbl* map_log_fait_sr2stdrdp(
const Map* ) ;
4087 Mtbl* map_log_fait_d2rdx2(
const Map* ) ;
4088 Mtbl* map_log_fait_lapr_tp(
const Map* ) ;
4089 Mtbl* map_log_fait_d2rdtdx(
const Map* ) ;
4090 Mtbl* map_log_fait_sstd2rdpdx(
const Map* ) ;
4091 Mtbl* map_log_fait_sr2d2rdt2(
const Map* ) ;
4093 Mtbl* map_log_fait_dxdlnr (
const Map*) ;
4101 #include "map_star.h" Coord xa
Absolute x coordinate.
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.
void set_coord()
Assignment of the building functions to the member Coords.
virtual void sauve(FILE *) const
Save in a file.
Tbl beta
Array (size: mg->nzone ) of the values of in each domain.
virtual bool operator==(const Map &) const
Comparison operator (egality)
Coord d2rdx2
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
virtual Tbl * integrale(const Scalar &) const
< Not implemented
Tbl ** bb
Array (size: mg->nzone ) of Tbl which stores the values of in each domain.
Coord sr2d2rdt2
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
Coord sr2stdrdp
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
Component of a tensorial field *** DEPRECATED : use class Scalar instead ***.
virtual void stdsdp(const Scalar &, Scalar &) const
< Not implemented
Tbl zaasx
Values at the nr collocation points of in the outermost compactified domain.
virtual void srstdsdp(const Cmp &ci, Cmp &resu) const
Computes of a Cmp.
const double * get_alpha() const
Returns the pointer on the array alpha.
virtual void primr(const Scalar &uu, Scalar &resu, bool null_infty) const
Computes the radial primitive which vanishes for .
void fait_poly()
Construction of the polynomials and .
double integrale_surface(const Cmp &ci, double rayon) const
Performs the surface integration of ci on the sphere of radius rayon .
void set_gg(const Valeur &)
Assigns a given value to the function .
Radial mapping of rather general form.
virtual const Map_af & mp_angu(int) const =0
Returns the "angular" mapping for the outside of domain l_zone.
virtual void primr(const Scalar &uu, Scalar &resu, bool null_infty) const
Computes the radial primitive which vanishes for .
const double * get_alpha() const
Returns a pointer on the array alpha (values of in each domain)
virtual void mult_sint(Scalar &) const =0
Multiplication by of a Scalar.
virtual void sauve(FILE *) const
Save in a file.
virtual void mult_cost(Scalar &) const
Multiplication by of a Scalar.
const Cmp & cmp_zero() const
Returns the null Cmp defined on *this.
const double * get_beta() const
Returns a pointer on the array beta (values of in each domain)
virtual void dsdt(const Scalar &uu, Scalar &resu) const
Computes of a Scalar.
virtual void dsdxi(const Cmp &ci, Cmp &resu) const =0
Computes of a Cmp .
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_rot_phi(double phi0)
Sets a new rotation angle.
virtual ostream & operator>>(ostream &) const =0
Operator >>
double integrale_surface_infini(const Cmp &ci) const
Performs the surface integration of ci at infinity.
virtual void homothetie(double lambda)
Sets a new radial scale.
double * alpha
Array (size: mg->nzone ) of the values of in each domain.
virtual void div_tant(Scalar &) const
Division by of a Scalar.
double get_ori_y() const
Returns the y coordinate of the origin.
const Base_vect_spher & get_bvect_spher() const
Returns the orthonormal vectorial basis associated with the coordinates of the mapping.
double * alpha
Array (size: mg->nzone ) of the values of in each domain.
virtual void dsdt(const Scalar &uu, Scalar &resu) const =0
Computes of a Scalar .
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...
double get_alpha(int l) const
Returns in the domain l.
virtual void dsdradial(const Scalar &, Scalar &) const
Computes of a Scalar.
void sol_elliptic_only_zec(Param_elliptic ¶ms, const Scalar &so, Scalar &uu, double val) const
General elliptic solver.
Cmp * p_cmp_zero
The null Cmp.
virtual void srdsdt(const Cmp &ci, Cmp &resu) const
Computes of a Cmp.
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...
const Mg3d * get_mg() const
Gives the Mg3d on which the mapping is defined.
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 dsdr(const Cmp &ci, Cmp &resu) const =0
Computes of a Cmp .
Flat metric for tensor calculation.
Coord sr2drdt
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
int get_type(int l) const
Returns the type of description in the domain l.
Tbl bbsx
Values at the nr collocation points of in the nucleus.
Tensor field of valence 0 (or component of a tensorial field).
virtual void srstdsdp(const Cmp &ci, Cmp &resu) const
Computes of a Cmp.
virtual Param * donne_para_poisson_vect(Param &, int) const
< Not implemented
virtual void primr(const Scalar &uu, Scalar &resu, bool null_infty) const =0
Computes the radial primitive which vanishes for .
Base class for coordinate mappings.
double get_ori_x() const
Returns the x coordinate of the origin.
const Valeur & get_gg() const
Returns a (constant) reference to the function .
void sol_elliptic_2d(Param_elliptic &, const Scalar &, Scalar &) const
General elliptic solver in a 2D case.
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, cases with boundary conditions of both Dirichlet and Neumann type (no condition imposed at infinity).
virtual void div_tant(Scalar &) const =0
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 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 adapt(const Cmp &ent, const Param &par, int nbr=0)=0
Adaptation of the mapping to a given scalar field.
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...
virtual const Map_af & mp_angu(int) const
Returns the "angular" mapping for the outside of domain l_zone.
Basic integer array class.
virtual void poisson_regular(const Cmp &source, int k_div, int nzet, double unsgam1, Param &par, Cmp &uu, Cmp &uu_regu, Cmp &uu_div, Tenseur &duu_div, Cmp &source_regu, Cmp &source_div) const
Computes the solution of a scalar Poisson equation.
virtual void poisson_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...
virtual void laplacien(const Scalar &, int, Scalar &) const
< Not implemented
virtual void dsdxi(const Cmp &ci, Cmp &resu) const
Computes of a Cmp.
virtual void inc_dzpuis(Scalar &) const =0
Increases by 1 the value of dzpuis of a Scalar and changes accordingly its values in the compactifi...
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 ostream & operator>>(ostream &) const
Operator >>
Values and coefficients of a (real-value) function.
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 void operator=(const Map_af &)
Assignment to another affine mapping.
virtual bool operator==(const Map &) const =0
Comparison operator (egality)
virtual void mult_rsint(Scalar &) const =0
Multiplication by of a Scalar.
Map_af * p_mp_angu
Pointer on the "angular" mapping.
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...
double get_rot_phi() const
Returns the angle between the x –axis and X –axis.
void set_new_grid(const Mg3d &new_mg)
Sets a new grid to a Map.
Tbl ** ddbb
Array (size: mg->nzone ) of Tbl which stores the values of in each domain.
Itbl type_var
Array (size: mg->nzone ) of the type of variable in each domain.
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 void srdsdt(const Cmp &ci, Cmp &resu) const =0
Computes of a Cmp .
const Metric_flat & flat_met_cart() const
Returns the flat metric associated with the Cartesian coordinates and with components expressed in th...
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
Performs one time-step integration of the d'Alembert scalar equation.
Coord srstdrdp
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
virtual Tbl * integrale(const Scalar &) const
Computes the integral over all space of a Scalar.
virtual void div_r_zec(Scalar &) const =0
Division by r (in the compactified external domain only) of a Scalar.
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 poisson_tau(const Cmp &source, Param &par, Cmp &uu) const =0
Computes the solution of a scalar Poisson equationwith a Tau method (Cmp version).
Coord tet
coordinate centered on the grid
virtual void srstdsdp(const Cmp &, Cmp &) const
< Not implemented
virtual void stdsdp(const Scalar &uu, Scalar &resu) const
Computes of a Scalar.
virtual void dsdt(const Scalar &, Scalar &) const
< Not implemented
virtual ostream & operator>>(ostream &) const
Operator >>
void set_ori(double xa0, double ya0, double za0)
Sets a new origin.
virtual void stdsdp(const Scalar &uu, Scalar &resu) const
Computes of a Scalar.
Coord phi
coordinate centered on the grid
void set_beta(double beta0, int l)
Modifies the value of in domain no. l.
virtual void div_r(Scalar &) const
Division by r of a Scalar.
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 poisson2d(const Cmp &source_mat, const Cmp &source_quad, Param &par, Cmp &uu, bool verbose=true) const =0
Computes the solution of a 2-D Poisson equation.
virtual void dsdxi(const Cmp &ci, Cmp &resu) const
Computes of a Cmp.
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...
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 ...
virtual void dec2_dzpuis(Scalar &) const =0
Decreases by 2 the value of dzpuis of a Scalar and changes accordingly its values in the compactifi...
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...
Coord dxdlnr
Same as dxdr if the domains where the description is affine and where it is logarithmic.
virtual ~Map_af()
Destructor.
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 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...
virtual void poisson_frontiere(const Cmp &, const Valeur &, int, int, Cmp &, double=0., double=0.) const
Not yet implemented.
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 operator=(const Map_af &)=0
Assignment to an affine mapping.
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.
Metric_flat * p_flat_met_spher
Pointer onto the flat metric associated with the spherical coordinates and with components expressed ...
Map_af(const Mg3d &mgrille, const double *r_limits)
Standard Constructor.
virtual void resize(int, double)
< Not implemented
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...
const Valeur & get_ff() const
Returns a (constant) reference to the function .
virtual void mult_r_zec(Scalar &) const
Multiplication by r (in the compactified external domain only) of a Scalar.
virtual void sauve(FILE *) const
Save in a file.
virtual void poisson(const Cmp &source, Param &par, Cmp &uu, bool verbose=true) const
Computes the solution of a scalar Poisson equation (Cmp version).
Tbl aasx2
Values at the nr collocation points of in the nucleus.
virtual void poisson(const Cmp &source, Param &par, Cmp &uu, bool verbose=true) const =0
Computes the solution of a scalar Poisson equation (Cmp version).
Valeur ff
Values of the function at the nt*np angular collocation points in each domain.
Coord stdrdp
in the nucleus and in the non-compactified shells; \ in the compactified external domain (CED)...
virtual void div_rsint(Scalar &) const =0
Division by of a Scalar.
virtual void homothetie(double lambda)=0
Sets a new radial scale.
virtual void operator=(const Map_af &mpa)
Assignment to an affine mapping.
virtual void poisson2d(const Cmp &source_mat, const Cmp &source_quad, Param &par, Cmp &uu, bool verbose=true) const
Computes the solution of a 2-D Poisson 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
Computes the solution of a scalar Poisson equation.
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 div_cost(Scalar &) const
Division by of a Scalar.
Logarithmic radial mapping.
Coord dxdr
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
virtual void div_rsint(Scalar &) const
Division by of a Scalar.
void sol_elliptic(Param_elliptic ¶ms, const Scalar &so, Scalar &uu) const
General elliptic solver.
double ori_y
Absolute coordinate y of the origin.
const double * get_beta() const
Returns the pointer on the array beta.
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.
double ori_z
Absolute coordinate z of the origin.
virtual Tbl * integrale(const Scalar &) const
Computes the integral over all space of a Scalar.
void sol_elliptic_no_zec(Param_elliptic ¶ms, const Scalar &so, Scalar &uu, double val) const
General elliptic solver.
virtual void mult_sint(Scalar &) const
Multiplication by of a Scalar.
virtual void laplacien(const Scalar &uu, int zec_mult_r, Scalar &lap) const
Computes the Laplacian of a scalar field.
virtual void poisson(const Cmp &, Param &, Cmp &, bool) const
< Not implemented
Tbl alpha
Array (size: mg->nzone ) of the values of in each domain.
virtual void resize(int l, double lambda)
Rescales the outer boundary of one domain.
Coord rsx2drdx
in the nucleus and the shells; \ in the outermost compactified domain.
virtual void srstdsdp(const Cmp &ci, Cmp &resu) const =0
Computes of a Cmp .
Base class for pure radial mappings.
virtual void dsdr(const Cmp &ci, Cmp &resu) const
Computes of a Cmp.
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 * beta
Array (size: mg->nzone ) of the values of in each domain.
Tbl ** aa
Array (size: mg->nzone ) of Tbl which stores the values of in each domain.
void set_alpha(double alpha0, int l)
Modifies the value of in domain no. l.
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...
virtual void adapt(const Cmp &, const Param &, int)
< Not implemented
virtual void homothetie(double lambda)
Sets a new radial scale.
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 sstd2rdpdx
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
virtual void poisson(const Cmp &source, Param &par, Cmp &uu, bool verbose=true) const
Computes the solution of a scalar Poisson equation (Cmp version).
virtual void sauve(FILE *) const
Save in a file.
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 poisson_interne(const Cmp &, const Valeur &, Param &, Cmp &) const
< Not implemented
virtual void mult_cost(Scalar &) const =0
Multiplication by of a Scalar.
Coord xsr
in the nucleus; \ 1/R in the non-compactified shells; \ in the compactified outer domain...
Metric_flat * p_flat_met_cart
Pointer onto the flat metric associated with the Cartesian coordinates and with components expressed ...
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 Param * donne_para_poisson_vect(Param ¶, int i) const =0
Function intended to be used by Map::poisson_vect and Map::poisson_vect_oohara .
This class contains the parameters needed to call the general elliptic solver.
virtual void reset_coord()
Resets all the member Coords.
Coord drdt
in the nucleus and in the non-compactified shells; \ in the compactified external domain (CED)...
virtual void dsdr(const Scalar &ci, Scalar &resu) const
Computes 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 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 lapang(const Scalar &uu, Scalar &lap) const
Computes the angular Laplacian of a scalar field.
virtual void resize(int l, double lambda)=0
Rescales the outer boundary of one domain.
Active physical coordinates and mapping derivatives.
Map_log(const Mg3d &mgrille, const Tbl &r_limits, const Itbl &typevar)
Standard Constructor.
void sol_elliptic_no_zec(Param_elliptic ¶ms, const Scalar &so, Scalar &uu, double) const
General elliptic solver.
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...
Cartesian vectorial bases (triads).
virtual void dsdradial(const Scalar &uu, Scalar &resu) const
Computes of a Scalar if the description is affine and if it is logarithmic.
void sol_elliptic(Param_elliptic ¶ms, const Scalar &so, Scalar &uu) const
General elliptic solver.
virtual void primr(const Scalar &, Scalar &, bool) const
< Not implemented
Spherical orthonormal vectorial bases (triads).
virtual void poisson_regular(const Cmp &, int, int, double, Param &, Cmp &, Cmp &, Cmp &, Tenseur &, Cmp &, Cmp &) const
< Not implemented
Coord rsxdxdr
in the nucleus; \ in the shells; \ in the outermost compactified domain.
virtual void reset_coord()
Resets all the member Coords.
virtual void mult_r(Scalar &uu) const
Multiplication by r of a Scalar, the dzpuis of uu is not changed.
virtual void poisson_tau(const Cmp &source, Param &par, Cmp &uu) const
Computes the solution of a scalar Poisson equation using a Tau method (Cmp version).
friend Mtbl * map_log_fait_r(const Map *)
< Not implemented
virtual void mult_r(Scalar &uu) const =0
Multiplication by r of a Scalar , the dzpuis of uu is not changed.
virtual void inc2_dzpuis(Scalar &) const =0
Increases by 2 the value of dzpuis of a Scalar and changes accordingly its values in the compactifi...
virtual void poisson_ylm(const Cmp &, Param &, Cmp &, int, double *) const
< Not implemented
virtual void lapang(const Scalar &, Scalar &) const
< Not implemented
Coord ya
Absolute y coordinate.
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 poisson_falloff(const Cmp &, Param &, Cmp &, int) const
< Not implemented
const Mg3d * mg
Pointer on the multi-grid Mgd3 on which this is defined.
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 .
virtual void adapt(const Cmp &ent, const Param &par, int nbr_filtre=0)
Adaptation of the mapping to a given scalar field.
virtual void dalembert(Param &par, Scalar &fJp1, const Scalar &fJ, const Scalar &fJm1, const Scalar &source) const
Not yet implemented.
double ori_x
Absolute coordinate x of the origin.
Tbl zaasx2
Values at the nr collocation points of in the outermost compactified domain.
virtual void dalembert(Param &, Scalar &, const Scalar &, const Scalar &, const Scalar &) const
< Not implemented
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.
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 Tbl * integrale(const Scalar &) const =0
Computes the integral over all space of a Scalar .
const Base_vect_cart & get_bvect_cart() const
Returns the Cartesian basis associated with the coordinates (x,y,z) of the mapping, i.e.
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 div_r_zec(Scalar &) const
Division by r (in the compactified external domain only) of a Scalar.
Map_radial(const Mg3d &mgrid)
Constructor from a grid (protected to make Map_radial an abstract class)
Valeur gg
Values of the function at the nt*np angular collocation points in each domain.
Coord y
y coordinate centered on the grid
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 inc2_dzpuis(Scalar &) const
Increases by 2 the value of dzpuis of a Scalar and changes accordingly its values in the compactifi...
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...
virtual void operator=(const Map_af &)=0
Assignment to an affine mapping.
virtual void homothetie(double)
Sets a new radial scale.
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 div_sint(Scalar &) const =0
Division by of a Scalar.
Coord za
Absolute z coordinate.
Coord lapr_tp
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
virtual const Map_af & mp_angu(int) const
Returns the "angular" mapping for the outside of domain l_zone.
virtual ~Map_et()
Destructor.
double get_beta(int l) const
Returns in the domain l.
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.
double * beta
Array (size: mg->nzone ) of the values of in each domain.
Coefficients storage for the multi-domain spectral method.
void resize_extr(double lambda)
Rescales the outer boundary of the outermost domain in the case of non-compactified external domain...
virtual void poisson_angu(const Scalar &, Param &, Scalar &, double=0) const
< Not implemented
virtual void dsdxi(const Scalar &ci, Scalar &resu) const
Computes of a Scalar.
virtual void operator=(const Map_et &mp)
Assignment to another Map_et.
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...
Coord x
x coordinate centered on the grid
Base_vect_spher bvect_spher
Orthonormal vectorial basis associated with the coordinates of the mapping.
Scalar interpolate_from_map_star(const Scalar &f_s) const
Interpolates from a Scalar defined on a Map_star and returns the new Scalar defined on *this...
virtual void div_sint(Scalar &) const
Division by of a Scalar.
Map_et(const Mg3d &mgrille, const double *r_limits)
Standard Constructor.
double get_ori_z() const
Returns the z coordinate of the origin.
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 srdsdt(const Cmp &ci, Cmp &resu) const
Computes of a Cmp.
virtual void reset_coord()
Resets all the member Coords.
virtual void mult_r_zec(Scalar &) const =0
Multiplication by r (in the compactified external domain only) of a Scalar.
void sol_elliptic_pseudo_1d(Param_elliptic &, const Scalar &, Scalar &) const
General elliptic solver in a pseudo 1d case.
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.
void set_ff(const Valeur &)
Assigns a given value to the function .
virtual void mult_rsint(Scalar &) const
Multiplication by of a Scalar.
void set_coord()
Assignement of the building functions to the member Coords.
void homothetie_interne(double lambda)
Sets a new radial scale at the bondary between the nucleus and the first shell.
virtual void laplacien(const Scalar &uu, int zec_mult_r, Scalar &lap) const
Computes the Laplacian of a scalar field.
virtual bool operator==(const Map &) const
Comparison operator (egality)
virtual void poisson_frontiere(const Cmp &, const Valeur &, int, int, Cmp &, double=0., double=0.) const
< Not implemented
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 poisson_tau(const Cmp &, Param &, Cmp &) const
< Not implemented
virtual void srdsdt(const Cmp &, Cmp &) const
< Not implemented
Tbl bbsx2
Values at the nr collocation points of in the nucleus.
virtual void poisson2d(const Cmp &source_mat, const Cmp &source_quad, Param &par, Cmp &uu, bool verbose=true) const
Computes the solution of a 2-D Poisson equation.
Map(const Mg3d &)
Constructor from a multi-domain 3D grid.
void set_beta(double beta0, int l)
Modifies the value of in domain no. l.
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 dec_dzpuis(Scalar &) const =0
Decreases by 1 the value of dzpuis of a Scalar and changes accordingly its values in the compactifi...
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 div_cost(Scalar &) const =0
Division by of a Scalar.
Coord srdrdt
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
virtual void poisson_frontiere_double(const Cmp &, const Valeur &, const Valeur &, int, Cmp &) const
< Not implemented
virtual ~Map_log()
Destructor.
virtual void adapt(const Cmp &ent, const Param &par, int nbr=0)
Adaptation of the mapping to a given scalar field.
virtual ~Map()
Destructor.
virtual void sauve(FILE *) const
Save in a file.
virtual void resize(int l, double lambda)
Rescales the outer boundary of one domain.
Coord z
z coordinate centered on the grid
virtual void div_r(Scalar &) const =0
Division by r of a Scalar.
double rot_phi
Angle between the x –axis and X –axis.
virtual void lapang(const Scalar &uu, Scalar &lap) const
Computes the angular Laplacian of a scalar field.
void sol_elliptic_sin_zec(Param_elliptic ¶ms, const Scalar &so, Scalar &uu, double *coefs, double *) const
General elliptic solver.
Tbl ** dbb
Array (size: mg->nzone ) of Tbl which stores the values of in each 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 poisson_angu(const Scalar &source, Param &par, Scalar &uu, double lambda=0) const =0
Computes the solution of the generalized angular Poisson equation.
const Metric_flat & flat_met_spher() const
Returns the flat metric associated with the spherical coordinates and with components expressed in th...
virtual void dsdr(const Cmp &ci, Cmp &resu) const
Computes of a Cmp.
Tbl aasx
Values at the nr collocation points of in the nucleus.
virtual void dsdt(const Scalar &uu, Scalar &resu) const
Computes of a Scalar.
virtual double val_r_jk(int l, double xi, int j, int k) const
< Comparison operator
Tensor handling *** DEPRECATED : use class Tensor instead ***.
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...
Base_vect_cart bvect_cart
Cartesian basis associated with the coordinates (x,y,z) of the mapping, i.e.
virtual ~Map_radial()
Destructor.
virtual void laplacien(const Scalar &uu, int zec_mult_r, Scalar &lap) const =0
Computes the Laplacian of a scalar field.
Tbl ** ddaa
Array (size: mg->nzone ) of Tbl which stores the values of in each domain.
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 ...
Coord r
r coordinate centered on the grid
virtual void poisson2d(const Cmp &, const Cmp &, Param &, Cmp &, bool=true) const
< Not implemented
Coord d2rdtdx
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
virtual void lapang(const Scalar &uu, Scalar &lap) const =0
Computes the angular Laplacian of a scalar field.
friend ostream & operator<<(ostream &, const Map &)
Operator <<.
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...
virtual void poisson_tau(const Cmp &source, Param &par, Cmp &uu) const
Computes the solution of a scalar Poisson equation with a Tau method (Cmp version).
virtual void stdsdp(const Scalar &uu, Scalar &resu) const =0
Computes of a Scalar .
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 bool operator==(const Map &) const =0
Comparison operator (egality)
virtual const Map_af & mp_angu(int) const
Returns the "angular" mapping for the outside of domain l_zone.