Lorene::Excision_surf Class Reference
[Stars and black holes]

Surface where boundary conditions for quantities in the bulk will be calculated It relies on geometrical properties of the associated Spheroid() (*** WARNING! under development***). More...

#include <excision_surf.h>

List of all members.

Public Member Functions

 Excision_surf (const Scalar &h_in, const Metric &gij, const Sym_tensor &Kij2, const Scalar &ppsi, const Scalar &nn, const Vector &beta, double timestep, int int_nos)
 Constructor of an excision surface embedded in a 3-slice (Time_slice ) of 3+1 formalism.
 Excision_surf (const Excision_surf &)
 Copy constructor.
 Excision_surf (FILE *)
 Constructor from a file (see sauve(FILE*) ).
virtual ~Excision_surf ()
 Destructor.
void operator= (const Excision_surf &)
 Assignment to another Excision_surf.
void get_evol_params_from_ID (double alpha, double beta, double gamma, Scalar &Ee, Vector &Jj, Sym_tensor &Ss)
 Computes the parameters for the hyperbolic evolution in set_expa_hyperb(), so that the expansion has a C1 matching with initial data.
void set_expa_parab (double c_theta_lap, double c_theta_fin, Scalar &expa_fin)
 Sets a new value for expansion rescaled over lapse (and its derivative), obtained by parabolic evolution.
void set_expa_hyperb (double alph0, double beta0, double gamma0)
 Sets a new value for expansion rescaled over lapse (and its derivative), obtained by hyperbolic evolution.
const Spheroidget_sph () const
 Returns the spheroid.
const Scalarget_conf_fact () const
 Returns the conformal factor associated with the surface.
const Scalarget_lapse () const
 Returns the lapse function.
const Vectorget_shift () const
 Returns the shift vector field.
const Metricget_gamij () const
 Returns the symmetric tensor $ gamij $.
const Sym_tensorget_Kij () const
 returns the 3-d extrinsic curvature $ K_{ij}$
double get_delta_t () const
 Returns the timestep used for evolution.
double get_no_of_steps () const
 Returns the internal number of timesteps for one iteration.
const Scalarget_expa () const
 Returns the assumed expansion associated to the excised surface at t.
const Scalarget_dt_expa () const
 Returns the assumed time derivative of the expansion at t, evolved by functions of this class;.
Spheroidset_sph ()
 Sets a new spheroid from data.
Scalarset_conf_fact ()
 Sets the value of the conformal factor.
Scalarset_lapse ()
 Sets the lapse function.
Vectorset_shift ()
 Sets the shift vector field.
Metricset_gamij ()
 Sets the 3d metric of the TimeSlice.
Sym_tensorset_Kij ()
 Sets the extrinsic curvature.
double set_delta_t ()
double set_no_of_steps ()
Scalarset_expa ()
 Sets the expansion function on the surface at time t (considering to protect this function).
Scalarset_dt_expa ()
 Sets the time derivative of the expansion function on the surface at time t (considering to protect this function).
const Scalarget_BC_conf_fact_1 (bool isMOTS=false) const
 Source for a Neumann BC on the conformal factor. If boolean isMOTS is false, it is based on expansion value of the spheroid or the value of exppa; it is based on zero expansion if isMOTS is true.
const Scalarget_BC_lapse_1 (double value) const
const Vectorget_BC_shift_1 (double Omega) const
const Scalarget_BC_Npsi_1 (double value) const
const Scalarget_BC_conf_fact_2 (double c_psi_lap, double c_psi_fin, Scalar &expa_fin) const
 Source for the Dirichlet BC on the conformal factor, based on a parabolic driver for the conformal factor.
const Scalarget_BC_conf_fact_3 (double c_theta_lap, double c_theta_fin, Scalar &expa_fin) const
 Source for the Neumann BC on the conformal factor, based on a parabolic driver for the expansio.
const Scalarget_BC_conf_fact_4 () const
 Source for the Dirchlet BC on the conformal factor, based on the consistency condition derived from the trace.
