LBIBCell
 All Classes Functions Variables Friends Pages
LbmLib::solver::BaseMassSolver< T > Struct Template Reference

The Base class for all Mass Solvers 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. Additionally, the class should provide a static member with the name which stores a unique name for the class. Preferentially, declare the constructor and the static member name private and make the BaseForceSolver a friend class of this. look at /c BaseCDESolver for an example. More...

#include <MassAbstractSolver.hpp>

Inheritance diagram for LbmLib::solver::BaseMassSolver< T >:
LbmLib::solver::MassAbstractSolver

Public Member Functions

std::string getName ()
 getName More...
 
- Public Member Functions inherited from LbmLib::solver::MassAbstractSolver
virtual ~MassAbstractSolver ()
 ~MassAbstractSolver virtual Destructor
 
virtual void calculateMass (const std::vector< std::vector< nodes::PhysicalNode * > > &fluidGrid)=0
 the virtual method which calculates the masses on the Geometry Nodes More...
 

Protected Member Functions

 BaseMassSolver ()
 BaseMassSolver The Constructor which enforces that the specialisation is done.
 
virtual ~BaseMassSolver ()
 ~BaseMassSolver virtual Destructor
 
- Protected Member Functions inherited from LbmLib::solver::MassAbstractSolver
 MassAbstractSolver ()
 protected Constructor only use create method for instantiation
 

Static Protected Member Functions

static MassAbstractSolvercreate ()
 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 = BaseMassSolver<T>::init()
 reg True if registration was successful
 

Detailed Description

template<class T>
struct LbmLib::solver::BaseMassSolver< T >

The Base class for all Mass Solvers 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. Additionally, the class should provide a static member with the name which stores a unique name for the class. Preferentially, declare the constructor and the static member name private and make the BaseForceSolver a friend class of this. look at /c BaseCDESolver for an example.

Definition at line 77 of file MassAbstractSolver.hpp.

Member Function Documentation

template<class T>
static MassAbstractSolver* LbmLib::solver::BaseMassSolver< T >::create ( )
inlinestaticprotected

create Static constructor. A pointer to this function along with the name of the algorithm is registered with the Solver Factory.

Returns
Pointer to a new MassAbstractSolver instance. Responsibility for allocated memory lies with the caller.

Definition at line 107 of file MassAbstractSolver.hpp.

template<class T>
std::string LbmLib::solver::BaseMassSolver< T >::getName ( )
inlinevirtual

getName

Returns
returns the name of the solver.

Implements LbmLib::solver::MassAbstractSolver.

Definition at line 83 of file MassAbstractSolver.hpp.

template<class T>
static bool LbmLib::solver::BaseMassSolver< T >::init ( )
inlinestaticprotected

init Registers the class in the Solver Factory

Returns
True if successful

Definition at line 119 of file MassAbstractSolver.hpp.


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