INMOST
A toolkit for distributed mathematical modeling
INMOST::AbstractOperator Class Referenceabstract

This class is responsible to unite access to various point-wise implementations of discrete operators, such as grad, curl. More...

#include <inmost_operator.h>

Public Member Functions

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 bool PrepareIterations ()=0
 Let operator prepare data on the mesh before evaluation.
 
virtual bool SetupCoupling (Model &P)
 Setup coupling with unknowns of otheer models.
 
virtual bool isValid (const Storage &e) const =0
 Check, whether we need to compute operator on this element.
 
virtual std::pair< ElementType, MarkerType > GetUnknownDomain () const =0
 Provides input domain of the operator. (TODO)
 
virtual std::pair< ElementType, MarkerType > GetOperatorDomain () const =0
 Provides output domain of the operator. (TODO)
 
virtual vMatrix Evaluate (const Storage &e) const =0
 Compute expression of the opertor (TODO)
 

Detailed Description

This class is responsible to unite access to various point-wise implementations of discrete operators, such as grad, curl.

Todo:
  1. Different types of operators: time-stepping, local point-wise (curl,grad on element), global integrators (div,curl on domain), interpolators, inter-mesh interpolators. Each has its own functions. Implementation should be flexible enough to prevent limitation.
  2. Ultimately operators should stack together: for staggered incompressible navier-stokes: Time(nU) + Projection(Divergence(ConvectionDiffusion(nU,\mu,Reconstruction(nU)))) - Grad(P) = f Divergence(nU) = 0

Definition at line 27 of file inmost_operator.h.


The documentation for this class was generated from the following file: