21char pseudo_misner_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Bin_ns_bh/pseudo_misner.C,v 1.4 2014/10/13 08:52:43 j_novak Exp $" ;
49#include "et_bin_nsbh.h"
55#include "utilitaires.h"
59void Bin_ns_bh::pseudo_misner (
int& ite,
int itemax,
double relax,
60 double precis,
int bound_nn,
double lim_nn) {
62 using namespace Unites ;
66 Cmp source_n_prev (
star.get_mp()) ;
67 source_n_prev.set_etat_zero() ;
70 par_poisson1.add_int(itemax, 0) ;
71 par_poisson1.add_double(relax, 0) ;
72 par_poisson1.add_double(precis, 1) ;
73 par_poisson1.add_int_mod(ite, 0) ;
74 par_poisson1.add_cmp_mod(source_n_prev) ;
78 Cmp source_psi_prev (
star.get_mp()) ;
79 source_psi_prev.set_etat_zero() ;
82 par_poisson2.add_int(itemax, 0) ;
83 par_poisson2.add_double(relax, 0) ;
84 par_poisson2.add_double(precis, 1) ;
85 par_poisson2.add_int_mod(ite, 0) ;
86 par_poisson2.add_cmp_mod(source_psi_prev) ;
99 Tenseur n_auto_old (
star.n_auto()) ;
100 Tenseur psi_auto_old (
star.confpsi_auto()) ;
101 Tenseur n_auto_hole (
hole.n_auto()) ;
103 Tenseur confpsi_q =
pow(
star.confpsi, 4.) ;
104 Tenseur confpsi_c =
pow(
star.confpsi, 5.) ;
107 Tenseur source_n (qpig *
star.nnn * confpsi_q * (
star.ener_euler +
star.s_euler)
109 source_n.set_std_base() ;
110 source_n().poisson(par_poisson1,
star.n_auto.set()) ;
111 star.n_auto.set() =
star.n_auto() + 0.5 ;
112 star.n_auto.set() = relax *
star.n_auto() + (1-relax)*n_auto_old() ;
116 Tenseur source_psi (-0.5 * qpig * confpsi_c *
star.ener_euler) ;
117 source_psi.set_std_base() ;
118 source_psi().poisson(par_poisson2,
star.confpsi_auto.set()) ;
119 star.confpsi_auto.set() =
star.confpsi_auto() + 0.5 ;
120 star.confpsi_auto.set() = relax*
star.confpsi_auto() + (1-relax)*psi_auto_old() ;
124 hole.solve_lapse_with_ns (relax, bound_nn, lim_nn) ;
127 hole.solve_psi_with_ns (relax) ;
132 star.equation_of_state() ;
137 cout <<
"Step " << itere <<
" " << erreur << endl ;
139 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...