23 #ifndef FIELD_H_INCLUDED 24 #define FIELD_H_INCLUDED 35 const Space* spaceField;
51 const Space* getFieldSpace()
const override;
72 template<
class ...Args>
76 return csl::make_shared<ScalarFieldParent>(args...);
99 Tensor getPoint()
const override;
107 void setPoint(
const Tensor& t_vector)
override;
111 const Space* getSpace()
const;
131 void print(
int mode=0,
132 std::ostream& out=std::cout,
133 bool lib =
false)
const override;
135 std::string printLaTeX(
int mode=0)
const override;
137 std::optional<Expr> evaluate(
138 csl::eval::mode user_mode = csl::eval::base
141 unique_Expr copy_unique()
const override;
143 bool commutesWith(
Expr_info expr,
int sign=-1)
const override;
Namespace for csl library.
Definition: abreviation.h:34
Parent of an indicial object, allows to generate them (TensorElement).
Definition: indicial.h:245
Base classes for parents and elements.
Type
Enum of the different types of Abstract (i.e. list of all possible specializations).
Definition: enum.h:47
PrimaryType
Definition: parent.h:39
cslParent::PrimaryType getPrimaryType() const override
Definition: field.cpp:48
virtual bool dependsExplicitlyOn(Expr_info expr) const
Tells if the parent depends explicitely on another expression or not.
Definition: parent.cpp:305
Definition: diagonalization.h:34
PrimaryType
Stores enumerations of types for Abstract objects.
Definition: enum.h:31
virtual Expr operator()(Index index)
Generate the Element for an TensorParent of dimension 1 (a single index).
Definition: parent.cpp:543
Root class of the inheritance tree of abstracts.
Definition: abstract.h:76
virtual cslParent::Type getType() const =0
virtual bool dependsOn(Expr_info expr) const
Tells if the parent depends on another expression or not.
Definition: parent.cpp:297
Vector space that has a name, a dimension, a delta tensor and possibly a non-trivial metric...
Definition: space.h:64
Base class for all parents (indicial, fields etc). All parents derive from this class.
Definition: parent.h:81
bool operator==(const Expr &a, const Expr &b)
see Abstract::operator==()
Definition: abstract.cpp:1398
Type
Definition: parent.h:47
Objects handling indexed expressions in order to perform indicial tensor calculations.
bool operator<(const Expr &a, const Expr &b)
see Abstract::operator<()
Definition: abstract.cpp:1423
Definition: indicial.h:675
Base class for all elements. Objects that are constructed by a parent (see AbstractParent) when the u...
Definition: element.h:37
Expression type/.
Definition: abstract.h:1573