const Scalarget_BC_lapse_2 (double lapse_fin, double c_lapse_lap, double c_lapse_fi) const
 Source for Dirichlet BC on the lapse, based on a parabolic driver towards arbitrary constant value.
const Scalarget_BC_lapse_3 (Scalar &dttheta, Scalar &Ee, Vector &Jj, Sym_tensor &Sij, bool sph_sym=true) const
 Source for Dirichlet BC on the lapse, based on einstein equations.
const Scalarget_BC_lapse_4 (Scalar &old_nn, Vector &beta_point, Sym_tensor &strain_tens) const
 Source for Dirichlet BC on the lapse, based on einstein equations (conservation of isotropic gauge).
const Scalarderive_t_expa (Scalar &Ee, Vector &Jj, Sym_tensor &Sij) const
 Forms the prospective time derivative for the expansion using projected Einstein equations. Does NOT modify the member dt_expa: do it by hand!
const Vectorget_BC_shift_2 (double c_bb_lap, double c_bb_fin, double c_V_lap, double epsilon) const
 Source for a Dirichlet BC on the shift, based on a Parabolic driver; no assumptions are made except a global conformal Killing symmetry.
const Vectorget_BC_shift_3 (Scalar &dtpsi, double c_V_lap, double epsilon) const
 Source for a Dirichlet BC on the shift, based on a Parabolic driver; Radial part is dealt with using a kinematical relation.
const Vectorget_BC_shift_4 (Scalar &dttheta, Scalar &Ee, Vector &Jj, Sym_tensor &Sij, double c_V_lap, double epsilon, bool sph_sym=true) const
 Source for a Dirichlet BC on the shift, based on a Parabolic driver; Radial part is dealt with using projection of Einstein Equations.
const Scalarget_BC_Npsi_2 (double value, double c_npsi_lap, double c_npsi_fin) const
 Source for the Dirichlet BC on (N*Psi1), based on a parabolic driver.
const Scalarget_BC_Npsi_3 (double n_0, double beta) const
 Source for the Dirichlet BC on (N*Psi1), with Kerr_Schild-like form for the lapse boundary.
const Scalarget_BC_Npsi_4 (double Kappa) const
 Source for a Dirichlet BC on (N*Psi1), fixing a constant surface gravity in space and time.
const Scalarget_BC_Npsi_5 (double Kappa) const
 Source for a Neumann BC on (N*Psi1), fixing a constant surface gravity in space and time.
virtual void sauve (FILE *) const
 Save in a file.

Protected Member Functions

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

Protected Attributes

Spheroid sph
 The associated Spheroid object.
Scalar conf_fact
 The value of the conformal factor on the 3-slice.
Scalar lapse
 The lapse defined on the 3 slice.
Vector shift
 The Shift 3-vector on the slice.
Metric gamij
 The 3-d metric on the slice.
Sym_tensor Kij
 The 3-d extrinsic curvature on the slice.
double delta_t
 The time step for evolution in parabolic drivers.
double no_of_steps
 The internal number of timesteps for one iteration.
Scalar expa
 The 2d expansion, directly evolved from the initial excision with Einstein Equations.
Scalar dt_expa
 The time derivative of the expansion, derived from Einstein equations and arbitrary evolution.
Scalarp_get_BC_conf_fact_1
 Source of Neumann boundary condition on $ \psi $,.
Scalarp_get_BC_lapse_1
 Source of Dirichlet boundary condition of $ N $.
Vectorp_get_BC_shift_1
 Source of Dirichlet BC for the shift vector $ \beta^{i} $.
Scalarp_get_BC_Npsi_1
 Source of Neumann boundary condition on $ \psi $.
Scalarp_get_BC_conf_fact_2
 Source of Neumann boundary condition on $ \psi $,.
Scalarp_get_BC_conf_fact_3
 Source of Neumann boundary condition on $ \psi $,.
Scalarp_get_BC_conf_fact_4
 Source of Birichlet boundary condition on $ \psi $,.
Scalarp_get_BC_lapse_2
 Source of Dirichlet boundary condition of $ N $.
