22 #include "system_of_eqs.hpp"
23 #include "name_tools.hpp"
27 Ope_eq(zesys, tt->get_dom(), 0), target(tt),
28 valence (val), name_ind(name), type_ind(ttype) {
31 for (
int j=i+1 ; j<
valence ; j++)
38 Ope_eq(zesys, tt->get_dom(), 0), target(tt),
39 valence (0), name_ind(0x0), type_ind(0x0), need_sum(false) {
57 if (auxi.
der_t!=0x0) {
virtual void manipulate_ind(Term_eq &so, int ind) const
Uses the Metric to manipulate one of the index of a Term_eq (i.e.
Abstract class that describes the various operators that can appear in the equations.
const System_of_eqs * syst
The associated System_of_eqs.
int dom
Index of the Domain where the operator is defined.
int valence
Valence of the result.
Term_eq action() const override
Computes the action of the current Ope_eq using its various parts.
Ope_id(const System_of_eqs *syst, const Term_eq *so, int valence, char *names, Array< int > *ttype)
Constructor.
const Term_eq * target
The input Term_eq.
char * name_ind
The names of the various indices (if a Tensor of valence >0)
Array< int > * type_ind
The type of the indices.
bool need_sum
True if an inner contraction is needed to compute the result.
~Ope_id() override
Destructor.
Class used to describe and solve a system of equations.
const Metric * get_met() const
Returns a pointer on the Metric.
bool name_affected
Indicator that states if the indices have been given names.
void set_name_ind(int dd, char name)
Sets the name of one index ; the names must have been affected first.
int get_index_type(int i) const
Gives the type (covariant or contravariant) of a given index.
Tensor do_summation_one_dom(int dd) const
Does the inner contraction of the Tensor in a given domain.
This class is intended to describe the manage objects appearing in the equations.
Tensor * der_t
Pointer on the variation, if the Term_eq is a Tensor.
Tensor * val_t
Pointer on the value, if the Term_eq is a Tensor.