25char tenseur_sym_operateur_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Tenseur/tenseur_sym_operateur.C,v 1.8 2014/10/13 08:53:43 j_novak Exp $" ;
86 assert ((
t1.get_etat() != ETATNONDEF) && (
t2.etat != ETATNONDEF)) ;
95 if (
t1.get_metric() != 0x0)
met_res =
t1.get_metric() ;
100 tipe.set_etat_qcq() ;
101 for (
int i=0 ;
i<
t1.get_valence() ;
i++)
102 tipe.set(
i) =
t1.get_type_indice(
i) ;
103 for (
int i=0 ;
i<
t2.valence ;
i++)
104 tipe.set(
i+
t1.get_valence()) =
t2.type_indice(
i) ;
107 if (
t1.get_valence() != 0 ) {
108 assert ( *(
t1.get_triad()) == *(
t2.get_triad()) ) ;
115 if ((
t1.get_etat() == ETATZERO) || (
t2.etat == ETATZERO))
116 res.set_etat_zero() ;
124 for (
int i=0 ;
i<
res.n_comp ;
i++) {
126 for (
int j=0 ;
j<
t1.get_valence() ;
j++)
128 for (
int j=0 ;
j<
t2.valence ;
j++)
142 for (
int i=0 ;
i<
t1.valence ;
i++) {
166 tipe.set_etat_qcq() ;
169 tipx.set_etat_qcq() ;
172 for (
int i=0 ;
i<val ;
i++)
190 for (
int i=0 ;
i<val ;
i++) {
196 for (
int j=0 ;
j<
resu.get_n_comp() ;
j++) {
216 for (
int j=0 ;
j<
resu.get_n_comp() ;
j++) {
244 if (
resu.get_etat() == ETATZERO)
return resu ;
274 cout <<
"Erreur bizarre dans sans_trace!" <<
endl ;
283 for (
int i=0;
i<3;
i++)
284 for (
int j=
i;
j<3;
j++)
285 delta.
set(
i,
j) = (
i==
j ? 1 : 0) ;
288 resu.set_std_base() ;
Time evolution with partial storage (*** under development ***).
Basic integer array class.
Class intended to describe tensors with a symmetry on the two last indices *** DEPRECATED : use class...
Tensor handling *** DEPRECATED : use class Tensor instead ***.
const Base_vect * get_triad() const
Returns the vectorial basis (triad) on which the components are defined.
Cmp & set()
Read/write for a scalar (see also operator=(const Cmp&) ).
int get_type_indice(int i) const
Returns the type of the index number i .
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).
const Map * get_mp() const
Returns pointer on the mapping.
double get_poids() const
Returns the weight.
const Tenseur & gradient() const
Returns the gradient of *this (Cartesian coordinates)
int get_valence() const
Returns the valence.
const Metrique * get_metric() const
Returns a pointer on the metric defining the conformal factor for tensor densities.
int get_etat() const
Returns the logical state.
Base_val operator*(const Base_val &, const Base_val &)
This operator is used when calling multiplication or division of Valeur .
Tenseur lie_derive(const Tenseur &t, const Tenseur &x, const Metrique *=0x0)
Lie Derivative of t with respect to x .
Tenseur contract(const Tenseur &, int id1, int id2)
Self contraction of two indices of a Tenseur .
Tenseur sans_trace(const Tenseur &tens, const Metrique &metre)
Computes the traceless part of a Tenseur of valence 2.
Tenseur manipule(const Tenseur &, const Metrique &, int idx)
Raise or lower the index idx depending on its type, using the given Metrique .