Nektar++
|
Base class for GLM time integration schemes. More...
#include <TimeIntegrationSchemeGLM.h>
Protected Member Functions | |
LUE std::string | v_GetVariant () const override |
LUE size_t | v_GetOrder () const override |
LUE std::vector< NekDouble > | v_GetFreeParams () const override |
LUE TimeIntegrationSchemeType | v_GetIntegrationSchemeType () const override |
LUE size_t | v_GetNumIntegrationPhases () const override |
LUE const TripleArray & | v_GetSolutionVector () const override |
LUE TripleArray & | v_UpdateSolutionVector () override |
LUE void | v_SetSolutionVector (const size_t Offset, const DoubleArray &y) override |
LUE void | v_InitializeScheme (const NekDouble deltaT, ConstDoubleArray &y_0, const NekDouble time, const TimeIntegrationSchemeOperators &op) override |
Worker method to initialize the integration scheme. More... | |
LUE ConstDoubleArray & | v_TimeIntegrate (const size_t timestep, const NekDouble delta_t) override |
Worker method that actually does the time integration. More... | |
virtual LUE void | v_InitializeSecondaryData (TimeIntegrationAlgorithmGLM *phase, NekDouble deltaT) const |
LUE void | v_print (std::ostream &os) const override |
Worker method to print details on the integration scheme. More... | |
LUE void | v_printFull (std::ostream &os) const override |
LUE | TimeIntegrationSchemeGLM (std::string variant, size_t order, std::vector< NekDouble > freeParams) |
~TimeIntegrationSchemeGLM () override | |
Protected Member Functions inherited from Nektar::LibUtilities::TimeIntegrationScheme | |
virtual LUE std::string | v_GetFullName () const |
virtual LUE std::string | v_GetName () const =0 |
virtual LUE std::string | v_GetVariant () const =0 |
virtual LUE size_t | v_GetOrder () const =0 |
virtual LUE std::vector< NekDouble > | v_GetFreeParams () const =0 |
virtual LUE TimeIntegrationSchemeType | v_GetIntegrationSchemeType () const =0 |
virtual LUE NekDouble | v_GetTimeStability () const =0 |
virtual LUE size_t | v_GetNumIntegrationPhases () const =0 |
virtual LUE const TripleArray & | v_GetSolutionVector () const =0 |
virtual LUE TripleArray & | v_UpdateSolutionVector ()=0 |
virtual LUE void | v_SetSolutionVector (const size_t Offset, const DoubleArray &y)=0 |
virtual LUE void | v_InitializeScheme (const NekDouble deltaT, ConstDoubleArray &y_0, const NekDouble time, const TimeIntegrationSchemeOperators &op)=0 |
virtual LUE ConstDoubleArray & | v_TimeIntegrate (const size_t timestep, const NekDouble delta_t)=0 |
virtual LUE void | v_print (std::ostream &os) const =0 |
virtual LUE void | v_printFull (std::ostream &os) const =0 |
LUE | TimeIntegrationScheme (std::string variant, size_t order, std::vector< NekDouble > freeParams) |
LUE | TimeIntegrationScheme (const TimeIntegrationScheme &in)=delete |
virtual | ~TimeIntegrationScheme ()=default |
Protected Attributes | |
TimeIntegrationAlgorithmGLMVector | m_integration_phases |
TimeIntegrationSolutionGLMSharedPtr | m_solVector |
Friends | |
LUE friend std::ostream & | operator<< (std::ostream &os, const TimeIntegrationSchemeGLM &rhs) |
LUE friend std::ostream & | operator<< (std::ostream &os, const TimeIntegrationSchemeGLMSharedPtr &rhs) |
Base class for GLM time integration schemes.
Definition at line 49 of file TimeIntegrationSchemeGLM.h.
|
inlineprotected |
Definition at line 105 of file TimeIntegrationSchemeGLM.h.
|
inlineoverrideprotected |
Definition at line 111 of file TimeIntegrationSchemeGLM.h.
|
inline |
Definition at line 52 of file TimeIntegrationSchemeGLM.h.
References v_InitializeSecondaryData().
Referenced by Nektar::LibUtilities::TimeIntegrationAlgorithmGLM::TimeIntegrate().
|
overrideprotectedvirtual |
Implements Nektar::LibUtilities::TimeIntegrationScheme.
Definition at line 57 of file TimeIntegrationSchemeGLM.cpp.
References ASSERTL0, and m_integration_phases.
|
overrideprotectedvirtual |
Implements Nektar::LibUtilities::TimeIntegrationScheme.
Definition at line 64 of file TimeIntegrationSchemeGLM.cpp.
References ASSERTL0, and m_integration_phases.
|
overrideprotectedvirtual |
Implements Nektar::LibUtilities::TimeIntegrationScheme.
Definition at line 72 of file TimeIntegrationSchemeGLM.cpp.
References m_integration_phases.
|
overrideprotectedvirtual |
Implements Nektar::LibUtilities::TimeIntegrationScheme.
Definition at line 50 of file TimeIntegrationSchemeGLM.cpp.
References ASSERTL0, and m_integration_phases.
|
inlineoverrideprotectedvirtual |
Implements Nektar::LibUtilities::TimeIntegrationScheme.
Definition at line 73 of file TimeIntegrationSchemeGLM.h.
References m_solVector.
|
overrideprotectedvirtual |
Implements Nektar::LibUtilities::TimeIntegrationScheme.
Definition at line 43 of file TimeIntegrationSchemeGLM.cpp.
References ASSERTL0, and m_integration_phases.
|
overrideprotectedvirtual |
Worker method to initialize the integration scheme.
Implements Nektar::LibUtilities::TimeIntegrationScheme.
Definition at line 80 of file TimeIntegrationSchemeGLM.cpp.
References m_integration_phases, and m_solVector.
|
protectedvirtual |
Reimplemented in Nektar::LibUtilities::EulerExponentialTimeIntegrationScheme.
Definition at line 107 of file TimeIntegrationSchemeGLM.cpp.
References ASSERTL0, and Nektar::LibUtilities::TimeIntegrationScheme::GetFullName().
Referenced by InitializeSecondaryData().
|
overrideprotectedvirtual |
Worker method to print details on the integration scheme.
Implements Nektar::LibUtilities::TimeIntegrationScheme.
Definition at line 118 of file TimeIntegrationSchemeGLM.cpp.
References Nektar::LibUtilities::TimeIntegrationScheme::GetFullName(), and m_integration_phases.
|
overrideprotectedvirtual |
Implements Nektar::LibUtilities::TimeIntegrationScheme.
Definition at line 130 of file TimeIntegrationSchemeGLM.cpp.
References Nektar::LibUtilities::TimeIntegrationScheme::GetFullName(), and m_integration_phases.
|
inlineoverrideprotectedvirtual |
Implements Nektar::LibUtilities::TimeIntegrationScheme.
Definition at line 84 of file TimeIntegrationSchemeGLM.h.
References m_solVector.
|
overrideprotectedvirtual |
Worker method that actually does the time integration.
Implements Nektar::LibUtilities::TimeIntegrationScheme.
Definition at line 96 of file TimeIntegrationSchemeGLM.cpp.
References m_integration_phases, and m_solVector.
|
inlineoverrideprotectedvirtual |
Implements Nektar::LibUtilities::TimeIntegrationScheme.
Definition at line 78 of file TimeIntegrationSchemeGLM.h.
References m_solVector.
|
friend |
Definition at line 145 of file TimeIntegrationSchemeGLM.cpp.
|
friend |
Definition at line 152 of file TimeIntegrationSchemeGLM.cpp.
|
protected |
Definition at line 115 of file TimeIntegrationSchemeGLM.h.
Referenced by Nektar::LibUtilities::AdamsBashforthTimeIntegrationScheme::AdamsBashforthTimeIntegrationScheme(), Nektar::LibUtilities::AdamsMoultonTimeIntegrationScheme::AdamsMoultonTimeIntegrationScheme(), Nektar::LibUtilities::BDFImplicitTimeIntegrationScheme::BDFImplicitTimeIntegrationScheme(), Nektar::LibUtilities::CNABTimeIntegrationScheme::CNABTimeIntegrationScheme(), Nektar::LibUtilities::DIRKTimeIntegrationScheme::DIRKTimeIntegrationScheme(), Nektar::LibUtilities::EulerExponentialTimeIntegrationScheme::EulerExponentialTimeIntegrationScheme(), Nektar::LibUtilities::EulerTimeIntegrationScheme::EulerTimeIntegrationScheme(), Nektar::LibUtilities::IMEXdirkTimeIntegrationScheme::IMEXdirkTimeIntegrationScheme(), Nektar::LibUtilities::IMEXGearTimeIntegrationScheme::IMEXGearTimeIntegrationScheme(), Nektar::LibUtilities::IMEXTimeIntegrationScheme::IMEXTimeIntegrationScheme(), Nektar::LibUtilities::MCNABTimeIntegrationScheme::MCNABTimeIntegrationScheme(), Nektar::LibUtilities::RungeKuttaTimeIntegrationScheme::RungeKuttaTimeIntegrationScheme(), Nektar::LibUtilities::EulerExponentialTimeIntegrationScheme::SetExponentialCoefficients(), v_GetFreeParams(), Nektar::LibUtilities::EulerTimeIntegrationScheme::v_GetFullName(), Nektar::LibUtilities::IMEXdirkTimeIntegrationScheme::v_GetFullName(), Nektar::LibUtilities::IMEXTimeIntegrationScheme::v_GetFullName(), v_GetIntegrationSchemeType(), v_GetNumIntegrationPhases(), v_GetOrder(), v_GetVariant(), v_InitializeScheme(), v_print(), v_printFull(), and v_TimeIntegrate().
|
protected |
Definition at line 117 of file TimeIntegrationSchemeGLM.h.
Referenced by v_GetSolutionVector(), v_InitializeScheme(), v_SetSolutionVector(), v_TimeIntegrate(), and v_UpdateSolutionVector().