23char et_bin_nsbh_axe_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Etoile/et_bin_nsbh_axe.C,v 1.5 2014/10/13 08:52:56 j_novak Exp $" ;
55#include "et_bin_nsbh.h"
59double Et_bin_nsbh::compute_axe(
double omega)
const {
62 Cmp dx_mu (
nnn().dsdx() /
nnn());
63 Cmp dx_loggam (
loggam().dsdx()) ;
64 double part_dx = dx_mu(0,0,0,0) + dx_loggam(0,0,0,0) ;
71 C_cmp.std_base_scal() ;
72 double dC = C_cmp.dsdx()(0,0,0,0) ;
76 B_cmp.std_base_scal() ;
77 double dB = B_cmp.dsdx()(0,0,0,0) ;
81 A_cmp.std_base_scal() ;
82 double dA = A_cmp.dsdx()(0,0,0,0) ;
85 double A = A_cmp (0,0,0,0) ;
86 double B = B_cmp (0,0,0,0) ;
87 double C = C_cmp (0,0,0,0) ;
90 double a_coef = dC + 2*C*part_dx ;
91 double b_coef = dB + 2*C + 2*B*part_dx ;
92 double c_coef = dA + B + 2*A*part_dx;
94 cout << a_coef <<
" " << b_coef <<
" " << c_coef << endl ;
96 double determinant = b_coef*b_coef - 4*a_coef*c_coef ;
99 cout <<
"No solution for Xabs found in Et_bin_nsbh_compute_axe !" << endl ;
103 double sol_un = (-b_coef -
sqrt(determinant))/2/a_coef ;
104 double sol_deux = (-b_coef +
sqrt(determinant))/2/a_coef ;
106 bool signe_un = (sol_un >0) ?
true : false ;
107 bool signe_deux = (sol_deux >0) ?
true : false ;
111 if (signe_un == signe_deux) {
112 cout <<
"To many solutions in Et_bin_nsbh_compute_axe !" << endl ;
116 res = (signe_un) ? sol_un : sol_deux ;
Tenseur confpsi
Total conformal factor $\Psi$.
Tenseur loggam
Logarithm of the Lorentz factor between the fluid and the co-orbiting observer.
Tenseur nnn
Total lapse function.
Map & mp
Mapping associated with the star.
Tenseur shift
Total shift vector.
Coord xa
Absolute x coordinate.
Cmp sqrt(const Cmp &)
Square root.
Cmp pow(const Cmp &, int)
Power .