Tenseur calculus
[Old tensorial fields ( Deprecated)]

() More...

Functions

Tenseur Lorene::operator* (const Tenseur &, const Tenseur &)
 Tensorial product.
Tenseur Lorene::operator% (const Tenseur &, const Tenseur &)
 Tensorial product with desaliasing.
Tenseur Lorene::contract (const Tenseur &, int id1, int id2)
 Self contraction of two indices of a Tenseur .
Tenseur Lorene::contract (const Tenseur &, int id1, const Tenseur &, int id2)
 Contraction of two Tenseur .
Tenseur Lorene::flat_scalar_prod (const Tenseur &t1, const Tenseur &t2)
 Scalar product of two Tenseur when the metric is $\delta_{ij}$: performs the contraction of the last index of t1 with the first one of t2 , irrespective of the type of these indices.
Tenseur Lorene::flat_scalar_prod_desal (const Tenseur &t1, const Tenseur &t2)
 Same as flat_scalar_prod but with desaliasing.
Tenseur Lorene::manipule (const Tenseur &, const Metrique &, int idx)
 Raise or lower the index idx depending on its type, using the given Metrique .
Tenseur Lorene::manipule (const Tenseur &, const Metrique &)
 Raise or lower all the indices, depending on their type, using the given Metrique .
Tenseur Lorene::skxk (const Tenseur &)
 Contraction of the last index of (*this) with $x^k$ or $x_k$, depending on the type of S .
Tenseur Lorene::lie_derive (const Tenseur &t, const Tenseur &x, const Metrique *=0x0)
 Lie Derivative of t with respect to x .
Tenseur Lorene::sans_trace (const Tenseur &tens, const Metrique &metre)
 Computes the traceless part of a Tenseur of valence 2.

Detailed Description

()


Function Documentation

Tenseur Lorene::contract ( const Tenseur &  t1,
int  id1,
const Tenseur &  t2,
int  id2 
)

Contraction of two Tenseur .

The two indices must be of different type, i.e. covariant and contravariant, or contravariant and covariant.

Parameters:
id1 [input] number of the index of contraction for the first Tenseur ; id1 must be strictly lower than the valence of the tensor and obeys the following convention:

  • id1 = 0 : first index
  • id1 = 1 : second index
  • and so on...
id2 [input] number of index of contraction for the second one; id2 must be strictly lower than the valence of the tensor and obeys the following convention:

  • id2 = 0 : first index
  • id2 = 1 : second index
  • and so on...

Definition at line 351 of file tenseur_operateur.C.

References Lorene::Tenseur::donne_indices(), Lorene::Tenseur::etat, Lorene::Tenseur::get_triad(), Lorene::Tenseur::metric, Lorene::Tenseur::mp, Lorene::Tenseur::n_comp, Lorene::Tenseur::poids, Lorene::Tenseur::set(), Lorene::Itbl::set(), Lorene::Tenseur::set_etat_qcq(), Lorene::Itbl::set_etat_qcq(), Lorene::Cmp::set_etat_zero(), Lorene::Tenseur::set_etat_zero(), Lorene::Tenseur::type_indice, and Lorene::Tenseur::valence.

Tenseur Lorene::contract ( const Tenseur &  source,
int  id1,
int  id2 
)

Self contraction of two indices of a Tenseur .

The two indices must be of different type, i.e. covariant and contravariant, or contravariant and covariant.

Parameters:
id1 [input] number of the first index for the contraction; id1 must be strictly lower than the valence of the tensor and obeys the following convention:

  • id1 = 0 : first index
  • id1 = 1 : second index
  • and so on...
id2 [input] number of the second index for the contraction; id2 must be strictly lower than the valence of the tensor and obeys the following convention:

  • id2 = 0 : first index
  • id2 = 1 : second index
  • and so on...

Definition at line 282 of file tenseur_operateur.C.

References Lorene::Tenseur::donne_indices(), Lorene::Tenseur::etat, Lorene::Tenseur::metric, Lorene::Tenseur::mp, Lorene::Tenseur::n_comp, Lorene::Tenseur::poids, Lorene::Tenseur::set(), Lorene::Itbl::set(), Lorene::Tenseur::set_etat_qcq(), Lorene::Itbl::set_etat_qcq(), Lorene::Cmp::set_etat_zero(), Lorene::Tenseur::set_etat_zero(), Lorene::Tenseur::triad, Lorene::Tenseur::type_indice, and Lorene::Tenseur::valence.

Tenseur Lorene::flat_scalar_prod ( const Tenseur &  t1,
const Tenseur &  t2 
)
Tenseur Lorene::flat_scalar_prod_desal ( const Tenseur &  t1,
const Tenseur &  t2 
)
Tenseur Lorene::lie_derive ( const Tenseur &  t,
const Tenseur &  x,
const Metrique *  met = 0x0 
)

Lie Derivative of t with respect to x .

If no other argument is given, it uses partial derivatives with respect to cartesian coordinates to calculate the result (this is the default). Otherwise, it uses the covariant derivative associated to the metric given as last argument.

Definition at line 819 of file tenseur_operateur.C.

References Lorene::contract(), Lorene::Tenseur::derive_cov(), Lorene::Tenseur::donne_indices(), Lorene::Tenseur::get_etat(), Lorene::Tenseur::get_metric(), Lorene::Tenseur::get_mp(), Lorene::Tenseur::get_n_comp(), Lorene::Tenseur::get_poids(), Lorene::Tenseur::get_triad(), Lorene::Tenseur::get_type_indice(), Lorene::Tenseur::get_valence(), Lorene::Tenseur::gradient(), Lorene::Base_vect::identify(), Lorene::Tenseur::set(), Lorene::Itbl::set(), and Lorene::Itbl::set_etat_qcq().

Tenseur Lorene::manipule ( const Tenseur &  t1,
const Metrique &  met 
)

Raise or lower all the indices, depending on their type, using the given Metrique .

Definition at line 565 of file tenseur_operateur.C.

References Lorene::manipule(), and Lorene::Tenseur::valence.

Tenseur Lorene::manipule ( const Tenseur &  t1,
const Metrique &  met,
int  idx 
)
Tenseur Lorene::operator% ( const Tenseur &  t1,
const Tenseur &  t2 
)
Tenseur Lorene::operator* ( const Tenseur &  t1,
const Tenseur &  t2 
)
Tenseur Lorene::sans_trace ( const Tenseur &  tens,
const Metrique &  metre 
)

Computes the traceless part of a Tenseur of valence 2.

Parameters:
tens [input] the Tenseur of valence 2
metre [input] the metric used to raise or lower the indices
Returns:
The traceless part of the input Tenseur

Definition at line 900 of file tenseur_operateur.C.

References Lorene::contract(), Lorene::Tenseur::get_etat(), Lorene::Tenseur::get_metric(), Lorene::Tenseur::get_mp(), Lorene::Tenseur::get_poids(), Lorene::Tenseur::get_triad(), Lorene::Tenseur::get_type_indice(), Lorene::Tenseur::get_valence(), Lorene::manipule(), Lorene::Itbl::set(), Lorene::Itbl::set_etat_qcq(), and Lorene::Tenseur::set_std_base().

Tenseur Lorene::skxk ( const Tenseur &  source  ) 

Generated on 7 Dec 2019 for LORENE by  doxygen 1.6.1