Scalarp_get_BC_lapse_3
 Source of Dirichlet condtion on $ N $, based on einstein equations.
Scalarp_get_BC_lapse_4
 Source of Dirichlet condtion on $ N $, based on einstein equations (conservation of isotropic gauge).
Scalarp_derive_t_expa
 Computation of an updated expansion scalar.
Vectorp_get_BC_shift_2
 Source of Dirichlet BC for the shift vector $ \beta^{i} $.
Vectorp_get_BC_shift_3
 Source of Dirichlet BC for the shift vector $ \beta^{i} $, partly derived from kinematical relation.
Vectorp_get_BC_shift_4
 Source of Dirichlet BC for the shift vector $ \beta^{i} $, partly from projection of Einstein Equations.
Scalarp_get_BC_Npsi_2
 Source of Dirichlet boundary condition on $ N \psi $.
Scalarp_get_BC_Npsi_3
 Source of Dirichlet boundary condition on $ N \psi $.
Scalarp_get_BC_Npsi_4
 Source of Dirichlet boundary condition on $ N \psi $.
Scalarp_get_BC_Npsi_5
 Source of Neumann boundary condition on $ N \psi $.

Friends

ostream & operator<< (ostream &, const Spheroid &)
 Display.

Detailed Description

Surface where boundary conditions for quantities in the bulk will be calculated It relies on geometrical properties of the associated Spheroid() (*** WARNING! under development***).

Definition at line 43 of file excision_surf.h.


Constructor & Destructor Documentation

Lorene::Excision_surf::Excision_surf ( const Scalar h_in,
const Metric gij,
const Sym_tensor Kij2,
const Scalar ppsi,
const Scalar nn,
const Vector beta,
double  timestep,
int  int_nos = 1 
)

Constructor of an excision surface embedded in a 3-slice (Time_slice ) of 3+1 formalism.

This is done from the Time_slice data.

Parameters:
h_in : the location of the surface r = h_in (WARNING:must be defined on a mono-domain angular grid)
gij : the 3-metric on the 3slice
Kij : the extrinsic curvature of the 3-slice (covariant representation)
timestep : time interval associated with the parabolic-driven boundary conditions.
int_nos : Number of iterations to be done during timestep.

Definition at line 64 of file excision_surf.C.

References dt_expa, set_der_0x0(), and Lorene::Scalar::set_etat_zero().

Lorene::Excision_surf::Excision_surf ( const Excision_surf exc_in  ) 

Copy constructor.

Definition at line 90 of file excision_surf.C.

References set_der_0x0().

Lorene::Excision_surf::Excision_surf ( FILE *   ) 

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

Lorene::Excision_surf::~Excision_surf (  )  [virtual]

Destructor.

Definition at line 131 of file excision_surf.C.

References del_deriv().


Member Function Documentation

void Lorene::Excision_surf::del_deriv (  )  const [protected, virtual]
const Scalar & Lorene::Excision_surf::derive_t_expa ( Scalar Ee,
Vector Jj,
Sym_tensor Sij 
) const
const Scalar & Lorene::Excision_surf::get_BC_conf_fact_1 ( bool  isMOTS = false  )  const
const Scalar & Lorene::Excision_surf::get_BC_conf_fact_2 ( double  c_psi_lap,
double  c_psi_fin,
Scalar expa_fin 
) const
const Scalar & Lorene::Excision_surf::get_BC_conf_fact_3 ( double  c_theta_lap,
double  c_theta_fin,
Scalar expa_fin 
) const
const Scalar & Lorene::Excision_surf::get_BC_conf_fact_4 (  )  const
const Scalar & Lorene::Excision_surf::get_BC_lapse_2 ( double  lapse_fin,
double  c_lapse_lap,
double  c_lapse_fi 
) const

Source for Dirichlet BC on the lapse, based on a parabolic driver towards arbitrary constant value.

Definition at line 603 of file excision_surf.C.

