LBIBCell
|
The Base class for all BoundarySolvers implementations This classes uses the recursive template idiom to automatically register child classes in the factory. To implement a solver inherit from this class and provide the same class as a template argument. Additional the class should provide a static member with the name name which stores a unique name for the class. Preferentially declare the constructor and the static member name private and make the BaseCDESolver a friend class of this. look at /c BaseCDESolver for an example. More...
#include <BoundaryAbstractSolver.hpp>
Protected Member Functions | |
BaseBoundarySolver () | |
BaseBoundarySolver The Constructor which enforces that the specialisation is done. | |
virtual | ~BaseBoundarySolver () |
~BaseBoundarySolver virtual Destructor | |
Protected Member Functions inherited from LbmLib::solver::BoundaryAbstractSolver | |
BoundaryAbstractSolver () | |
CDESolver protected Constructor only use create method for instantiation. | |
Static Protected Member Functions | |
static BoundaryAbstractSolver * | create () |
create Static constructor. A pointer to this function along with the name of the algorithm is registered with the Solver Factory. More... | |
static bool | init () |
init Registers the class in the Solver Factory More... | |
Static Protected Attributes | |
static bool | reg = BaseBoundarySolver<T>::init() |
reg True if registration was successful | |
Additional Inherited Members | |
Public Member Functions inherited from LbmLib::solver::BoundaryAbstractSolver | |
virtual | ~BoundaryAbstractSolver () |
~BoundaryAbstractSolver virtual Destructor | |
void | connectBoundaryNode (const nodes::BoundaryNode *boundaryNode) |
connectPhysicalNode This connects the Solver with an physical node this should be executed before using this class More... | |
virtual void | advect ()=0 |
advect The advect step of the LBM | |
virtual void | postAdvect ()=0 |
postAdvect Executed after the advection step | |
virtual void | preAdvect ()=0 |
preAdvect Executed before the advection step | |
virtual void | initSolver ()=0 |
initSolver Use this to initalise the solver | |
void | connectToCDESolvers (const std::vector< std::string > &cdeSolvers) |
connectToCDESolvers makes sure that this boundary Solver is executed on all connected CDE Solvers More... | |
virtual double & | accessDistribution (const Direction &dir)=0 |
accessDistribution Access to the distribution More... | |
Protected Attributes inherited from LbmLib::solver::BoundaryAbstractSolver | |
const nodes::BoundaryNode * | boundaryNode_ |
physicalNode_ The physical Node which owns this solver | |
std::vector< std::string > | cdeSolvers_ |
cdeSolvers_ The cde solver this boundary solver is responsible for. | |
The Base class for all BoundarySolvers implementations This classes uses the recursive template idiom to automatically register child classes in the factory. To implement a solver inherit from this class and provide the same class as a template argument. Additional the class should provide a static member with the name name which stores a unique name for the class. Preferentially declare the constructor and the static member name private and make the BaseCDESolver a friend class of this. look at /c BaseCDESolver for an example.
Definition at line 113 of file BoundaryAbstractSolver.hpp.
|
inlinestaticprotected |
create Static constructor. A pointer to this function along with the name of the algorithm is registered with the Solver Factory.
AbstractCDESolver
instance. Responsibility for allocated memory lies with the caller. Definition at line 134 of file BoundaryAbstractSolver.hpp.
|
inlinestaticprotected |
init Registers the class in the Solver Factory
Definition at line 146 of file BoundaryAbstractSolver.hpp.