35#ifndef SOLVERUTILS_DRIVER_H
36#define SOLVERUTILS_DRIVER_H
106 std::ostream &out = std::cout);
110 std::ostream &out = std::cout) = 0;
#define SOLVER_UTILS_EXPORT
Provides a generic Factory class.
Base class for the development of solvers.
LibUtilities::SessionReaderSharedPtr session_LinNS
Coupling between SFD and arnoldi.
SOLVER_UTILS_EXPORT Array< OneD, EquationSystemSharedPtr > GetEqu()
LibUtilities::SessionReaderSharedPtr m_session
Session reader object.
virtual SOLVER_UTILS_EXPORT void v_InitObject(std::ostream &out=std::cout)
Virtual function for initialisation implementation.
virtual SOLVER_UTILS_EXPORT void v_Execute(std::ostream &out=std::cout)=0
Virtual function for solve implementation.
static std::string evolutionOperatorLookupIds[]
Driver(const LibUtilities::SessionReaderSharedPtr pSession, const SpatialDomains::MeshGraphSharedPtr pGraph)
Initialises EquationSystem class members.
LibUtilities::CommSharedPtr m_comm
Communication object.
SpatialDomains::MeshGraphSharedPtr m_graph
MeshGraph object.
SOLVER_UTILS_EXPORT void InitObject(std::ostream &out=std::cout)
Initialise Object.
virtual ~Driver()=default
Destructor.
enum EvolutionOperatorType m_EvolutionOperator
Evolution Operator.
Array< OneD, EquationSystemSharedPtr > m_equ
Equation system to solve.
static std::string driverDefault
int m_nequ
number of equations
SOLVER_UTILS_EXPORT void Execute(std::ostream &out=std::cout)
Execute driver.
static std::string evolutionOperatorDef
std::shared_ptr< SessionReader > SessionReaderSharedPtr
std::shared_ptr< Comm > CommSharedPtr
Pointer to a Communicator object.
std::shared_ptr< Driver > DriverSharedPtr
A shared pointer to a Driver object.
DriverFactory & GetDriverFactory()
LibUtilities::NekFactory< std::string, Driver, const LibUtilities::SessionReaderSharedPtr &, const SpatialDomains::MeshGraphSharedPtr & > DriverFactory
Datatype of the NekFactory used to instantiate classes derived from the Driver class.
std::shared_ptr< MeshGraph > MeshGraphSharedPtr