References delta_t, Lorene::Scalar::lapang(), lapse, p_get_BC_lapse_2, Lorene::Scalar::set_spectral_va(), Lorene::Scalar::std_spectral_base(), and Lorene::Valeur::ylm().

const Scalar & Lorene::Excision_surf::get_BC_lapse_3 ( Scalar dttheta,
Scalar Ee,
Vector Jj,
Sym_tensor Sij,
bool  sph_sym = true 
) const
const Scalar & Lorene::Excision_surf::get_BC_lapse_4 ( Scalar old_nn,
Vector beta_point,
Sym_tensor strain_tens 
) const
const Scalar & Lorene::Excision_surf::get_BC_Npsi_2 ( double  value,
double  c_npsi_lap,
double  c_npsi_fin 
) const

Source for the Dirichlet BC on (N*Psi1), based on a parabolic driver.

Definition at line 1717 of file excision_surf.C.

References delta_t, Lorene::Scalar::lapang(), lapse, p_get_BC_Npsi_2, Lorene::Scalar::set_spectral_va(), Lorene::Scalar::std_spectral_base(), and Lorene::Valeur::ylm().

const Scalar & Lorene::Excision_surf::get_BC_Npsi_3 ( double  n_0,
double  beta 
) const

Source for the Dirichlet BC on (N*Psi1), with Kerr_Schild-like form for the lapse boundary.

Definition at line 1757 of file excision_surf.C.

References Lorene::Map::cost, Lorene::Tensor::get_mp(), lapse, p_get_BC_Npsi_3, Lorene::Scalar::set_spectral_va(), Lorene::sqrt(), and Lorene::Valeur::ylm().

const Scalar & Lorene::Excision_surf::get_BC_Npsi_4 ( double  Kappa  )  const

Source for a Dirichlet BC on (N*Psi1), fixing a constant surface gravity in space and time.

Definition at line 1804 of file excision_surf.C.

References Lorene::contract(), Lorene::Scalar::derive_cov(), gamij, Kij, lapse, p_get_BC_Npsi_4, Lorene::Metric::radial_vect(), Lorene::Scalar::set_dzpuis(), Lorene::Scalar::set_spectral_va(), Lorene::Scalar::std_spectral_base(), and Lorene::Valeur::ylm().

const Scalar & Lorene::Excision_surf::get_BC_Npsi_5 ( double  Kappa  )  const
const Vector & Lorene::Excision_surf::get_BC_shift_2 ( double  c_bb_lap,
double  c_bb_fin,
double  c_V_lap,
double  epsilon 
) const
const Vector & Lorene::Excision_surf::get_BC_shift_3 ( Scalar dtpsi,
double  c_V_lap,
double  epsilon 
) const
const Vector & Lorene::Excision_surf::get_BC_shift_4 ( Scalar dttheta,
Scalar Ee,
Vector Jj,
Sym_tensor Sij,
double  c_V_lap,
double  epsilon,
bool  sph_sym = true 
) const
const Scalar& Lorene::Excision_surf::get_conf_fact (  )  const [inline]

Returns the conformal factor associated with the surface.

Definition at line 170 of file excision_surf.h.

References conf_fact.

double Lorene::Excision_surf::get_delta_t (  )  const [inline]

Returns the timestep used for evolution.

Definition at line 185 of file excision_surf.h.

References delta_t.

const Scalar& Lorene::Excision_surf::get_dt_expa (  )  const [inline]

Returns the assumed time derivative of the expansion at t, evolved by functions of this class;.

Definition at line 194 of file excision_surf.h.

References dt_expa.

void Lorene::Excision_surf::get_evol_params_from_ID ( double  alpha,
double  beta,
double  gamma,
Scalar Ee,
Vector Jj,
Sym_tensor Ss 
)

Computes the parameters for the hyperbolic evolution in set_expa_hyperb(), so that the expansion has a C1 matching with initial data.

Sets also values for expa() and dt_expa() accordingly with initial conditions

Definition at line 195 of file excision_surf.C.

