LORENE
Lorene::Excised_slice Class Reference

Class to compute single black hole spacetime excised slices. More...

#include <excised_slice.h>

Public Member Functions

 Excised_slice (const Map &mp_i, int hor_type, int scheme_type)
 Standard constructor. More...
 
 Excised_slice (const Excised_slice &)
 Copy constructor. More...
 
 Excised_slice (const Map &mp_i, int hor_type, int scheme_type, FILE *fich)
 Constructor from a file (see sauve(FILE* )). More...
 
virtual ~Excised_slice ()
 Destructor. More...
 
void operator= (const Excised_slice &)
 Assignment to another Excised_slice. More...
 
void compute_stat_metric (double precis, double Omega_i, bool NorKappa_i, Scalar NoK_i, bool isCF_i=true, double relax=0.2, int mer_max=2000, int mer_max2=200, bool isvoid=true)
 If hor_type=1, computes a quasi-stationary 3-slice from the chosen parameters. More...
 
void secmembre_kerr (Sym_tensor &source_hh)
 If hor_type=1, computes the rhs of hyperbolic equation for conformal metric assuming stationarity; WARNING; up to now, we are only able to handle void spacetimes. More...
 
const Mapget_mp () const
 Returns the mapping. More...
 
int get_type_hor () const
 Returns the type of horizon that performs the excision. More...
 
int get_field_set () const
 Returns the field set chosen for the data. More...
 
const Scalarget_lapse () const
 Returns the lapse function N. More...
 
const Scalarget_conf_fact () const
 Returns the conformal factor. More...
 
const Vectorget_shift () const
 Returns the shift vector $\beta^i$. More...
 
const Sym_tensorget_hij () const
 Returns the deviation tensor $ h^{ij} $. More...
 
const Sym_tensorget_hatA () const
 Returns the rescaled tracefree extrinsic curvature $\hat{A}^{ij}$ (or its TT part if scheme_type=2) More...
 
const Vectorget_Xx () const
 Return the longitudinal part of Einstein Equations if the scheme is appropriate. More...
 
int set_type_hor ()
 Sets the horizon type. More...
 
Scalarset_lapse ()
 Sets the lapse. More...
 
Scalarset_conf_fact ()
 Sets the conformal factor. More...
 
Vectorset_shift ()
 Sets the shift vector. More...
 
Sym_tensorset_hij ()
 Sets the deviation tensor. More...
 
Sym_tensorset_hatA ()
 Sets the rescaled tracefree extrinsic curvature $\hat{A}^{ij}$ (or its TT part if scheme_type=2) More...
 
Vectorset_Xx ()
 Sets the longitudinal part of Einstein Equations if the scheme is apropriate. More...
 
virtual void sauve (FILE *) const
 Save in a file. More...
 
void Einstein_errors ()
 Prints out errors in Einstein equations for the data obtained. More...
 
Spheroid hor ()
 Spheroid at the excised boundary associated with the black hole MOTS on the slice. More...
 
double adm_mass ()
 Computation of the ADM mass of the BH spacetime. More...
 
double komar_angmom ()
 Computation of the Komar angular momentum w.r.t. More...
 
double virial_residue ()
 Computation of the Virial residual, as difference at infinity between the ADM mass and the Komar integral associated to the mass. More...
 

Protected Member Functions

virtual void del_deriv () const
 Deletes all the derived quantities. More...
 
virtual void set_der_0x0 () const
 Sets to 0x0 all the pointers on derived quantities. More...
 

Protected Attributes

const Mapmp
 Mapping associated with the slice. More...
 
int type_hor
 Chosen horizon type. More...
 
int field_set
 Chose field set type. More...
 
Scalar lapse
 Lapse function. More...
 
Scalar conf_fact
 
Vector shift
 Shift vector. More...
 
