22 #ifndef ABSTRACTSOLVER_HPP
23 #define ABSTRACTSOLVER_HPP
25 #include <LbmLib/include/Direction.hpp>
59 virtual void loadSolver(std::stringstream*
const stream) = 0;
66 virtual void writeSolver(std::ostream*
const stream) = 0;
112 #endif // ABSTRACTSOLVER_HPP
the base class of the cde and fluid solvers
virtual void loadSolver(std::stringstream *const stream)=0
loads the solver from the stream
virtual double & accessDistribution(const Direction &dir)=0
accessDistribution Access to the distribution
virtual ~AbstractSolver()
~AbstractSolver Destructor
void setTau(double tau)
setTau Setter method for the tau parameter of the solver
virtual void collide()=0
collide The collision step of the LBM
double getTau() const
getTau Getter method for the tau parameter
AbstractSolver()
AbstractSolver Protected to disable direct instantiation.
virtual void rescaleDistributions(const double factor)=0
Rescales all distributions by a factor.
virtual void initSolver()=0
initSolver Use this to initalise the solver
virtual void advect()=0
advect The advect step of the LBM
virtual void writeSolver(std::ostream *const stream)=0
writes the solver to the stream