References Lorene::Valeur::c_cf, derive_t_expa(), Lorene::max(), set_dt_expa(), set_expa(), Lorene::Scalar::set_spectral_va(), sph, Lorene::Scalar::std_spectral_base(), Lorene::Spheroid::theta_plus(), Lorene::Mtbl_cf::val_in_bound_jk(), and Lorene::Valeur::ylm().

const Scalar& Lorene::Excision_surf::get_expa (  )  const [inline]

Returns the assumed expansion associated to the excised surface at t.

Definition at line 191 of file excision_surf.h.

References expa.

const Metric& Lorene::Excision_surf::get_gamij (  )  const [inline]

Returns the symmetric tensor $ gamij $.

Definition at line 179 of file excision_surf.h.

References gamij.

const Sym_tensor& Lorene::Excision_surf::get_Kij (  )  const [inline]

returns the 3-d extrinsic curvature $ K_{ij}$

Definition at line 182 of file excision_surf.h.

References Kij.

const Scalar& Lorene::Excision_surf::get_lapse (  )  const [inline]

Returns the lapse function.

Definition at line 173 of file excision_surf.h.

References lapse.

double Lorene::Excision_surf::get_no_of_steps (  )  const [inline]

Returns the internal number of timesteps for one iteration.

Definition at line 188 of file excision_surf.h.

References no_of_steps.

const Vector& Lorene::Excision_surf::get_shift (  )  const [inline]

Returns the shift vector field.

Definition at line 176 of file excision_surf.h.

References shift.

const Spheroid& Lorene::Excision_surf::get_sph (  )  const [inline]

Returns the spheroid.

Definition at line 167 of file excision_surf.h.

References sph.

void Lorene::Excision_surf::operator= ( const Excision_surf surf_in  ) 

Assignment to another Excision_surf.

Definition at line 110 of file excision_surf.C.

References conf_fact, del_deriv(), delta_t, dt_expa, expa, gamij, Kij, lapse, no_of_steps, shift, and sph.

void Lorene::Excision_surf::sauve ( FILE *   )  const [virtual]

Save in a file.

Definition at line 1851 of file excision_surf.C.

Scalar& Lorene::Excision_surf::set_conf_fact (  )  [inline]

Sets the value of the conformal factor.

Definition at line 200 of file excision_surf.h.

References conf_fact, and del_deriv().

void Lorene::Excision_surf::set_der_0x0 (  )  const [protected]
Scalar& Lorene::Excision_surf::set_dt_expa (  )  [inline]

Sets the time derivative of the expansion function on the surface at time t (considering to protect this function).

Definition at line 224 of file excision_surf.h.

References del_deriv(), and dt_expa.

Scalar& Lorene::Excision_surf::set_expa (  )  [inline]

Sets the expansion function on the surface at time t (considering to protect this function).

Definition at line 220 of file excision_surf.h.

References del_deriv(), and expa.

void Lorene::Excision_surf::set_expa_hyperb ( double  alph0,
double  beta0,
double  gamma0 
)

Sets a new value for expansion rescaled over lapse (and its derivative), obtained by hyperbolic evolution.

Parameters for the hyperbolic driver are determined by the function Excision_surf::get_evol_params_from_ID() so that the expansion stays of regularity $C^{1}$ throughout. All manipulated quantities are 2-dimensional.

Definition at line 99 of file set_expa_evol.C.

References delta_t, dt_expa, expa, Lorene::Valeur::get_etat(), Lorene::Map::get_mg(), Lorene::Tensor::get_mp(), Lorene::Scalar::get_spectral_va(), Lorene::Scalar::lapang(), lapse, set_dt_expa(), set_expa(), Lorene::Scalar::set_spectral_va(), Lorene::Scalar::val_grid_point(), and Lorene::Valeur::ylm().

void Lorene::Excision_surf::set_expa_parab ( double  c_theta_lap,
double  c_theta_fin,
Scalar expa_fin 
)
Metric& Lorene::Excision_surf::set_gamij (  )  [inline]

Sets the 3d metric of the TimeSlice.

Definition at line 209 of file excision_surf.h.

References del_deriv(), and gamij.

