29 #include "isol_hole.h" 31 #include "excision_surf.h" 32 #include "excision_hor.h" 33 #include "utilitaires.h" 59 shift(mpi, CON, mpi.get_bvect_spher()),
60 hij(mpi, CON, mpi.get_bvect_spher()),
61 hatA(mpi, CON, mpi.get_bvect_spher()){
86 NorKappa(ih.NorKappa),
87 boundNoK(ih.boundNoK),
90 conf_fact(ih.conf_fact),
104 NorKappa(NorKappa_i),
107 lapse(mpi,*(mpi.get_mg()), fich),
108 conf_fact(mpi,*(mpi.get_mg()), fich),
109 shift(mpi, mpi.get_bvect_spher(), fich),
110 hij(mpi, mpi.get_bvect_spher(), fich),
111 hatA(mpi, mpi.get_bvect_spher(), fich){
162 assert( &(ih.
mp) == &
mp ) ;
168 conf_fact = ih.conf_fact ;
186 conf_fact.
sauve(fich) ;
197 const Metric_flat& mets = (*map).flat_met_spher() ;
201 Sym_tensor gamcon = gamtcon/(conf_fact*conf_fact*conf_fact*conf_fact);
215 ham_constr += TrK3*TrK3 -
contract(k_uu, 0, 1, k_dd, 0, 1) ;
216 maxabs(ham_constr,
"Hamiltonian constraint: ") ;
222 maxabs(mom_constr,
"Momentum constraint: ") ;
231 evol_eq +=
lapse*(TrK3*k_dd - 2*
contract(k_dd, 1, k_dd.
up(0, gam), 0) ) ;
232 maxabs(evol_eq,
"Evolution equations: ") ;
249 const Mg3d* mgrid = (*map).get_mg();
254 const Coord& rr = (*map).r;
264 const Map_af map_2(*g_angu, r_limits2);
267 const Metric_flat& mets = (*map).flat_met_spher() ;
271 Sym_tensor gamcon = gamtcon/(conf_fact*conf_fact*conf_fact*conf_fact);
284 Spheroid hor_loc(hor_pos, gam, kdd);
291 const Metric_flat& mets = (*map).flat_met_spher() ;
295 Sym_tensor gamcon = gamtcon/(conf_fact*conf_fact*conf_fact*conf_fact);
301 Scalar admintegr = conf_fact.
dsdr() + corr_adm(1);
303 double M_ADM = - (1/(2.*3.1415927*ggrav))*(*map).integrale_surface_infini(admintegr*detgam);
311 const Metric_flat& mets = (*map).flat_met_spher() ;
314 Sym_tensor gamcon = gamtcon/(conf_fact*conf_fact*conf_fact*conf_fact);
325 double angu_komar = - (1/(8.*3.1415927*ggrav))*(*map).integrale_surface_infini(detgam*contraction);
341 double erreur = (2*(*devel_psi[1])(nz-1, 0, 0, 0)
342 + (*devel_n[1])(nz-1, 0, 0, 0))/fabs ((*devel_n[1])(nz-1, 0, 0, 0)) ;
Tbl maxabs(const Tensor &aa, const char *comment=0x0, ostream &ost=cout, bool verb=true)
Maxima in each domain of the absolute values of the tensor components.
Metric for tensor calculation.
virtual void sauve(FILE *) const
Save in a binary file.
double * p_adm_mass
Computation of the ADM mass of the BH spacetime.
Cmp sqrt(const Cmp &)
Square root.
Class to compute quasistationary single black hole spacetimes in vacuum.
double komar_angmom()
Computation of the Komar angular momentum w.r.t.
Standard units of space, time and mass.
Tensor up(int ind, const Metric &gam) const
Computes a new tensor by raising an index of *this.
const Mg3d * get_mg() const
Gives the Mg3d on which the mapping is defined.
Flat metric for tensor calculation.
Tensor field of valence 0 (or component of a tensorial field).
Base class for coordinate mappings.
virtual void set_der_0x0() const
Sets to 0x0 all the pointers on derived quantities.
Tensor up_down(const Metric &gam) const
Computes a new tensor by raising or lowering all the indices of *this .
const Tensor_sym & derive_con(const Metric &gam) const
Returns the "contravariant" derivative of this with respect to some metric , by raising the last inde...
void mult_sint()
Multiplication by .
Sym_tensor hij
Deviation tensor( non-flat part of the conformal 3-metric on the slice; see Bonazzola et al...
virtual void std_spectral_base()
Sets the spectral bases of the Valeur va to the standard ones for a scalar field. ...
const Sym_tensor & ricci() const
Returns the Ricci tensor (given by the Connection p_connect )
Values and coefficients of a (real-value) function.
virtual void sauve(FILE *) const
Save in a binary file.
virtual void del_deriv() const
Deletes all the derived quantities.
const Vector & derive_con(const Metric &gam) const
Returns the "contravariant" derivative of *this with respect to some metric , by raising the index of...
Tensor field of valence 1.
double * p_komar_angmom
Computation of the Komar angular momentum w.r.t.
double val_grid_point(int l, int k, int j, int i) const
Returns the value of the field at a specified grid point.
virtual void dec_dzpuis(int dec=1)
Decreases by dec units the value of dzpuis and changes accordingly the values in the compactified ext...
virtual const Sym_tensor & con() const
Read-only access to the contravariant representation.
virtual void sauve(FILE *) const
Save in a file.
Spheroidal 2-surfaces embedded in a time-slice of the 3+1 formalism.
Scalar boundNoK
Indicates if the boundary value for the lapse or the surface gravity is used.
void Einstein_errors()
Prints out errors in Einstein equations for the data obtained.
const Vector & divergence(const Metric &) const
Returns the divergence of this with respect to a Metric .
Vector shift
Shift vector.
virtual const Scalar & ricci_scal() const
Returns the Ricci scalar.
const Map & mp
Mapping associated with the star.
Spheroid * p_hor
Computation of the spheroid associated with the black hole horizon.
double * p_virial_residue
Computation of the Virial residual, as difference at infinity between the ADM mass and the Komar inte...
Spheroid hor()
Spheroid at the excised boundary associated with the black hole MOTS on the slice.
bool NorKappa
Rotation rate of the horizon in the azimuthal direction.
Scalar lapse
Lapse function.
int get_nzone() const
Returns the number of domains.
double adm_mass()
Computation of the ADM mass of the BH spacetime.
double virial_residue()
Computation of the Virial residual, as difference at infinity between the ADM mass and the Komar inte...
void operator=(const Isol_hole &)
Assignment to another Isol_hole.
Cmp pow(const Cmp &, int)
Power .
Tenseur contract(const Tenseur &, int id1, int id2)
Self contraction of two indices of a Tenseur .
const Tensor & derive_cov(const Metric &gam) const
Returns the covariant derivative of this with respect to some metric .
Active physical coordinates and mapping derivatives.
virtual void sauve(FILE *) const
Save in a file.
virtual const Sym_tensor & cov() const
Read-only access to the covariant representation.
virtual ~Isol_hole()
Destructor.
const Scalar & dsdr() const
Returns of *this .
Valeur ** asymptot(int n, const int flag=0) const
Asymptotic expansion at r = infinity.
virtual void set_etat_zero()
Sets the logical state of all components to ETATZERO (zero state).
bool isCF
Stores the boundary value of the lapse or surface gravity.
Isol_hole(const Map &mp_i, double Omega_i, bool NorKappa_i, Scalar NoK_i, bool isCF_i=false)
Standard constructor.
const Vector & derive_cov(const Metric &gam) const
Returns the gradient (1-form = covariant vector) of *this
const Map & get_mp() const
Returns the mapping.
const Mg3d * get_angu_1dom() const
Returns the pointer on the associated mono-domain angular grid.
virtual void dec_dzpuis(int dec=1)
Decreases by dec units the value of dzpuis and changes accordingly the values of the Scalar in the co...
virtual void std_spectral_base()
Sets the standard spectal bases of decomposition for each component.
Sym_tensor derive_lie(const Vector &v) const
Computes the Lie derivative of this with respect to some vector field v.
void mult_r_dzpuis(int ced_mult_r)
Multiplication by r everywhere but with the output flag dzpuis set to ced_mult_r ...
Class intended to describe valence-2 symmetric tensors.
Tensor trace(int ind1, int ind2) const
Trace on two different type indices.
Sym_tensor hatA
Rescaled tracefree extrinsic curvature tensor: see Cordero et al.