638 #include "base_vect.h" 650 class Param_elliptic ;
772 virtual ostream&
operator>>(ostream &)
const = 0 ;
775 virtual void sauve(FILE* )
const ;
843 double& rr,
double& theta,
double& pphi)
const ;
853 virtual double val_r(
int l,
double xi,
double theta,
double pphi)
864 virtual void val_lx(
double rr,
double theta,
double pphi,
865 int& l,
double& xi)
const = 0 ;
879 virtual void val_lx(
double rr,
double theta,
double pphi,
880 const Param& par,
int& l,
double& xi)
const = 0 ;
891 void set_ori(
double xa0,
double ya0,
double za0) ;
909 virtual void resize(
int l,
double lambda) = 0 ;
922 virtual void adapt(
const Cmp& ent,
const Param& par,
int nbr=0) = 0 ;
998 virtual void dsdxi(
const Cmp& ci,
Cmp& resu)
const = 0 ;
1006 virtual void dsdr(
const Cmp& ci,
Cmp& resu)
const = 0 ;
1014 virtual void srdsdt(
const Cmp& ci,
Cmp& resu)
const = 0 ;
1098 Cmp& lap)
const = 0 ;
1120 bool null_infty)
const = 0 ;
1134 virtual void mult_r(
Cmp& ci)
const = 0 ;
1191 const Cmp& v_phi,
Cmp& v_x)
const = 0 ;
1207 const Cmp& v_phi,
Cmp& v_y)
const = 0 ;
1222 Cmp& v_z)
const = 0 ;
1237 const Cmp& v_z,
Cmp& v_r)
const = 0 ;
1253 const Cmp& v_z,
Cmp& v_t)
const = 0 ;
1268 Cmp& v_p)
const = 0 ;
1330 virtual void poisson_falloff(
const Cmp& source,
Param& par,
Cmp& uu,
1331 int k_falloff)
const = 0 ;
1333 virtual void poisson_ylm(
const Cmp& source,
Param& par,
Cmp& pot,
1334 int nylm,
double* intvec)
const = 0 ;
1359 double unsgam1,
Param& par,
Cmp& uu,
1360 Cmp& uu_regu,
Cmp& uu_div,
1362 Cmp& source_div)
const = 0 ;
1379 Cmp& psi)
const = 0 ;
1397 Cmp& psi)
const = 0 ;
1417 Scalar& uu,
double lambda=0)
const = 0 ;
1420 Cmp& uu,
double lambda=0)
const = 0 ;
1470 int raccord,
int num_front,
Cmp& pot,
1471 double = 0.,
double = 0.)
const = 0 ;
1473 virtual void poisson_frontiere_double (
const Cmp& source,
const Valeur& lim_func,
1474 const Valeur& lim_der,
int num_zone,
Cmp& pot)
const = 0 ;
1535 ostream& operator<<(ostream& ,
const Map& ) ;
1706 virtual void sauve(FILE* )
const ;
1719 virtual double val_r_jk(
int l,
double xi,
int j,
int k)
const = 0 ;
1731 virtual void val_lx_jk(
double rr,
int j,
int k,
const Param& par,
1732 int& l,
double& xi)
const = 0 ;
1869 const Cmp& v_phi,
Cmp& v_x)
const ;
1885 const Cmp& v_phi,
Cmp& v_y)
const ;
1916 const Cmp& v_z,
Cmp& v_r)
const ;
1932 const Cmp& v_z,
Cmp& v_t)
const ;
2072 Map_af(
const Mg3d& mgrille,
const double* r_limits) ;
2141 virtual double val_r(
int l,
double xi,
double theta,
double pphi)
const ;
2152 virtual void val_lx(
double rr,
double theta,
double pphi,
2153 int& l,
double& xi)
const ;
2164 virtual void val_lx(
double rr,
double theta,
double pphi,
2165 const Param& par,
int& l,
double& xi)
const ;
2176 virtual double val_r_jk(
int l,
double xi,
int j,
int k)
const ;
2187 virtual void val_lx_jk(
double rr,
int j,
int k,
const Param& par,
2188 int& l,
double& xi)
const ;
2197 virtual void sauve(FILE* )
const ;
2200 virtual ostream&
operator>>(ostream &)
const ;
2220 virtual void resize(
int l,
double lambda) ;
2231 virtual void adapt(
const Cmp& ent,
const Param& par,
int nbr=0) ;
2237 void set_beta(
double beta0,
int l) ;
2248 virtual void dsdxi(
const Cmp& ci,
Cmp& resu)
const ;
2256 virtual void dsdr(
const Cmp& ci,
Cmp& resu)
const ;
2369 bool null_infty)
const ;
2403 virtual void poisson_falloff(
const Cmp& source,
Param& par,
Cmp& uu,
2404 int k_falloff)
const ;
2406 virtual void poisson_ylm(
const Cmp& source,
Param& par,
Cmp& pot,
2407 int nylm,
double* intvec)
const ;
2431 double unsgam1,
Param& par,
Cmp& uu,
2432 Cmp& uu_regu,
Cmp& uu_div,
2434 Cmp& source_div)
const ;
2454 Scalar& uu,
double lambda=0)
const ;
2456 Cmp& uu,
double lambda=0)
const ;
2481 const Valeur& lim_der,
int num_zone,
Cmp& pot)
const ;
2508 double integrale_surface_falloff (
const Cmp& ci)
const ;
2546 double fact_dir,
double fact_neu )
const ;
2554 double fact_dir,
double fact_neu )
const ;
2587 double* coefs,
double*)
const ;
2687 friend Mtbl* map_af_fait_r(
const Map* ) ;
2688 friend Mtbl* map_af_fait_tet(
const Map* ) ;
2689 friend Mtbl* map_af_fait_phi(
const Map* ) ;
2690 friend Mtbl* map_af_fait_sint(
const Map* ) ;
2691 friend Mtbl* map_af_fait_cost(
const Map* ) ;
2692 friend Mtbl* map_af_fait_sinp(
const Map* ) ;
2693 friend Mtbl* map_af_fait_cosp(
const Map* ) ;
2695 friend Mtbl* map_af_fait_x(
const Map* ) ;
2696 friend Mtbl* map_af_fait_y(
const Map* ) ;
2697 friend Mtbl* map_af_fait_z(
const Map* ) ;
2699 friend Mtbl* map_af_fait_xa(
const Map* ) ;
2700 friend Mtbl* map_af_fait_ya(
const Map* ) ;
2701 friend Mtbl* map_af_fait_za(
const Map* ) ;
2703 friend Mtbl* map_af_fait_xsr(
const Map* ) ;
2704 friend Mtbl* map_af_fait_dxdr(
const Map* ) ;
2705 friend Mtbl* map_af_fait_drdt(
const Map* ) ;
2706 friend Mtbl* map_af_fait_stdrdp(
const Map* ) ;
2707 friend Mtbl* map_af_fait_srdrdt(
const Map* ) ;
2708 friend Mtbl* map_af_fait_srstdrdp(
const Map* ) ;
2709 friend Mtbl* map_af_fait_sr2drdt(
const Map* ) ;
2710 friend Mtbl* map_af_fait_sr2stdrdp(
const Map* ) ;
2711 friend Mtbl* map_af_fait_d2rdx2(
const Map* ) ;
2712 friend Mtbl* map_af_fait_lapr_tp(
const Map* ) ;
2713 friend Mtbl* map_af_fait_d2rdtdx(
const Map* ) ;
2714 friend Mtbl* map_af_fait_sstd2rdpdx(
const Map* ) ;
2715 friend Mtbl* map_af_fait_sr2d2rdt2(
const Map* ) ;
2719 Mtbl* map_af_fait_r(
const Map* ) ;
2720 Mtbl* map_af_fait_tet(
const Map* ) ;
2721 Mtbl* map_af_fait_phi(
const Map* ) ;
2722 Mtbl* map_af_fait_sint(
const Map* ) ;
2723 Mtbl* map_af_fait_cost(
const Map* ) ;
2724 Mtbl* map_af_fait_sinp(
const Map* ) ;
2725 Mtbl* map_af_fait_cosp(
const Map* ) ;
2727 Mtbl* map_af_fait_x(
const Map* ) ;
2728 Mtbl* map_af_fait_y(
const Map* ) ;
2729 Mtbl* map_af_fait_z(
const Map* ) ;
2731 Mtbl* map_af_fait_xa(
const Map* ) ;
2732 Mtbl* map_af_fait_ya(
const Map* ) ;
2733 Mtbl* map_af_fait_za(
const Map* ) ;
2735 Mtbl* map_af_fait_xsr(
const Map* ) ;
2736 Mtbl* map_af_fait_dxdr(
const Map* ) ;
2737 Mtbl* map_af_fait_drdt(
const Map* ) ;
2738 Mtbl* map_af_fait_stdrdp(
const Map* ) ;
2739 Mtbl* map_af_fait_srdrdt(
const Map* ) ;
2740 Mtbl* map_af_fait_srstdrdp(
const Map* ) ;
2741 Mtbl* map_af_fait_sr2drdt(
const Map* ) ;
2742 Mtbl* map_af_fait_sr2stdrdp(
const Map* ) ;
2743 Mtbl* map_af_fait_d2rdx2(
const Map* ) ;
2744 Mtbl* map_af_fait_lapr_tp(
const Map* ) ;
2745 Mtbl* map_af_fait_d2rdtdx(
const Map* ) ;
2746 Mtbl* map_af_fait_sstd2rdpdx(
const Map* ) ;
2747 Mtbl* map_af_fait_sr2d2rdt2(
const Map* ) ;
2888 Map_et(
const Mg3d& mgrille,
const double* r_limits) ;
2907 Map_et(
const Mg3d& mgrille,
const double* r_limits,
const Tbl& tab);
2973 virtual double val_r(
int l,
double xi,
double theta,
double pphi)
const ;
2984 virtual void val_lx(
double rr,
double theta,
double pphi,
2985 int& l,
double& xi)
const ;
3005 virtual void val_lx(
double rr,
double theta,
double pphi,
3006 const Param& par,
int& l,
double& xi)
const ;
3020 virtual double val_r_jk(
int l,
double xi,
int j,
int k)
const ;
3038 virtual void val_lx_jk(
double rr,
int j,
int k,
const Param& par,
3039 int& l,
double& xi)
const ;
3046 virtual void sauve(FILE* )
const ;
3049 virtual ostream&
operator>>(ostream &)
const ;
3069 virtual void resize(
int l,
double lambda) ;
3083 void set_beta(
double beta0,
int l) ;
3131 virtual void adapt(
const Cmp& ent,
const Param& par,
int nbr_filtre = 0) ;
3142 virtual void dsdxi(
const Cmp& ci,
Cmp& resu)
const ;
3150 virtual void dsdr(
const Cmp& ci,
Cmp& resu)
const ;
3264 bool null_infty)
const ;
3358 virtual void poisson_falloff(
const Cmp& source,
Param& par,
Cmp& uu,
3359 int k_falloff)
const ;
3361 virtual void poisson_ylm(
const Cmp& source,
Param& par,
Cmp& uu,
3362 int nylm,
double* intvec)
const ;
3400 double unsgam1,
Param& par,
Cmp& uu,
3401 Cmp& uu_regu,
Cmp& uu_div,
3403 Cmp& source_div)
const ;
3423 Scalar& uu,
double lambda=0)
const ;
3425 Cmp& uu,
double lambda=0)
const ;
3456 Cmp&,
double = 0.,
double = 0.)
const ;
3457 virtual void poisson_frontiere_double (
const Cmp& source,
3459 int num_zone,
Cmp& pot)
const ;
3527 friend Mtbl* map_et_fait_r(
const Map* ) ;
3528 friend Mtbl* map_et_fait_tet(
const Map* ) ;
3529 friend Mtbl* map_et_fait_phi(
const Map* ) ;
3530 friend Mtbl* map_et_fait_sint(
const Map* ) ;
3531 friend Mtbl* map_et_fait_cost(
const Map* ) ;
3532 friend Mtbl* map_et_fait_sinp(
const Map* ) ;
3533 friend Mtbl* map_et_fait_cosp(
const Map* ) ;
3535 friend Mtbl* map_et_fait_x(
const Map* ) ;
3536 friend Mtbl* map_et_fait_y(
const Map* ) ;
3537 friend Mtbl* map_et_fait_z(
const Map* ) ;
3539 friend Mtbl* map_et_fait_xa(
const Map* ) ;
3540 friend Mtbl* map_et_fait_ya(
const Map* ) ;
3541 friend Mtbl* map_et_fait_za(
const Map* ) ;
3543 friend Mtbl* map_et_fait_xsr(
const Map* ) ;
3544 friend Mtbl* map_et_fait_dxdr(
const Map* ) ;
3545 friend Mtbl* map_et_fait_drdt(
const Map* ) ;
3546 friend Mtbl* map_et_fait_stdrdp(
const Map* ) ;
3547 friend Mtbl* map_et_fait_srdrdt(
const Map* ) ;
3548 friend Mtbl* map_et_fait_srstdrdp(
const Map* ) ;
3549 friend Mtbl* map_et_fait_sr2drdt(
const Map* ) ;
3550 friend Mtbl* map_et_fait_sr2stdrdp(
const Map* ) ;
3551 friend Mtbl* map_et_fait_d2rdx2(
const Map* ) ;
3552 friend Mtbl* map_et_fait_lapr_tp(
const Map* ) ;
3553 friend Mtbl* map_et_fait_d2rdtdx(
const Map* ) ;
3554 friend Mtbl* map_et_fait_sstd2rdpdx(
const Map* ) ;
3555 friend Mtbl* map_et_fait_sr2d2rdt2(
const Map* ) ;
3557 friend Mtbl* map_et_fait_rsxdxdr(
const Map* ) ;
3558 friend Mtbl* map_et_fait_rsx2drdx(
const Map* ) ;
3562 Mtbl* map_et_fait_r(
const Map* ) ;
3563 Mtbl* map_et_fait_tet(
const Map* ) ;
3564 Mtbl* map_et_fait_phi(
const Map* ) ;
3565 Mtbl* map_et_fait_sint(
const Map* ) ;
3566 Mtbl* map_et_fait_cost(
const Map* ) ;
3567 Mtbl* map_et_fait_sinp(
const Map* ) ;
3568 Mtbl* map_et_fait_cosp(
const Map* ) ;
3570 Mtbl* map_et_fait_x(
const Map* ) ;
3571 Mtbl* map_et_fait_y(
const Map* ) ;
3572 Mtbl* map_et_fait_z(
const Map* ) ;
3574 Mtbl* map_et_fait_xa(
const Map* ) ;
3575 Mtbl* map_et_fait_ya(
const Map* ) ;
3576 Mtbl* map_et_fait_za(
const Map* ) ;
3578 Mtbl* map_et_fait_xsr(
const Map* ) ;
3579 Mtbl* map_et_fait_dxdr(
const Map* ) ;
3580 Mtbl* map_et_fait_drdt(
const Map* ) ;
3581 Mtbl* map_et_fait_stdrdp(
const Map* ) ;
3582 Mtbl* map_et_fait_srdrdt(
const Map* ) ;
3583 Mtbl* map_et_fait_srstdrdp(
const Map* ) ;
3584 Mtbl* map_et_fait_sr2drdt(
const Map* ) ;
3585 Mtbl* map_et_fait_sr2stdrdp(
const Map* ) ;
3586 Mtbl* map_et_fait_d2rdx2(
const Map* ) ;
3587 Mtbl* map_et_fait_lapr_tp(
const Map* ) ;
3588 Mtbl* map_et_fait_d2rdtdx(
const Map* ) ;
3589 Mtbl* map_et_fait_sstd2rdpdx(
const Map* ) ;
3590 Mtbl* map_et_fait_sr2d2rdt2(
const Map* ) ;
3592 Mtbl* map_et_fait_rsxdxdr(
const Map* ) ;
3593 Mtbl* map_et_fait_rsx2drdx(
const Map* ) ;
3700 double fact_dir,
double fact_neu )
const ;
3707 double fact_dir,
double fact_neu )
const ;
3723 virtual void sauve(FILE*)
const ;
3729 virtual ostream&
operator>> (ostream&)
const ;
3740 virtual double val_r (
int l,
double xi,
double theta,
double pphi)
const ;
3751 virtual void val_lx (
double rr,
double theta,
double pphi,
int& l,
double& xi)
const ;
3762 virtual void val_lx (
double rr,
double theta,
double pphi,
const Param& par,
int& l,
double& xi)
const ;
3776 virtual double val_r_jk (
int l,
double xi,
int j,
int k)
const ;
3787 virtual void val_lx_jk (
double rr,
int j,
int k,
const Param& par,
int& l,
double& xi)
const ;
3816 virtual void resize (
int,
double) ;
3850 friend Mtbl* map_log_fait_tet(
const Map* ) ;
3851 friend Mtbl* map_log_fait_phi(
const Map* ) ;
3852 friend Mtbl* map_log_fait_sint(
const Map* ) ;
3853 friend Mtbl* map_log_fait_cost(
const Map* ) ;
3854 friend Mtbl* map_log_fait_sinp(
const Map* ) ;
3855 friend Mtbl* map_log_fait_cosp(
const Map* ) ;
3857 friend Mtbl* map_log_fait_x(
const Map* ) ;
3858 friend Mtbl* map_log_fait_y(
const Map* ) ;
3859 friend Mtbl* map_log_fait_z(
const Map* ) ;
3861 friend Mtbl* map_log_fait_xa(
const Map* ) ;
3862 friend Mtbl* map_log_fait_ya(
const Map* ) ;
3863 friend Mtbl* map_log_fait_za(
const Map* ) ;
3865 friend Mtbl* map_log_fait_xsr(
const Map* ) ;
3866 friend Mtbl* map_log_fait_dxdr(
const Map* ) ;
3867 friend Mtbl* map_log_fait_drdt(
const Map* ) ;
3868 friend Mtbl* map_log_fait_stdrdp(
const Map* ) ;
3869 friend Mtbl* map_log_fait_srdrdt(
const Map* ) ;
3870 friend Mtbl* map_log_fait_srstdrdp(
const Map* ) ;
3871 friend Mtbl* map_log_fait_sr2drdt(
const Map* ) ;
3872 friend Mtbl* map_log_fait_sr2stdrdp(
const Map* ) ;
3873 friend Mtbl* map_log_fait_d2rdx2(
const Map* ) ;
3874 friend Mtbl* map_log_fait_lapr_tp(
const Map* ) ;
3875 friend Mtbl* map_log_fait_d2rdtdx(
const Map* ) ;
3876 friend Mtbl* map_log_fait_sstd2rdpdx(
const Map* ) ;
3877 friend Mtbl* map_log_fait_sr2d2rdt2(
const Map* ) ;
3878 friend Mtbl* map_log_fait_dxdlnr(
const Map* ) ;
3882 Mtbl* map_log_fait_r(
const Map* ) ;
3883 Mtbl* map_log_fait_tet(
const Map* ) ;
3884 Mtbl* map_log_fait_phi(
const Map* ) ;
3885 Mtbl* map_log_fait_sint(
const Map* ) ;
3886 Mtbl* map_log_fait_cost(
const Map* ) ;
3887 Mtbl* map_log_fait_sinp(
const Map* ) ;
3888 Mtbl* map_log_fait_cosp(
const Map* ) ;
3890 Mtbl* map_log_fait_x(
const Map* ) ;
3891 Mtbl* map_log_fait_y(
const Map* ) ;
3892 Mtbl* map_log_fait_z(
const Map* ) ;
3894 Mtbl* map_log_fait_xa(
const Map* ) ;
3895 Mtbl* map_log_fait_ya(
const Map* ) ;
3896 Mtbl* map_log_fait_za(
const Map* ) ;
3898 Mtbl* map_log_fait_xsr(
const Map* ) ;
3899 Mtbl* map_log_fait_dxdr(
const Map* ) ;
3900 Mtbl* map_log_fait_drdt(
const Map* ) ;
3901 Mtbl* map_log_fait_stdrdp(
const Map* ) ;
3902 Mtbl* map_log_fait_srdrdt(
const Map* ) ;
3903 Mtbl* map_log_fait_srstdrdp(
const Map* ) ;
3904 Mtbl* map_log_fait_sr2drdt(
const Map* ) ;
3905 Mtbl* map_log_fait_sr2stdrdp(
const Map* ) ;
3906 Mtbl* map_log_fait_d2rdx2(
const Map* ) ;
3907 Mtbl* map_log_fait_lapr_tp(
const Map* ) ;
3908 Mtbl* map_log_fait_d2rdtdx(
const Map* ) ;
3909 Mtbl* map_log_fait_sstd2rdpdx(
const Map* ) ;
3910 Mtbl* map_log_fait_sr2d2rdt2(
const Map* ) ;
3912 Mtbl* map_log_fait_dxdlnr (
const Map*) ;
3920 #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.
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.
virtual Tbl * integrale(const Cmp &) const =0
Computes the integral over all space of a Cmp .
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 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...
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 Tbl * integrale(const Cmp &) const
Computes the integral over all space of a Cmp.
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.
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 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.
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 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...
virtual void poisson(const Cmp &source, Param &par, Cmp &uu) const
Computes the solution of a scalar Poisson equation.
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 poisson2d(const Cmp &source_mat, const Cmp &source_quad, Param &par, Cmp &uu) const =0
Computes the solution of a 2-D Poisson equation.
Tbl aasx2
Values at the nr collocation points of in the nucleus.
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 poisson(const Cmp &source, Param &par, Cmp &uu) const
Computes the solution of a scalar Poisson equation.
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 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.
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.
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 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 Tbl * integrale(const 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 .
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.
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.
virtual void poisson2d(const Cmp &, const Cmp &, Param &, Cmp &) const
< Not implemented
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.
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 ...
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.
virtual void poisson(const Cmp &source, Param &par, Cmp &uu) const =0
Computes the solution of a scalar Poisson equation.
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 Tbl * integrale(const Cmp &) const
Computes the integral over all space of a Cmp.
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 poisson(const Cmp &, Param &, Cmp &) 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 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.
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
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.
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.