Sym_tensor& Lorene::Excision_surf::set_Kij (  )  [inline]

Sets the extrinsic curvature.

Definition at line 212 of file excision_surf.h.

References del_deriv(), and Kij.

Scalar& Lorene::Excision_surf::set_lapse (  )  [inline]

Sets the lapse function.

Definition at line 203 of file excision_surf.h.

References del_deriv(), and lapse.

Vector& Lorene::Excision_surf::set_shift (  )  [inline]

Sets the shift vector field.

Definition at line 206 of file excision_surf.h.

References del_deriv(), and shift.

Spheroid& Lorene::Excision_surf::set_sph (  )  [inline]

Sets a new spheroid from data.

Definition at line 197 of file excision_surf.h.

References del_deriv(), and sph.


Friends And Related Function Documentation

ostream& operator<< ( ostream &  ,
const Spheroid  
) [friend]

Display.


Member Data Documentation

The value of the conformal factor on the 3-slice.

Definition at line 53 of file excision_surf.h.

double Lorene::Excision_surf::delta_t [protected]

The time step for evolution in parabolic drivers.

Definition at line 68 of file excision_surf.h.

The time derivative of the expansion, derived from Einstein equations and arbitrary evolution.

Definition at line 77 of file excision_surf.h.

The 2d expansion, directly evolved from the initial excision with Einstein Equations.

Definition at line 74 of file excision_surf.h.

The 3-d metric on the slice.

Definition at line 62 of file excision_surf.h.

The 3-d extrinsic curvature on the slice.

Definition at line 65 of file excision_surf.h.

The lapse defined on the 3 slice.

Definition at line 56 of file excision_surf.h.

The internal number of timesteps for one iteration.

Definition at line 71 of file excision_surf.h.

Computation of an updated expansion scalar.

Definition at line 94 of file excision_surf.h.

Source of Neumann boundary condition on $ \psi $,.

Definition at line 84 of file excision_surf.h.

Source of Neumann boundary condition on $ \psi $,.

Definition at line 88 of file excision_surf.h.

Source of Neumann boundary condition on $ \psi $,.

Definition at line 89 of file excision_surf.h.

Source of Birichlet boundary condition on $ \psi $,.

Definition at line 90 of file excision_surf.h.

Source of Dirichlet boundary condition of $ N $.

Definition at line 85 of file excision_surf.h.

Source of Dirichlet boundary condition of $ N $.

Definition at line 91 of file excision_surf.h.

Source of Dirichlet condtion on $ N $, based on einstein equations.

Definition at line 92 of file excision_surf.h.

Source of Dirichlet condtion on $ N $, based on einstein equations (conservation of isotropic gauge).

Definition at line 93 of file excision_surf.h.

Source of Neumann boundary condition on $ \psi $.

Definition at line 87 of file excision_surf.h.

Source of Dirichlet boundary condition on $ N \psi $.

Definition at line 98 of file excision_surf.h.

Source of Dirichlet boundary condition on $ N \psi $.

Definition at line 99 of file excision_surf.h.

Source of Dirichlet boundary condition on $ N \psi $.

Definition at line 100 of file excision_surf.h.

Source of Neumann boundary condition on $ N \psi $.

Definition at line 101 of file excision_surf.h.

Source of Dirichlet BC for the shift vector $ \beta^{i} $.

Definition at line 86 of file excision_surf.h.

Source of Dirichlet BC for the shift vector $ \beta^{i} $.

Definition at line 95 of file excision_surf.h.

Source of Dirichlet BC for the shift vector $ \beta^{i} $, partly derived from kinematical relation.

Definition at line 96 of file excision_surf.h.

Source of Dirichlet BC for the shift vector $ \beta^{i} $, partly from projection of Einstein Equations.

Definition at line 97 of file excision_surf.h.

The Shift 3-vector on the slice.

Definition at line 59 of file excision_surf.h.

The associated Spheroid object.

Definition at line 50 of file excision_surf.h.


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

Generated on 7 Dec 2019 for LORENE by  doxygen 1.6.1