1 #ifndef INMOST_OPERATOR_INCLUDED
2 #define INMOST_OPERATOR_INCLUDED
4 #include "inmost_variable.h"
6 #if defined(USE_AUTODIFF) && defined(USE_MESH) && defined(USE_SOLVER)
This class is responsible to unite access to various point-wise implementations of discrete operators...
virtual bool PrepareIterations()=0
Let operator prepare data on the mesh before evaluation.
virtual std::pair< ElementType, MarkerType > GetUnknownDomain() const =0
Provides input domain of the operator. (TODO)
virtual vMatrix Evaluate(const Storage &e) const =0
Compute expression of the opertor (TODO)
virtual bool isValid(const Storage &e) const =0
Check, whether we need to compute operator on this element.
virtual bool SetupCoupling(Model &P)
Setup coupling with unknowns of otheer models.
virtual ~AbstractOperator()
Destroy all the data of the operator.
virtual bool Initialize(Model &m)=0
Initialize all the data necessary to evalute the operator.
virtual std::pair< ElementType, MarkerType > GetOperatorDomain() const =0
Provides output domain of the operator. (TODO)
Class for linear algebra operations on dense matrices.
A class to organize a model.
Base class for Mesh, Element, and ElementSet classes.