LORENE
|
Symmetric tensors (with respect to two of their arguments). More...
#include <tensor.h>
Public Member Functions | |
Tensor_sym (const Map &map, int val, const Itbl &tipe, const Base_vect &triad_i, int index_sym1, int index_sym2) | |
Standard constructor. More... | |
Tensor_sym (const Map &map, int val, int tipe, const Base_vect &triad_i, int index_sym1, int index_sym2) | |
Standard constructor when all the indices are of the same type. More... | |
Tensor_sym (const Map &map, int tipe0, int tipe1, int tipe2, const Base_vect &triad_i, int index_sym1, int index_sym2) | |
Constructor for a valence 3 symmetric tensor. More... | |
Tensor_sym (const Tensor_sym &a) | |
Copy constructor. More... | |
Tensor_sym (const Map &map, const Base_vect &triad_i, FILE *fich) | |
Constructor from a file (see sauve(FILE*) ). More... | |
virtual | ~Tensor_sym () |
Destructor. More... | |
virtual void | operator= (const Tensor_sym &a) |
Assignment to another Tensor_sym . More... | |
virtual void | operator= (const Tensor &a) |
Assignment to a Tensor NB: the symmetry about the indices id_sym1 and id_sym2 of the input tensor is assumed but is not checked. More... | |
int | sym_index1 () const |
Number of the first symmetric index (0<= id_sym1 < valence ) More... | |
int | sym_index2 () const |
Number of the second symmetric index (id_sym1 < id_sym2 < valence ) More... | |
virtual int | position (const Itbl &ind) const |
Returns the position in the array cmp of a component given by its indices. More... | |
virtual Itbl | indices (int pos) const |
Returns the indices of a component given by its position in the array cmp . More... | |
virtual void | sauve (FILE *) const |
Save in a binary file. More... | |
const Tensor_sym & | derive_cov (const Metric &gam) const |
Returns the covariant derivative of this with respect to some metric . More... | |
const Tensor_sym & | derive_con (const Metric &gam) const |
Returns the "contravariant" derivative of this with respect to some metric , by raising the last index of the covariant derivative (cf. More... | |
Tensor_sym | derive_lie (const Vector &v) const |
Computes the Lie derivative of this with respect to some vector field v . More... | |
virtual void | set_etat_nondef () |
Sets the logical state of all components to ETATNONDEF (undefined state). More... | |
virtual void | set_etat_zero () |
Sets the logical state of all components to ETATZERO (zero state). More... | |
virtual void | set_etat_qcq () |
Sets the logical state of all components to ETATQCQ (ordinary state). More... | |
virtual void | allocate_all () |
Performs the memory allocation of all the elements, down to the double arrays of the Tbl s. More... | |
virtual void | change_triad (const Base_vect &new_triad) |
Sets a new vectorial basis (triad) of decomposition and modifies the components accordingly. More... | |
void | set_triad (const Base_vect &new_triad) |
Assigns a new vectorial basis (triad) of decomposition. More... | |
Scalar & | set (const Itbl &ind) |
Returns the value of a component (read/write version). More... | |
Scalar & | set (int i1, int i2) |
Returns the value of a component for a tensor of valence 2 (read/write version). More... | |
Scalar & | set (int i1, int i2, int i3) |
Returns the value of a component for a tensor of valence 3 (read/write version). More... | |
Scalar & | set (int i1, int i2, int i3, int i4) |
Returns the value of a component for a tensor of valence 4 (read/write version). More... | |
void | annule_domain (int l) |
Sets the Tensor to zero in a given domain. More... | |
virtual void | annule (int l_min, int l_max) |
Sets the Tensor to zero in several domains. More... | |
void | annule_extern_cn (int l_0, int deg) |
Performs a smooth (C^n) transition in a given domain to zero. More... | |
virtual void | std_spectral_base () |
Sets the standard spectal bases of decomposition for each component. More... | |
virtual void | std_spectral_base_odd () |
Sets the standard odd spectal bases of decomposition for each component. More... | |
virtual void | dec_dzpuis (int dec=1) |
Decreases by dec units the value of dzpuis and changes accordingly the values in the compactified external domain (CED). More... | |
virtual void | inc_dzpuis (int inc=1) |
Increases by inc units the value of dzpuis and changes accordingly the values in the compactified external domain (CED). More... | |
virtual void | exponential_filter_r (int lzmin, int lzmax, int p, double alpha=-16.) |
Applies exponential filters to all components (see Scalar::exponential_filter_r ). More... | |
virtual void | exponential_filter_ylm (int lzmin, int lzmax, int p, double alpha=-16.) |
Applies exponential filters to all components (see Scalar::exponential_filter_ylm ). More... | |
virtual void | exponential_filter_ylm_phi (int lzmin, int lzmax, int p_r, int p_tet, int p_phi, double alpha=-16.) |
Applies exponential filters to all components (see Scalar::exponential_filter_ylm_phi ). More... | |
const Tensor & | divergence (const Metric &gam) const |
Computes the divergence of this with respect to some metric . More... | |
Tensor | up (int ind, const Metric &gam) const |
Computes a new tensor by raising an index of *this . More... | |
Tensor | down (int ind, const Metric &gam) const |
Computes a new tensor by lowering an index of *this . More... | |
Tensor | up_down (const Metric &gam) const |
Computes a new tensor by raising or lowering all the indices of *this . More... | |
Tensor | trace (int ind1, int ind2) const |
Trace on two different type indices. More... | |
Tensor | trace (int ind1, int ind2, const Metric &gam) const |
Trace with respect to a given metric. More... | |
Scalar | trace () const |
Trace on two different type indices for a valence 2 tensor. More... | |
Scalar | trace (const Metric &gam) const |
Trace with respect to a given metric for a valence 2 tensor. More... | |
const Map & | get_mp () const |
Returns the mapping. More... | |
const Base_vect * | get_triad () const |
Returns the vectorial basis (triad) on which the components are defined. More... | |
int | get_valence () const |
Returns the valence. More... | |
int | get_n_comp () const |
Returns the number of stored components. More... | |
int | get_index_type (int i) const |
Gives the type (covariant or contravariant) of the index number i . More... | |
Itbl | get_index_type () const |
Returns the types of all the indices. More... | |
int & | set_index_type (int i) |
Sets the type of the index number i . More... | |
Itbl & | set_index_type () |
Sets the types of all the indices. More... | |
const Scalar & | operator() (const Itbl &ind) const |
Returns the value of a component (read-only version). More... | |
const Scalar & | operator() (int i1, int i2) const |
Returns the value of a component for a tensor of valence 2 (read-only version). More... | |
const Scalar & | operator() (int i1, int i2, int i3) const |
Returns the value of a component for a tensor of valence 3 (read-only version). More... | |
const Scalar & | operator() (int i1, int i2, int i3, int i4) const |
Returns the value of a component for a tensor of valence 4 (read-only version). More... | |
void | operator+= (const Tensor &) |
+= Tensor More... | |
void | operator-= (const Tensor &) |
-= Tensor More... | |
virtual void | spectral_display (const char *comment=0x0, double threshold=1.e-7, int precision=4, ostream &ostr=cout) const |
Displays the spectral coefficients and the associated basis functions of each component. More... | |
Protected Member Functions | |
virtual void | del_deriv () const |
Deletes the derived quantities. More... | |
void | set_der_0x0 () const |
Sets the pointers on derived quantities to 0x0. More... | |
virtual void | del_derive_met (int) const |
Logical destructor of the derivatives depending on the i-th element of met_depend . More... | |
void | set_der_met_0x0 (int) const |
Sets all the i-th components of met_depend , p_derive_cov , etc... More... | |
void | set_dependance (const Metric &) const |
To be used to describe the fact that the derivatives members have been calculated with met . More... | |
int | get_place_met (const Metric &) const |
Returns the position of the pointer on metre in the array met_depend . More... | |
void | compute_derive_lie (const Vector &v, Tensor &resu) const |
Computes the Lie derivative of this with respect to some vector field v (protected method; the public interface is method derive_lie ). More... | |
Protected Attributes | |
int | id_sym1 |
Number of the first symmetric index (0<= id_sym1 < valence ) More... | |
int | id_sym2 |
Number of the second symmetric index (id_sym1 < id_sym2 < valence ) More... | |
const Map *const | mp |
Mapping on which the numerical values at the grid points are defined. More... | |
int | valence |
Valence of the tensor (0 = scalar, 1 = vector, etc...) More... | |
const Base_vect * | triad |
Vectorial basis (triad) with respect to which the tensor components are defined. More... | |
Itbl | type_indice |
1D array of integers (class Itbl ) of size valence containing the type of each index: COV for a covariant one and CON for a contravariant one. More... | |
int | n_comp |
Number of stored components, depending on the symmetry. More... | |
Scalar ** | cmp |
Array of size n_comp of pointers onto the components. More... | |
const Metric * | met_depend [N_MET_MAX] |
Array on the Metric 's which were used to compute derived quantities, like p_derive_cov , etc... More... | |
Tensor * | p_derive_cov [N_MET_MAX] |
Array of pointers on the covariant derivatives of this with respect to various metrics. More... | |
Tensor * | p_derive_con [N_MET_MAX] |
Array of pointers on the contravariant derivatives of this with respect to various metrics. More... | |
Tensor * | p_divergence [N_MET_MAX] |
Array of pointers on the divergence of this with respect to various metrics. More... | |
Friends | |
Tensor_sym | operator* (const Tensor &, const Tensor_sym &) |
Tensorial product with symmetries. More... | |
Tensor_sym | operator* (const Tensor_sym &, const Tensor &) |
Tensorial product with symmetries. More... | |
Symmetric tensors (with respect to two of their arguments).
This subclass of Tensor
is intended to store the components of a tensorial field with respect to a specific basis (triad), in the case the tensor has a valence at least 2 and is symmetric with respect to two of its arguments (or in other words, the components are symmetric with respect to two of their indices).
()
Lorene::Tensor_sym::Tensor_sym | ( | const Map & | map, |
int | val, | ||
const Itbl & | tipe, | ||
const Base_vect & | triad_i, | ||
int | index_sym1, | ||
int | index_sym2 | ||
) |
Standard constructor.
map | the mapping |
val | valence of the tensor (must be at least 2) |
tipe | 1-D array of integers (class Itbl ) of size valence containing the type of each index, COV for a covariant one and CON for a contravariant one, with the following storage convention:
|
triad_i | vectorial basis (triad) with respect to which the tensor components are defined |
index_sym1 | number of the first symmetric index (0<= index_sym1 < valence ) |
index_sym2 | number of the second symmetric index (index_sym1 < index_sym2 < valence ) |
Definition at line 72 of file tensor_sym.C.
References id_sym1, id_sym2, and Lorene::Tensor::valence.
Lorene::Tensor_sym::Tensor_sym | ( | const Map & | map, |
int | val, | ||
int | tipe, | ||
const Base_vect & | triad_i, | ||
int | index_sym1, | ||
int | index_sym2 | ||
) |
Standard constructor when all the indices are of the same type.
map | the mapping |
val | valence of the tensor (must be at least 2) |
tipe | the type (COV or CON ) of the indices. |
triad_i | vectorial basis (triad) with respect to which the tensor components are defined. |
index_sym1 | number of the first symmetric index (0<= index_sym1 < valence ) |
index_sym2 | number of the second symmetric index (index_sym1 < index_sym2 < valence ) |
Definition at line 100 of file tensor_sym.C.
References id_sym1, id_sym2, and Lorene::Tensor::valence.
Lorene::Tensor_sym::Tensor_sym | ( | const Map & | map, |
int | tipe0, | ||
int | tipe1, | ||
int | tipe2, | ||
const Base_vect & | triad_i, | ||
int | index_sym1, | ||
int | index_sym2 | ||
) |
Constructor for a valence 3 symmetric tensor.
map | the mapping |
tipe0 | type (COV or CON ) of the first index. |
tipe1 | type (COV or CON ) of the second index. |
tipe2 | type (COV or CON ) of the third index. |
triad_i | vectorial basis (triad) with respect to which the tensor components are defined. |
index_sym1 | number of the first symmetric index (0<= index_sym1 <=2 ) |
index_sym2 | number of the second symmetric index (index_sym1 < index_sym2 <=2 ) |
Definition at line 123 of file tensor_sym.C.
References id_sym1, id_sym2, Lorene::Itbl::set(), and Lorene::Tensor::type_indice.
Lorene::Tensor_sym::Tensor_sym | ( | const Tensor_sym & | a | ) |
Copy constructor.
Definition at line 155 of file tensor_sym.C.
References Lorene::Tensor::cmp, indices(), Lorene::Tensor::n_comp, and position().
Constructor from a file (see sauve(FILE*)
).
map | the mapping |
triad_i | vectorial basis (triad) with respect to which the tensor components are defined. It will be checked that it coincides with the basis saved in the file. |
fich | file which has been created by the function sauve(FILE*) . |
Definition at line 177 of file tensor_sym.C.
References Lorene::fread_be(), id_sym1, id_sym2, and Lorene::Tensor::type_indice.
|
virtual |
Destructor.
Definition at line 192 of file tensor_sym.C.
|
virtualinherited |
Performs the memory allocation of all the elements, down to the double
arrays of the Tbl
s.
This function performs in fact recursive calls to set_etat_qcq()
on each element of the chain Scalar
-> Valeur
-> Mtbl
-> Tbl
.
Reimplemented in Lorene::Scalar.
Definition at line 517 of file tensor.C.
References Lorene::Scalar::allocate_all(), Lorene::Tensor::cmp, Lorene::Tensor::del_deriv(), and Lorene::Tensor::n_comp.
|
virtualinherited |
Sets the Tensor
to zero in several domains.
l_min | [input] The Tensor will be set (logically) to zero in the domains whose indices are in the range [l_min,l_max] . |
l_max | [input] see the comments for l_min . |
Note that annule
(0,nz-1) , where nz
is the total number of domains, is equivalent to set_etat_zero()
.
Reimplemented in Lorene::Scalar.
Definition at line 680 of file tensor.C.
References Lorene::Scalar::annule(), Lorene::Tensor::cmp, Lorene::Tensor::del_deriv(), Lorene::Map::get_mg(), Lorene::Mg3d::get_nzone(), Lorene::Tensor::mp, Lorene::Tensor::n_comp, and Lorene::Tensor::set_etat_zero().
|
inherited |
Sets the Tensor
to zero in a given domain.
l | [input] Index of the domain in which the Tensor will be set (logically) to zero. |
Definition at line 675 of file tensor.C.
References Lorene::Tensor::annule().
|
inherited |
Performs a smooth (C^n) transition in a given domain to zero.
l_0 | [input] in the domain of index l0 the tensor is multiplied by the right polynomial (of degree 2n+1), to ensure continuty of the function and its n first derivative at both ends of this domain. The tensor is unchanged in the domains l < l_0 and set to zero in domains l > l_0. |
deg | [input] the degree n of smoothness of the transition. |
Definition at line 699 of file tensor.C.
References Lorene::Map::get_mg(), Lorene::Mg3d::get_type_r(), and Lorene::Tensor::mp.
|
virtualinherited |
Sets a new vectorial basis (triad) of decomposition and modifies the components accordingly.
Reimplemented in Lorene::Scalar, and Lorene::Vector.
Definition at line 80 of file tensor_change_triad.C.
References Lorene::Map::comp_p_from_cartesian(), Lorene::Map::comp_r_from_cartesian(), Lorene::Map::comp_t_from_cartesian(), Lorene::Map::comp_x_from_spherical(), Lorene::Map::comp_y_from_spherical(), Lorene::Map::comp_z_from_spherical(), Lorene::Base_vect_cart::get_align(), Lorene::Map::get_bvect_cart(), Lorene::Map::get_bvect_spher(), Lorene::Map::get_mg(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_nzone(), Lorene::Tensor::mp, Lorene::Tensor::set(), Lorene::Tensor::triad, Lorene::Tensor::type_indice, and Lorene::Tensor::valence.
|
protectedinherited |
Computes the Lie derivative of this
with respect to some vector field v
(protected method; the public interface is method derive_lie
).
Definition at line 342 of file tensor_calculus.C.
References Lorene::Tensor::cmp, Lorene::contract(), Lorene::Scalar::dec_dzpuis(), Lorene::Tensor::derive_cov(), Lorene::Map::flat_met_cart(), Lorene::Map::flat_met_spher(), Lorene::Scalar::get_dzpuis(), Lorene::Tensor::get_n_comp(), Lorene::Tensor::get_triad(), Lorene::Tensor::indices(), Lorene::Tensor::mp, Lorene::Tensor::n_comp, Lorene::Tensor::operator()(), Lorene::Itbl::set(), Lorene::Tensor::set(), Lorene::Tensor::triad, Lorene::Tensor::type_indice, and Lorene::Tensor::valence.
|
virtualinherited |
Decreases by dec
units the value of dzpuis
and changes accordingly the values in the compactified external domain (CED).
Reimplemented in Lorene::Scalar.
Definition at line 817 of file tensor.C.
References Lorene::Tensor::cmp, Lorene::Tensor::del_deriv(), and Lorene::Tensor::n_comp.
|
protectedvirtualinherited |
Deletes the derived quantities.
Reimplemented in Lorene::Sym_tensor_tt, Lorene::Vector_divfree, Lorene::Sym_tensor_trans, Lorene::Scalar, Lorene::Sym_tensor, and Lorene::Vector.
Definition at line 407 of file tensor.C.
References Lorene::Tensor::del_derive_met(), and Lorene::Tensor::set_der_0x0().
|
protectedvirtualinherited |
Logical destructor of the derivatives depending on the i-th element of met_depend
.
Reimplemented in Lorene::Sym_tensor, and Lorene::Vector.
Definition at line 423 of file tensor.C.
References Lorene::Tensor::met_depend, Lorene::Tensor::p_derive_con, Lorene::Tensor::p_derive_cov, Lorene::Tensor::p_divergence, Lorene::Tensor::set_der_met_0x0(), and Lorene::Metric::tensor_depend.
const Tensor_sym & Lorene::Tensor_sym::derive_con | ( | const Metric & | gam | ) | const |
Returns the "contravariant" derivative of this
with respect to some metric , by raising the last index of the covariant derivative (cf.
method derive_cov()
) with .
Definition at line 207 of file tensor_sym_calculus.C.
References Lorene::Tensor::derive_con().
const Tensor_sym & Lorene::Tensor_sym::derive_cov | ( | const Metric & | gam | ) | const |
Returns the covariant derivative of this
with respect to some metric .
denoting the tensor represented by this
and its covariant derivative with respect to the metric , the extra index (with respect to the indices of ) of is chosen to be the last one. This convention agrees with that of MTW (see Eq. (10.17) of MTW).
gam | metric |
this
with respect to the connection associated with the metric Definition at line 195 of file tensor_sym_calculus.C.
References Lorene::Tensor::derive_cov().
Tensor_sym Lorene::Tensor_sym::derive_lie | ( | const Vector & | v | ) | const |
Computes the Lie derivative of this
with respect to some vector field v
.
Definition at line 222 of file tensor_sym_calculus.C.
References Lorene::Tensor::compute_derive_lie(), id_sym1, id_sym2, Lorene::Tensor::mp, Lorene::Tensor::triad, Lorene::Tensor::type_indice, and Lorene::Tensor::valence.
Computes the divergence of this
with respect to some metric .
The divergence is taken with respect of the last index of this
which thus must be contravariant. For instance if the tensor represented by this
is a twice contravariant tensor, whose components w.r.t. the triad are : , the divergence of w.r.t. is the vector
where denotes the connection associated with the metric .
gam | metric |
this
with respect to . Definition at line 1064 of file tensor.C.
References Lorene::Metric::connect(), Lorene::Tensor::get_place_met(), Lorene::Connection::p_divergence(), Lorene::Tensor::p_divergence, and Lorene::Tensor::set_dependance().
Computes a new tensor by lowering an index of *this
.
ind | index to be lowered, with the following convention :
|
gam | metric used to lower the index (contraction with the twice covariant form of the metric on the index ind ). |
Definition at line 268 of file tensor_calculus.C.
References Lorene::contract(), Lorene::Metric::cov(), Lorene::Tensor::indices(), Lorene::Tensor::mp, Lorene::Tensor::n_comp, Lorene::Itbl::set(), Lorene::Tensor::set(), Lorene::Tensor::triad, Lorene::Tensor::type_indice, and Lorene::Tensor::valence.
|
virtualinherited |
Applies exponential filters to all components (see Scalar::exponential_filter_r
).
Works only for Cartesian components.
Reimplemented in Lorene::Scalar, Lorene::Sym_tensor, and Lorene::Vector.
Definition at line 1075 of file tensor.C.
References Lorene::Tensor::cmp, Lorene::Map::get_bvect_cart(), Lorene::Base_vect::identify(), Lorene::Tensor::mp, Lorene::Tensor::n_comp, and Lorene::Tensor::triad.
|
virtualinherited |
Applies exponential filters to all components (see Scalar::exponential_filter_ylm
).
Works only for Cartesian components.
Reimplemented in Lorene::Scalar, Lorene::Sym_tensor, and Lorene::Vector.
Definition at line 1088 of file tensor.C.
References Lorene::Tensor::cmp, Lorene::Map::get_bvect_cart(), Lorene::Base_vect::identify(), Lorene::Tensor::mp, Lorene::Tensor::n_comp, and Lorene::Tensor::triad.
|
virtualinherited |
Applies exponential filters to all components (see Scalar::exponential_filter_ylm_phi
).
Works only for Cartesian components.
Reimplemented in Lorene::Scalar.
Definition at line 1101 of file tensor.C.
References Lorene::Tensor::cmp, Lorene::Map::get_bvect_cart(), Lorene::Base_vect::identify(), Lorene::Tensor::mp, Lorene::Tensor::n_comp, and Lorene::Tensor::triad.
|
inlineinherited |
Gives the type (covariant or contravariant) of the index number i
.
i
must be strictly lower than valence
and obey the following convention:
i
= 0 : first index i
= 1 : second index Definition at line 899 of file tensor.h.
References Lorene::Tensor::type_indice.
|
inlineinherited |
Returns the types of all the indices.
Itbl
) of size valence
COV
for a covariant one and CON
Definition at line 909 of file tensor.h.
References Lorene::Tensor::type_indice.
|
inlineinherited |
|
inlineinherited |
Returns the number of stored components.
Definition at line 885 of file tensor.h.
References Lorene::Tensor::n_comp.
|
protectedinherited |
Returns the position of the pointer on metre
in the array met_depend
.
Definition at line 452 of file tensor.C.
References Lorene::Tensor::met_depend.
|
inlineinherited |
Returns the vectorial basis (triad) on which the components are defined.
Definition at line 879 of file tensor.h.
References Lorene::Tensor::triad.
|
inlineinherited |
|
virtualinherited |
Increases by inc
units the value of dzpuis
and changes accordingly the values in the compactified external domain (CED).
Reimplemented in Lorene::Scalar.
Definition at line 825 of file tensor.C.
References Lorene::Tensor::cmp, Lorene::Tensor::del_deriv(), and Lorene::Tensor::n_comp.
|
virtual |
Returns the indices of a component given by its position in the array cmp
.
pos | [input] position in the array cmp of the pointer to the Scalar representing a component |
Itbl
) of size valence
giving the value of each index for the component located at the position pos
in the array cmp
, with the following storage convention: Itbl(0)
: value of the first index (1, 2 or 3) Itbl(1)
: value of the second index (1, 2 or 3) Reimplemented from Lorene::Tensor.
Definition at line 313 of file tensor_sym.C.
References id_sym1, id_sym2, Lorene::Tensor::n_comp, Lorene::Itbl::set(), and Lorene::Tensor::valence.
Returns the value of a component (read-only version).
ind | 1-D Itbl of size valence containing the values of each index specifing the component, with the following storage convention:
|
ind
Definition at line 807 of file tensor.C.
References Lorene::Tensor::cmp, Lorene::Itbl::get_dim(), Lorene::Itbl::get_ndim(), Lorene::Tensor::position(), and Lorene::Tensor::valence.
|
inherited |
Returns the value of a component for a tensor of valence 2 (read-only version).
i1 | value of the first index (1, 2 or 3) |
i2 | value of the second index (1, 2 or 3) |
(i1,i2) Definition at line 769 of file tensor.C.
References Lorene::Tensor::cmp, Lorene::Tensor::position(), Lorene::Itbl::set(), and Lorene::Tensor::valence.
|
inherited |
Returns the value of a component for a tensor of valence 3 (read-only version).
i1 | value of the first index (1, 2 or 3) |
i2 | value of the second index (1, 2 or 3) |
i3 | value of the third index (1, 2 or 3) |
(i1,i2,i3) Definition at line 780 of file tensor.C.
References Lorene::Tensor::cmp, Lorene::Tensor::position(), Lorene::Itbl::set(), and Lorene::Tensor::valence.
|
inherited |
Returns the value of a component for a tensor of valence 4 (read-only version).
i1 | value of the first index (1, 2 or 3) |
i2 | value of the second index (1, 2 or 3) |
i3 | value of the third index (1, 2 or 3) |
i4 | value of the fourth index (1, 2 or 3) |
(i1,i2,i3,i4) Definition at line 792 of file tensor.C.
References Lorene::Tensor::cmp, Lorene::Tensor::position(), Lorene::Itbl::set(), and Lorene::Tensor::valence.
|
inherited |
+= Tensor
Definition at line 580 of file tensor.C.
References Lorene::Tensor::cmp, Lorene::Tensor::del_deriv(), Lorene::Tensor::indices(), Lorene::Tensor::n_comp, Lorene::Tensor::position(), Lorene::Tensor::triad, Lorene::Tensor::type_indice, and Lorene::Tensor::valence.
|
inherited |
-= Tensor
Definition at line 596 of file tensor.C.
References Lorene::Tensor::cmp, Lorene::Tensor::del_deriv(), Lorene::Tensor::indices(), Lorene::Tensor::n_comp, Lorene::Tensor::position(), Lorene::Tensor::triad, Lorene::Tensor::type_indice, and Lorene::Tensor::valence.
|
virtual |
Assignment to another Tensor_sym
.
Reimplemented in Lorene::Sym_tensor_tt, Lorene::Sym_tensor_trans, and Lorene::Sym_tensor.
Definition at line 201 of file tensor_sym.C.
References Lorene::Tensor::cmp, Lorene::Tensor::del_deriv(), id_sym1, id_sym2, indices(), Lorene::Tensor::n_comp, position(), Lorene::Tensor::triad, Lorene::Tensor::type_indice, and Lorene::Tensor::valence.
|
virtual |
Assignment to a Tensor
NB: the symmetry about the indices id_sym1
and id_sym2
of the input tensor is assumed but is not checked.
Reimplemented from Lorene::Tensor.
Reimplemented in Lorene::Sym_tensor_tt, Lorene::Sym_tensor_trans, and Lorene::Sym_tensor.
Definition at line 221 of file tensor_sym.C.
References Lorene::Tensor::cmp, Lorene::Tensor::del_deriv(), Lorene::Tensor::get_triad(), Lorene::Tensor::get_valence(), id_sym1, id_sym2, indices(), Lorene::Tensor::n_comp, Lorene::Tensor::position(), Lorene::Tensor::triad, Lorene::Tensor::type_indice, and Lorene::Tensor::valence.
|
virtual |
Returns the position in the array cmp
of a component given by its indices.
ind | [input] 1-D array of integers (class Itbl ) of size valence giving the values of each index specifing the component, with the following storage convention:
|
cmp
of the pointer to the Scalar
containing the component specified by ind
Reimplemented from Lorene::Tensor.
Definition at line 248 of file tensor_sym.C.
References Lorene::Itbl::get_dim(), Lorene::Itbl::get_ndim(), id_sym1, id_sym2, Lorene::Itbl::set(), and Lorene::Tensor::valence.
|
virtual |
Save in a binary file.
Reimplemented from Lorene::Tensor.
Definition at line 375 of file tensor_sym.C.
References Lorene::fwrite_be(), id_sym1, id_sym2, and Lorene::Tensor::sauve().
Returns the value of a component (read/write version).
ind | 1-D Itbl of size valence containing the values of each index specifing the component, with the following storage convention:
|
ind
Definition at line 663 of file tensor.C.
References Lorene::Tensor::cmp, Lorene::Tensor::del_deriv(), Lorene::Itbl::get_dim(), Lorene::Itbl::get_ndim(), Lorene::Tensor::position(), and Lorene::Tensor::valence.
|
inherited |
Returns the value of a component for a tensor of valence 2 (read/write version).
i1 | value of the first index (1, 2 or 3) |
i2 | value of the second index (1, 2 or 3) |
(i1,i2) Definition at line 615 of file tensor.C.
References Lorene::Tensor::cmp, Lorene::Tensor::del_deriv(), Lorene::Tensor::position(), Lorene::Itbl::set(), and Lorene::Tensor::valence.
|
inherited |
Returns the value of a component for a tensor of valence 3 (read/write version).
i1 | value of the first index (1, 2 or 3) |
i2 | value of the second index (1, 2 or 3) |
i3 | value of the third index (1, 2 or 3) |
(i1,i2,i3) Definition at line 630 of file tensor.C.
References Lorene::Tensor::cmp, Lorene::Tensor::del_deriv(), Lorene::Tensor::position(), Lorene::Itbl::set(), and Lorene::Tensor::valence.
|
inherited |
Returns the value of a component for a tensor of valence 4 (read/write version).
i1 | value of the first index (1, 2 or 3) |
i2 | value of the second index (1, 2 or 3) |
i3 | value of the third index (1, 2 or 3) |
i4 | value of the fourth index (1, 2 or 3) |
(i1,i2,i3,i4) Definition at line 646 of file tensor.C.
References Lorene::Tensor::cmp, Lorene::Tensor::del_deriv(), Lorene::Tensor::position(), Lorene::Itbl::set(), and Lorene::Tensor::valence.
|
protectedinherited |
To be used to describe the fact that the derivatives members have been calculated with met
.
First it sets a null element of met_depend
to &met
and puts this
in the list of the dependancies of met
.
Definition at line 462 of file tensor.C.
References Lorene::Tensor::met_depend, and Lorene::Metric::tensor_depend.
|
protectedinherited |
Sets the pointers on derived quantities to 0x0.
Definition at line 416 of file tensor.C.
References Lorene::Tensor::set_der_met_0x0().
|
protectedinherited |
Sets all the i-th components of met_depend
, p_derive_cov
, etc...
to 0x0.
Definition at line 442 of file tensor.C.
References Lorene::Tensor::met_depend, Lorene::Tensor::p_derive_con, Lorene::Tensor::p_derive_cov, and Lorene::Tensor::p_divergence.
|
virtualinherited |
Sets the logical state of all components to ETATNONDEF
(undefined state).
Reimplemented in Lorene::Scalar.
Definition at line 498 of file tensor.C.
References Lorene::Tensor::cmp, Lorene::Tensor::del_deriv(), Lorene::Tensor::n_comp, and Lorene::Scalar::set_etat_nondef().
|
virtualinherited |
Sets the logical state of all components to ETATQCQ
(ordinary state).
Reimplemented in Lorene::Scalar.
Definition at line 490 of file tensor.C.
References Lorene::Tensor::cmp, Lorene::Tensor::del_deriv(), Lorene::Tensor::n_comp, and Lorene::Scalar::set_etat_qcq().
|
virtualinherited |
Sets the logical state of all components to ETATZERO
(zero state).
Reimplemented in Lorene::Scalar.
Definition at line 506 of file tensor.C.
References Lorene::Tensor::cmp, Lorene::Tensor::del_deriv(), Lorene::Tensor::n_comp, and Lorene::Scalar::set_etat_zero().
|
inlineinherited |
Sets the type of the index number i
.
i
must be strictly lower than valence
and obey the following convention:
i
= 0 : first index i
= 1 : second index COV
for a covariant index, CON
for a contravariant one) Definition at line 922 of file tensor.h.
References Lorene::Itbl::set(), and Lorene::Tensor::type_indice.
|
inlineinherited |
Sets the types of all the indices.
Itbl
) of size valence
that can be modified (COV
for a covariant one and CON
for a contravariant one) Definition at line 931 of file tensor.h.
References Lorene::Tensor::type_indice.
|
inherited |
Assigns a new vectorial basis (triad) of decomposition.
NB: this function modifies only the member triad
and leave unchanged the components (member cmp
). In order to change them coherently with the new basis, the function change_triad
(const Base_vect& ) must be called instead.
Definition at line 528 of file tensor.C.
References Lorene::Tensor::triad.
|
virtualinherited |
Displays the spectral coefficients and the associated basis functions of each component.
This function shows only the values greater than a given threshold.
comment | comment to be printed at top of the display (default: 0x0 = nothing printed) |
threshold | [input] Value above which a coefficient is printed (default: 1.e-7) |
precision | [input] Number of printed digits (default: 4) |
ostr | [input] Output stream used for the printing (default: cout) |
Reimplemented in Lorene::Scalar.
Definition at line 883 of file tensor.C.
References Lorene::Tensor::cmp, Lorene::Tensor::indices(), Lorene::Tensor::n_comp, Lorene::Scalar::spectral_display(), and Lorene::Tensor::valence.
|
virtualinherited |
Sets the standard spectal bases of decomposition for each component.
To be used only with valence
lower than or equal 2.
Reimplemented in Lorene::Scalar, and Lorene::Vector.
Definition at line 935 of file tensor.C.
References Lorene::Tensor::cmp, Lorene::Map::get_bvect_cart(), Lorene::Map::get_bvect_spher(), Lorene::Map::get_mg(), Lorene::Base_vect::identify(), Lorene::Tensor::indices(), Lorene::Tensor::mp, Lorene::Tensor::n_comp, Lorene::Scalar::set_spectral_base(), Lorene::Mg3d::std_base_vect_cart(), Lorene::Mg3d::std_base_vect_spher(), Lorene::Scalar::std_spectral_base(), Lorene::Tensor::triad, and Lorene::Tensor::valence.
|
virtualinherited |
Sets the standard odd spectal bases of decomposition for each component.
Currently only implemented for a scalar.
Reimplemented in Lorene::Scalar.
Definition at line 991 of file tensor.C.
References Lorene::Tensor::cmp, Lorene::Scalar::std_spectral_base_odd(), and Lorene::Tensor::valence.
|
inline |
|
inline |
|
inherited |
Trace on two different type indices.
ind1 | first index for the contraction, with the following convention :
|
ind2 | second index for the contraction |
Definition at line 97 of file tensor_calculus.C.
References Lorene::Tensor::cmp, Lorene::Tensor::get_n_comp(), Lorene::Tensor::indices(), Lorene::Tensor::mp, Lorene::Tensor::position(), Lorene::Itbl::set(), Lorene::Tensor::set(), Lorene::Scalar::set_etat_zero(), Lorene::Tensor::triad, Lorene::Tensor::type_indice, and Lorene::Tensor::valence.
Trace with respect to a given metric.
ind1 | first index for the contraction, with the following convention :
|
ind2 | second index for the contraction |
gam | metric used to raise or lower ind1 in order that it has a opposite type than ind2 |
Definition at line 156 of file tensor_calculus.C.
References Lorene::Metric::con(), Lorene::contract(), Lorene::Metric::cov(), Lorene::Tensor::trace(), Lorene::Tensor::type_indice, and Lorene::Tensor::valence.
|
inherited |
Trace on two different type indices for a valence 2 tensor.
Definition at line 183 of file tensor_calculus.C.
References Lorene::Tensor::mp, Lorene::Tensor::operator()(), Lorene::Scalar::set_etat_zero(), Lorene::Tensor::type_indice, and Lorene::Tensor::valence.
Trace with respect to a given metric for a valence 2 tensor.
gam | metric used to raise or lower one of the indices, in order to take the trace |
Definition at line 200 of file tensor_calculus.C.
References Lorene::Metric::con(), Lorene::contract(), Lorene::Metric::cov(), Lorene::Tensor::trace(), Lorene::Tensor::type_indice, and Lorene::Tensor::valence.
Computes a new tensor by raising an index of *this
.
ind | index to be raised, with the following convention :
|
gam | metric used to raise the index (contraction with the twice contravariant form of the metric on the index ind ). |
Definition at line 228 of file tensor_calculus.C.
References Lorene::Metric::con(), Lorene::contract(), Lorene::Tensor::indices(), Lorene::Tensor::mp, Lorene::Tensor::n_comp, Lorene::Itbl::set(), Lorene::Tensor::set(), Lorene::Tensor::triad, Lorene::Tensor::type_indice, and Lorene::Tensor::valence.
Computes a new tensor by raising or lowering all the indices of *this
.
gam | metric used to lower the contravariant indices and raising the covariant ones. |
Definition at line 308 of file tensor_calculus.C.
References Lorene::Tensor::down(), Lorene::Tensor::Tensor(), Lorene::Tensor::type_indice, Lorene::Tensor::up(), and Lorene::Tensor::valence.
|
friend |
Tensorial product with symmetries.
Definition at line 111 of file tensor_sym_calculus.C.
|
friend |
Tensorial product with symmetries.
Definition at line 71 of file tensor_sym_calculus.C.
|
protectedinherited |
|
protected |
|
protected |
|
mutableprotectedinherited |
|
protectedinherited |
|
protectedinherited |
|
mutableprotectedinherited |
Array of pointers on the contravariant derivatives of this
with respect to various metrics.
See the comments of met_depend
. See also the comments of method derive_con()
for a precise definition of a "contravariant" derivative.
|
mutableprotectedinherited |
Array of pointers on the covariant derivatives of this
with respect to various metrics.
See the comments of met_depend
. See also the comments of method derive_cov()
for the index convention of the covariant derivation.
|
mutableprotectedinherited |
Array of pointers on the divergence of this
with respect to various metrics.
See the comments of met_depend
. See also the comments of method divergence()
for a precise definition of a the divergence with respect to a given metric.
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |