58 #include "et_bin_nsbh.h" 59 #include "graphique.h" 62 double Et_bin_nsbh::compute_axe(
double omega)
const {
65 Cmp dx_mu (
nnn().dsdx() /
nnn());
66 Cmp dx_loggam (
loggam().dsdx()) ;
67 double part_dx = dx_mu(0,0,0,0) + dx_loggam(0,0,0,0) ;
74 C_cmp.std_base_scal() ;
75 double dC = C_cmp.dsdx()(0,0,0,0) ;
79 B_cmp.std_base_scal() ;
80 double dB = B_cmp.dsdx()(0,0,0,0) ;
84 A_cmp.std_base_scal() ;
85 double dA = A_cmp.dsdx()(0,0,0,0) ;
88 double A = A_cmp (0,0,0,0) ;
89 double B = B_cmp (0,0,0,0) ;
90 double C = C_cmp (0,0,0,0) ;
93 double a_coef = dC + 2*C*part_dx ;
94 double b_coef = dB + 2*C + 2*B*part_dx ;
95 double c_coef = dA + B + 2*A*part_dx;
97 cout << a_coef <<
" " << b_coef <<
" " << c_coef << endl ;
99 double determinant = b_coef*b_coef - 4*a_coef*c_coef ;
101 if (determinant <0) {
102 cout <<
"No solution for Xabs found in Et_bin_nsbh_compute_axe !" << endl ;
106 double sol_un = (-b_coef -
sqrt(determinant))/2/a_coef ;
107 double sol_deux = (-b_coef +
sqrt(determinant))/2/a_coef ;
109 bool signe_un = (sol_un >0) ?
true :
false ;
110 bool signe_deux = (sol_deux >0) ?
true :
false ;
114 if (signe_un == signe_deux) {
115 cout <<
"To many solutions in Et_bin_nsbh_compute_axe !" << endl ;
119 res = (signe_un) ? sol_un : sol_deux ;
Coord xa
Absolute x coordinate.
Cmp sqrt(const Cmp &)
Square root.
Tenseur nnn
Total lapse function.
Tenseur shift
Total shift vector.
Tenseur confpsi
Total conformal factor $$.
Map & mp
Mapping associated with the star.
Cmp pow(const Cmp &, int)
Power .
Tenseur loggam
Logarithm of the Lorentz factor between the fluid and the co-orbiting observer.