28char time_slice_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Time_slice/time_slice.C,v 1.16 2014/10/13 08:53:47 j_novak Exp $" ;
99#include "time_slice.h"
100#include "utilitaires.h"
134 if (
gamma_in.get_index_type(0) == COV) {
141 if (
kk_in.get_index_type(0) == COV) {
158 scheme_order(
gamma_in.get_size()-1),
171 "Time_slice constuctor from evolution of gamma not implemented yet !\n" ;
211 ktmp.set_etat_zero() ;
217 tmp.std_spectral_base() ;
222 btmp.set_etat_zero() ;
226 tmp.set_etat_zero() ;
255 "Time_slice constructor from file: the depth read in file \n"
256 <<
" is different from that given in the argument list : \n"
302 "Time_slice constructor from file: the case of full reading\n"
303 <<
" is not ready yet !" <<
endl ;
316 scheme_order(
tin.scheme_order),
318 the_time(
tin.the_time),
319 gam_dd_evol(
tin.gam_dd_evol),
320 gam_uu_evol(
tin.gam_uu_evol),
321 k_dd_evol(
tin.k_dd_evol),
322 k_uu_evol(
tin.k_uu_evol),
324 beta_evol(
tin.beta_evol),
325 trk_evol(
tin.trk_evol),
326 adm_mass_evol(
tin.adm_mass_evol) {
413 flux <<
"\n------------------------------------------------------------\n"
414 <<
"Lorene class : " <<
typeid(*this).name() <<
'\n' ;
415 flux <<
"Number of stored slices : " <<
depth
418 <<
" index of time step j = " <<
jtime <<
'\n' <<
'\n' ;
423 flux <<
"Max. of absolute values of the various fields in each domain: \n" ;
446 if (
p_gamma != 0x0) flux <<
"Metric gamma is up to date" <<
endl ;
481 const Map& map =
nn().get_mp() ;
551 cout <<
"Time_slice::sauve: the full writing is not ready yet !"
Cartesian vectorial bases (triads).
Spherical orthonormal vectorial bases (triads).
Vectorial bases (triads) with respect to which the tensorial components are defined.
virtual void sauve(FILE *) const
Save in a file.
Time evolution with partial storage (*** under development ***).
virtual void update(const TyT &new_value, int j, double time_j)
Sets a new value at a given time step.
void downdate(int j)
Suppresses a stored value.
double * the_time
Array of values of t at the various time steps (size = size).
bool is_known(int j) const
Checks whether the value a given time step has been set.
Base class for coordinate mappings.
const Metric_flat & flat_met_cart() const
Returns the flat metric associated with the Cartesian coordinates and with components expressed in th...
virtual void sauve(FILE *) const
Save in a file.
const Mg3d * get_mg() const
Gives the Mg3d on which the mapping is defined.
const Metric_flat & flat_met_spher() const
Returns the flat metric associated with the spherical coordinates and with components expressed in th...
Metric for tensor calculation.
Tensor field of valence 0 (or component of a tensorial field).
Class intended to describe valence-2 symmetric tensors.
Spacelike time slice of a 3+1 spacetime.
int jtime
Time step index of the latest slice.
Evolution_std< Scalar > trk_evol
Values at successive time steps of the trace K of the extrinsic curvature.
Metric * p_gamma
Pointer on the induced metric at the current time step (jtime)
Evolution_std< Sym_tensor > k_dd_evol
Values at successive time steps of the covariant components of the extrinsic curvature tensor .
virtual void sauve(FILE *fich, bool partial_save) const
Total or partial saves in a binary file.
void operator=(const Time_slice &)
Assignment to another Time_slice.
Evolution_full< Tbl > adm_mass_evol
ADM mass at each time step, since the creation of the slice.
virtual const Scalar & nn() const
Lapse function N at the current time step (jtime )
void save(const char *rootname) const
Saves in a binary file.
void set_der_0x0() const
Sets to 0x0 all the pointers on derived quantities.
Evolution_std< Sym_tensor > gam_dd_evol
Values at successive time steps of the covariant components of the induced metric .
Evolution_std< Sym_tensor > gam_uu_evol
Values at successive time steps of the contravariant components of the induced metric .
int scheme_order
Order of the finite-differences scheme for the computation of time derivatives.
virtual const Vector & beta() const
shift vector at the current time step (jtime )
virtual ~Time_slice()
Destructor.
virtual void del_deriv() const
Deletes all the derived quantities.
int depth
Number of stored time slices.
Evolution_std< Scalar > n_evol
Values at successive time steps of the lapse function N.
virtual double adm_mass() const
Returns the ADM mass (geometrical units) at the current step.
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< double > the_time
Time label of each slice.
virtual ostream & operator>>(ostream &) const
Operator >> (virtual function called by the operator<<).
Evolution_std< Sym_tensor > k_uu_evol
Values at successive time steps of the contravariant components of the extrinsic curvature tensor .
Evolution_std< Vector > beta_evol
Values at successive time steps of the shift vector .
Tensor field of valence 1.
int fread_be(int *aa, int size, int nb, FILE *fich)
Reads integer(s) from a binary file according to the big endian convention.
int fwrite_be(const int *aa, int size, int nb, FILE *fich)
Writes integer(s) into a binary file according to the big endian convention.
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.