35 #ifndef NEKTAR_LIB_UTILITIES_FOUNDATIONS_TIMEINTEGRATIONWRAPPER_H
36 #define NEKTAR_LIB_UTILITIES_FOUNDATIONS_TIMEINTEGRATIONWRAPPER_H
43 namespace LibUtilities {
45 class TimeIntegrationWrapper;
50 std::string, TimeIntegrationWrapper
55 typedef std::shared_ptr<TimeIntegrationWrapper>
75 ->InitializeScheme(timestep, y_0, time, op);
86 ->TimeIntegrate(delta_t, solvector, op);
96 return m_intScheme.back()->GetIntegrationSchemeType();
120 typedef std::shared_ptr<TimeIntegrationIMEXOrder1>
#define LIB_UTILITIES_EXPORT
Provides a generic Factory class.
static TimeIntegrationWrapperSharedPtr create()
Creates an instance of this class.
static std::string className
Name of class.
virtual void v_InitObject()
virtual ~TimeIntegrationAdamsBashforthOrder2()
static TimeIntegrationWrapperSharedPtr create()
Creates an instance of this class.
virtual void v_InitObject()
static std::string className
Name of class.
virtual ~TimeIntegrationAdamsBashforthOrder3()
static std::string className
Name of class.
virtual ~TimeIntegrationAdamsBashforthOrder4()
virtual void v_InitObject()
static TimeIntegrationWrapperSharedPtr create()
Creates an instance of this class.
virtual ~TimeIntegrationAdamsMoultonOrder2()
virtual void v_InitObject()
static std::string className
Name of class.
static TimeIntegrationWrapperSharedPtr create()
Creates an instance of this class.
static std::string className
Name of class.
static TimeIntegrationWrapperSharedPtr create()
Creates an instance of this class.
virtual void v_InitObject()
virtual ~TimeIntegrationBDFImplicitOrder1()
virtual void v_InitObject()
virtual ~TimeIntegrationBDFImplicitOrder2()
static std::string className
Name of class.
static TimeIntegrationWrapperSharedPtr create()
Creates an instance of this class.
static std::string className
Name of class.
virtual ~TimeIntegrationBackwardEuler()
static TimeIntegrationWrapperSharedPtr create()
Creates an instance of this class.
virtual void v_InitObject()
virtual void v_InitObject()
static TimeIntegrationWrapperSharedPtr create()
Creates an instance of this class.
virtual ~TimeIntegrationCNAB()
static std::string className
Name of class.
virtual ~TimeIntegrationClassicalRungeKutta4()
static std::string className
Name of class.
virtual void v_InitObject()
static TimeIntegrationWrapperSharedPtr create()
Creates an instance of this class.
static TimeIntegrationWrapperSharedPtr create()
Creates an instance of this class.
static std::string className
Name of class.
virtual void v_InitObject()
virtual ~TimeIntegrationDIRKOrder2()
virtual void v_InitObject()
virtual ~TimeIntegrationDIRKOrder3()
static std::string className
Name of class.
static TimeIntegrationWrapperSharedPtr create()
Creates an instance of this class.
static std::string className
Name of class.
virtual void v_InitObject()
static TimeIntegrationWrapperSharedPtr create()
Creates an instance of this class.
virtual ~TimeIntegrationForwardEuler()
virtual void v_InitObject()
static TimeIntegrationWrapperSharedPtr create()
Creates an instance of this class.
virtual ~TimeIntegrationIMEXGear()
static std::string className
Name of class.
static std::string className
Name of class.
static TimeIntegrationWrapperSharedPtr create()
Creates an instance of this class.
virtual ~TimeIntegrationIMEXOrder1()
virtual void v_InitObject()
static TimeIntegrationWrapperSharedPtr create()
Creates an instance of this class.
virtual void v_InitObject()
static std::string className
Name of class.
virtual ~TimeIntegrationIMEXOrder2()
virtual ~TimeIntegrationIMEXOrder3()
static TimeIntegrationWrapperSharedPtr create()
Creates an instance of this class.
virtual void v_InitObject()
static std::string className
Name of class.
virtual void v_InitObject()
virtual ~TimeIntegrationIMEXOrder4()
static std::string className
Name of class.
static TimeIntegrationWrapperSharedPtr create()
Creates an instance of this class.
virtual void v_InitObject()
virtual ~TimeIntegrationIMEXdirk_1_1_1()
static std::string className
Name of class.
static TimeIntegrationWrapperSharedPtr create()
Creates an instance of this class.
static std::string className
Name of class.
virtual ~TimeIntegrationIMEXdirk_1_2_1()
static TimeIntegrationWrapperSharedPtr create()
Creates an instance of this class.
virtual void v_InitObject()
static std::string className
Name of class.
static TimeIntegrationWrapperSharedPtr create()
Creates an instance of this class.
virtual ~TimeIntegrationIMEXdirk_1_2_2()
virtual void v_InitObject()
static TimeIntegrationWrapperSharedPtr create()
Creates an instance of this class.
virtual ~TimeIntegrationIMEXdirk_2_2_2()
virtual void v_InitObject()
static std::string className
Name of class.
static std::string className
Name of class.
virtual ~TimeIntegrationIMEXdirk_2_3_2()
virtual void v_InitObject()
static TimeIntegrationWrapperSharedPtr create()
Creates an instance of this class.
virtual void v_InitObject()
virtual ~TimeIntegrationIMEXdirk_2_3_3()
static std::string className
Name of class.
static TimeIntegrationWrapperSharedPtr create()
Creates an instance of this class.
static std::string className
Name of class.
virtual ~TimeIntegrationIMEXdirk_3_4_3()
virtual void v_InitObject()
static TimeIntegrationWrapperSharedPtr create()
Creates an instance of this class.
static TimeIntegrationWrapperSharedPtr create()
Creates an instance of this class.
virtual void v_InitObject()
virtual ~TimeIntegrationIMEXdirk_4_4_3()
static std::string className
Name of class.
virtual void v_InitObject()
virtual ~TimeIntegrationMCNAB()
static TimeIntegrationWrapperSharedPtr create()
Creates an instance of this class.
static std::string className
Name of class.
static std::string className
Name of class.
virtual void v_InitObject()
virtual ~TimeIntegrationMidpoint()
static TimeIntegrationWrapperSharedPtr create()
Creates an instance of this class.
virtual void v_InitObject()
static std::string className
Name of class.
static TimeIntegrationWrapperSharedPtr create()
Creates an instance of this class.
virtual ~TimeIntegrationRungeKutta2_ImprovedEuler()
virtual void v_InitObject()
virtual ~TimeIntegrationRungeKutta2_SSP()
static std::string className
Name of class.
static TimeIntegrationWrapperSharedPtr create()
Creates an instance of this class.
virtual void v_InitObject()
static TimeIntegrationWrapperSharedPtr create()
Creates an instance of this class.
virtual ~TimeIntegrationRungeKutta2()
static std::string className
Name of class.
static TimeIntegrationWrapperSharedPtr create()
Creates an instance of this class.
virtual ~TimeIntegrationRungeKutta3_SSP()
virtual void v_InitObject()
static std::string className
Name of class.
virtual ~TimeIntegrationRungeKutta4()
static std::string className
Name of class.
virtual void v_InitObject()
static TimeIntegrationWrapperSharedPtr create()
Creates an instance of this class.
static TimeIntegrationWrapperSharedPtr create()
Creates an instance of this class.
static std::string className
Name of class.
virtual void v_InitObject()
virtual ~TimeIntegrationRungeKutta5()
virtual ~TimeIntegrationWrapper()
TimeIntegrationMethod GetIntegrationMethod()
TimeIntegrationMethod m_method
TimeIntegrationSchemeType GetIntegrationSchemeType() const
virtual void v_InitObject()
TimeIntegrationScheme::ConstDoubleArray & TimeIntegrate(const int timestep, const NekDouble delta_t, TimeIntegrationSolutionSharedPtr &solvector, const TimeIntegrationSchemeOperators &op)
unsigned int GetIntegrationSteps()
TimeIntegrationSolutionSharedPtr InitializeScheme(const NekDouble timestep, TimeIntegrationScheme::ConstDoubleArray &y_0, const NekDouble time, const TimeIntegrationSchemeOperators &op)
std::vector< TimeIntegrationSchemeSharedPtr > m_intScheme
TimeIntegrationWrapper()
Constructor.
General purpose memory allocation routines with the ability to allocate from thread specific memory p...
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.
NekFactory< std::string, TimeIntegrationWrapper > TimeIntegrationWrapperFactory
Datatype of the NekFactory used to instantiate classes derived from the EquationSystem class.
std::shared_ptr< TimeIntegrationWrapper > TimeIntegrationWrapperSharedPtr
TimeIntegrationSchemeType
TimeIntegrationWrapperFactory & GetTimeIntegrationWrapperFactory()
std::shared_ptr< TimeIntegrationIMEXOrder1 > TimeIntegrationIMEXOrder1SharedPtr
std::shared_ptr< TimeIntegrationSolution > TimeIntegrationSolutionSharedPtr