80 #include "time_slice.h"    84 #include "graphique.h"   121     const Scalar* ptrace = 0x0 ;
   161         "Max. of absolute value of deviation from det tgam = 1") ; 
   165         maxabs(tgam_j0.determinant() - 1, 
   166         "Max. of absolute value of deviation from det tgam = 1") ; 
   178     const Scalar* ptrace = 0x0 ;
   215        "Max. of absolute value of deviation from det tgam = 1") ; 
   231     if (p_strain_tens != 0x0) 
   232     strain_tens = *(p_strain_tens) ; 
   265     for (
int i=1; i<=3; i++)
   266     for (
int j=i; j<=3; j++)
   286         + 1.666666666666667*a_hat*div_beta ;
   297     for (
int i=1; i<=3; i++) {
   298         for (
int j=1; j<=i; j++) {
   300             for (
int k=1; k<=3; k++) {
   301             for (
int l=1; l<=3; l++) {
   302                 tmp += dhh(i,k,l) * dhh(j,l,k) ; 
   305             ricci_star.
set(i,j) -= tmp ; 
   309     for (
int i=1; i<=3; i++) {
   310         for (
int j=1; j<=i; j++) {
   312             for (
int k=1; k<=3; k++) {
   313             for (
int l=1; l<=3; l++) {
   314                 for (
int m=1; m<=3; m++) {
   315                 for (
int n=1; n<=3; n++) {
   317      tmp += 0.5 * tgam_uu(i,k)* tgam_uu(j,l) 
   318        * dhh(m,n,k) * dtgam(m,n,l)
   319        + tgam_dd(n,l) * dhh(m,n,k) 
   320        * (tgam_uu(i,k) * dhh(j,l,m) + tgam_uu(j,k) *  dhh(i,l,m) )
   321        - tgam_dd(k,l) *tgam_uu(m,n) * dhh(i,k,m) * dhh(j,l,n) ;
   326             sym_tmp.
set(i,j) = tmp ; 
   329     ricci_star += sym_tmp ; 
   336                 contract(dhh, 0, 1, dtgam, 0, 1), 0, 1 ) 
   338                   contract(dhh, 0, 1, dtgam, 0, 2), 0, 1 ) ;  
   349     source_aij += (0.5*(qq - 1.))*laplace_h + qq*(0.5*ricci_star + 8.*tdln_psi_u * tdln_psi_u 
   350     + 4.*( tdln_psi_u * tdlnn_u + tdlnn_u * tdln_psi_u )
   351     -  0.3333333333333333 * (tricci_scal + 8.*(
contract(dln_psi, 0, tdln_psi_u, 0) 
   352                            + 
contract(dln_psi, 0, tdlnn_u, 0) ) 
   358     for (
int i=1; i<=3; i++) {
   359     for (
int j=1; j<=i; j++) {
   361         for (
int k=1; k<=3; k++) {
   362         for (
int l=1; l<=3; l++) {
   363             tmp += ( tgam_uu(i,k)*dhh(l,j,k) + tgam_uu(k,j)*dhh(i,l,k)
   364                  - tgam_uu(k,l)*dhh(i,j,k) ) * dqq(l) ; 
   367         sym_tmp.
set(i,j) += 0.5 * tmp ; 
   371   source_aij -= sym_tmp 
   374   for (
int i=1; i<=3; i++) {
   375     for (
int j=1; j<=i; j++) {
   377       for (
int k=1; k<=3; k++) {
   378     for (
int l=1; l<=3; l++) {
   379       tmp += tgam_dd(k,l) * a_hat(i,k) * aij(j,l) ; 
   382       sym_tmp.
set(i,j) = tmp ; 
   388   source_aij += (2.*
nn()) 
   390        sym_tmp - qpig*psi6*( 
psi4()* strain_tens - (0.3333333333333333 * tmp) * tgam_uu ) 
   394   for (
int i=1; i<=3; i++)
   395       for (
int j=i; j<=3; j++)
   398   maxabs(source_aij, 
"source_aij tot") ; 
   401   tmp = 0.5*lap_A + source_aij.
compute_A(
true) ;
   432     for (
int j=jtime1; j <= 
jtime; j++) {
 virtual const Vector & beta() const
shift vector  at the current time step (jtime ) 
 
void initialize_sources_copy() const
Copy the sources source_A_XXX_evol and source_B_XXX_evol to all time-steps. 
 
void annule_domain(int l)
Sets the Tensor to zero in a given domain. 
 
virtual const Scalar & psi() const
Conformal factor  relating the physical metric  to the conformal one: . 
 
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. 
 
const Scalar & psi4() const
Factor  at the current time step (jtime ). 
 
Metric for tensor calculation. 
 
Cmp log(const Cmp &)
Neperian logarithm. 
 
virtual const Sym_tensor & con() const
Read-only access to the contravariant representation. 
 
virtual const Metric & tgam() const
Conformal metric  Returns the value at the current time step (jtime ). 
 
Evolution_full< Tbl > adm_mass_evol
ADM mass at each time step, since the creation of the slice. 
 
Standard units of space, time and mass. 
 
void ylm()
Computes the coefficients  of *this. 
 
const Mg3d * get_mg() const
Gives the Mg3d on which the mapping is defined. 
 
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. 
 
const Base_vect * get_triad() const
Returns the vectorial basis (triad) on which the metric is defined. 
 
int jtime
Time step index of the latest slice. 
 
virtual void std_spectral_base()
Sets the spectral bases of the Valeur va to the standard ones for a scalar field. ...
 
Evolution_std< Sym_tensor > gam_dd_evol
Values at successive time steps of the covariant components of the induced metric ...
 
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. 
 
const Tensor_sym & derive_cov(const Metric &gam) const
Returns the covariant derivative of this with respect to some metric . 
 
Vectorial bases (triads) with respect to which the tensorial components are defined. 
 
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 . 
 
void set_dzpuis(int)
Modifies the dzpuis flag. 
 
Sym_tensor ope_killing_conf(const Metric &gam) const
Computes the conformal Killing operator associated with a given metric. 
 
void set_A_tildeB(const Scalar &a_in, const Scalar &tb_in, Param *par_bc=0x0, Param *par_mat=0x0)
Assigns the derived members A and . 
 
virtual const Sym_tensor & con() const
Read-only access to the contravariant representation. 
 
void set_AtBtt_det_one(const Scalar &a_in, const Scalar &tbtt_in, const Scalar *h_prev=0x0, Param *par_bc=0x0, Param *par_mat=0x0, double precis=1.e-14, int it_max=100)
Assigns the derived member A and computes  from its TT-part (see Sym_tensor::compute_tilde_B_tt() )...
 
const Base_vect * get_triad() const
Returns the vectorial basis (triad) on which the components are defined. 
 
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 . 
 
const Scalar & ln_psi() const
Logarithm of  at the current time step (jtime ). 
 
const Scalar & compute_A(bool output_ylm=true, Param *par=0x0) const
Gives the field A (see member p_aaa ). 
 
Evolution_std< Sym_tensor > gam_uu_evol
Values at successive time steps of the contravariant components of the induced metric ...
 
void set_tt_part_det_one(const Sym_tensor_tt &hijtt, const Scalar *h_prev=0x0, Param *par_mat=0x0, double precis=1.e-14, int it_max=100)
Assignes the TT-part of the tensor. 
 
int get_nzone() const
Returns the number of domains. 
 
const Scalar & divergence(const Metric &) const
The divergence of this with respect to a Metric . 
 
virtual void set_AB_hh(const Scalar &A_in, const Scalar &B_in)
Sets the potentials A and  of the TT part  of  (see the documentation of Sym_tensor for details)...
 
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) 
 
virtual Sym_tensor aa() const
Conformal representation  of the traceless part of the extrinsic curvature: . 
 
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 . 
 
Transverse symmetric tensors of rank 2. 
 
Metric * p_tgamma
Pointer on the conformal metric  at the current time step (jtime) 
 
virtual const Sym_tensor & hata() const
Conformal representation  of the traceless part of the extrinsic curvature: . 
 
Evolution_std< double > the_time
Time label of each slice. 
 
virtual void inc_dzpuis(int inc=1)
Increases by inc units the value of dzpuis and changes accordingly the values in the compactified ext...
 
void compute_sources(const Sym_tensor *strain_tensor=0x0) const
Computes the sources source_A_XXX_evol and source_B_XXX_evol , for the solution of the evolution equa...
 
virtual const Sym_tensor & cov() const
Read-only access to the covariant representation. 
 
const Metric_flat & ff
Pointer on the flat metric  with respect to which the conformal decomposition is performed. 
 
Scalar & set(const Itbl &ind)
Returns the value of a component (read/write version). 
 
Evolution_std< Scalar > B_hh_evol
The  potential of . 
 
void set_longit_trans(const Vector &v, const Sym_tensor_trans &a)
Assigns the derived members p_longit_pot and p_transverse and updates the components accordingly...
 
Scalar compute_tilde_B_tt(bool output_ylm=true, Param *par=0x0) const
Gives the field  (see member p_tilde_b ) associated with the TT-part of the Sym_tensor ...
 
virtual void set_etat_zero()
Sets the logical state of all components to ETATZERO  (zero state). 
 
Valeur & set_spectral_va()
Returns va (read/write version) 
 
virtual const Sym_tensor & hh(Param *par_bc=0x0, Param *par_mat=0x0) const
Deviation  of the conformal metric  from the flat metric : . 
 
Symmetric tensors (with respect to two of their arguments). 
 
void hh_det_one(int j, Param *par_bc=0x0, Param *par_mat=0x0) const
Computes  from the values of A and  and using the condition , which fixes the trace of ...
 
Evolution_std< Scalar > trh_evol
The trace, with respect to the flat metric ff , of . 
 
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. 
 
int depth
Number of stored time slices. 
 
const Scalar & the_trace() const
Returns the trace of the tensor with respect to metric *met_div. 
 
Evolution_std< Sym_tensor > hh_evol
Values at successive time steps of the components . 
 
Sym_tensor derive_lie(const Vector &v) const
Computes the Lie derivative of this with respect to some vector field v. 
 
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. 
 
Tensor trace(int ind1, int ind2) const
Trace on two different type indices. 
 
Evolution_std< Scalar > A_hh_evol
The A potential of . 
 
virtual const Scalar & nn() const
Lapse function N at the current time step (jtime )