Sym_tensor hij
 Deviation tensor( non-flat part of the conformal 3-metric on the slice; see Bonazzola et al. More...
 
Sym_tensor hatA
 Rescaled tracefree extrinsic curvature tensor: rescaled same way as Cordero et al. More...
 
Vector Xx
 Longitudinal part of the extrinsic curvature. More...
 
Spheroidp_hor
 Computation of the spheroid associated with the black hole horizon. More...
 
double * p_adm_mass
 Computation of the ADM mass of the BH spacetime. More...
 
double * p_komar_angmom
 Computation of the Komar angular momentum w.r.t. More...
 
double * p_virial_residue
 Computation of the Virial residual, as difference at infinity between the ADM mass and the Komar integral associated to the mass. More...
 

Detailed Description

Class to compute single black hole spacetime excised slices.

It takes as arguments:

  • A Mapping mp
  • The type of physical surface used to perform the excision:
    • 0. General
    • 1. Isolated horizon-like
    • 2. Dynamical horizon-like
    • 3. Inner trapped surface
  • The type of metric fields that live in the slice:
    • 1. FCF quantities are used (Bonazzola et al., 2004)
    • 2. FCF-New scheme quantities are used (Cordero et al., 2009) Members are obviously the metric fields living in the slice, and related variables. The aim of this class is to coordinate Resolution of Einstein equations with the right set of boundary conditions, using classes like Spheroid() and Excision_surf(); Disclaimer: the class Isol_hole() is redundant with this class under a set of parameters; therefore it has to go at some point.

Definition at line 41 of file excised_slice.h.

Constructor & Destructor Documentation

◆ Excised_slice() [1/3]

Lorene::Excised_slice::Excised_slice ( const Map mp_i,
int  hor_type,
int  scheme_type 
)

Standard constructor.

Parameters
mp_iMapping on which the black hole slice will be defined
hor_typeType of horizon used for excision:
  • 0. General
  • 1. Isolated horizon-like
  • 2. Dynamical horizon-like
  • 3. Inner trapped surface
scheme_typeType of scheme use for metric field computation
  • 1. Original FCF scheme (Bonazzola et al., 2004)
  • 2. New FCF scheme (Cordero et al., 2009)

Definition at line 58 of file excised_slice.C.

References hatA, hij, lapse, set_der_0x0(), Lorene::Tensor::set_etat_zero(), shift, and Xx.

◆ Excised_slice() [2/3]

Lorene::Excised_slice::Excised_slice ( const Excised_slice ih)

Copy constructor.

Definition at line 84 of file excised_slice.C.

References set_der_0x0().

◆ Excised_slice() [3/3]

Lorene::Excised_slice::Excised_slice ( const Map mp_i,
int  hor_type,
int  scheme_type,
FILE *  fich 
)

Constructor from a file (see sauve(FILE* )).

Parameters
mp_iMapping on which the black hole slice will be defined
hor_typeType of horizon used for excision:
  • 0. General
  • 1. Isolated horizon-like
  • 2. Dynamical horizon-like
  • 3. Inner trapped surface
scheme_typeType of scheme use for metric field computation
  • 1. Original FCF scheme (Bonazzola et al., 2004)
  • 2. New FCF scheme (Cordero et al., 2009)
fichinput file (must have been created by the function sauve)

Definition at line 101 of file excised_slice.C.

References set_der_0x0().

◆ ~Excised_slice()

Lorene::Excised_slice::~Excised_slice ( )
virtual

Destructor.

Definition at line 124 of file excised_slice.C.

References del_deriv().

Member Function Documentation

◆ adm_mass()

double Lorene::Excised_slice::adm_mass ( )

◆ compute_stat_metric()

void Lorene::Excised_slice::compute_stat_metric ( double  precis,
double  Omega_i,
bool  NorKappa_i,
Scalar  NoK_i,
bool  isCF_i = true,
double  relax = 0.2,
int  mer_max = 2000,
int  mer_max2 = 200,
bool  isvoid = true 
)

If hor_type=1, computes a quasi-stationary 3-slice from the chosen parameters.

Parameters
precis[input] threshold in the relative difference between the radial shift for two consecutive steps to stop the iterative procedure (default value: 1.e-11)
Omega_iRotation parameter for the isolated horizon slice. The principal Killing vector associated to this quantity will be by default the $e_{}$ vector.
NorKappa_iboolean to tell whether boundary condition is put on the surface gravity (true) or the lapse (false)
NoK_iThe corresponding Dirichlet value for this quantity.
isCFTells whether the calculation is using the conformal flatness approximation (true) or not (false).
relaxrelaxation coefficient for all metric fields (0: no relaxation)
mer_maxMaximum number of iterations allowed in the main loop
mer_maxMaximum number of iterations allowed in the possible secondary loop for conformal geometry computation.
isvoidindicates whether or not the spacetime is vacuum. This is useless for now since matter terms are not handled in the class.

Definition at line 38 of file Excised_slice/isol_hole_compute_metric.C.

References Lorene::Tensor::annule_domain(), Lorene::Scalar::annule_hard(), Lorene::Valeur::c_cf, Lorene::Metric::con(), Lorene::Metric_flat::con(), Lorene::contract(), Lorene::Metric::cov(), Lorene::Tensor_sym::derive_con(), Lorene::Scalar::derive_cov(), Lorene::Tensor_sym::derive_cov(), Lorene::Vector::divergence(), Lorene::Mg3d::get_angu_1dom(), Lorene::Scalar::get_etat(), Lorene::Mg3d::get_nzone(), hij, Lorene::Scalar::inc_dzpuis(), lapse, Lorene::log(), mp, Lorene::Vector::set(), Lorene::Tensor::set(), Lorene::Scalar::set_spectral_va(), Lorene::sqrt(), Lorene::Vector::std_spectral_base(), Lorene::Scalar::std_spectral_base(), type_hor, Lorene::Tensor::up_down(), Lorene::Scalar::val_grid_point(), and Lorene::Valeur::ylm().

◆ del_deriv()

void Lorene::Excised_slice::del_deriv ( ) const
protectedvirtual

Deletes all the derived quantities.

Definition at line 135 of file excised_slice.C.

References p_adm_mass, p_hor, p_komar_angmom, p_virial_residue, and set_der_0x0().

◆ Einstein_errors()

◆ get_conf_fact()

const Scalar& Lorene::Excised_slice::get_conf_fact ( ) const
inline

Returns the conformal factor.

Definition at line 210 of file excised_slice.h.

◆ get_field_set()

int Lorene::Excised_slice::get_field_set ( ) const
inline

Returns the field set chosen for the data.

Definition at line 204 of file excised_slice.h.

References field_set.

◆ get_hatA()

const Sym_tensor& Lorene::Excised_slice::get_hatA ( ) const
inline

Returns the rescaled tracefree extrinsic curvature $\hat{A}^{ij}$ (or its TT part if scheme_type=2)

Definition at line 219 of file excised_slice.h.

References hatA.

◆ get_hij()

const Sym_tensor& Lorene::Excised_slice::get_hij ( ) const
inline

Returns the deviation tensor $ h^{ij} $.

Definition at line 216 of file excised_slice.h.

References hij.

◆ get_lapse()

const Scalar& Lorene::Excised_slice::get_lapse ( ) const
inline

Returns the lapse function N.

Definition at line 207 of file excised_slice.h.

References lapse.

◆ get_mp()

const Map& Lorene::Excised_slice::get_mp ( ) const
inline

Returns the mapping.

Definition at line 197 of file excised_slice.h.

References mp.

◆ get_shift()

const Vector& Lorene::Excised_slice::get_shift ( ) const
inline

Returns the shift vector $\beta^i$.

Definition at line 213 of file excised_slice.h.

References shift.

◆ get_type_hor()

int Lorene::Excised_slice::get_type_hor ( ) const
inline

Returns the type of horizon that performs the excision.

Definition at line 200 of file excised_slice.h.

References type_hor.

◆ get_Xx()

const Vector& Lorene::Excised_slice::get_Xx ( ) const
inline

Return the longitudinal part of Einstein Equations if the scheme is appropriate.

Definition at line 222 of file excised_slice.h.

References field_set, and Xx.

◆ hor()

Spheroid Lorene::Excised_slice::hor ( )

Spheroid at the excised boundary associated with the black hole MOTS on the slice.

Set by default at the position $ r=1 $.

Definition at line 246 of file excised_slice.C.

References Lorene::Metric_flat::con(), Lorene::Mg3d::get_angu_1dom(), hatA, hij, mp, Lorene::pow(), Lorene::Tensor::std_spectral_base(), Lorene::Scalar::std_spectral_base(), Lorene::Tensor::up_down(), and Lorene::Scalar::val_grid_point().

◆ komar_angmom()

double Lorene::Excised_slice::komar_angmom ( )

◆ operator=()

void Lorene::Excised_slice::operator= ( const Excised_slice ih)

Assignment to another Excised_slice.

Definition at line 159 of file excised_slice.C.

References del_deriv(), field_set, hatA, hij, lapse, mp, shift, type_hor, and Xx.

◆ sauve()

void Lorene::Excised_slice::sauve ( FILE *  fich) const
virtual

Save in a file.

Definition at line 181 of file excised_slice.C.

References hatA, hij, lapse, Lorene::Tensor::sauve(), Lorene::Scalar::sauve(), Lorene::Tensor_sym::sauve(), shift, and Xx.

◆ secmembre_kerr()

◆ set_conf_fact()

Scalar& Lorene::Excised_slice::set_conf_fact ( )
inline

Sets the conformal factor.

Definition at line 234 of file excised_slice.h.

References del_deriv().

◆ set_der_0x0()

void Lorene::Excised_slice::set_der_0x0 ( ) const
protectedvirtual

Sets to 0x0 all the pointers on derived quantities.

Definition at line 144 of file excised_slice.C.

References p_adm_mass, p_hor, p_komar_angmom, and p_virial_residue.

◆ set_hatA()

Sym_tensor& Lorene::Excised_slice::set_hatA ( )
inline

Sets the rescaled tracefree extrinsic curvature $\hat{A}^{ij}$ (or its TT part if scheme_type=2)

Definition at line 243 of file excised_slice.h.

References del_deriv(), and hatA.

◆ set_hij()

Sym_tensor& Lorene::Excised_slice::set_hij ( )
inline

Sets the deviation tensor.

Definition at line 240 of file excised_slice.h.

References del_deriv(), and hij.

◆ set_lapse()

Scalar& Lorene::Excised_slice::set_lapse ( )
inline

Sets the lapse.

Definition at line 231 of file excised_slice.h.

References del_deriv(), and lapse.

◆ set_shift()

Vector& Lorene::Excised_slice::set_shift ( )
inline

Sets the shift vector.

Definition at line 237 of file excised_slice.h.

References del_deriv(), and shift.

◆ set_type_hor()

int Lorene::Excised_slice::set_type_hor ( )
inline

Sets the horizon type.

Definition at line 228 of file excised_slice.h.

References del_deriv(), and type_hor.

◆ set_Xx()

Vector& Lorene::Excised_slice::set_Xx ( )
inline

Sets the longitudinal part of Einstein Equations if the scheme is apropriate.

Definition at line 246 of file excised_slice.h.

References del_deriv(), and Xx.

◆ virial_residue()

double Lorene::Excised_slice::virial_residue ( )

Computation of the Virial residual, as difference at infinity between the ADM mass and the Komar integral associated to the mass.

Definition at line 333 of file excised_slice.C.

References Lorene::Scalar::asymptot(), Lorene::Map::get_mg(), Lorene::Mg3d::get_nzone(), lapse, and mp.

Member Data Documentation

◆ field_set

int Lorene::Excised_slice::field_set
protected

Chose field set type.

Definition at line 55 of file excised_slice.h.

◆ hatA

Sym_tensor Lorene::Excised_slice::hatA
protected

Rescaled tracefree extrinsic curvature tensor: rescaled same way as Cordero et al.

( 2009). In the New FCF scheme, this member will represent the TT part of the extrinsic curvature only.

Definition at line 74 of file excised_slice.h.

◆ hij

Sym_tensor Lorene::Excised_slice::hij
protected

Deviation tensor( non-flat part of the conformal 3-metric on the slice; see Bonazzola et al.

(2004)).

Definition at line 69 of file excised_slice.h.

◆ lapse

Scalar Lorene::Excised_slice::lapse
protected

Lapse function.

Definition at line 58 of file excised_slice.h.

◆ mp

const Map& Lorene::Excised_slice::mp
protected

Mapping associated with the slice.

Definition at line 46 of file excised_slice.h.

◆ p_adm_mass

double* Lorene::Excised_slice::p_adm_mass
mutableprotected

Computation of the ADM mass of the BH spacetime.

Definition at line 91 of file excised_slice.h.

◆ p_hor

Spheroid* Lorene::Excised_slice::p_hor
mutableprotected

Computation of the spheroid associated with the black hole horizon.

Definition at line 89 of file excised_slice.h.

◆ p_komar_angmom

double* Lorene::Excised_slice::p_komar_angmom
mutableprotected

Computation of the Komar angular momentum w.r.t.

assumed rotational symmetry

Definition at line 96 of file excised_slice.h.

◆ p_virial_residue

double* Lorene::Excised_slice::p_virial_residue
mutableprotected

Computation of the Virial residual, as difference at infinity between the ADM mass and the Komar integral associated to the mass.

Definition at line 101 of file excised_slice.h.

◆ shift

Vector Lorene::Excised_slice::shift
protected

Shift vector.

Definition at line 64 of file excised_slice.h.

◆ type_hor

int Lorene::Excised_slice::type_hor
protected

Chosen horizon type.

Definition at line 52 of file excised_slice.h.

◆ Xx

Vector Lorene::Excised_slice::Xx
protected

Longitudinal part of the extrinsic curvature.

Set to zero if we are in the original FCF scheme.

Definition at line 79 of file excised_slice.h.


The documentation for this class was generated from the following files: