80 #include "et_bin_bhns_extr.h" 86 #include "graphique.h" 87 #include "utilitaires.h" 92 const double& sepa,
int mermax,
96 double relax_potvit,
int np_filter,
117 int i_b = mg->
get_nr(l_b) - 1 ;
127 double& diff_ent = diff.
set(0) ;
128 double& diff_vel_pot = diff.
set(1) ;
129 double& diff_logn = diff.
set(2) ;
130 double& diff_beta = diff.
set(3) ;
131 double& diff_shift_x = diff.
set(4) ;
132 double& diff_shift_y = diff.
set(5) ;
133 double& diff_shift_z = diff.
set(6) ;
144 int nz_search =
nzet ;
146 double precis_secant = 1.e-14 ;
148 double reg_map = 1. ;
152 par_adapt.
add_int(nitermax, 0) ;
157 par_adapt.
add_int(nz_search, 2) ;
159 par_adapt.
add_int(adapt_flag, 3) ;
175 par_adapt.
add_tbl(ent_limit, 0) ;
181 double precis_poisson = 1.e-16 ;
185 par_poisson1.
add_int(mermax_poisson, 0) ;
197 par_poisson2.
add_int(mermax_poisson, 0) ;
207 Param par_poisson_vect ;
209 par_poisson_vect.
add_int(mermax_poisson, 0) ;
211 par_poisson_vect.
add_double(relax_poisson, 0) ;
212 par_poisson_vect.
add_double(precis_poisson, 1) ;
235 for(
int mer=0 ; mer<mermax ; mer++ ) {
237 cout <<
"-----------------------------------------------" << endl ;
238 cout <<
"step: " << mer << endl ;
239 cout <<
"diff_ent = " << diff_ent << endl ;
248 precis_poisson, relax_potvit) ;
259 double logn_auto_c =
logn_auto()(0, 0, 0, 0) ;
260 double pot_ext_c = pot_ext()(0, 0, 0, 0) ;
266 double alpha_r2 = 0 ;
267 for (
int k=0; k<mg->
get_np(l_b); k++) {
268 for (
int j=0; j<mg->
get_nt(l_b); j++) {
270 double pot_ext_b = pot_ext()(l_b, k, j, i_b) ;
271 double logn_auto_b =
logn_auto()(l_b, k, j, i_b) ;
274 double alpha_r2_jk = ( ent_c - ent_b + pot_ext_c - pot_ext_b)
275 / ( logn_auto_b - logn_auto_c ) ;
277 if (alpha_r2_jk > alpha_r2) {
278 alpha_r2 = alpha_r2_jk ;
286 alpha_r =
sqrt(alpha_r2) ;
288 cout <<
"k_b, j_b, alpha_r: " << k_b <<
" " << j_b <<
" " 310 ent = (ent_c + logn_auto_c + pot_ext_c) -
logn_auto - pot_ext ;
317 double dentdx =
ent().dsdx()(0, 0, 0, 0) ;
318 double dentdy =
ent().dsdy()(0, 0, 0, 0) ;
320 cout <<
"dH/dx|_center = " << dentdx << endl ;
321 cout <<
"dH/dy|_center = " << dentdy << endl ;
323 double dec_fact = 1. ;
327 func_in.
set() = 1. - dec_fact * (dentdx/ent_c) *
mp.
x 328 - dec_fact * (dentdy/ent_c) *
mp.
y ;
340 ent.
set() =
ent() * (func_in() + func_ex()) ;
344 double dentdx_new =
ent().dsdx()(0, 0, 0, 0) ;
345 double dentdy_new =
ent().dsdy()(0, 0, 0, 0) ;
346 cout <<
"dH/dx|_new = " << dentdx_new << endl ;
347 cout <<
"dH/dy|_new = " << dentdy_new << endl ;
356 double dent_eq =
ent().dsdr().val_point(
ray_eq_pi(),M_PI/2.,M_PI) ;
357 double dent_pole =
ent().dsdr().val_point(
ray_pole(),0.,0.) ;
358 double rap_dent = fabs( dent_eq / dent_pole ) ;
359 cout <<
"| dH/dr_eq / dH/dr_pole | = " << rap_dent << endl ;
361 if ( rap_dent < thres_adapt ) {
363 cout <<
"******* FROZEN MAPPING *********" << endl ;
371 for (
int l=0; l<
nzet; l++) {
372 ent_limit.
set(l) =
ent()(l, k_b, j_b, i_b) ;
375 ent_limit.
set(
nzet-1) = ent_b ;
388 double fact_resize = 1. / alpha_r ;
389 for (
int l=
nzet; l<nz-1; l++) {
390 mp_et.
resize(l, fact_resize) ;
394 double ent_s_max = -1 ;
397 for (
int k=0; k<mg->
get_np(l_b); k++) {
398 for (
int j=0; j<mg->
get_nt(l_b); j++) {
399 double xx = fabs(
ent()(l_b, k, j, i_b) ) ;
400 if (xx > ent_s_max) {
407 cout <<
"Max. abs(enthalpy) at the boundary between domains nzet-1" 408 <<
" and nzet : " << endl ;
409 cout <<
" " << ent_s_max <<
" reached for k = " << k_s_max
410 <<
" and j = " << j_s_max << endl ;
438 r_bh.
set() =
pow( (xx+sepa)*(xx+sepa) + yy*yy + zz*zz, 0.5) ;
443 xx_cov.
set(0) = xx + sepa ;
449 xsr_cov = xx_cov / r_bh ;
453 msr = ggrav * mass / r_bh ;
457 lapse_bh = 1. /
sqrt( 1.+2.*msr ) ;
461 lapse_bh2 = 1. / (1.+2.*msr) ;
477 for (
int i=0; i<3; i++)
478 for (
int j=0; j<3; j++)
479 lltkij.
set() += xsr_cov(i) * xsr_cov(j) *
tkij_auto(i, j) ;
512 + 2.*lapse_bh2 % msr % (ldnu % ldbeta + ldldnu)
513 + lapse_bh2 % lapse_bh2 % msr % (2.*(ldnu + 4.*msr % ldnu)
515 - (4.*
a_car % lapse_bh2 % lapse_bh2 % msr / 3. /
nnn / r_bh)
516 * (2.+3.*msr) * (3.+4.*msr) * lltkij
517 + (2.*
a_car % lapse_bh2 % lapse_bh2 % lapse_bh % msr
518 /
nnn / r_bh / r_bh) * (2.+10.*msr+9.*msr%msr) * lshift
519 + (4.*
pow(lapse_bh2, 3.) % msr % msr / 3. / r_bh / r_bh)
522 - 3.*(
a_car%lapse_bh/
nnn - 1.)*(2.+10.*msr+9.*msr%msr)) ;
526 cout <<
"The computation of BH-NS binary systems" 527 <<
" should be relativistic !!!" << endl ;
538 source().poisson_falloff(par_poisson1,
logn_auto.
set(), k_falloff) ;
551 "Relative error in the resolution of the equation for logn_auto : " 554 for (
int l=0; l<nz; l++) {
555 cout << tdiff_logn(l) <<
" " ;
558 diff_logn =
max(
abs(tdiff_logn)) ;
572 + lapse_bh2 % msr % (ldnu%ldnu + ldbeta%ldbeta + 2.*ldldbeta)
573 + lapse_bh2 % lapse_bh2 % msr % (2.*(1.+4.*msr) * ldbeta
575 - (
a_car % lapse_bh2 % lapse_bh2 % msr /
nnn / r_bh)
576 * (2.+3.*msr) * (3.+4.*msr) * lltkij
577 + (2.*
a_car % lapse_bh2 % lapse_bh2 % lapse_bh % msr
578 /
nnn / r_bh / r_bh) * (2.+10.*msr+9.*msr%msr) * lshift
579 + (2.*
pow(lapse_bh2, 3.) % msr % msr / r_bh / r_bh)
582 - 2.*(
a_car%lapse_bh/
nnn - 1.)*(2.+10.*msr+9.*msr%msr)) ;
597 cout <<
"Relative error in the resolution of the equation for " 598 <<
"beta_auto : " << endl ;
599 for (
int l=0; l<nz; l++) {
600 cout << tdiff_beta(l) <<
" " ;
603 diff_beta =
max(
abs(tdiff_beta)) ;
614 xx_con.
set(0) = xx + sepa ;
620 xsr_con = xx_con / r_bh ;
662 eldn.
set(0) = ldn_cov(0) ;
663 eldn.
set(1) = ldn_cov(1) ;
664 eldn.
set(2) = ldn_cov(2) ;
668 Tenseur ldivn = xsr_con % divn ;
689 evtmp.
set(0) = vtmp(0) ;
690 evtmp.
set(1) = vtmp(1) ;
691 evtmp.
set(2) = vtmp(2) ;
705 - 2.*
nnn % lapse_bh2 * msr / r_bh
707 + 2.*lapse_bh2 * msr * (3.*ldldn + ldldivn) / 3.
708 - lapse_bh2 * msr / r_bh
709 * (4.*ldivn - lapse_bh2 % (3.*ldn_con + 8.*msr * ldn_con)
710 - (eldn + 2.*lapse_bh2*(9.+11.*msr)*lldn_cov%xsr_con) / 3.)
711 - 2.*lapse_bh2 % lapse_bh2 * msr / r_bh / r_bh
713 - lapse_bh2 * (12.+51.*msr+46.*msr*msr) * ln % xsr_con )
715 + 8.*
pow(lapse_bh2, 4.) * msr / r_bh / r_bh
716 % (lapse_ns - 1.) * (2.+10.*msr+9.*msr*msr) * xsr_con / 3.
717 + 2.*
pow(lapse_bh2, 3.) * msr / r_bh * (2.+3.*msr)
718 * ( (1.+2.*msr) * evtmp - (3.+2.*msr) * lvtmp * xsr_con) / 3. ;
727 for (
int i=0; i<3; i++) {
728 for (
int l=0; l<nz; l++) {
729 if (source_shift(i).get_etat() != ETATZERO)
750 double lambda_shift = double(1) / double(3) ;
753 shift_falloff =
new int[4] ;
754 shift_falloff[0] = 1 ;
755 shift_falloff[1] = 1 ;
756 shift_falloff[2] = 2 ;
757 shift_falloff[3] = 1 ;
759 source_shift.poisson_vect_falloff(lambda_shift, par_poisson_vect,
763 delete[] shift_falloff ;
779 for (
int i=0; i<3; i++) {
781 + lambda_shift * graddivn(i) ;
784 Tbl tdiff_shift_x =
diffrel(lap_shift(0), source_shift(0)) ;
785 Tbl tdiff_shift_y =
diffrel(lap_shift(1), source_shift(1)) ;
786 Tbl tdiff_shift_z =
diffrel(lap_shift(2), source_shift(2)) ;
788 cout <<
"Relative error in the resolution of the equation for " 789 <<
"shift_auto : " << endl ;
790 cout <<
"x component : " ;
791 for (
int l=0; l<nz; l++) {
792 cout << tdiff_shift_x(l) <<
" " ;
795 cout <<
"y component : " ;
796 for (
int l=0; l<nz; l++) {
797 cout << tdiff_shift_y(l) <<
" " ;
800 cout <<
"z component : " ;
801 for (
int l=0; l<nz; l++) {
802 cout << tdiff_shift_z(l) <<
" " ;
806 diff_shift_x =
max(
abs(tdiff_shift_x)) ;
807 diff_shift_y =
max(
abs(tdiff_shift_y)) ;
808 diff_shift_z =
max(
abs(tdiff_shift_z)) ;
825 diff_ent = diff_ent_tbl(0) ;
826 for (
int l=1; l<
nzet; l++) {
827 diff_ent += diff_ent_tbl(l) ;
843 const double& sepa,
int mermax,
845 double relax_poisson,
847 double relax_potvit,
int np_filter,
868 int i_b = mg->
get_nr(l_b) - 1 ;
878 double& diff_ent = diff.
set(0) ;
879 double& diff_vel_pot = diff.
set(1) ;
880 double& diff_logn = diff.
set(2) ;
881 double& diff_beta = diff.
set(3) ;
882 double& diff_shift_x = diff.
set(4) ;
883 double& diff_shift_y = diff.
set(5) ;
884 double& diff_shift_z = diff.
set(6) ;
895 int nz_search =
nzet ;
897 double precis_secant = 1.e-14 ;
899 double reg_map = 1. ;
903 par_adapt.
add_int(nitermax, 0) ;
908 par_adapt.
add_int(nz_search, 2) ;
910 par_adapt.
add_int(adapt_flag, 3) ;
926 par_adapt.
add_tbl(ent_limit, 0) ;
932 double precis_poisson = 1.e-16 ;
936 par_poisson1.
add_int(mermax_poisson, 0) ;
948 par_poisson2.
add_int(mermax_poisson, 0) ;
958 Param par_poisson_vect ;
960 par_poisson_vect.
add_int(mermax_poisson, 0) ;
962 par_poisson_vect.
add_double(relax_poisson, 0) ;
963 par_poisson_vect.
add_double(precis_poisson, 1) ;
986 for(
int mer=0 ; mer<mermax ; mer++ ) {
988 cout <<
"-----------------------------------------------" << endl ;
989 cout <<
"step: " << mer << endl ;
990 cout <<
"diff_ent = " << diff_ent << endl ;
999 precis_poisson, relax_potvit) ;
1010 double logn_auto_c =
logn_auto()(0, 0, 0, 0) ;
1011 double pot_ext_c = pot_ext()(0, 0, 0, 0) ;
1017 double alpha_r2 = 0 ;
1018 for (
int k=0; k<mg->
get_np(l_b); k++) {
1019 for (
int j=0; j<mg->
get_nt(l_b); j++) {
1021 double pot_ext_b = pot_ext()(l_b, k, j, i_b) ;
1022 double logn_auto_b =
logn_auto()(l_b, k, j, i_b) ;
1025 double alpha_r2_jk = ( ent_c - ent_b + pot_ext_c - pot_ext_b)
1026 / ( logn_auto_b - logn_auto_c ) ;
1028 if (alpha_r2_jk > alpha_r2) {
1029 alpha_r2 = alpha_r2_jk ;
1037 alpha_r =
sqrt(alpha_r2) ;
1039 cout <<
"k_b, j_b, alpha_r: " << k_b <<
" " << j_b <<
" " 1040 << alpha_r << endl ;
1061 ent = (ent_c + logn_auto_c + pot_ext_c) -
logn_auto - pot_ext ;
1067 double dentdx =
ent().dsdx()(0, 0, 0, 0) ;
1068 double dentdy =
ent().dsdy()(0, 0, 0, 0) ;
1070 cout <<
"dH/dx|_center = " << dentdx << endl ;
1071 cout <<
"dH/dy|_center = " << dentdy << endl ;
1073 double dec_fact = 1. ;
1077 func_in.
set() = 1. - dec_fact * (dentdx/ent_c) *
mp.
x ;
1083 func_ex.
set() = 1. ;
1089 ent.
set() =
ent() * (func_in() + func_ex()) ;
1093 double dentdx_new =
ent().dsdx()(0, 0, 0, 0) ;
1095 cout <<
"dH/dx|_new = " << dentdx_new << endl ;
1104 double dent_eq =
ent().dsdr().val_point(
ray_eq_pi(),M_PI/2.,M_PI) ;
1105 double dent_pole =
ent().dsdr().val_point(
ray_pole(),0.,0.) ;
1106 double rap_dent = fabs( dent_eq / dent_pole ) ;
1107 cout <<
"| dH/dr_eq / dH/dr_pole | = " << rap_dent << endl ;
1109 if ( rap_dent < thres_adapt ) {
1111 cout <<
"******* FROZEN MAPPING *********" << endl ;
1119 for (
int l=0; l<
nzet; l++) {
1120 ent_limit.
set(l) =
ent()(l, k_b, j_b, i_b) ;
1123 ent_limit.
set(
nzet-1) = ent_b ;
1136 double fact_resize = 1. / alpha_r ;
1137 for (
int l=
nzet; l<nz-1; l++) {
1138 mp_et.
resize(l, fact_resize) ;
1142 double ent_s_max = -1 ;
1145 for (
int k=0; k<mg->
get_np(l_b); k++) {
1146 for (
int j=0; j<mg->
get_nt(l_b); j++) {
1147 double xx = fabs(
ent()(l_b, k, j, i_b) ) ;
1148 if (xx > ent_s_max) {
1155 cout <<
"Max. abs(enthalpy) at the boundary between domains nzet-1" 1156 <<
" and nzet : " << endl ;
1157 cout <<
" " << ent_s_max <<
" reached for k = " << k_s_max
1158 <<
" and j = " << j_s_max << endl ;
1186 r_bh.
set() =
pow( (xx+sepa)*(xx+sepa) + yy*yy + zz*zz, 0.5) ;
1191 xx_cov.
set(0) = xx + sepa ;
1192 xx_cov.
set(1) = yy ;
1193 xx_cov.
set(2) = zz ;
1197 msr = ggrav * mass / r_bh ;
1201 tmp = 1. / ( 1. - 0.25*msr*msr ) ;
1223 - 0.5 * tmp % msr % msr % xdnu / r_bh / r_bh
1224 - tmp % msr % xdbeta / r_bh / r_bh ;
1228 cout <<
"The computation of BH-NS binary systems" 1229 <<
" should be relativistic !!!" << endl ;
1240 source().poisson_falloff(par_poisson1,
logn_auto.
set(), k_falloff) ;
1253 "Relative error in the resolution of the equation for logn_auto : " 1256 for (
int l=0; l<nz; l++) {
1257 cout << tdiff_logn(l) <<
" " ;
1260 diff_logn =
max(
abs(tdiff_logn)) ;
1274 - tmp % msr % xdnu / r_bh / r_bh
1275 - 0.5 * tmp % msr %msr % xdbeta / r_bh / r_bh ;
1282 source().poisson_falloff(par_poisson2,
beta_auto.
set(),
1290 cout <<
"Relative error in the resolution of the equation for " 1291 <<
"beta_auto : " << endl ;
1292 for (
int l=0; l<nz; l++) {
1293 cout << tdiff_beta(l) <<
" " ;
1296 diff_beta =
max(
abs(tdiff_beta)) ;
1307 bhtmp = tmp % msr % (3.*msr-8.) % xx_cov / r_bh / r_bh ;
1326 for (
int i=0; i<3; i++) {
1327 for (
int l=0; l<nz; l++) {
1328 if (source_shift(i).get_etat() != ETATZERO)
1349 double lambda_shift = double(1) / double(3) ;
1351 int* shift_falloff ;
1352 shift_falloff =
new int[4] ;
1353 shift_falloff[0] = 1 ;
1354 shift_falloff[1] = 1 ;
1355 shift_falloff[2] = 2 ;
1356 shift_falloff[3] = 1 ;
1358 source_shift.poisson_vect_falloff(lambda_shift, par_poisson_vect,
1362 delete[] shift_falloff ;
1378 for (
int i=0; i<3; i++) {
1380 + lambda_shift * graddivn(i) ;
1383 Tbl tdiff_shift_x =
diffrel(lap_shift(0), source_shift(0)) ;
1384 Tbl tdiff_shift_y =
diffrel(lap_shift(1), source_shift(1)) ;
1385 Tbl tdiff_shift_z =
diffrel(lap_shift(2), source_shift(2)) ;
1387 cout <<
"Relative error in the resolution of the equation for " 1388 <<
"shift_auto : " << endl ;
1389 cout <<
"x component : " ;
1390 for (
int l=0; l<nz; l++) {
1391 cout << tdiff_shift_x(l) <<
" " ;
1394 cout <<
"y component : " ;
1395 for (
int l=0; l<nz; l++) {
1396 cout << tdiff_shift_y(l) <<
" " ;
1399 cout <<
"z component : " ;
1400 for (
int l=0; l<nz; l++) {
1401 cout << tdiff_shift_z(l) <<
" " ;
1405 diff_shift_x =
max(
abs(tdiff_shift_x)) ;
1406 diff_shift_y =
max(
abs(tdiff_shift_y)) ;
1407 diff_shift_z =
max(
abs(tdiff_shift_z)) ;
1424 diff_ent = diff_ent_tbl(0) ;
1425 for (
int l=1; l<
nzet; l++) {
1426 diff_ent += diff_ent_tbl(l) ;
void add_tenseur_mod(Tenseur &ti, int position=0)
Adds the address of a new modifiable Tenseur to the list.
const Base_vect & ref_triad
Reference triad ("absolute frame"), with respect to which the components of all the member Tenseur 's...
Cmp exp(const Cmp &)
Exponential.
Radial mapping of rather general form.
void add_int(const int &n, int position=0)
Adds the address of a new int to the list.
int get_np(int l) const
Returns the number of points in the azimuthal direction ( ) in domain no. l.
Cmp sqrt(const Cmp &)
Square root.
void equil_bhns_extr_cf(double ent_c, const double &mass, const double &sepa, int mermax, int mermax_poisson, double relax_poisson, int mermax_potvit, double relax_potvit, int np_filter, double thres_adapt, Tbl &diff)
Computes an equilibrium configuration of a BH-NS binary system in the conformally flat background met...
void annule(int l)
Sets the Cmp to zero in a given domain.
void set_std_base()
Set the standard spectal basis of decomposition for each component.
Tenseur pot_centri
Centrifugal potential.
Cmp ssjm1_logn
Effective source at the previous step for the resolution of the Poisson equation for logn_auto by mea...
Tenseur logn_auto_regu
Regular part of the logarithm of the part of the lapse N generated principaly by the star...
Standard units of space, time and mass.
const Mg3d * get_mg() const
Gives the Mg3d on which the mapping is defined.
double & set(int i)
Read/write of a particular element (index i) (1D case)
Tenseur nnn
Total lapse function.
Tenseur s_euler
Trace of the stress tensor in the Eulerian frame.
virtual void adapt(const Cmp &ent, const Param &par, int nbr=0)=0
Adaptation of the mapping to a given scalar field.
Tenseur press
Fluid pressure.
bool kerrschild
Indicator of the background metric: true for the Kerr-Shild metric, false for the conformally flat on...
Tenseur d_beta_auto
Gradient of beta_auto (Cartesian components with respect to ref_triad )
void filtre_phi(int n, int zone)
Sets the n lasts coefficients in to 0 in the domain zone .
void hydro_euler_extr(const double &mass, const double &sepa)
Computes the hydrodynamical quantities relative to the Eulerian observer from those in the fluid fram...
Tbl diffrel(const Cmp &a, const Cmp &b)
Relative difference between two Cmp (norme version).
Tenseur shift_auto
Part of the shift vector generated principaly by the star.
void set_etat_qcq()
Sets the logical state to ETATQCQ (ordinary state).
bool irrotational
true for an irrotational star, false for a corotating one
Cmp & set()
Read/write for a scalar (see also operator=(const Cmp&) ).
Tenseur w_shift
Vector used in the decomposition of shift_auto , following Shibata's prescription [Prog...
Tenseur u_euler
Fluid 3-velocity with respect to the Eulerian observer.
void change_triad(const Base_vect &new_triad)
Sets a new vectorial basis (triad) of decomposition and modifies the components accordingly.
Tenseur flat_scalar_prod_desal(const Tenseur &t1, const Tenseur &t2)
Same as flat_scalar_prod but with desaliasing.
Tenseur logn_comp
Part of the lapse logarithm (gravitational potential at the Newtonian limit) generated principaly by ...
double velocity_pot_extr(const double &mass, const double &sepa, int mermax, double precis, double relax)
Computes the non-translational part of the velocity scalar potential by solving the continuity equat...
Tenseur d_logn_auto
Gradient of logn_auto (Cartesian components with respect to ref_triad )
void equil_bhns_extr_ks(double ent_c, const double &mass, const double &sepa, int mermax, int mermax_poisson, double relax_poisson, int mermax_potvit, double relax_potvit, int np_filter, double thres_adapt, Tbl &diff)
Computes an equilibrium configuration of a BH-NS binary system in the Kerr-Schild background metric u...
virtual void resize(int l, double lambda)
Rescales the outer boundary of one domain.
void add_tbl(const Tbl &ti, int position=0)
Adds the address of a new Tbl to the list.
Map & mp
Mapping associated with the star.
int get_nzone() const
Returns the number of domains.
virtual void equation_of_state()
Computes the proper baryon and energy density, as well as pressure from the enthalpy.
virtual void homothetie(double lambda)
Sets a new radial scale.
Tbl max(const Cmp &)
Maximum values of a Cmp in each domain.
Tenseur khi_shift
Scalar used in the decomposition of shift_auto , following Shibata's prescription [Prog...
Cmp pow(const Cmp &, int)
Power .
Tenseur contract(const Tenseur &, int id1, int id2)
Self contraction of two indices of a Tenseur .
Tenseur_sym tkij_auto
Part of the extrinsic curvature tensor generated by shift_auto .
Active physical coordinates and mapping derivatives.
int nzet
Number of domains of *mp occupied by the star.
int get_nr(int l) const
Returns the number of points in the radial direction ( ) in domain no. l.
Tenseur a_car
Total conformal factor .
bool relativistic
Indicator of relativity: true for a relativistic star, false for a Newtonian one. ...
double ray_pole() const
Coordinate radius at [r_unit].
Cmp ssjm1_beta
Effective source at the previous step for the resolution of the Poisson equation for beta_auto by mea...
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.
const Base_vect_cart & get_bvect_cart() const
Returns the Cartesian basis associated with the coordinates (x,y,z) of the mapping, i.e.
double ray_eq_pi() const
Coordinate radius at , [r_unit].
Tenseur logn_auto
Total of the logarithm of the part of the lapse N generated principaly by the star.
Tenseur loggam
Logarithm of the Lorentz factor between the fluid and the co-orbiting observer.
Tenseur ent
Log-enthalpy (relativistic case) or specific enthalpy (Newtonian case)
Coord y
y coordinate centered on the grid
Cmp abs(const Cmp &)
Absolute value.
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.
void add_double(const double &x, int position=0)
Adds the the address of a new double to the list.
void resize_extr(double lambda)
Rescales the outer boundary of the outermost domain in the case of non-compactified external domain...
Coord x
x coordinate centered on the grid
int get_nt(int l) const
Returns the number of points in the co-latitude direction ( ) in domain no. l.
Tenseur beta_auto
Logarithm of the part of the product AN generated principaly by by the star.
void set_etat_qcq()
Sets the logical state to ETATQCQ (ordinary state).
void add_cmp_mod(Cmp &ti, int position=0)
Adds the address of a new modifiable Cmp to the list.
Tenseur akcar_auto
Part of the scalar generated by shift_auto , i.e.
Tenseur ener_euler
Total energy density in the Eulerian frame.
Coord z
z coordinate centered on the grid
Tensor handling *** DEPRECATED : use class Tensor instead ***.
void add_int_mod(int &n, int position=0)
Adds the address of a new modifiable int to the list.
const Tenseur & gradient() const
Returns the gradient of *this (Cartesian coordinates)
Cmp ssjm1_khi
Effective source at the previous step for the resolution of the Poisson equation for the scalar by m...
Tenseur ssjm1_wshift
Effective source at the previous step for the resolution of the vector Poisson equation for by means...