632#include "base_vect.h"
837 double& rr,
double& theta,
double& pphi)
const ;
847 virtual double val_r(
int l,
double xi,
double theta,
double pphi)
858 virtual void val_lx(
double rr,
double theta,
double pphi,
859 int& l,
double& xi)
const = 0 ;
873 virtual void val_lx(
double rr,
double theta,
double pphi,
874 const Param& par,
int& l,
double& xi)
const = 0 ;
885 void set_ori(
double xa0,
double ya0,
double za0) ;
903 virtual void resize(
int l,
double lambda) = 0 ;
1092 Cmp& lap)
const = 0 ;
1114 bool null_infty)
const = 0 ;
1185 const Cmp& v_phi,
Cmp& v_x)
const = 0 ;
1201 const Cmp& v_phi,
Cmp& v_y)
const = 0 ;
1216 Cmp& v_z)
const = 0 ;
1231 const Cmp& v_z,
Cmp& v_r)
const = 0 ;
1247 const Cmp& v_z,
Cmp& v_t)
const = 0 ;
1262 Cmp& v_p)
const = 0 ;
1324 virtual void poisson_falloff(
const Cmp& source,
Param& par,
Cmp& uu,
1325 int k_falloff)
const = 0 ;
1327 virtual void poisson_ylm(
const Cmp& source,
Param& par,
Cmp& pot,
1328 int nylm,
double* intvec)
const = 0 ;
1353 double unsgam1,
Param& par,
Cmp& uu,
1354 Cmp& uu_regu,
Cmp& uu_div,
1356 Cmp& source_div)
const = 0 ;
1373 Cmp& psi)
const = 0 ;
1391 Cmp& psi)
const = 0 ;
1411 Scalar& uu,
double lambda=0)
const = 0 ;
1414 Cmp& uu,
double lambda=0)
const = 0 ;
1464 int raccord,
int num_front,
Cmp& pot,
1465 double = 0.,
double = 0.)
const = 0 ;
1467 virtual void poisson_frontiere_double (
const Cmp& source,
const Valeur& lim_func,
1468 const Valeur& lim_der,
int num_zone,
Cmp& pot)
const = 0 ;
1527 friend ostream& operator<<(ostream& ,
const Map& ) ;
1529ostream& operator<<(ostream& ,
const Map& ) ;
1700 virtual void sauve(FILE* )
const ;
1713 virtual double val_r_jk(
int l,
double xi,
int j,
int k)
const = 0 ;
1726 int& l,
double& xi)
const = 0 ;
1863 const Cmp& v_phi,
Cmp& v_x)
const ;
1879 const Cmp& v_phi,
Cmp& v_y)
const ;
1910 const Cmp& v_z,
Cmp& v_r)
const ;
1926 const Cmp& v_z,
Cmp& v_t)
const ;
2066 Map_af(
const Mg3d& mgrille,
const double* r_limits) ;
2135 virtual double val_r(
int l,
double xi,
double theta,
double pphi)
const ;
2146 virtual void val_lx(
double rr,
double theta,
double pphi,
2147 int& l,
double& xi)
const ;
2158 virtual void val_lx(
double rr,
double theta,
double pphi,
2159 const Param& par,
int& l,
double& xi)
const ;
2170 virtual double val_r_jk(
int l,
double xi,
int j,
int k)
const ;
2181 virtual void val_lx_jk(
double rr,
int j,
int k,
const Param& par,
2182 int& l,
double& xi)
const ;
2191 virtual void sauve(FILE* )
const ;
2194 virtual ostream&
operator>>(ostream &)
const ;
2214 virtual void resize(
int l,
double lambda) ;
2225 virtual void adapt(
const Cmp& ent,
const Param& par,
int nbr=0) ;
2231 void set_beta(
double beta0,
int l) ;
2242 virtual void dsdxi(
const Cmp& ci,
Cmp& resu)
const ;
2250 virtual void dsdr(
const Cmp& ci,
Cmp& resu)
const ;
2363 bool null_infty)
const ;
2397 virtual void poisson_falloff(
const Cmp& source,
Param& par,
Cmp& uu,
2398 int k_falloff)
const ;
2400 virtual void poisson_ylm(
const Cmp& source,
Param& par,
Cmp& pot,
2401 int nylm,
double* intvec)
const ;
2425 double unsgam1,
Param& par,
Cmp& uu,
2426 Cmp& uu_regu,
Cmp& uu_div,
2428 Cmp& source_div)
const ;
2448 Scalar& uu,
double lambda=0)
const ;
2450 Cmp& uu,
double lambda=0)
const ;
2475 const Valeur& lim_der,
int num_zone,
Cmp& pot)
const ;
2502 double integrale_surface_falloff (
const Cmp& ci)
const ;
2540 double fact_dir,
double fact_neu )
const ;
2548 double fact_dir,
double fact_neu )
const ;
2581 double* coefs,
double*)
const ;
2674 friend Mtbl* map_af_fait_r(
const Map* ) ;
2675 friend Mtbl* map_af_fait_tet(
const Map* ) ;
2676 friend Mtbl* map_af_fait_phi(
const Map* ) ;
2677 friend Mtbl* map_af_fait_sint(
const Map* ) ;
2678 friend Mtbl* map_af_fait_cost(
const Map* ) ;
2679 friend Mtbl* map_af_fait_sinp(
const Map* ) ;
2680 friend Mtbl* map_af_fait_cosp(
const Map* ) ;
2682 friend Mtbl* map_af_fait_x(
const Map* ) ;
2683 friend Mtbl* map_af_fait_y(
const Map* ) ;
2684 friend Mtbl* map_af_fait_z(
const Map* ) ;
2686 friend Mtbl* map_af_fait_xa(
const Map* ) ;
2687 friend Mtbl* map_af_fait_ya(
const Map* ) ;
2688 friend Mtbl* map_af_fait_za(
const Map* ) ;
2690 friend Mtbl* map_af_fait_xsr(
const Map* ) ;
2691 friend Mtbl* map_af_fait_dxdr(
const Map* ) ;
2692 friend Mtbl* map_af_fait_drdt(
const Map* ) ;
2693 friend Mtbl* map_af_fait_stdrdp(
const Map* ) ;
2694 friend Mtbl* map_af_fait_srdrdt(
const Map* ) ;
2695 friend Mtbl* map_af_fait_srstdrdp(
const Map* ) ;
2696 friend Mtbl* map_af_fait_sr2drdt(
const Map* ) ;
2697 friend Mtbl* map_af_fait_sr2stdrdp(
const Map* ) ;
2698 friend Mtbl* map_af_fait_d2rdx2(
const Map* ) ;
2699 friend Mtbl* map_af_fait_lapr_tp(
const Map* ) ;
2700 friend Mtbl* map_af_fait_d2rdtdx(
const Map* ) ;
2701 friend Mtbl* map_af_fait_sstd2rdpdx(
const Map* ) ;
2702 friend Mtbl* map_af_fait_sr2d2rdt2(
const Map* ) ;
2706 Mtbl* map_af_fait_r(
const Map* ) ;
2707 Mtbl* map_af_fait_tet(
const Map* ) ;
2708 Mtbl* map_af_fait_phi(
const Map* ) ;
2709 Mtbl* map_af_fait_sint(
const Map* ) ;
2710 Mtbl* map_af_fait_cost(
const Map* ) ;
2711 Mtbl* map_af_fait_sinp(
const Map* ) ;
2712 Mtbl* map_af_fait_cosp(
const Map* ) ;
2714 Mtbl* map_af_fait_x(
const Map* ) ;
2715 Mtbl* map_af_fait_y(
const Map* ) ;
2716 Mtbl* map_af_fait_z(
const Map* ) ;
2718 Mtbl* map_af_fait_xa(
const Map* ) ;
2719 Mtbl* map_af_fait_ya(
const Map* ) ;
2720 Mtbl* map_af_fait_za(
const Map* ) ;
2722 Mtbl* map_af_fait_xsr(
const Map* ) ;
2723 Mtbl* map_af_fait_dxdr(
const Map* ) ;
2724 Mtbl* map_af_fait_drdt(
const Map* ) ;
2725 Mtbl* map_af_fait_stdrdp(
const Map* ) ;
2726 Mtbl* map_af_fait_srdrdt(
const Map* ) ;
2727 Mtbl* map_af_fait_srstdrdp(
const Map* ) ;
2728 Mtbl* map_af_fait_sr2drdt(
const Map* ) ;
2729 Mtbl* map_af_fait_sr2stdrdp(
const Map* ) ;
2730 Mtbl* map_af_fait_d2rdx2(
const Map* ) ;
2731 Mtbl* map_af_fait_lapr_tp(
const Map* ) ;
2732 Mtbl* map_af_fait_d2rdtdx(
const Map* ) ;
2733 Mtbl* map_af_fait_sstd2rdpdx(
const Map* ) ;
2734 Mtbl* map_af_fait_sr2d2rdt2(
const Map* ) ;
2875 Map_et(
const Mg3d& mgrille,
const double* r_limits) ;
2894 Map_et(
const Mg3d& mgrille,
const double* r_limits,
const Tbl& tab);
2960 virtual double val_r(
int l,
double xi,
double theta,
double pphi)
const ;
2971 virtual void val_lx(
double rr,
double theta,
double pphi,
2972 int& l,
double& xi)
const ;
2992 virtual void val_lx(
double rr,
double theta,
double pphi,
2993 const Param& par,
int& l,
double& xi)
const ;
3007 virtual double val_r_jk(
int l,
double xi,
int j,
int k)
const ;
3025 virtual void val_lx_jk(
double rr,
int j,
int k,
const Param& par,
3026 int& l,
double& xi)
const ;
3033 virtual void sauve(FILE* )
const ;
3036 virtual ostream&
operator>>(ostream &)
const ;
3056 virtual void resize(
int l,
double lambda) ;
3070 void set_beta(
double beta0,
int l) ;
3118 virtual void adapt(
const Cmp& ent,
const Param& par,
int nbr_filtre = 0) ;
3129 virtual void dsdxi(
const Cmp& ci,
Cmp& resu)
const ;
3137 virtual void dsdr(
const Cmp& ci,
Cmp& resu)
const ;
3251 bool null_infty)
const ;
3345 virtual void poisson_falloff(
const Cmp& source,
Param& par,
Cmp& uu,
3346 int k_falloff)
const ;
3348 virtual void poisson_ylm(
const Cmp& source,
Param& par,
Cmp& uu,
3349 int nylm,
double* intvec)
const ;
3387 double unsgam1,
Param& par,
Cmp& uu,
3388 Cmp& uu_regu,
Cmp& uu_div,
3390 Cmp& source_div)
const ;
3410 Scalar& uu,
double lambda=0)
const ;
3412 Cmp& uu,
double lambda=0)
const ;
3443 Cmp&,
double = 0.,
double = 0.)
const ;
3444 virtual void poisson_frontiere_double (
const Cmp& source,
3446 int num_zone,
Cmp& pot)
const ;
3514 friend Mtbl* map_et_fait_r(
const Map* ) ;
3515 friend Mtbl* map_et_fait_tet(
const Map* ) ;
3516 friend Mtbl* map_et_fait_phi(
const Map* ) ;
3517 friend Mtbl* map_et_fait_sint(
const Map* ) ;
3518 friend Mtbl* map_et_fait_cost(
const Map* ) ;
3519 friend Mtbl* map_et_fait_sinp(
const Map* ) ;
3520 friend Mtbl* map_et_fait_cosp(
const Map* ) ;
3522 friend Mtbl* map_et_fait_x(
const Map* ) ;
3523 friend Mtbl* map_et_fait_y(
const Map* ) ;
3524 friend Mtbl* map_et_fait_z(
const Map* ) ;
3526 friend Mtbl* map_et_fait_xa(
const Map* ) ;
3527 friend Mtbl* map_et_fait_ya(
const Map* ) ;
3528 friend Mtbl* map_et_fait_za(
const Map* ) ;
3530 friend Mtbl* map_et_fait_xsr(
const Map* ) ;
3531 friend Mtbl* map_et_fait_dxdr(
const Map* ) ;
3532 friend Mtbl* map_et_fait_drdt(
const Map* ) ;
3533 friend Mtbl* map_et_fait_stdrdp(
const Map* ) ;
3534 friend Mtbl* map_et_fait_srdrdt(
const Map* ) ;
3535 friend Mtbl* map_et_fait_srstdrdp(
const Map* ) ;
3536 friend Mtbl* map_et_fait_sr2drdt(
const Map* ) ;
3537 friend Mtbl* map_et_fait_sr2stdrdp(
const Map* ) ;
3538 friend Mtbl* map_et_fait_d2rdx2(
const Map* ) ;
3539 friend Mtbl* map_et_fait_lapr_tp(
const Map* ) ;
3540 friend Mtbl* map_et_fait_d2rdtdx(
const Map* ) ;
3541 friend Mtbl* map_et_fait_sstd2rdpdx(
const Map* ) ;
3542 friend Mtbl* map_et_fait_sr2d2rdt2(
const Map* ) ;
3544 friend Mtbl* map_et_fait_rsxdxdr(
const Map* ) ;
3545 friend Mtbl* map_et_fait_rsx2drdx(
const Map* ) ;
3549 Mtbl* map_et_fait_r(
const Map* ) ;
3550 Mtbl* map_et_fait_tet(
const Map* ) ;
3551 Mtbl* map_et_fait_phi(
const Map* ) ;
3552 Mtbl* map_et_fait_sint(
const Map* ) ;
3553 Mtbl* map_et_fait_cost(
const Map* ) ;
3554 Mtbl* map_et_fait_sinp(
const Map* ) ;
3555 Mtbl* map_et_fait_cosp(
const Map* ) ;
3557 Mtbl* map_et_fait_x(
const Map* ) ;
3558 Mtbl* map_et_fait_y(
const Map* ) ;
3559 Mtbl* map_et_fait_z(
const Map* ) ;
3561 Mtbl* map_et_fait_xa(
const Map* ) ;
3562 Mtbl* map_et_fait_ya(
const Map* ) ;
3563 Mtbl* map_et_fait_za(
const Map* ) ;
3565 Mtbl* map_et_fait_xsr(
const Map* ) ;
3566 Mtbl* map_et_fait_dxdr(
const Map* ) ;
3567 Mtbl* map_et_fait_drdt(
const Map* ) ;
3568 Mtbl* map_et_fait_stdrdp(
const Map* ) ;
3569 Mtbl* map_et_fait_srdrdt(
const Map* ) ;
3570 Mtbl* map_et_fait_srstdrdp(
const Map* ) ;
3571 Mtbl* map_et_fait_sr2drdt(
const Map* ) ;
3572 Mtbl* map_et_fait_sr2stdrdp(
const Map* ) ;
3573 Mtbl* map_et_fait_d2rdx2(
const Map* ) ;
3574 Mtbl* map_et_fait_lapr_tp(
const Map* ) ;
3575 Mtbl* map_et_fait_d2rdtdx(
const Map* ) ;
3576 Mtbl* map_et_fait_sstd2rdpdx(
const Map* ) ;
3577 Mtbl* map_et_fait_sr2d2rdt2(
const Map* ) ;
3579 Mtbl* map_et_fait_rsxdxdr(
const Map* ) ;
3580 Mtbl* map_et_fait_rsx2drdx(
const Map* ) ;
3687 double fact_dir,
double fact_neu )
const ;
3694 double fact_dir,
double fact_neu )
const ;
3710 virtual void sauve(FILE*)
const ;
3716 virtual ostream&
operator>> (ostream&)
const ;
3727 virtual double val_r (
int l,
double xi,
double theta,
double pphi)
const ;
3738 virtual void val_lx (
double rr,
double theta,
double pphi,
int& l,
double& xi)
const ;
3749 virtual void val_lx (
double rr,
double theta,
double pphi,
const Param& par,
int& l,
double& xi)
const ;
3763 virtual double val_r_jk (
int l,
double xi,
int j,
int k)
const ;
3774 virtual void val_lx_jk (
double rr,
int j,
int k,
const Param& par,
int& l,
double& xi)
const ;
3803 virtual void resize (
int,
double) ;
3837 friend Mtbl* map_log_fait_tet(
const Map* ) ;
3838 friend Mtbl* map_log_fait_phi(
const Map* ) ;
3839 friend Mtbl* map_log_fait_sint(
const Map* ) ;
3840 friend Mtbl* map_log_fait_cost(
const Map* ) ;
3841 friend Mtbl* map_log_fait_sinp(
const Map* ) ;
3842 friend Mtbl* map_log_fait_cosp(
const Map* ) ;
3844 friend Mtbl* map_log_fait_x(
const Map* ) ;
3845 friend Mtbl* map_log_fait_y(
const Map* ) ;
3846 friend Mtbl* map_log_fait_z(
const Map* ) ;
3848 friend Mtbl* map_log_fait_xa(
const Map* ) ;
3849 friend Mtbl* map_log_fait_ya(
const Map* ) ;
3850 friend Mtbl* map_log_fait_za(
const Map* ) ;
3852 friend Mtbl* map_log_fait_xsr(
const Map* ) ;
3853 friend Mtbl* map_log_fait_dxdr(
const Map* ) ;
3854 friend Mtbl* map_log_fait_drdt(
const Map* ) ;
3855 friend Mtbl* map_log_fait_stdrdp(
const Map* ) ;
3856 friend Mtbl* map_log_fait_srdrdt(
const Map* ) ;
3857 friend Mtbl* map_log_fait_srstdrdp(
const Map* ) ;
3858 friend Mtbl* map_log_fait_sr2drdt(
const Map* ) ;
3859 friend Mtbl* map_log_fait_sr2stdrdp(
const Map* ) ;
3860 friend Mtbl* map_log_fait_d2rdx2(
const Map* ) ;
3861 friend Mtbl* map_log_fait_lapr_tp(
const Map* ) ;
3862 friend Mtbl* map_log_fait_d2rdtdx(
const Map* ) ;
3863 friend Mtbl* map_log_fait_sstd2rdpdx(
const Map* ) ;
3864 friend Mtbl* map_log_fait_sr2d2rdt2(
const Map* ) ;
3865 friend Mtbl* map_log_fait_dxdlnr(
const Map* ) ;
3869Mtbl* map_log_fait_r(
const Map* ) ;
3870Mtbl* map_log_fait_tet(
const Map* ) ;
3871Mtbl* map_log_fait_phi(
const Map* ) ;
3872Mtbl* map_log_fait_sint(
const Map* ) ;
3873Mtbl* map_log_fait_cost(
const Map* ) ;
3874Mtbl* map_log_fait_sinp(
const Map* ) ;
3875Mtbl* map_log_fait_cosp(
const Map* ) ;
3877Mtbl* map_log_fait_x(
const Map* ) ;
3878Mtbl* map_log_fait_y(
const Map* ) ;
3879Mtbl* map_log_fait_z(
const Map* ) ;
3881Mtbl* map_log_fait_xa(
const Map* ) ;
3882Mtbl* map_log_fait_ya(
const Map* ) ;
3883Mtbl* map_log_fait_za(
const Map* ) ;
3885Mtbl* map_log_fait_xsr(
const Map* ) ;
3886Mtbl* map_log_fait_dxdr(
const Map* ) ;
3887Mtbl* map_log_fait_drdt(
const Map* ) ;
3888Mtbl* map_log_fait_stdrdp(
const Map* ) ;
3889Mtbl* map_log_fait_srdrdt(
const Map* ) ;
3890Mtbl* map_log_fait_srstdrdp(
const Map* ) ;
3891Mtbl* map_log_fait_sr2drdt(
const Map* ) ;
3892Mtbl* map_log_fait_sr2stdrdp(
const Map* ) ;
3893Mtbl* map_log_fait_d2rdx2(
const Map* ) ;
3894Mtbl* map_log_fait_lapr_tp(
const Map* ) ;
3895Mtbl* map_log_fait_d2rdtdx(
const Map* ) ;
3896Mtbl* map_log_fait_sstd2rdpdx(
const Map* ) ;
3897Mtbl* map_log_fait_sr2d2rdt2(
const Map* ) ;
3899Mtbl* map_log_fait_dxdlnr (
const Map*) ;
3940 Map_star(
const Mg3d& mgrille,
const double* r_limits) ;
3985 const Valeur& get_beta()
const ;
3990 void set_beta(
const Tbl& beta0,
int l) ;
3993 void set_beta(
const Valeur& beta0) ;
4004 virtual double val_r(
int l,
double xi,
double theta,
double pphi)
const ;
4015 virtual void val_lx(
double rr,
double theta,
double pphi,
4016 int& l,
double& xi)
const ;
4027 virtual void val_lx(
double rr,
double theta,
double pphi,
4028 const Param& par,
int& l,
double& xi)
const ;
4039 virtual double val_r_jk(
int l,
double xi,
int j,
int k)
const ;
4050 virtual void val_lx_jk(
double rr,
int j,
int k,
const Param& par,
4051 int& l,
double& xi)
const ;
4098 virtual void sauve(FILE* )
const ;
4101 virtual ostream&
operator>>(ostream &)
const ;
4103 virtual void homothetie (
double) ;
4104 virtual void resize (
int,
double) ;
4134 friend Mtbl* map_star_fait_tet(
const Map* ) ;
4135 friend Mtbl* map_star_fait_phi(
const Map* ) ;
4136 friend Mtbl* map_star_fait_sint(
const Map* ) ;
4137 friend Mtbl* map_star_fait_cost(
const Map* ) ;
4138 friend Mtbl* map_star_fait_sinp(
const Map* ) ;
4139 friend Mtbl* map_star_fait_cosp(
const Map* ) ;
4141 friend Mtbl* map_star_fait_x(
const Map* ) ;
4142 friend Mtbl* map_star_fait_y(
const Map* ) ;
4143 friend Mtbl* map_star_fait_z(
const Map* ) ;
4145 friend Mtbl* map_star_fait_xa(
const Map* ) ;
4146 friend Mtbl* map_star_fait_ya(
const Map* ) ;
4147 friend Mtbl* map_star_fait_za(
const Map* ) ;
4149 friend Mtbl* map_star_fait_xsr(
const Map* ) ;
4150 friend Mtbl* map_star_fait_dxdr(
const Map* ) ;
4151 friend Mtbl* map_star_fait_drdt(
const Map* ) ;
4152 friend Mtbl* map_star_fait_stdrdp(
const Map* ) ;
4153 friend Mtbl* map_star_fait_srdrdt(
const Map* ) ;
4154 friend Mtbl* map_star_fait_srstdrdp(
const Map* ) ;
4155 friend Mtbl* map_star_fait_sr2drdt(
const Map* ) ;
4156 friend Mtbl* map_star_fait_sr2stdrdp(
const Map* ) ;
4157 friend Mtbl* map_star_fait_d2rdx2(
const Map* ) ;
4158 friend Mtbl* map_star_fait_lapr_tp(
const Map* ) ;
4159 friend Mtbl* map_star_fait_d2rdtdx(
const Map* ) ;
4160 friend Mtbl* map_star_fait_sstd2rdpdx(
const Map* ) ;
4161 friend Mtbl* map_star_fait_sr2d2rdt2(
const Map* ) ;
4163 Mtbl* map_star_fait_r(
const Map* ) ;
4164 Mtbl* map_star_fait_tet(
const Map* ) ;
4165 Mtbl* map_star_fait_phi(
const Map* ) ;
4166 Mtbl* map_star_fait_sint(
const Map* ) ;
4167 Mtbl* map_star_fait_cost(
const Map* ) ;
4168 Mtbl* map_star_fait_sinp(
const Map* ) ;
4169 Mtbl* map_star_fait_cosp(
const Map* ) ;
4171 Mtbl* map_star_fait_x(
const Map* ) ;
4172 Mtbl* map_star_fait_y(
const Map* ) ;
4173 Mtbl* map_star_fait_z(
const Map* ) ;
4175 Mtbl* map_star_fait_xa(
const Map* ) ;
4176 Mtbl* map_star_fait_ya(
const Map* ) ;
4177 Mtbl* map_star_fait_za(
const Map* ) ;
4179 Mtbl* map_star_fait_xsr(
const Map* ) ;
4180 Mtbl* map_star_fait_dxdr(
const Map* ) ;
4181 Mtbl* map_star_fait_drdt(
const Map* ) ;
4182 Mtbl* map_star_fait_stdrdp(
const Map* ) ;
4183 Mtbl* map_star_fait_srdrdt(
const Map* ) ;
4184 Mtbl* map_star_fait_srstdrdp(
const Map* ) ;
4185 Mtbl* map_star_fait_sr2drdt(
const Map* ) ;
4186 Mtbl* map_star_fait_sr2stdrdp(
const Map* ) ;
4187 Mtbl* map_star_fait_d2rdx2(
const Map* ) ;
4188 Mtbl* map_star_fait_lapr_tp(
const Map* ) ;
4189 Mtbl* map_star_fait_d2rdtdx(
const Map* ) ;
4190 Mtbl* map_star_fait_sstd2rdpdx(
const Map* ) ;
4191 Mtbl* map_star_fait_sr2d2rdt2(
const Map* ) ;
4234 Map_eps(
const Mg3d& mgrille,
const double* r_limits) ;
4244 Map_eps(
const Mg3d& mgrille,
double a,
double b,
double c) ;
4279 const Valeur& get_beta()
const ;
4280 double get_aa()
const {
return aa;} ;
4281 double get_bb()
const {
return bb;} ;
4282 double get_cc()
const {
return cc;} ;
4286 void set_alpha(
const Tbl& alpha0,
int l) ;
4287 void set_beta(
const Tbl& beta0,
int l) ;
4290 void set_beta(
const Valeur& beta0) ;
4301 virtual double val_r(
int l,
double xi,
double theta,
double pphi)
const ;
4312 virtual void val_lx(
double rr,
double theta,
double pphi,
4313 int& l,
double& xi)
const ;
4324 virtual void val_lx(
double rr,
double theta,
double pphi,
4325 const Param& par,
int& l,
double& xi)
const ;
4336 virtual double val_r_jk(
int l,
double xi,
int j,
int k)
const ;
4347 virtual void val_lx_jk(
double rr,
int j,
int k,
const Param& par,
4348 int& l,
double& xi)
const ;
4359 virtual void dsdr (
const Scalar& ci, Scalar& resu)
const ;
4368 virtual void srstdsdp (
const Scalar&, Scalar&)
const ;
4377 virtual void srdsdt (
const Scalar&, Scalar&)
const ;
4383 virtual void dsdt (
const Scalar&, Scalar&)
const ;
4390 virtual void stdsdp (
const Scalar&, Scalar&)
const ;
4395 virtual void sauve(FILE* )
const ;
4398 virtual ostream&
operator>>(ostream &)
const ;
4400 virtual void homothetie (
double) ;
4401 virtual void resize (
int,
double) ;
4402 virtual void adapt (
const Cmp&,
const Param&,
int) ;
4403 virtual void dsdr (
const Cmp&, Cmp&)
const ;
4404 virtual void dsdxi (
const Cmp&, Cmp&)
const ;
4405 virtual void dsdxi (
const Scalar&, Scalar&)
const ;
4406 virtual void dsdradial (
const Scalar& uu, Scalar& resu)
const ;
4407 virtual void srdsdt (
const Cmp&, Cmp&)
const ;
4408 virtual void srstdsdp (
const Cmp&, Cmp&)
const ;
4409 virtual void laplacien (
const Scalar&,
int, Scalar&)
const ;
4410 virtual void laplacien (
const Cmp&,
int, Cmp&)
const ;
4411 virtual void lapang (
const Scalar&, Scalar&)
const ;
4412 virtual void primr(
const Scalar&, Scalar&,
bool)
const ;
4413 virtual Tbl*
integrale (
const Cmp&)
const ;
4414 virtual void poisson (
const Cmp&, Param&, Cmp&)
const ;
4415 virtual void poisson_tau (
const Cmp&, Param&, Cmp&)
const ;
4417 virtual void poisson_ylm(
const Cmp&, Param&, Cmp&,
int,
double*)
const ;
4418 virtual void poisson_regular (
const Cmp&,
int,
int,
double, Param&, Cmp&, Cmp&, Cmp&,
4419 Tenseur&, Cmp&, Cmp&)
const ;
4420 virtual void poisson_angu (
const Scalar&, Param&, Scalar&,
double=0)
const ;
4421 virtual void poisson_angu (
const Cmp&, Param&, Cmp&,
double=0)
const ;
4423 virtual void poisson_frontiere (
const Cmp&,
const Valeur&,
int,
int, Cmp&,
double = 0.,
double = 0.)
const ;
4425 virtual void poisson_interne (
const Cmp&,
const Valeur&, Param&, Cmp&)
const ;
4426 virtual void poisson2d (
const Cmp&,
const Cmp&, Param&, Cmp&)
const ;
4427 virtual void dalembert (Param&, Scalar&,
const Scalar&,
const Scalar&,
const Scalar&)
const ;
4431 friend Mtbl* map_eps_fait_tet(
const Map* ) ;
4432 friend Mtbl* map_eps_fait_phi(
const Map* ) ;
4433 friend Mtbl* map_eps_fait_sint(
const Map* ) ;
4434 friend Mtbl* map_eps_fait_cost(
const Map* ) ;
4435 friend Mtbl* map_eps_fait_sinp(
const Map* ) ;
4436 friend Mtbl* map_eps_fait_cosp(
const Map* ) ;
4438 friend Mtbl* map_eps_fait_x(
const Map* ) ;
4439 friend Mtbl* map_eps_fait_y(
const Map* ) ;
4440 friend Mtbl* map_eps_fait_z(
const Map* ) ;
4442 friend Mtbl* map_eps_fait_xa(
const Map* ) ;
4443 friend Mtbl* map_eps_fait_ya(
const Map* ) ;
4444 friend Mtbl* map_eps_fait_za(
const Map* ) ;
4446 friend Mtbl* map_eps_fait_xsr(
const Map* ) ;
4447 friend Mtbl* map_eps_fait_dxdr(
const Map* ) ;
4448 friend Mtbl* map_eps_fait_drdt(
const Map* ) ;
4449 friend Mtbl* map_eps_fait_stdrdp(
const Map* ) ;
4450 friend Mtbl* map_eps_fait_srdrdt(
const Map* ) ;
4451 friend Mtbl* map_eps_fait_srstdrdp(
const Map* ) ;
4452 friend Mtbl* map_eps_fait_sr2drdt(
const Map* ) ;
4453 friend Mtbl* map_eps_fait_sr2stdrdp(
const Map* ) ;
4454 friend Mtbl* map_eps_fait_d2rdx2(
const Map* ) ;
4455 friend Mtbl* map_eps_fait_lapr_tp(
const Map* ) ;
4456 friend Mtbl* map_eps_fait_d2rdtdx(
const Map* ) ;
4457 friend Mtbl* map_eps_fait_sstd2rdpdx(
const Map* ) ;
4458 friend Mtbl* map_eps_fait_sr2d2rdt2(
const Map* ) ;
4460 Mtbl* map_eps_fait_r(
const Map* ) ;
4461 Mtbl* map_eps_fait_tet(
const Map* ) ;
4462 Mtbl* map_eps_fait_phi(
const Map* ) ;
4463 Mtbl* map_eps_fait_sint(
const Map* ) ;
4464 Mtbl* map_eps_fait_cost(
const Map* ) ;
4465 Mtbl* map_eps_fait_sinp(
const Map* ) ;
4466 Mtbl* map_eps_fait_cosp(
const Map* ) ;
4468 Mtbl* map_eps_fait_x(
const Map* ) ;
4469 Mtbl* map_eps_fait_y(
const Map* ) ;
4470 Mtbl* map_eps_fait_z(
const Map* ) ;
4472 Mtbl* map_eps_fait_xa(
const Map* ) ;
4473 Mtbl* map_eps_fait_ya(
const Map* ) ;
4474 Mtbl* map_eps_fait_za(
const Map* ) ;
4476 Mtbl* map_eps_fait_xsr(
const Map* ) ;
4477 Mtbl* map_eps_fait_dxdr(
const Map* ) ;
4478 Mtbl* map_eps_fait_drdt(
const Map* ) ;
4479 Mtbl* map_eps_fait_stdrdp(
const Map* ) ;
4480 Mtbl* map_eps_fait_srdrdt(
const Map* ) ;
4481 Mtbl* map_eps_fait_srstdrdp(
const Map* ) ;
4482 Mtbl* map_eps_fait_sr2drdt(
const Map* ) ;
4483 Mtbl* map_eps_fait_sr2stdrdp(
const Map* ) ;
4484 Mtbl* map_eps_fait_d2rdx2(
const Map* ) ;
4485 Mtbl* map_eps_fait_lapr_tp(
const Map* ) ;
4486 Mtbl* map_eps_fait_d2rdtdx(
const Map* ) ;
4487 Mtbl* map_eps_fait_sstd2rdpdx(
const Map* ) ;
4488 Mtbl* map_eps_fait_sr2d2rdt2(
const Map* ) ;
Cartesian vectorial bases (triads).
Spherical orthonormal vectorial bases (triads).
Component of a tensorial field *** DEPRECATED : use class Scalar instead ***.
Active physical coordinates and mapping derivatives.
Basic integer array class.
void sol_elliptic_boundary(Param_elliptic ¶ms, const Scalar &so, Scalar &uu, const Mtbl_cf &bound, double fact_dir, double fact_neu) const
General elliptic solver including inner boundary conditions.
virtual ostream & operator>>(ostream &) const
Operator >>.
virtual void srstdsdp(const Cmp &ci, Cmp &resu) const
Computes of a Cmp.
const double * get_beta() const
Returns the pointer on the array beta.
const double * get_alpha() const
Returns the pointer on the array alpha.
void set_beta(double beta0, int l)
Modifies the value of in domain no. l.
virtual void poisson_interne(const Cmp &source, const Valeur &limite, Param &par, Cmp &pot) const
Computes the solution of a Poisson equation in the shell, imposing a boundary condition at the surfac...
virtual void adapt(const Cmp &ent, const Param &par, int nbr=0)
Adaptation of the mapping to a given scalar field.
void set_coord()
Assignment of the building functions to the member Coords.
virtual void poisson_frontiere(const Cmp &, const Valeur &, int, int, Cmp &, double=0., double=0.) const
Solver of the Poisson equation with boundary condition for the affine mapping case.
Map_af(const Mg3d &mgrille, const double *r_limits)
Standard Constructor.
void sol_elliptic(Param_elliptic ¶ms, const Scalar &so, Scalar &uu) const
General elliptic solver.
virtual ~Map_af()
Destructor.
virtual void poisson_regular(const Cmp &source, int k_div, int nzet, double unsgam1, Param &par, Cmp &uu, Cmp &uu_regu, Cmp &uu_div, Tenseur &duu_div, Cmp &source_regu, Cmp &source_div) const
Computes the solution of a scalar Poisson equation.
virtual Param * donne_para_poisson_vect(Param &par, int i) const
Internal function intended to be used by Map::poisson_vect and Map::poisson_vect_oohara .
void sol_elliptic_sin_zec(Param_elliptic ¶ms, const Scalar &so, Scalar &uu, double *coefs, double *) const
General elliptic solver.
virtual void sauve(FILE *) const
Save in a file.
void sol_elliptic_fixe_der_zero(double val, Param_elliptic ¶ms, const Scalar &so, Scalar &uu) const
General elliptic solver fixing the derivative at the origin and relaxing the continuity of the first ...
virtual void primr(const Scalar &uu, Scalar &resu, bool null_infty) const
Computes the radial primitive which vanishes for .
double * beta
Array (size: mg->nzone ) of the values of in each domain.
virtual void dalembert(Param &par, Scalar &fJp1, const Scalar &fJ, const Scalar &fJm1, const Scalar &source) const
Performs one time-step integration of the d'Alembert scalar equation.
virtual void operator=(const Map_af &)
Assignment to another affine mapping.
void homothetie_interne(double lambda)
Sets a new radial scale at the bondary between the nucleus and the first shell.
virtual void homothetie(double lambda)
Sets a new radial scale.
virtual void poisson_angu(const Scalar &source, Param &par, Scalar &uu, double lambda=0) const
Computes the solution of the generalized angular Poisson equation.
virtual void laplacien(const Scalar &uu, int zec_mult_r, Scalar &lap) const
Computes the Laplacian of a scalar field.
double * alpha
Array (size: mg->nzone ) of the values of in each domain.
virtual void lapang(const Scalar &uu, Scalar &lap) const
Computes the angular Laplacian of a scalar field.
void sol_elliptic_2d(Param_elliptic &, const Scalar &, Scalar &) const
General elliptic solver in a 2D case.
virtual void poisson2d(const Cmp &source_mat, const Cmp &source_quad, Param &par, Cmp &uu) const
Computes the solution of a 2-D Poisson equation.
virtual void val_lx_jk(double rr, int j, int k, const Param &par, int &l, double &xi) const
Computes the domain index l and the value of corresponding to a point of arbitrary r but collocation...
virtual void poisson(const Cmp &source, Param &par, Cmp &uu) const
Computes the solution of a scalar Poisson equation.
virtual void dsdradial(const Scalar &, Scalar &) const
Computes of a Scalar.
virtual void dsdr(const Cmp &ci, Cmp &resu) const
Computes of a Cmp.
virtual void dsdt(const Scalar &uu, Scalar &resu) const
Computes of a Scalar.
virtual bool operator==(const Map &) const
Comparison operator (egality).
virtual void val_lx(double rr, double theta, double pphi, int &l, double &xi) const
Computes the domain index l and the value of corresponding to a point given by its physical coordina...
void set_alpha(double alpha0, int l)
Modifies the value of in domain no. l.
virtual void stdsdp(const Scalar &uu, Scalar &resu) const
Computes of a Scalar.
virtual Tbl * integrale(const Cmp &) const
Computes the integral over all space of a Cmp.
void sol_elliptic_pseudo_1d(Param_elliptic &, const Scalar &, Scalar &) const
General elliptic solver in a pseudo 1d case.
virtual void poisson_tau(const Cmp &source, Param &par, Cmp &uu) const
Computes the solution of a scalar Poisson equation using a Tau method.
double integrale_surface_infini(const Cmp &ci) const
Performs the surface integration of ci at infinity.
virtual void resize(int l, double lambda)
Rescales the outer boundary of one domain.
virtual double val_r_jk(int l, double xi, int j, int k) const
Returns the value of the radial coordinate r for a given and a given collocation point in in a give...
void sol_elliptic_only_zec(Param_elliptic ¶ms, const Scalar &so, Scalar &uu, double val) const
General elliptic solver.
virtual void srdsdt(const Cmp &ci, Cmp &resu) const
Computes of a Cmp.
virtual void poisson_frontiere_double(const Cmp &source, const Valeur &lim_func, const Valeur &lim_der, int num_zone, Cmp &pot) const
Solver of the Poisson equation with boundary condition for the affine mapping case,...
void sol_elliptic_no_zec(Param_elliptic ¶ms, const Scalar &so, Scalar &uu, double val) const
General elliptic solver.
virtual const Map_af & mp_angu(int) const
Returns the "angular" mapping for the outside of domain l_zone.
virtual void dsdxi(const Cmp &ci, Cmp &resu) const
Computes of a Cmp.
double integrale_surface(const Cmp &ci, double rayon) const
Performs the surface integration of ci on the sphere of radius rayon .
virtual double val_r(int l, double xi, double theta, double pphi) const
Returns the value of the radial coordinate r for a given in a given domain.
virtual void dsdt(const Scalar &, Scalar &) const
Computes of a Scalar .
virtual void srstdsdp(const Scalar &, Scalar &) const
Computes of a Scalar.
Map_eps(const Mg3d &mgrille, const double *r_limits)
Standard Constructor.
virtual Tbl * integrale(const Cmp &) const
< Not implemented
virtual void laplacien(const Scalar &, int, Scalar &) const
< Not implemented
virtual void poisson_angu(const Scalar &, Param &, Scalar &, double=0) 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 resize(int, double)
< Not implemented
virtual void sauve(FILE *) const
Save in a file.
Map_eps(const Mg3d &, const string &)
Constructor from a formatted file.
virtual void poisson_frontiere_double(const Cmp &, const Valeur &, const Valeur &, int, Cmp &) const
< Not implemented
virtual void dsdxi(const Cmp &, Cmp &) const
< Not implemented
virtual ~Map_eps()
Destructor.
virtual void stdsdp(const Scalar &, Scalar &) const
Computes of a Scalar .
virtual void dsdradial(const Scalar &uu, Scalar &resu) const
< Not implemented
virtual void poisson_regular(const Cmp &, int, int, double, Param &, Cmp &, Cmp &, Cmp &, Tenseur &, Cmp &, Cmp &) const
< Not implemented
virtual const Map_af & mp_angu(int) const
Returns the "angular" mapping for the outside of domain l_zone.
virtual void poisson_ylm(const Cmp &, Param &, Cmp &, int, double *) const
< Not implemented
virtual void srdsdt(const Scalar &, Scalar &) const
Computes of a Scalar.
virtual void primr(const Scalar &, Scalar &, bool) const
< Not implemented
void set_alpha(const Tbl &alpha0, int l)
Modifies the value of in domain no. l.
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.
const Valeur & get_alpha() const
Returns the reference on the Tbl alpha.
friend Mtbl * map_eps_fait_r(const Map *)
< Not implemented
virtual void poisson(const Cmp &, Param &, Cmp &) const
< Not implemented
virtual void lapang(const Scalar &, Scalar &) const
< Not implemented
void set_coord()
Assignment of the building functions to the member Coords.
virtual void poisson2d(const Cmp &, const Cmp &, Param &, Cmp &) const
< Not implemented
virtual void dsdr(const Scalar &ci, Scalar &resu) const
Computes of a Scalar.
virtual void operator=(const Map_af &)
Assignment to an affine mapping.
virtual bool operator==(const Map &) const
Comparison operator (egality).
virtual void poisson_falloff(const Cmp &, Param &, Cmp &, int) const
< Not implemented
double aa
Array (size: mg->nzone*Nt*Np ) of the values of in each domain.
virtual void val_lx(double rr, double theta, double pphi, int &l, double &xi) const
Computes the domain index l and the value of corresponding to a point given by its physical coordina...
virtual void poisson_tau(const Cmp &, Param &, Cmp &) const
< Not implemented
virtual void adapt(const Cmp &, const Param &, int)
< Not implemented
virtual void poisson_interne(const Cmp &, const Valeur &, Param &, Cmp &) const
< Not implemented
virtual Param * donne_para_poisson_vect(Param &, int) const
< Not implemented
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 dalembert(Param &, Scalar &, const Scalar &, const Scalar &, const Scalar &) const
< Not implemented
virtual ostream & operator>>(ostream &) const
Operator >>.
virtual void poisson_frontiere(const Cmp &, const Valeur &, int, int, Cmp &, double=0., double=0.) const
< Not implemented
Radial mapping of rather general form.
const Valeur & get_ff() const
Returns a (constant) reference to the function .
const double * get_alpha() const
Returns a pointer on the array alpha (values of in each domain).
void resize_extr(double lambda)
Rescales the outer boundary of the outermost domain in the case of non-compactified external domain.
double * beta
Array (size: mg->nzone ) of the values of in each domain.
virtual void poisson_interne(const Cmp &source, const Valeur &limite, Param &par, Cmp &pot) const
Computes the solution of a Poisson equation in the shell .
virtual void val_lx_jk(double rr, int j, int k, const Param &par, int &l, double &xi) const
Computes the domain index l and the value of corresponding to a point of arbitrary r but collocation...
Tbl ** ddaa
Array (size: mg->nzone ) of Tbl which stores the values of in each domain.
virtual double val_r(int l, double xi, double theta, double pphi) const
Returns the value of the radial coordinate r for a given in a given domain.
virtual void operator=(const Map_et &mp)
Assignment to another Map_et.
virtual void dsdr(const Cmp &ci, Cmp &resu) const
Computes of a Cmp.
virtual const Map_af & mp_angu(int) const
Returns the "angular" mapping for the outside of domain l_zone.
virtual ostream & operator>>(ostream &) const
Operator >>.
Tbl ** ddbb
Array (size: mg->nzone ) of Tbl which stores the values of in each domain.
Tbl zaasx2
Values at the nr collocation points of in the outermost compactified domain.
Coord rsx2drdx
in the nucleus and the shells; \ in the outermost compactified domain.
virtual bool operator==(const Map &) const
Comparison operator (egality).
virtual void poisson_tau(const Cmp &source, Param &par, Cmp &uu) const
Computes the solution of a scalar Poisson equation with a Tau method.
Tbl bbsx
Values at the nr collocation points of in the nucleus.
virtual void srstdsdp(const Cmp &ci, Cmp &resu) const
Computes of a Cmp.
virtual void poisson2d(const Cmp &source_mat, const Cmp &source_quad, Param &par, Cmp &uu) const
Computes the solution of a 2-D Poisson equation.
void set_gg(const Valeur &)
Assigns a given value to the function .
virtual Param * donne_para_poisson_vect(Param ¶, int i) const
Internal function intended to be used by Map::poisson_vect and Map::poisson_vect_oohara .
const Valeur & get_gg() const
Returns a (constant) reference to the function .
Map_et(const Mg3d &mgrille, const double *r_limits)
Standard Constructor.
virtual void dsdradial(const Scalar &uu, Scalar &resu) const
Computes of a Scalar if the description is affine and if it is logarithmic.
virtual void lapang(const Scalar &uu, Scalar &lap) const
Computes the angular Laplacian of a scalar field.
Tbl ** dbb
Array (size: mg->nzone ) of Tbl which stores the values of in each domain.
virtual void laplacien(const Scalar &uu, int zec_mult_r, Scalar &lap) const
Computes the Laplacian of a scalar field.
void fait_poly()
Construction of the polynomials and .
virtual void homothetie(double lambda)
Sets a new radial scale.
virtual void poisson(const Cmp &source, Param &par, Cmp &uu) const
Computes the solution of a scalar Poisson equation.
virtual void stdsdp(const Scalar &uu, Scalar &resu) const
Computes of a Scalar.
virtual void dsdt(const Scalar &uu, Scalar &resu) const
Computes of a Scalar.
virtual void poisson_regular(const Cmp &source, int k_div, int nzet, double unsgam1, Param &par, Cmp &uu, Cmp &uu_regu, Cmp &uu_div, Tenseur &duu_div, Cmp &source_regu, Cmp &source_div) const
Computes the solution of a scalar Poisson equation.
Tbl aasx
Values at the nr collocation points of in the nucleus.
const double * get_beta() const
Returns a pointer on the array beta (values of in each domain).
Tbl aasx2
Values at the nr collocation points of in the nucleus.
virtual Tbl * integrale(const Cmp &) const
Computes the integral over all space of a Cmp.
Tbl zaasx
Values at the nr collocation points of in the outermost compactified domain.
virtual void poisson_frontiere(const Cmp &, const Valeur &, int, int, Cmp &, double=0., double=0.) const
Not yet implemented.
virtual void adapt(const Cmp &ent, const Param &par, int nbr_filtre=0)
Adaptation of the mapping to a given scalar field.
Tbl ** daa
Array (size: mg->nzone ) of Tbl which stores the values of in each domain.
virtual void dalembert(Param &par, Scalar &fJp1, const Scalar &fJ, const Scalar &fJm1, const Scalar &source) const
Not yet implemented.
void set_coord()
Assignement of the building functions to the member Coords.
virtual void poisson_angu(const Scalar &source, Param &par, Scalar &uu, double lambda=0) const
Computes the solution of the generalized angular Poisson equation.
Coord rsxdxdr
in the nucleus; \ in the shells; \ in the outermost compactified domain.
void set_beta(double beta0, int l)
Modifies the value of in domain no. l.
Tbl ** aa
Array (size: mg->nzone ) of Tbl which stores the values of in each domain.
virtual void srdsdt(const Cmp &ci, Cmp &resu) const
Computes of a Cmp.
Valeur ff
Values of the function at the nt*np angular collocation points in each domain.
void set_alpha(double alpha0, int l)
Modifies the value of in domain no. l.
virtual void val_lx(double rr, double theta, double pphi, int &l, double &xi) const
Computes the domain index l and the value of corresponding to a point given by its physical coordina...
virtual void primr(const Scalar &uu, Scalar &resu, bool null_infty) const
Computes the radial primitive which vanishes for .
Tbl ** bb
Array (size: mg->nzone ) of Tbl which stores the values of in each domain.
virtual ~Map_et()
Destructor.
double * alpha
Array (size: mg->nzone ) of the values of in each domain.
Tbl bbsx2
Values at the nr collocation points of in the nucleus.
Valeur gg
Values of the function at the nt*np angular collocation points in each domain.
virtual void sauve(FILE *) const
Save in a file.
void set_ff(const Valeur &)
Assigns a given value to the function .
virtual void resize(int l, double lambda)
Rescales the outer boundary of one domain.
virtual double val_r_jk(int l, double xi, int j, int k) const
Returns the value of the radial coordinate r for a given and a given collocation point in in a give...
virtual void reset_coord()
Resets all the member Coords.
virtual void dsdxi(const Cmp &ci, Cmp &resu) const
Computes of a Cmp.
virtual void poisson2d(const Cmp &, const Cmp &, Param &, Cmp &) const
< Not implemented
virtual void poisson(const Cmp &, Param &, Cmp &) const
< Not implemented
double get_beta(int l) const
Returns in the domain l.
virtual void srdsdt(const Cmp &, Cmp &) const
< Not implemented
double get_alpha(int l) const
Returns in the domain l.
virtual Param * donne_para_poisson_vect(Param &, int) const
< Not implemented
virtual void dalembert(Param &, Scalar &, const Scalar &, const Scalar &, const Scalar &) const
< Not implemented
virtual void srstdsdp(const Cmp &, Cmp &) const
< Not implemented
virtual double val_r(int l, double xi, double theta, double pphi) const
Returns the value of the radial coordinate r for a given in a given domain.
Itbl type_var
Array (size: mg->nzone ) of the type of variable in each domain.
void sol_elliptic_boundary(Param_elliptic ¶ms, const Scalar &so, Scalar &uu, const Mtbl_cf &bound, double fact_dir, double fact_neu) const
General elliptic solver including inner boundary conditions.
virtual void dsdxi(const Scalar &ci, Scalar &resu) const
Computes of a Scalar.
virtual Tbl * integrale(const Cmp &) const
< Not implemented
virtual void adapt(const Cmp &, const Param &, int)
< Not implemented
virtual void poisson_frontiere_double(const Cmp &, const Valeur &, const Valeur &, int, Cmp &) const
< Not implemented
virtual void sauve(FILE *) const
Save in a file.
void sol_elliptic(Param_elliptic ¶ms, const Scalar &so, Scalar &uu) const
General elliptic solver.
void sol_elliptic_no_zec(Param_elliptic ¶ms, const Scalar &so, Scalar &uu, double) const
General elliptic solver.
Tbl alpha
Array (size: mg->nzone ) of the values of in each domain.
virtual ostream & operator>>(ostream &) const
Operator >>.
Map_log(const Mg3d &mgrille, const Tbl &r_limits, const Itbl &typevar)
Standard Constructor.
virtual void poisson_tau(const Cmp &, Param &, Cmp &) const
< Not implemented
int get_type(int l) const
Returns the type of description in the domain l.
virtual void lapang(const Scalar &, Scalar &) const
< Not implemented
virtual void poisson_ylm(const Cmp &, Param &, Cmp &, int, double *) const
< Not implemented
virtual void primr(const Scalar &, Scalar &, bool) const
< Not implemented
virtual ~Map_log()
Destructor.
virtual void dsdradial(const Scalar &uu, Scalar &resu) const
Computes of a Scalar if the description is affine and if it is logarithmic.
virtual void poisson_angu(const Scalar &, Param &, Scalar &, double=0) const
< Not implemented
virtual void val_lx(double rr, double theta, double pphi, int &l, double &xi) const
Computes the domain index l and the value of corresponding to a point given by its physical coordina...
Coord dxdlnr
Same as dxdr if the domains where the description is affine and where it is logarithmic.
virtual void poisson_regular(const Cmp &, int, int, double, Param &, Cmp &, Cmp &, Cmp &, Tenseur &, Cmp &, Cmp &) const
< Not implemented
virtual void laplacien(const Scalar &, int, Scalar &) const
< Not implemented
friend Mtbl * map_log_fait_r(const Map *)
< Not implemented
virtual void dsdt(const Scalar &, Scalar &) const
< Not implemented
virtual void poisson_falloff(const Cmp &, Param &, Cmp &, int) const
< Not implemented
virtual void resize(int, double)
< Not implemented
virtual void poisson_interne(const Cmp &, const Valeur &, Param &, Cmp &) const
< Not implemented
virtual void operator=(const Map_af &mpa)
Assignment to an affine mapping.
virtual void stdsdp(const Scalar &, Scalar &) const
< Not implemented
virtual void val_lx_jk(double rr, int j, int k, const Param &par, int &l, double &xi) const
Computes the domain index l and the value of corresponding to a point of arbitrary r but collocation...
virtual void dsdr(const Scalar &ci, Scalar &resu) const
Computes of a Scalar.
virtual bool operator==(const Map &) const
Comparison operator (egality).
virtual double val_r_jk(int l, double xi, int j, int k) const
< Comparison operator
virtual const Map_af & mp_angu(int) const
Returns the "angular" mapping for the outside of domain l_zone.
Tbl beta
Array (size: mg->nzone ) of the values of in each domain.
virtual void poisson_frontiere(const Cmp &, const Valeur &, int, int, Cmp &, double=0., double=0.) const
< Not implemented
Coord d2rdx2
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
virtual void inc2_dzpuis(Scalar &) const
Increases by 2 the value of dzpuis of a Scalar and changes accordingly its values in the compactifi...
virtual void reevaluate_symy(const Map *mp_prev, int nzet, Cmp &uu) const
Recomputes the values of a Cmp at the collocation points after a change in the mapping.
Coord sr2drdt
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
Coord srstdrdp
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
virtual void mult_r_zec(Scalar &) const
Multiplication by r (in the compactified external domain only) of a Scalar.
virtual void poisson_compact(const Cmp &source, const Cmp &aa, const Tenseur &bb, const Param &par, Cmp &psi) const
Resolution of the elliptic equation in the case where the stellar interior is covered by a single do...
virtual void comp_y_from_spherical(const Scalar &v_r, const Scalar &v_theta, const Scalar &v_phi, Scalar &v_y) const
Computes the Cartesian y component (with respect to bvect_cart ) of a vector given by its spherical c...
Coord d2rdtdx
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
virtual void mult_r(Scalar &uu) const
Multiplication by r of a Scalar, the dzpuis of uu is not changed.
virtual void div_rsint(Scalar &) const
Division by of a Scalar.
virtual void dec_dzpuis(Scalar &) const
Decreases by 1 the value of dzpuis of a Scalar and changes accordingly its values in the compactified...
virtual void operator=(const Map_af &)=0
Assignment to an affine mapping.
virtual void div_r_zec(Scalar &) const
Division by r (in the compactified external domain only) of a Scalar.
virtual void div_tant(Scalar &) const
Division by of a Scalar.
virtual void inc_dzpuis(Scalar &) const
Increases by 1 the value of dzpuis of a Scalar and changes accordingly its values in the compactifi...
virtual bool operator==(const Map &) const =0
Comparison operator (egality).
Coord sstd2rdpdx
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
virtual void reset_coord()
Resets all the member Coords.
Coord lapr_tp
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
virtual void reevaluate(const Map *mp_prev, int nzet, Cmp &uu) const
Recomputes the values of a Cmp at the collocation points after a change in the mapping.
virtual void mult_cost(Scalar &) const
Multiplication by of a Scalar.
virtual void div_r(Scalar &) const
Division by r of a Scalar.
virtual void comp_x_from_spherical(const Scalar &v_r, const Scalar &v_theta, const Scalar &v_phi, Scalar &v_x) const
Computes the Cartesian x component (with respect to bvect_cart) of a vector given by its spherical co...
Coord sr2stdrdp
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
Coord drdt
in the nucleus and in the non-compactified shells; \ in the compactified external domain (CED).
virtual void val_lx_jk(double rr, int j, int k, const Param &par, int &l, double &xi) const =0
Computes the domain index l and the value of corresponding to a point of arbitrary r but collocation...
Coord srdrdt
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
Map_radial(const Mg3d &mgrid)
Constructor from a grid (protected to make Map_radial an abstract class).
Coord xsr
in the nucleus; \ 1/R in the non-compactified shells; \ in the compactified outer domain.
virtual void comp_r_from_cartesian(const Scalar &v_x, const Scalar &v_y, const Scalar &v_z, Scalar &v_r) const
Computes the Spherical r component (with respect to bvect_spher ) of a vector given by its cartesian ...
virtual void sauve(FILE *) const
Save in a file.
virtual ~Map_radial()
Destructor.
virtual void mult_sint(Scalar &) const
Multiplication by of a Scalar.
Coord dxdr
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
Coord sr2d2rdt2
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
virtual void comp_p_from_cartesian(const Scalar &v_x, const Scalar &v_y, Scalar &v_p) const
Computes the Spherical component (with respect to bvect_spher ) of a vector given by its cartesian c...
virtual void comp_z_from_spherical(const Scalar &v_r, const Scalar &v_theta, Scalar &v_z) const
Computes the Cartesian z component (with respect to bvect_cart ) of a vector given by its spherical c...
virtual void dec2_dzpuis(Scalar &) const
Decreases by 2 the value of dzpuis of a Scalar and changes accordingly its values in the compactifi...
virtual void div_sint(Scalar &) const
Division by of a Scalar.
virtual void div_cost(Scalar &) const
Division by of a Scalar.
virtual void comp_t_from_cartesian(const Scalar &v_x, const Scalar &v_y, const Scalar &v_z, Scalar &v_t) const
Computes the Spherical component (with respect to bvect_spher ) of a vector given by its cartesian c...
virtual void mult_rsint(Scalar &) const
Multiplication by of a Scalar.
virtual double val_r_jk(int l, double xi, int j, int k) const =0
Returns the value of the radial coordinate r for a given and a given collocation point in in a give...
Coord stdrdp
in the nucleus and in the non-compactified shells; \ in the compactified external domain (CED).
virtual void laplacien(const Scalar &, int, Scalar &) const
< Not implemented
virtual void poisson_angu(const Scalar &, Param &, Scalar &, double=0) const
< Not implemented
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 resize(int, double)
< Not implemented
virtual void poisson_tau(const Cmp &, Param &, Cmp &) const
< Not implemented
virtual void dsdradial(const Scalar &uu, Scalar &resu) const
< Not implemented
const Valeur & get_alpha() const
Returns the reference on the Tbl alpha.
virtual void stdsdp(const Scalar &, Scalar &) const
Computes of a Scalar .
void set_alpha(const Tbl &alpha0, int l)
Modifies the value of in domain no. l.
virtual void sauve(FILE *) const
Save in a file.
virtual void dsdxi(const Cmp &, Cmp &) const
< Not implemented
virtual void srdsdt(const Scalar &, Scalar &) const
Computes of a Scalar.
virtual void poisson_regular(const Cmp &, int, int, double, Param &, Cmp &, Cmp &, Cmp &, Tenseur &, Cmp &, Cmp &) const
< Not implemented
virtual Param * donne_para_poisson_vect(Param &, int) const
< Not implemented
virtual void dsdt(const Scalar &, Scalar &) const
Computes of a Scalar .
virtual void poisson_frontiere_double(const Cmp &, const Valeur &, const Valeur &, int, Cmp &) const
< Not implemented
virtual void poisson_frontiere(const Cmp &, const Valeur &, int, int, Cmp &, double=0., double=0.) const
< Not implemented
virtual void poisson(const Cmp &, Param &, Cmp &) const
< Not implemented
virtual void val_lx(double rr, double theta, double pphi, int &l, double &xi) const
Computes the domain index l and the value of corresponding to a point given by its physical coordina...
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...
Map_star(const Mg3d &mgrille, const double *r_limits)
Standard Constructor.
virtual void poisson_falloff(const Cmp &, Param &, Cmp &, int) const
< Not implemented
virtual void poisson_ylm(const Cmp &, Param &, Cmp &, int, double *) const
< Not implemented
virtual Tbl * integrale(const Cmp &) const
< Not implemented
virtual void poisson2d(const Cmp &, const Cmp &, Param &, Cmp &) const
< Not implemented
virtual void dsdr(const Scalar &ci, Scalar &resu) const
Computes of a Scalar.
friend Mtbl * map_star_fait_r(const Map *)
< Not implemented
virtual void poisson_interne(const Cmp &, const Valeur &, Param &, Cmp &) const
< Not implemented
virtual void primr(const Scalar &, Scalar &, bool) const
< Not implemented
Map_star(const Mg3d &, const string &)
Constructor from a formatted file.
virtual void lapang(const Scalar &, Scalar &) const
< Not implemented
virtual void srstdsdp(const Scalar &, Scalar &) const
Computes of a Scalar.
virtual void adapt(const Cmp &, const Param &, int)
< Not implemented
virtual ostream & operator>>(ostream &) const
Operator >>.
virtual void operator=(const Map_af &)
Assignment to an affine mapping.
virtual void dalembert(Param &, Scalar &, const Scalar &, const Scalar &, const Scalar &) const
< Not implemented
Valeur alpha
Array (size: mg->nzone*Nt*Np ) of the values of in each domain.
void set_coord()
Assignment of the building functions to the member Coords.
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 ~Map_star()
Destructor.
virtual bool operator==(const Map &) const
Comparison operator (egality).
virtual const Map_af & mp_angu(int) const
Returns the "angular" mapping for the outside of domain l_zone.
Flat metric for tensor calculation.
Coefficients storage for the multi-domain spectral method.
This class contains the parameters needed to call the general elliptic solver.
Tensor field of valence 0 (or component of a tensorial field).
Tensor handling *** DEPRECATED : use class Tensor instead ***.
Values and coefficients of a (real-value) function.
Base_vect_spher bvect_spher
Base class for coordinate mappings.
virtual void adapt(const Cmp &ent, const Param &par, int nbr=0)=0
Adaptation of the mapping to a given scalar field.
Map_af * p_mp_angu
Pointer on the "angular" mapping.
virtual void reset_coord()
Resets all the member Coords.
virtual void div_tant(Scalar &) const =0
Division by of a Scalar.
Coord z
z coordinate centered on the grid
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 const Map_af & mp_angu(int) const =0
Returns the "angular" mapping for the outside of domain l_zone.
virtual void mult_rsint(Scalar &) const =0
Multiplication by of a Scalar.
virtual void reevaluate_symy(const Map *mp_prev, int nzet, Cmp &uu) const =0
Recomputes the values of a Cmp at the collocation points after a change in the mapping.
virtual void dsdradial(const Scalar &uu, Scalar &resu) const =0
Computes of a Scalar if the description is affine and if it is logarithmic.
const Cmp & cmp_zero() const
Returns the null Cmp defined on *this.
virtual void div_rsint(Scalar &) const =0
Division by of a Scalar.
Metric_flat * p_flat_met_spher
Pointer onto the flat metric associated with the spherical coordinates and with components expressed ...
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...
Base_vect_cart bvect_cart
Cartesian basis associated with the coordinates (x,y,z) of the mapping, i.e.
virtual void dec2_dzpuis(Scalar &) const =0
Decreases by 2 the value of dzpuis of a Scalar and changes accordingly its values in the compacti...
virtual void inc2_dzpuis(Scalar &) const =0
Increases by 2 the value of dzpuis of a Scalar and changes accordingly its values in the compacti...
virtual void reevaluate(const Map *mp_prev, int nzet, Cmp &uu) const =0
Recomputes the values of a Cmp at the collocation points after a change in the mapping.
virtual void srstdsdp(const Cmp &ci, Cmp &resu) const =0
Computes of a Cmp .
virtual void homothetie(double lambda)=0
Sets a new radial scale.
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 =0
Computes the solution of a 2-D Poisson equation.
const Base_vect_cart & get_bvect_cart() const
Returns the Cartesian basis associated with the coordinates (x,y,z) of the mapping,...
virtual void stdsdp(const Scalar &uu, Scalar &resu) const =0
Computes of a Scalar .
virtual void dsdr(const Cmp &ci, Cmp &resu) const =0
Computes of a Cmp .
Metric_flat * p_flat_met_cart
Pointer onto the flat metric associated with the Cartesian coordinates and with components expressed ...
const Base_vect_spher & get_bvect_spher() const
Returns the orthonormal vectorial basis associated with the coordinates of the mapping.
virtual void sauve(FILE *) const
Save in a file.
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 ...
double get_ori_y() const
Returns the y coordinate of the origin.
Cmp * p_cmp_zero
The null Cmp.
virtual void div_cost(Scalar &) const =0
Division by of a Scalar.
const Mg3d * get_mg() const
Gives the Mg3d on which the mapping is defined.
Coord y
y coordinate centered on the grid
const Metric_flat & flat_met_cart() const
Returns the flat metric associated with the Cartesian coordinates and with components expressed in th...
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 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 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...
Map(const Mg3d &)
Constructor from a multi-domain 3D grid.
virtual bool operator==(const Map &) const =0
Comparison operator (egality).
const Metric_flat & flat_met_spher() const
Returns the flat metric associated with the spherical coordinates and with components expressed in th...
virtual void dsdt(const Scalar &uu, Scalar &resu) const =0
Computes of a Scalar .
Coord phi
coordinate centered on the grid
virtual Tbl * integrale(const Cmp &) const =0
Computes the integral over all space of a Cmp .
virtual void laplacien(const Scalar &uu, int zec_mult_r, Scalar &lap) const =0
Computes the Laplacian of a scalar field.
Coord tet
coordinate centered on the grid
virtual void lapang(const Scalar &uu, Scalar &lap) const =0
Computes the angular Laplacian of a scalar field.
virtual void div_r(Scalar &) const =0
Division by r of a Scalar.
double get_ori_x() const
Returns the x coordinate of the origin.
virtual void mult_r(Scalar &uu) const =0
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 =0
Computes the solution of a scalar Poisson equationwith a Tau method.
void set_rot_phi(double phi0)
Sets a new rotation angle.
virtual void poisson(const Cmp &source, Param &par, Cmp &uu) const =0
Computes the solution of a scalar Poisson equation.
virtual void srdsdt(const Cmp &ci, Cmp &resu) const =0
Computes of a Cmp .
virtual ~Map()
Destructor.
double get_ori_z() const
Returns the z coordinate of the origin.
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 mult_cost(Scalar &) const =0
Multiplication by of a Scalar.
Coord x
x coordinate centered on the grid
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 dec_dzpuis(Scalar &) const =0
Decreases by 1 the value of dzpuis of a Scalar and changes accordingly its values in the compacti...
virtual void resize(int l, double lambda)=0
Rescales the outer boundary of one domain.
Coord xa
Absolute x coordinate.
virtual void mult_r_zec(Scalar &) const =0
Multiplication by r (in the compactified external domain only) of a Scalar.
Coord za
Absolute z coordinate.
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 ostream & operator>>(ostream &) const =0
Operator >>.
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...
void set_ori(double xa0, double ya0, double za0)
Sets a new origin.
Coord r
r coordinate centered on the grid
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...
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...
Coord ya
Absolute y coordinate.
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.
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.
virtual void inc_dzpuis(Scalar &) const =0
Increases by 1 the value of dzpuis of a Scalar and changes accordingly its values in the compacti...
virtual void mult_sint(Scalar &) const =0
Multiplication by of a Scalar.
virtual void primr(const Scalar &uu, Scalar &resu, bool null_infty) const =0
Computes the radial primitive which vanishes for .
virtual void div_sint(Scalar &) const =0
Division by of a Scalar.
virtual void operator=(const Map_af &)=0
Assignment to an affine mapping.
virtual void dsdxi(const Cmp &ci, Cmp &resu) const =0
Computes of a Cmp .
virtual void div_r_zec(Scalar &) const =0
Division by r (in the compactified external domain only) of a Scalar.
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.
double get_rot_phi() const
Returns the angle between the x –axis and X –axis.