632 #include "base_vect.h" 644 class Param_elliptic ;
766 virtual ostream&
operator>>(ostream &)
const = 0 ;
769 virtual void sauve(FILE* )
const ;
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 ;
916 virtual void adapt(
const Cmp& ent,
const Param& par,
int nbr=0) = 0 ;
992 virtual void dsdxi(
const Cmp& ci,
Cmp& resu)
const = 0 ;
1000 virtual void dsdr(
const Cmp& ci,
Cmp& resu)
const = 0 ;
1008 virtual void srdsdt(
const Cmp& ci,
Cmp& resu)
const = 0 ;
1092 Cmp& lap)
const = 0 ;
1114 bool null_infty)
const = 0 ;
1128 virtual void mult_r(
Cmp& ci)
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 ;
1529 ostream& 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 ;
1725 virtual void val_lx_jk(
double rr,
int j,
int k,
const Param& par,
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* ) ;
3869 Mtbl* map_log_fait_r(
const Map* ) ;
3870 Mtbl* map_log_fait_tet(
const Map* ) ;
3871 Mtbl* map_log_fait_phi(
const Map* ) ;
3872 Mtbl* map_log_fait_sint(
const Map* ) ;
3873 Mtbl* map_log_fait_cost(
const Map* ) ;
3874 Mtbl* map_log_fait_sinp(
const Map* ) ;
3875 Mtbl* map_log_fait_cosp(
const Map* ) ;
3877 Mtbl* map_log_fait_x(
const Map* ) ;
3878 Mtbl* map_log_fait_y(
const Map* ) ;
3879 Mtbl* map_log_fait_z(
const Map* ) ;
3881 Mtbl* map_log_fait_xa(
const Map* ) ;
3882 Mtbl* map_log_fait_ya(
const Map* ) ;
3883 Mtbl* map_log_fait_za(
const Map* ) ;
3885 Mtbl* map_log_fait_xsr(
const Map* ) ;
3886 Mtbl* map_log_fait_dxdr(
const Map* ) ;
3887 Mtbl* map_log_fait_drdt(
const Map* ) ;
3888 Mtbl* map_log_fait_stdrdp(
const Map* ) ;
3889 Mtbl* map_log_fait_srdrdt(
const Map* ) ;
3890 Mtbl* map_log_fait_srstdrdp(
const Map* ) ;
3891 Mtbl* map_log_fait_sr2drdt(
const Map* ) ;
3892 Mtbl* map_log_fait_sr2stdrdp(
const Map* ) ;
3893 Mtbl* map_log_fait_d2rdx2(
const Map* ) ;
3894 Mtbl* map_log_fait_lapr_tp(
const Map* ) ;
3895 Mtbl* map_log_fait_d2rdtdx(
const Map* ) ;
3896 Mtbl* map_log_fait_sstd2rdpdx(
const Map* ) ;
3897 Mtbl* map_log_fait_sr2d2rdt2(
const Map* ) ;
3899 Mtbl* 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 ;
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 ;
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* ) ;
virtual ostream & operator>>(ostream &) const
Operator >>
Coord xa
Absolute x coordinate.
virtual void dsdradial(const Scalar &uu, Scalar &resu) 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.
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 Param * donne_para_poisson_vect(Param &, int) const
< Not implemented
virtual bool operator==(const Map &) const
Comparison operator (egality)
Coord d2rdx2
in the nucleus and in the non-compactified shells; \ in the compactified outer domain.
virtual const Map_af & mp_angu(int) const
Returns the "angular" mapping for the outside of domain l_zone.
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 ** 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.
friend Mtbl * map_eps_fait_r(const Map *)
< Not implemented
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 bool operator==(const Map &) const
Comparison operator (egality)
virtual void dsdt(const Scalar &uu, Scalar &resu) const
Computes of a Scalar.
virtual void poisson_tau(const Cmp &, Param &, Cmp &) const
< Not implemented
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 const Map_af & mp_angu(int) const
Returns the "angular" mapping for the outside of domain l_zone.
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 resize(int, double)
< Not implemented
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.
virtual void poisson(const Cmp &, Param &, Cmp &) const
< Not implemented
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 homothetie(double)
Sets a new radial scale.
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 Tbl * integrale(const Cmp &) const
< Not implemented
friend Mtbl * map_star_fait_r(const Map *)
< 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 adapt(const Cmp &ent, const Param &par, int nbr=0)=0
Adaptation of the mapping to a given scalar field.
virtual void operator=(const Map_af &)
Assignment to an affine mapping.
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.
virtual void laplacien(const Scalar &, int, Scalar &) const
< Not implemented
virtual void poisson_falloff(const Cmp &, Param &, Cmp &, int) const
< Not implemented
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 void adapt(const Cmp &, const Param &, int)
< Not implemented
virtual void poisson_regular(const Cmp &, int, int, double, Param &, Cmp &, Cmp &, Cmp &, Tenseur &, Cmp &, Cmp &) const
< Not implemented
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.
void set_alpha(const Tbl &alpha0, int l)
Modifies the value of in domain no. l.
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 void srdsdt(const Scalar &, Scalar &) const
Computes of a Scalar.
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.
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 lapang(const Scalar &, Scalar &) const
< Not implemented
Tbl ** ddbb
Array (size: mg->nzone ) of Tbl which stores the values of in each domain.
virtual void dalembert(Param &, Scalar &, const Scalar &, const Scalar &, const Scalar &) const
< Not implemented
Itbl type_var
Array (size: mg->nzone ) of the type of variable in each domain.
Map_eps(const Mg3d &mgrille, const double *r_limits)
Standard Constructor.
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 bool operator==(const Map &) const
Comparison operator (egality)
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 void poisson(const Cmp &, Param &, Cmp &) const
< Not implemented
virtual void poisson_frontiere(const Cmp &, const Valeur &, int, int, Cmp &, double=0., double=0.) 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 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 operator=(const Map_af &)
Assignment to an affine mapping.
virtual void poisson_frontiere(const Cmp &, const Valeur &, int, int, Cmp &, double=0., double=0.) const
< Not implemented
virtual void poisson_tau(const Cmp &, Param &, Cmp &) const
< Not implemented
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 void laplacien(const Scalar &, int, Scalar &) const
< Not 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 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 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.
virtual void poisson_interne(const Cmp &, const Valeur &, Param &, Cmp &) const
< Not implemented
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.
void set_alpha(const Tbl &alpha0, int l)
Modifies the value of in domain no. l.
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 adapt(const Cmp &, const Param &, int)
< Not implemented
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.
virtual void poisson_falloff(const Cmp &, Param &, Cmp &, int) const
< Not implemented
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.
virtual void stdsdp(const Scalar &, Scalar &) const
Computes of a Scalar .
void sol_elliptic(Param_elliptic ¶ms, const Scalar &so, Scalar &uu) const
General elliptic solver.
const Valeur & get_alpha() const
Returns the reference on the Tbl alpha.
virtual Tbl * integrale(const Cmp &) const
< Not implemented
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.
virtual void homothetie(double)
Sets a new radial scale.
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.
Map_star(const Mg3d &mgrille, const double *r_limits)
Standard Constructor.
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 poisson2d(const Cmp &, const Cmp &, Param &, Cmp &) const
< Not implemented
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.
void set_coord()
Assignment of the building functions to the member Coords.
virtual void poisson_angu(const Scalar &, Param &, Scalar &, double=0) const
< Not implemented
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 poisson_ylm(const Cmp &, Param &, Cmp &, int, double *) 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 .
const Valeur & get_alpha() const
Returns the reference on the Tbl alpha.
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 sauve(FILE *) const
Save in a file.
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
virtual void poisson_regular(const Cmp &, int, int, double, Param &, Cmp &, Cmp &, Cmp &, Tenseur &, Cmp &, Cmp &) const
< Not implemented
Active physical coordinates and mapping derivatives.
Map_log(const Mg3d &mgrille, const Tbl &r_limits, const Itbl &typevar)
Standard Constructor.
virtual void dsdxi(const Cmp &, Cmp &) const
< Not implemented
virtual ~Map_eps()
Destructor.
void set_coord()
Assignment of the building functions to the member Coords.
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 primr(const Scalar &, Scalar &, bool) const
< Not implemented
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 poisson_angu(const Scalar &, Param &, Scalar &, double=0) 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 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 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.
virtual void srdsdt(const Scalar &, Scalar &) const
Computes of a Scalar.
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)
virtual void poisson2d(const Cmp &, const Cmp &, Param &, Cmp &) const
< Not implemented
virtual void dsdradial(const Scalar &uu, Scalar &resu) const
< Not implemented
virtual void stdsdp(const Scalar &, Scalar &) const
Computes of a Scalar .
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 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 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 poisson_ylm(const Cmp &, Param &, Cmp &, int, double *) const
< Not implemented
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.
virtual void poisson_frontiere_double(const Cmp &, const Valeur &, const Valeur &, int, Cmp &) const
< Not implemented
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.
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 srstdsdp(const Scalar &, Scalar &) const
Computes of a Scalar.
double * beta
Array (size: mg->nzone ) of the values of in each domain.
virtual void resize(int, double)
< Not implemented
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 srstdsdp(const Scalar &, Scalar &) const
Computes of a Scalar.
virtual void poisson_angu(const Scalar &, Param &, Scalar &, double=0) const
< Not implemented
virtual void primr(const Scalar &, Scalar &, bool) const
< Not implemented
virtual Tbl * integrale(const Cmp &) const
Computes the integral over all space of a Cmp.
virtual void poisson_interne(const Cmp &, const Valeur &, Param &, Cmp &) const
< Not implemented
virtual void dsdxi(const Scalar &ci, Scalar &resu) const
Computes of a Scalar.
virtual void operator=(const Map_et &mp)
Assignment to another Map_et.
virtual void poisson_interne(const Cmp &source, const Valeur &limite, Param &par, Cmp &pot) const
Computes the solution of a Poisson equation in the shell, imposing a boundary condition at the surfac...
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.
Coord x
x coordinate centered on the grid
Base_vect_spher bvect_spher
Orthonormal vectorial basis associated with the coordinates of the mapping.
virtual void dsdr(const Scalar &ci, Scalar &resu) const
Computes of a Scalar.
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
virtual ostream & operator>>(ostream &) const
Operator >>
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 dalembert(Param &, Scalar &, const Scalar &, const Scalar &, const Scalar &) const
< Not implemented
virtual void div_cost(Scalar &) const =0
Division by of a Scalar.
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 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 ~Map_star()
Destructor.
double aa
Array (size: mg->nzone*Nt*Np ) of the values of in each domain.
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.
virtual void poisson_frontiere_double(const Cmp &, const Valeur &, const Valeur &, int, Cmp &) const
< Not implemented
Coord z
z coordinate centered on the grid
virtual void div_r(Scalar &) const =0
Division by r of a Scalar.
virtual void dsdr(const Scalar &ci, Scalar &resu) const
Computes 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 Param * donne_para_poisson_vect(Param &, int) const
< Not implemented
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...
virtual void dsdt(const Scalar &, Scalar &) const
Computes of a Scalar .
Base_vect_cart bvect_cart
Cartesian basis associated with the coordinates (x,y,z) of the mapping, i.e.
Valeur alpha
Array (size: mg->nzone*Nt*Np ) of the values of in each domain.
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 dsdxi(const Cmp &, Cmp &) const
< Not implemented
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 lapang(const Scalar &, Scalar &) const
< Not implemented
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 void sauve(FILE *) const
Save in a file.
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.
virtual void dsdt(const Scalar &, Scalar &) const
Computes of a Scalar .