35 #ifndef NEKTAR_LIB_UTILITIES_TIME_INTEGRATION_TIME_INTEGRATION_SCHEME_GLM
36 #define NEKTAR_LIB_UTILITIES_TIME_INTEGRATION_TIME_INTEGRATION_SCHEME_GLM
38 #define LUE LIB_UTILITIES_EXPORT
45 namespace LibUtilities
85 const int timestep,
const NekDouble delta_t,
91 LUE virtual void print(std::ostream &os)
const;
103 std::vector<NekDouble> freeParams) :
106 boost::ignore_unused(variant, order, freeParams);
Base class for GLM time integration schemes.
TimeIntegrationAlgorithmGLMVector m_integration_phases
virtual LUE std::string GetName() const =0
virtual LUE void InitializeScheme(const NekDouble deltaT, ConstDoubleArray &y_0, const NekDouble time, const TimeIntegrationSchemeOperators &op)
Worker method to initialize the integration scheme.
virtual LUE unsigned int GetOrder() const
virtual LUE void print(std::ostream &os) const
Worker method to print details on the integration scheme.
LUE friend std::ostream & operator<<(std::ostream &os, const TimeIntegrationSchemeGLM &rhs)
virtual LUE NekDouble GetTimeStability() const =0
LUE unsigned int GetNumIntegrationPhases() const
virtual LUE ConstDoubleArray & TimeIntegrate(const int timestep, const NekDouble delta_t, const TimeIntegrationSchemeOperators &op)
Worker method that actually does the time integration.
virtual LUE void InitializeSecondaryData(TimeIntegrationAlgorithmGLM *phase, NekDouble deltaT) const
TimeIntegrationSolutionGLMSharedPtr m_solVector
void SetSolutionVector(const int Offset, const DoubleArray &y)
Sets the solution vector of the ODE.
virtual LUE std::vector< NekDouble > GetFreeParams() const
virtual LUE std::string GetVariant() const
const TripleArray & GetSolutionVector() const
Gets the solution vector of the ODE.
LUE TimeIntegrationSchemeGLM(std::string variant, unsigned int order, std::vector< NekDouble > freeParams)
virtual ~TimeIntegrationSchemeGLM()
virtual LUE void printFull(std::ostream &os) const
virtual LUE TimeIntegrationSchemeType GetIntegrationSchemeType() const
Base class for time integration schemes.
Binds a set of functions for use by time integration schemes.
TimeIntegrationSchemeType
std::shared_ptr< TimeIntegrationSolutionGLM > TimeIntegrationSolutionGLMSharedPtr
std::vector< TimeIntegrationAlgorithmGLMSharedPtr > TimeIntegrationAlgorithmGLMVector
std::shared_ptr< TimeIntegrationSchemeGLM > TimeIntegrationSchemeGLMSharedPtr
std::ostream & operator<<(std::ostream &os, const BasisKey &rhs)
The above copyright notice and this permission notice shall be included.