26 #ifndef __TIME_SLICE_H_ 27 #define __TIME_SLICE_H_ 160 #include "star_rot_dirac.h" 161 #include "evolution.h" 299 bool partial_read,
int depth_in = 3) ;
332 assert ((0<= ord)&&(ord < 4)) ;
333 scheme_order = ord ; } ;
402 ostream& ost = cout,
bool verb=
true)
const ;
420 ostream& ost = cout,
bool verb=
true)
const ;
445 const Scalar* energy_density = 0x0,
446 ostream& ost = cout,
bool verb=
true)
const ;
458 virtual ostream&
operator>>(ostream& )
const ;
470 void save(
const char* rootname)
const ;
481 virtual void sauve(FILE* fich,
bool partial_save)
const ;
610 const Scalar& trk_in,
int depth_in = 3) ;
664 bool partial_read,
int depth_in = 3) ;
701 virtual void set_psi_del_npsi(
const Scalar& psi_in) ;
713 virtual void set_psi_del_n(
const Scalar& psi_in) ;
719 virtual void set_npsi_del_psi(
const Scalar& npsi_in) ;
725 virtual void set_npsi_del_n(
const Scalar& npsi_in) ;
735 virtual void set_hh(
const Sym_tensor& hh_in) ;
743 virtual void set_hata(
const Sym_tensor& hata_in) ;
756 virtual void set_hata_from_XAB(
Param* par_bc=0x0,
Param* par_mat=0x0) ;
795 virtual const Scalar& A_hata()
const ;
801 virtual const Scalar& B_hata()
const ;
810 virtual const Scalar& psi()
const ;
813 const Scalar& psi4()
const ;
816 const Scalar& ln_psi()
const ;
820 virtual const Scalar& npsi()
const ;
826 virtual const Metric& tgam()
const ;
858 virtual const Vector& hdirac()
const ;
863 virtual const Vector& vec_X(
int method_poisson=6)
const ;
871 void compute_X_from_momentum_constraint
873 int iter_max = 200,
double precis = 1.e-12,
874 double relax = 0.8,
int methode_poisson = 6) ;
881 virtual void set_AB_hata(
const Scalar& A_in,
const Scalar& B_in) ;
917 const Scalar& trk_point,
double pdt,
double precis = 1.e-12,
918 int method_poisson_vect = 6,
const char* graph_device = 0x0,
919 const Scalar* ener_dens = 0x0,
const Vector* mom_dens = 0x0,
920 const Scalar* trace_stress = 0x0 ) ;
939 void check_psi_dot(
Tbl& tlnpsi_dot,
Tbl& tdiff,
Tbl& tdiff_rel)
const ;
945 virtual ostream&
operator>>(ostream& )
const ;
955 virtual void sauve(FILE* fich,
bool partial_save)
const ;
1078 bool partial_read,
int depth_in = 3) ;
1105 virtual void set_hh(
const Sym_tensor& hh_in) ;
1141 const Scalar& trk_point,
double pdt,
double precis = 1.e-12,
1142 int method_poisson_vect = 6,
const char* graph_device = 0x0,
1143 const Scalar* ener_dens = 0x0,
const Vector* mom_dens = 0x0,
1144 const Scalar* trace_stress = 0x0 ) ;
1156 virtual void set_khi_mu(
const Scalar& khi_in,
const Scalar& mu_in) ;
1164 virtual void set_AB_hh(
const Scalar& A_in,
const Scalar& B_in) ;
1172 virtual void set_trh(
const Scalar& trh_in) ;
1184 virtual Scalar solve_psi(
const Scalar* ener_dens=0x0)
const ;
1202 const Scalar* trace_stress=0x0)
const ;
1214 virtual Vector solve_beta(
int method = 6)
const ;
1237 void evolve(
double pdt,
int nb_time_steps,
int niter_elliptic,
1238 double relax_elliptic,
int check_mod,
int save_mod,
1239 int method_poisson_vect = 6,
int nopause = 1,
1240 const char* graph_device = 0x0,
bool verbose=
true,
1241 const Scalar* ener_euler = 0x0,
1242 const Vector* mom_euler = 0x0,
const Scalar* s_euler = 0x0,
1260 void compute_sources(
const Sym_tensor* strain_tensor = 0x0)
const ;
1263 void initialize_sources_copy()
const ;
1272 void hh_det_one(
int j,
Param* par_bc = 0x0,
Param* par_mat = 0x0)
const ;
1305 virtual const Vector& hdirac()
const ;
1314 virtual const Scalar& A_hh()
const ;
1320 virtual const Scalar& B_hh()
const ;
1326 virtual const Scalar& trh()
const ;
1333 virtual ostream&
operator>>(ostream& )
const ;
1343 virtual void sauve(FILE* fich,
bool partial_save)
const ;
void operator=(const Time_slice &)
Assignment to another Time_slice.
virtual const Vector & beta() const
shift vector at the current time step (jtime )
Metric for tensor calculation.
Time_slice(const Scalar &lapse_in, const Vector &shift_in, const Sym_tensor &gamma_in, const Sym_tensor &kk_in, int depth_in=3)
General constructor (Hamiltonian-like).
Evolution_std< Scalar > npsi_evol
Values at successive time steps of the factor .
Evolution_std< Scalar > psi_evol
Values at successive time steps of the conformal factor relating the physical metric to the conform...
Scalar * p_ln_psi
Pointer on the logarithm of at the current time step (jtime)
Evolution_full< Tbl > adm_mass_evol
ADM mass at each time step, since the creation of the slice.
void save(const char *rootname) const
Saves in a binary file.
Tbl check_momentum_constraint(const Vector *momentum_density=0x0, ostream &ost=cout, bool verb=true) const
Checks the level at which the momentum constraints are verified.
Flat metric for tensor calculation.
int scheme_order
Order of the finite-differences scheme for the computation of time derivatives.
Tensor field of valence 0 (or component of a tensorial field).
Evolution_std< Scalar > A_hata_evol
Potential A associated with the symmetric tensor .
Base class for coordinate mappings.
int jtime
Time step index of the latest slice.
Evolution_std< Sym_tensor > gam_dd_evol
Values at successive time steps of the covariant components of the induced metric ...
Tensor field of valence 1.
void set_der_0x0() const
Sets to 0x0 all the pointers on derived quantities.
Vectorial bases (triads) with respect to which the tensorial components are defined.
virtual const Sym_tensor & gam_dd() const
Induced metric (covariant components ) at the current time step (jtime )
Vector * p_hdirac
Pointer on the vector (which vanishes in Dirac gauge), at the current time step (jtime).
Evolution_std< Scalar > B_hata_evol
Potential associated with the symmetric tensor .
Evolution_std< Sym_tensor > k_uu_evol
Values at successive time steps of the contravariant components of the extrinsic curvature tensor ...
virtual const Scalar & trk() const
Trace K of the extrinsic curvature at the current time step (jtime )
virtual const Sym_tensor & k_uu() const
Extrinsic curvature tensor (contravariant components ) at the current time step (jtime ) ...
friend ostream & operator<<(ostream &, const Time_slice &)
Display.
Spacelike time slice of a 3+1 spacetime.
Evolution_std< Scalar > source_A_hata_evol
The potential A of the source of equation for .
Evolution_std< Scalar > source_A_hh_evol
The A potential of the source of equation for .
virtual const Sym_tensor & gam_uu() const
Induced metric (contravariant components ) at the current time step (jtime )
Evolution_std< Sym_tensor > gam_uu_evol
Values at successive time steps of the contravariant components of the induced metric ...
int get_scheme_order() const
Gets the order of the finite-differences scheme.
Evolution_std< Sym_tensor > k_dd_evol
Values at successive time steps of the covariant components of the extrinsic curvature tensor ...
const Metric & gam() const
Induced metric at the current time step (jtime )
Spacelike time slice of a 3+1 spacetime with conformal decomposition.
Tbl check_hamiltonian_constraint(const Scalar *energy_density=0x0, ostream &ost=cout, bool verb=true) const
Checks the level at which the hamiltonian constraint is verified.
Scalar * p_psi4
Pointer on the factor at the current time step (jtime)
Evolution_std< Scalar > source_B_hh_evol
The potential of the source of equation for .
Metric * p_gamma
Pointer on the induced metric at the current time step (jtime)
Class for relativistic rotating stars in Dirac gauge and maximal slicing.
virtual ostream & operator>>(ostream &) const
Operator >> (virtual function called by the operator<<).
Transverse symmetric tensors of rank 2.
virtual const Sym_tensor & k_dd() const
Extrinsic curvature tensor (covariant components ) at the current time step (jtime ) ...
Metric * p_tgamma
Pointer on the conformal metric at the current time step (jtime)
virtual double adm_mass() const
Returns the ADM mass (geometrical units) at the current step.
Evolution_std< double > the_time
Time label of each slice.
int get_latest_j() const
Gets the latest value of time step index.
const Metric_flat & ff
Pointer on the flat metric with respect to which the conformal decomposition is performed.
Vector * p_vec_X
Pointer on the vector representing the longitudinal part of .
Evolution_std< Scalar > B_hh_evol
The potential of .
Evolution_std< Scalar > trk_evol
Values at successive time steps of the trace K of the extrinsic curvature.
Evolution_std< Scalar > n_evol
Values at successive time steps of the lapse function N.
virtual void del_deriv() const
Deletes all the derived quantities.
void set_scheme_order(int ord)
Sets the order of the finite-differences scheme.
Evolution_std< Sym_tensor > hata_evol
Values at successive time steps of the components .
const Evolution_std< double > & get_time() const
Gets the time coordinate t at successive time steps.
Evolution_std< Vector > beta_evol
Values at successive time steps of the shift vector .
int depth
Number of stored time slices.
Spacelike time slice of a 3+1 spacetime with conformal decomposition in the maximal slicing and Dirac...
virtual ~Time_slice()
Destructor.
Evolution_std< Sym_tensor > hh_evol
Values at successive time steps of the components .
Tbl check_dynamical_equations(const Sym_tensor *strain_tensor=0x0, const Scalar *energy_density=0x0, ostream &ost=cout, bool verb=true) const
Checks the level at which the dynamical equations are verified.
Class intended to describe valence-2 symmetric tensors.
Evolution_std< Scalar > source_B_hata_evol
The potential of the source of equation for .
Transverse and traceless symmetric tensors of rank 2.
virtual void sauve(FILE *fich, bool partial_save) const
Total or partial saves in a binary file.
virtual const Scalar & nn() const
Lapse function N at the current time step (jtime )
Time evolution with full storage (*** under development ***).
Evolution_std< Scalar > A_hh_evol
The A potential of .