22 #ifndef CDEABSTRACTSOLVER_HPP
23 #define CDEABSTRACTSOLVER_HPP
24 #include <LbmLib/include/solver/AbstractSolver.hpp>
25 #include <LbmLib/include/solver/CDESolver/CDESolverFactory.hpp>
67 virtual double getC()
const = 0;
78 virtual std::string
getName() = 0;
180 #endif // CDEABSTRACTSOLVER_HPP
the base class of the cde and fluid solvers
The abstract base class for all CDESolvers.
static bool reg
reg True if registration was successful
static bool init()
init Registers the class in the Solver Factory
The Base class for all CDESolver implementations This classes uses the recursive template idiom to au...
virtual ~CDEAbstractSolver()
~CDEAbstractSolver virtual Destructor
size_t solverID_
solverID_ The ID of the solver instance. Coincides with the index in the vector PhysicalNode::cdeSolv...
virtual std::string getName()=0
Get the name of the solver.
BaseCDESolver()
BaseCDESolver The Constructor which enforces that the specialisation is done.
std::string getName()
getName
const nodes::PhysicalNode * physicalNode_
physicalNode_ The physical Node which owns this solver
virtual ~BaseCDESolver()
~BaseCDESolver virtual Destructor
class representing a physical node
virtual void reinitialise()=0
reinitialise this solver iff the corresponding physical node has changed domain identifier ...
virtual double getC() const =0
getC Calculates the concentration on this node
static CDEAbstractSolver * create()
Create static constructor. A pointer to this function along with the name of the algorithm is registe...
void initCDESolver(const nodes::PhysicalNode *physicalNode, size_t id)
initCDESolver This connects the Solver with an physical node this should be executed before using thi...
CDEAbstractSolver()
CDEAbstractSolver protected Constructor only use create method for instantiation. ...
virtual double calculateEquilibrium(const Direction &dir)=0
calculateEquilibrium calculates the equilibirum for direction dir
size_t getId()
return the id of this solver