52#include "et_bin_nsbh.h"
58#include "utilitaires.h"
62void Bin_ns_bh::pseudo_misner (
int& ite,
int itemax,
double relax,
63 double precis,
int bound_nn,
double lim_nn) {
65 using namespace Unites ;
69 Cmp source_n_prev (
star.get_mp()) ;
70 source_n_prev.set_etat_zero() ;
73 par_poisson1.add_int(itemax, 0) ;
74 par_poisson1.add_double(relax, 0) ;
75 par_poisson1.add_double(precis, 1) ;
76 par_poisson1.add_int_mod(ite, 0) ;
77 par_poisson1.add_cmp_mod(source_n_prev) ;
81 Cmp source_psi_prev (
star.get_mp()) ;
82 source_psi_prev.set_etat_zero() ;
85 par_poisson2.add_int(itemax, 0) ;
86 par_poisson2.add_double(relax, 0) ;
87 par_poisson2.add_double(precis, 1) ;
88 par_poisson2.add_int_mod(ite, 0) ;
89 par_poisson2.add_cmp_mod(source_psi_prev) ;
102 Tenseur n_auto_old (
star.n_auto()) ;
103 Tenseur psi_auto_old (
star.confpsi_auto()) ;
104 Tenseur n_auto_hole (
hole.n_auto()) ;
106 Tenseur confpsi_q =
pow(
star.confpsi, 4.) ;
107 Tenseur confpsi_c =
pow(
star.confpsi, 5.) ;
110 Tenseur source_n (qpig *
star.nnn * confpsi_q * (
star.ener_euler +
star.s_euler)
112 source_n.set_std_base() ;
113 source_n().poisson(par_poisson1,
star.n_auto.set()) ;
114 star.n_auto.set() =
star.n_auto() + 0.5 ;
115 star.n_auto.set() = relax *
star.n_auto() + (1-relax)*n_auto_old() ;
119 Tenseur source_psi (-0.5 * qpig * confpsi_c *
star.ener_euler) ;
120 source_psi.set_std_base() ;
121 source_psi().poisson(par_poisson2,
star.confpsi_auto.set()) ;
122 star.confpsi_auto.set() =
star.confpsi_auto() + 0.5 ;
123 star.confpsi_auto.set() = relax*
star.confpsi_auto() + (1-relax)*psi_auto_old() ;
127 hole.solve_lapse_with_ns (relax, bound_nn, lim_nn) ;
130 hole.solve_psi_with_ns (relax) ;
135 star.equation_of_state() ;
140 cout <<
"Step " << itere <<
" " << erreur << endl ;
142 if ((itere==itemax) || (erreur<precis))
double get_omega() const
Returns the orbital velocity.
Et_bin_nsbh star
The neutron star.
Bhole hole
The black hole.
double get_x_axe() const
Returns a constant reference to the black hole.
Tbl max(const Cmp &)
Maximum values of a Cmp in each domain.
Cmp pow(const Cmp &, int)
Power .
Tbl diffrelmax(const Cmp &a, const Cmp &b)
Relative difference between two Cmp (max version).
Tenseur flat_scalar_prod(const Tenseur &t1, const Tenseur &t2)
Scalar product of two Tenseur when the metric is : performs the contraction of the last index of t1 w...