31char tenseur_sym_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Tenseur/tenseur_sym.C,v 1.8 2014/10/13 08:53:42 j_novak Exp $" ;
96Tenseur_sym::Tenseur_sym(
const Map& map,
int val,
const Itbl&
tipe,
107Tenseur_sym::Tenseur_sym(
const Map& map,
int val,
int tipe,
137 if (
source.p_gradient != 0x0)
140 for (
int i=0;
i<N_MET_MAX;
i++) {
146 if (
source.p_derive_cov[
i] != 0x0)
148 if (
source.p_derive_con[
i] != 0x0)
150 if (
source.p_carre_scal[
i] != 0x0)
181 if (
source.p_gradient != 0x0)
318 cout <<
"Unknown state in Tenseur_sym::operator= " <<
endl ;
335 tipe.set_etat_qcq() ;
348 if (
etat == ETATZERO)
Vectorial bases (triads) with respect to which the tensorial components are defined.
Component of a tensorial field *** DEPRECATED : use class Scalar instead ***.
Time evolution with partial storage (*** under development ***).
Basic integer array class.
Base class for coordinate mappings.
Class intended to describe tensors with a symmetry on the two last indices *** DEPRECATED : use class...
virtual void fait_gradient() const
Calculates, if needed, the gradient of *this .
virtual void fait_derive_cov(const Metrique &met, int i) const
Calculates, if needed, the covariant derivative of *this , with respect to met .
virtual void operator=(const Tenseur &)
Assignment from a Tenseur .
virtual int donne_place(const Itbl &idx) const
Returns the position in the Cmp 1-D array c of a component given by its indices.
virtual void fait_derive_con(const Metrique &, int i) const
Calculates, if needed, the contravariant derivative of *this , with respect to met .
virtual ~Tenseur_sym()
Destructor.
virtual Itbl donne_indices(int place) const
Returns the indices of a component given by its position in the Cmp 1-D array c .
Tensor handling *** DEPRECATED : use class Tensor instead ***.
virtual Itbl donne_indices(int place) const
Returns the indices of a component given by its position in the Cmp 1-D array c .
Cmp & set()
Read/write for a scalar (see also operator=(const Cmp&) ).
Tenseur ** p_derive_con
Array of pointers on the contravariant derivatives of *this with respect to the corresponding metri...
const Metrique * metric
For tensor densities: the metric defining the conformal factor.
const Map *const mp
Reference mapping.
const Metrique ** met_depend
Array of pointers on the Metrique 's used to calculate derivatives members.
virtual int donne_place(const Itbl &idx) const
Returns the position in the Cmp 1-D array c of a component given by its indices.
const Tenseur & derive_cov(const Metrique &met) const
Returns the covariant derivative of *this , with respect to met .
void set_etat_qcq()
Sets the logical state to ETATQCQ (ordinary state).
Tenseur ** p_carre_scal
Array of pointers on the scalar squares of *this with respect to the corresponding metric in *met_d...
friend Tenseur contract(const Tenseur &, int id1, int id2)
Self contraction of two indices of a Tenseur .
const Base_vect * triad
Vectorial basis (triad) with respect to which the tensor components are defined.
const Tenseur & gradient() const
Returns the gradient of *this (Cartesian coordinates)
int n_comp
Number of components, depending on the symmetry.
void set_etat_zero()
Sets the logical state to ETATZERO (zero state).
Itbl type_indice
Array of size valence contening the type of each index, COV for a covariant one and CON for a contrav...
int etat
Logical state ETATZERO , ETATQCQ or ETATNONDEF.
double poids
For tensor densities: the weight.
Tenseur ** p_derive_cov
Array of pointers on the covariant derivatives of *this with respect to the corresponding metric in...
int get_valence() const
Returns the valence.
void set_etat_nondef()
Sets the logical state to ETATNONDEF (undefined state).
Tenseur * p_gradient
Pointer on the gradient of *this .
void set_dependance(const Metrique &met) const
To be used to describe the fact that the derivatives members have been calculated with met .
int get_etat() const
Returns the logical state.
Cmp pow(const Cmp &, int)
Power .