Nektar++
|
Base class for the development of solvers. More...
#include <Driver.h>
Public Member Functions | |
virtual | ~Driver ()=default |
Destructor. More... | |
SOLVER_UTILS_EXPORT void | InitObject (std::ostream &out=std::cout) |
Initialise Object. More... | |
SOLVER_UTILS_EXPORT void | Execute (std::ostream &out=std::cout) |
Execute driver. More... | |
SOLVER_UTILS_EXPORT Array< OneD, EquationSystemSharedPtr > | GetEqu () |
Protected Member Functions | |
Driver (const LibUtilities::SessionReaderSharedPtr pSession, const SpatialDomains::MeshGraphSharedPtr pGraph) | |
Initialises EquationSystem class members. More... | |
virtual SOLVER_UTILS_EXPORT void | v_InitObject (std::ostream &out=std::cout) |
Virtual function for initialisation implementation. More... | |
virtual SOLVER_UTILS_EXPORT void | v_Execute (std::ostream &out=std::cout)=0 |
Virtual function for solve implementation. More... | |
Protected Attributes | |
LibUtilities::CommSharedPtr | m_comm |
Communication object. More... | |
LibUtilities::SessionReaderSharedPtr | m_session |
Session reader object. More... | |
LibUtilities::SessionReaderSharedPtr | session_LinNS |
Coupling between SFD and arnoldi. More... | |
SpatialDomains::MeshGraphSharedPtr | m_graph |
MeshGraph object. More... | |
Array< OneD, EquationSystemSharedPtr > | m_equ |
Equation system to solve. More... | |
int | m_nequ |
number of equations More... | |
enum EvolutionOperatorType | m_EvolutionOperator |
Evolution Operator. More... | |
Static Protected Attributes | |
static std::string | evolutionOperatorLookupIds [] |
static std::string | evolutionOperatorDef |
static std::string | driverDefault |
|
virtualdefault |
Destructor.
|
protected |
Initialises EquationSystem class members.
Definition at line 75 of file Driver.cpp.
|
inline |
Execute driver.
Definition at line 122 of file Driver.h.
References v_Execute().
|
inline |
Definition at line 127 of file Driver.h.
References m_equ.
|
inline |
Initialise Object.
Definition at line 117 of file Driver.h.
References v_InitObject().
|
protectedpure virtual |
Virtual function for solve implementation.
Implemented in Nektar::SolverUtils::DriverAdaptive, Nektar::SolverUtils::DriverArnoldi, Nektar::SolverUtils::DriverArpack, Nektar::SolverUtils::DriverModifiedArnoldi, Nektar::SolverUtils::DriverParallelInTime, Nektar::SolverUtils::DriverParareal, Nektar::SolverUtils::DriverPFASST, Nektar::SolverUtils::DriverStandard, and Nektar::SolverUtils::DriverSteadyState.
Referenced by Execute().
|
protectedvirtual |
Virtual function for initialisation implementation.
Reimplemented in Nektar::SolverUtils::DriverAdaptive, Nektar::SolverUtils::DriverArnoldi, Nektar::SolverUtils::DriverArpack, Nektar::SolverUtils::DriverModifiedArnoldi, Nektar::SolverUtils::DriverParallelInTime, Nektar::SolverUtils::DriverParareal, Nektar::SolverUtils::DriverPFASST, Nektar::SolverUtils::DriverStandard, and Nektar::SolverUtils::DriverSteadyState.
Definition at line 84 of file Driver.cpp.
References ASSERTL0, Nektar::LibUtilities::SessionReader::CreateInstance(), Nektar::LibUtilities::NekFactory< tKey, tBase, tParam >::CreateInstance(), Nektar::SolverUtils::eAdaptiveSFD, Nektar::SolverUtils::eAdjoint, Nektar::SolverUtils::eDirect, Nektar::SolverUtils::eNonlinear, Nektar::SolverUtils::eSkewSymmetric, Nektar::SolverUtils::eTransientGrowth, Nektar::SolverUtils::GetEquationSystemFactory(), m_comm, m_equ, m_EvolutionOperator, m_graph, m_nequ, m_session, Nektar::SpatialDomains::MeshGraphIO::Read(), and session_LinNS.
Referenced by InitObject(), Nektar::SolverUtils::DriverAdaptive::v_Execute(), Nektar::SolverUtils::DriverAdaptive::v_InitObject(), Nektar::SolverUtils::DriverArnoldi::v_InitObject(), and Nektar::SolverUtils::DriverStandard::v_InitObject().
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
protected |
Communication object.
Definition at line 80 of file Driver.h.
Referenced by Nektar::SolverUtils::DriverParareal::ApplyWindowing(), Nektar::SolverUtils::DriverPFASST::ApplyWindowing(), Nektar::SolverUtils::DriverArnoldi::ArnoldiSummary(), Nektar::SolverUtils::DriverSteadyState::ConvergenceHistory(), Nektar::SolverUtils::DriverParareal::CopyConvergedCheckPoints(), Nektar::SolverUtils::DriverParallelInTime::EstimateCommunicationTime(), Nektar::SolverUtils::DriverModifiedArnoldi::EV_big(), Nektar::SolverUtils::DriverModifiedArnoldi::EV_post(), Nektar::SolverUtils::DriverModifiedArnoldi::EV_small(), Nektar::SolverUtils::DriverModifiedArnoldi::EV_test(), Nektar::SolverUtils::DriverParallelInTime::PrintErrorNorm(), Nektar::SolverUtils::DriverParallelInTime::PrintHeader(), Nektar::SolverUtils::DriverParallelInTime::PrintSolverInfo(), Nektar::SolverUtils::DriverParallelInTime::RecvFromPreviousProc(), Nektar::SolverUtils::DriverParallelInTime::SendToNextProc(), Nektar::SolverUtils::DriverAdaptive::v_Execute(), Nektar::SolverUtils::DriverArpack::v_Execute(), Nektar::SolverUtils::DriverModifiedArnoldi::v_Execute(), Nektar::SolverUtils::DriverParareal::v_Execute(), Nektar::SolverUtils::DriverPFASST::v_Execute(), Nektar::SolverUtils::DriverStandard::v_Execute(), Nektar::SolverUtils::DriverSteadyState::v_Execute(), v_InitObject(), Nektar::SolverUtils::DriverArpack::v_InitObject(), Nektar::SolverUtils::DriverModifiedArnoldi::v_InitObject(), and Nektar::SolverUtils::DriverParallelInTime::v_InitObject().
|
protected |
Equation system to solve.
Definition at line 92 of file Driver.h.
Referenced by Nektar::SolverUtils::DriverSteadyState::ComputeSFD(), Nektar::SolverUtils::DriverSteadyState::ConvergenceHistory(), Nektar::SolverUtils::DriverArnoldi::CopyArnoldiArrayToField(), Nektar::SolverUtils::DriverArnoldi::CopyFieldToArnoldiArray(), Nektar::SolverUtils::DriverArnoldi::CopyFwdToAdj(), Nektar::SolverUtils::DriverModifiedArnoldi::EV_post(), Nektar::SolverUtils::DriverModifiedArnoldi::EV_update(), GetEqu(), Nektar::SolverUtils::DriverArnoldi::MaskInit(), Nektar::SolverUtils::DriverAdaptive::ReplaceExpansion(), Nektar::SolverUtils::DriverParallelInTime::SetParallelInTimeEquationSystem(), Nektar::SolverUtils::DriverAdaptive::v_Execute(), Nektar::SolverUtils::DriverArpack::v_Execute(), Nektar::SolverUtils::DriverModifiedArnoldi::v_Execute(), Nektar::SolverUtils::DriverStandard::v_Execute(), Nektar::SolverUtils::DriverSteadyState::v_Execute(), v_InitObject(), Nektar::SolverUtils::DriverArnoldi::v_InitObject(), Nektar::SolverUtils::DriverArpack::v_InitObject(), Nektar::SolverUtils::DriverModifiedArnoldi::v_InitObject(), Nektar::SolverUtils::DriverParallelInTime::v_InitObject(), and Nektar::SolverUtils::DriverArnoldi::WriteFld().
|
protected |
Evolution Operator.
Definition at line 98 of file Driver.h.
Referenced by Nektar::SolverUtils::DriverArnoldi::CopyFieldToArnoldiArray(), Nektar::SolverUtils::DriverModifiedArnoldi::EV_update(), Nektar::SolverUtils::DriverSteadyState::PrintSummarySFD(), Nektar::SolverUtils::DriverArpack::v_Execute(), Nektar::SolverUtils::DriverSteadyState::v_Execute(), v_InitObject(), and Nektar::SolverUtils::DriverParallelInTime::v_InitObject().
|
protected |
MeshGraph object.
Definition at line 89 of file Driver.h.
Referenced by Nektar::SolverUtils::DriverParallelInTime::SetParallelInTimeEquationSystem(), Nektar::SolverUtils::DriverAdaptive::v_Execute(), and v_InitObject().
|
protected |
number of equations
Definition at line 95 of file Driver.h.
Referenced by Nektar::SolverUtils::DriverSteadyState::ComputeSFD(), Nektar::SolverUtils::DriverSteadyState::ConvergenceHistory(), Nektar::SolverUtils::DriverArnoldi::CopyFieldToArnoldiArray(), Nektar::SolverUtils::DriverSteadyState::v_Execute(), v_InitObject(), Nektar::SolverUtils::DriverArpack::v_InitObject(), and Nektar::SolverUtils::DriverModifiedArnoldi::v_InitObject().
|
protected |
Session reader object.
Definition at line 83 of file Driver.h.
Referenced by Nektar::SolverUtils::DriverArnoldi::ArnoldiSummary(), Nektar::SolverUtils::DriverArnoldi::DriverArnoldi(), Nektar::SolverUtils::DriverModifiedArnoldi::EV_big(), Nektar::SolverUtils::DriverModifiedArnoldi::EV_post(), Nektar::SolverUtils::DriverArnoldi::GetMaskInfo(), Nektar::SolverUtils::DriverParallelInTime::GetParametersFromSession(), Nektar::SolverUtils::DriverSteadyState::ReadEVfile(), Nektar::SolverUtils::DriverAdaptive::ReplaceExpansion(), Nektar::SolverUtils::DriverParallelInTime::SetParallelInTimeEquationSystem(), Nektar::SolverUtils::DriverAdaptive::v_Execute(), Nektar::SolverUtils::DriverArpack::v_Execute(), Nektar::SolverUtils::DriverModifiedArnoldi::v_Execute(), Nektar::SolverUtils::DriverSteadyState::v_Execute(), v_InitObject(), Nektar::SolverUtils::DriverArnoldi::v_InitObject(), Nektar::SolverUtils::DriverArpack::v_InitObject(), Nektar::SolverUtils::DriverParallelInTime::v_InitObject(), and Nektar::SolverUtils::DriverPFASST::WriteOutput().
|
protected |
Coupling between SFD and arnoldi.
Definition at line 86 of file Driver.h.
Referenced by v_InitObject().