22 #ifndef BOUNDARYABSTRACTSOLVER_HPP
23 #define BOUNDARYABSTRACTSOLVER_HPP
24 #include <LbmLib/include/Direction.hpp>
25 #include <LbmLib/include/solver/BoundarySolverFactory.hpp>
157 #endif // BOUNDARYABSTRACTSOLVER_HPP
virtual ~BaseBoundarySolver()
~BaseBoundarySolver virtual Destructor
virtual ~BoundaryAbstractSolver()
~BoundaryAbstractSolver virtual Destructor
static bool init()
init Registers the class in the Solver Factory
static bool reg
reg True if registration was successful
std::vector< std::string > cdeSolvers_
cdeSolvers_ The cde solver this boundary solver is responsible for.
The BoundaryAbstractSolver class The abstract base class for all Boundary Solvers.
virtual void advect()=0
advect The advect step of the LBM
void connectBoundaryNode(const nodes::BoundaryNode *boundaryNode)
connectPhysicalNode This connects the Solver with an physical node this should be executed before usi...
virtual void preAdvect()=0
preAdvect Executed before the advection step
void connectToCDESolvers(const std::vector< std::string > &cdeSolvers)
connectToCDESolvers makes sure that this boundary Solver is executed on all connected CDE Solvers ...
virtual double & accessDistribution(const Direction &dir)=0
accessDistribution Access to the distribution
BaseBoundarySolver()
BaseBoundarySolver The Constructor which enforces that the specialisation is done.
virtual void postAdvect()=0
postAdvect Executed after the advection step
BoundaryAbstractSolver()
CDESolver protected Constructor only use create method for instantiation.
class representing a boundary node
The Base class for all BoundarySolvers implementations This classes uses the recursive template idiom...
virtual void initSolver()=0
initSolver Use this to initalise the solver
const nodes::BoundaryNode * boundaryNode_
physicalNode_ The physical Node which owns this solver
static BoundaryAbstractSolver * create()
create Static constructor. A pointer to this function along with the name of the algorithm is registe...