30char sym_tensor_trans_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Tensor/sym_tensor_trans.C,v 1.18 2014/10/13 08:53:43 j_novak Exp $" ;
243 if (
dynamic_cast<const Map_af*
>(
mp) != 0x0) {
256 *
this =
htt + 0.5 * ( *
this -
tmp ) ;
295 if (
dynamic_cast<const Map_af*
>(
mp) != 0x0) {
304 (
dzp == 4) ?
tmp.inc_dzpuis() :
tmp.dec_dzpuis(3) ;
316 double precis,
int it_max) {
323 for (
int i=0;
i<
hijtt.get_n_comp();
i++)
343 htrace = hij(1,1) * hij(2,3) * hij(2,3)
344 + hij(2,2) * hij(1,3) * hij(1,3) + hij(3,3) * hij(1,2) * hij(1,2)
345 - 2.* hij(1,2) * hij(1,3) * hij(2,3)
346 - hij(1,1) * hij(2,2) * hij(3,3) ;
350 htrace += hij(1,2) * hij(1,2) + hij(1,3) * hij(1,3)
351 + hij(2,3) * hij(2,3) - hij(1,1) * hij(2,2)
352 - hij(1,1) * hij(3,3) - hij(2,2) * hij(3,3) ;
361 cout <<
"Sym_tensor_trans::trace_from_det_one : "
362 <<
"iteration : " <<
it <<
" convergence on trace(h): " <<
diff <<
endl ;
368 cout <<
"Sym_tensor_trans::trace_from_det_one : convergence not reached \n" ;
369 cout <<
" for the required accuracy (" << precis <<
") ! " <<
endl ;
Vectorial bases (triads) with respect to which the tensorial components are defined.
Time evolution with partial storage (*** under development ***).
Base class for coordinate mappings.
Metric for tensor calculation.
Tensor field of valence 0 (or component of a tensorial field).
Transverse symmetric tensors of rank 2.
Sym_tensor_tt * p_tt
Traceless part with respect to the metric *met_div
Sym_tensor_trans(const Map &map, const Base_vect &triad_i, const Metric &met)
Standard constructor.
void trace_from_det_one(const Sym_tensor_tt &htt, double precis=1.e-14, int it_max=100)
Assigns the derived member p_tt and computes the trace so that *this + the flat metric has a determin...
const Metric *const met_div
Metric with respect to which the divergence and the trace are defined.
Scalar * p_trace
Trace with respect to the metric *met_div
const Scalar & the_trace() const
Returns the trace of the tensor with respect to metric *met_div.
void set_der_0x0() const
Sets the pointers on derived quantities to 0x0.
const Sym_tensor_tt & tt_part(Param *par=0x0) const
Returns the transverse traceless part of the tensor, the trace being defined with respect to metric *...
virtual ~Sym_tensor_trans()
Destructor.
void set_tt_trace(const Sym_tensor_tt &a, const Scalar &h, Param *par=0x0)
Assigns the derived members p_tt and p_trace and updates the components accordingly.
virtual void operator=(const Sym_tensor_trans &a)
Assignment to another Sym_tensor_trans.
virtual void del_deriv() const
Deletes the derived quantities.
Transverse and traceless symmetric tensors of rank 2.
Class intended to describe valence-2 symmetric tensors.
virtual void operator=(const Sym_tensor &a)
Assignment to another Sym_tensor.
virtual void del_deriv() const
Deletes the derived quantities.
Symmetric tensors (with respect to two of their arguments).
Tbl max(const Cmp &)
Maximum values of a Cmp in each domain.
Cmp abs(const Cmp &)
Absolute value.
virtual void dec_dzpuis(int dec=1)
Decreases by dec units the value of dzpuis and changes accordingly the values in the compactified ext...
const Map *const mp
Mapping on which the numerical values at the grid points are defined.
Scalar trace() const
Trace on two different type indices for a valence 2 tensor.
const Tensor_sym & derive_con(const Metric &gam) const
Returns the "contravariant" derivative of this with respect to some metric , by raising the last inde...
Itbl type_indice
1D array of integers (class Itbl ) of size valence containing the type of each index: COV for a cov...
const Base_vect * triad
Vectorial basis (triad) with respect to which the tensor components are defined.