Nektar++
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Nektar::LibUtilities::TimeIntegrationWrapper Class Reference

#include <TimeIntegrationWrapper.h>

Inheritance diagram for Nektar::LibUtilities::TimeIntegrationWrapper:
Inheritance graph
[legend]
Collaboration diagram for Nektar::LibUtilities::TimeIntegrationWrapper:
Collaboration graph
[legend]

Public Member Functions

virtual ~TimeIntegrationWrapper ()
 
void InitObject ()
 
TimeIntegrationSolutionSharedPtr InitializeScheme (const NekDouble timestep, TimeIntegrationScheme::ConstDoubleArray &y_0, const NekDouble time, const TimeIntegrationSchemeOperators &op)
 
TimeIntegrationScheme::ConstDoubleArrayTimeIntegrate (const int timestep, const NekDouble delta_t, TimeIntegrationSolutionSharedPtr &solvector, const TimeIntegrationSchemeOperators &op)
 
TimeIntegrationMethod GetIntegrationMethod ()
 
unsigned int GetIntegrationSteps ()
 

Protected Member Functions

 TimeIntegrationWrapper ()
 Constructor. More...
 
virtual void v_InitObject ()
 

Protected Attributes

TimeIntegrationMethod m_method
 
int m_intSteps
 
std::vector
< TimeIntegrationSchemeSharedPtr
m_intScheme
 

Detailed Description

Definition at line 59 of file TimeIntegrationWrapper.h.

Constructor & Destructor Documentation

virtual Nektar::LibUtilities::TimeIntegrationWrapper::~TimeIntegrationWrapper ( )
inlinevirtual

Definition at line 62 of file TimeIntegrationWrapper.h.

62 {}
Nektar::LibUtilities::TimeIntegrationWrapper::TimeIntegrationWrapper ( )
protected

Constructor.

Definition at line 51 of file TimeIntegrationWrapper.cpp.

52  {
53 
54  }

Member Function Documentation

TimeIntegrationMethod Nektar::LibUtilities::TimeIntegrationWrapper::GetIntegrationMethod ( )
inline

Definition at line 90 of file TimeIntegrationWrapper.h.

References m_method.

91  {
92  return m_method;
93  }
unsigned int Nektar::LibUtilities::TimeIntegrationWrapper::GetIntegrationSteps ( )
inline

Definition at line 95 of file TimeIntegrationWrapper.h.

References m_intSteps.

TimeIntegrationSolutionSharedPtr Nektar::LibUtilities::TimeIntegrationWrapper::InitializeScheme ( const NekDouble  timestep,
TimeIntegrationScheme::ConstDoubleArray y_0,
const NekDouble  time,
const TimeIntegrationSchemeOperators op 
)
inline

Definition at line 69 of file TimeIntegrationWrapper.h.

References m_intScheme, and m_intSteps.

74  {
75  return m_intScheme[m_intSteps - 1]
76  ->InitializeScheme(timestep, y_0, time, op);
77  }
std::vector< TimeIntegrationSchemeSharedPtr > m_intScheme
void Nektar::LibUtilities::TimeIntegrationWrapper::InitObject ( )
inline

Definition at line 64 of file TimeIntegrationWrapper.h.

References v_InitObject().

TimeIntegrationScheme::ConstDoubleArray& Nektar::LibUtilities::TimeIntegrationWrapper::TimeIntegrate ( const int  timestep,
const NekDouble  delta_t,
TimeIntegrationSolutionSharedPtr solvector,
const TimeIntegrationSchemeOperators op 
)
inline

Definition at line 80 of file TimeIntegrationWrapper.h.

References m_intScheme, and m_intSteps.

85  {
86  return m_intScheme[min(timestep, m_intSteps - 1)]
87  ->TimeIntegrate(delta_t, solvector, op);
88  }
std::vector< TimeIntegrationSchemeSharedPtr > m_intScheme
void Nektar::LibUtilities::TimeIntegrationWrapper::v_InitObject ( )
protectedvirtual

Reimplemented in Nektar::LibUtilities::TimeIntegrationMCNAB, Nektar::LibUtilities::TimeIntegrationCNAB, Nektar::LibUtilities::TimeIntegrationIMEXGear, Nektar::LibUtilities::TimeIntegrationAdamsMoultonOrder2, Nektar::LibUtilities::TimeIntegrationAdamsBashforthOrder3, Nektar::LibUtilities::TimeIntegrationAdamsBashforthOrder2, Nektar::LibUtilities::TimeIntegrationDIRKOrder3, Nektar::LibUtilities::TimeIntegrationDIRKOrder2, Nektar::LibUtilities::TimeIntegrationRungeKutta4, Nektar::LibUtilities::TimeIntegrationClassicalRungeKutta4, Nektar::LibUtilities::TimeIntegrationRungeKutta3_SSP, Nektar::LibUtilities::TimeIntegrationRungeKutta2_SSP, Nektar::LibUtilities::TimeIntegrationRungeKutta2_ImprovedEuler, Nektar::LibUtilities::TimeIntegrationRungeKutta2, Nektar::LibUtilities::TimeIntegrationMidpoint, Nektar::LibUtilities::TimeIntegrationBDFImplicitOrder2, Nektar::LibUtilities::TimeIntegrationBDFImplicitOrder1, Nektar::LibUtilities::TimeIntegrationBackwardEuler, Nektar::LibUtilities::TimeIntegrationForwardEuler, Nektar::LibUtilities::TimeIntegrationIMEXdirk_3_4_3, Nektar::LibUtilities::TimeIntegrationIMEXdirk_2_3_2, Nektar::LibUtilities::TimeIntegrationIMEXdirk_2_3_3, Nektar::LibUtilities::TimeIntegrationIMEXdirk_2_2_2, Nektar::LibUtilities::TimeIntegrationIMEXdirk_4_4_3, Nektar::LibUtilities::TimeIntegrationIMEXdirk_1_2_2, Nektar::LibUtilities::TimeIntegrationIMEXdirk_1_2_1, Nektar::LibUtilities::TimeIntegrationIMEXdirk_1_1_1, Nektar::LibUtilities::TimeIntegrationIMEXOrder3, Nektar::LibUtilities::TimeIntegrationIMEXOrder2, and Nektar::LibUtilities::TimeIntegrationIMEXOrder1.

Definition at line 56 of file TimeIntegrationWrapper.cpp.

Referenced by InitObject().

57  {
58 
59  }

Member Data Documentation

std::vector<TimeIntegrationSchemeSharedPtr> Nektar::LibUtilities::TimeIntegrationWrapper::m_intScheme
protected

Definition at line 103 of file TimeIntegrationWrapper.h.

Referenced by InitializeScheme(), TimeIntegrate(), Nektar::LibUtilities::TimeIntegrationIMEXOrder1::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXOrder2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXOrder3::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXdirk_1_1_1::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXdirk_1_2_1::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXdirk_1_2_2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXdirk_4_4_3::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXdirk_2_2_2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXdirk_2_3_3::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXdirk_2_3_2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXdirk_3_4_3::v_InitObject(), Nektar::LibUtilities::TimeIntegrationForwardEuler::v_InitObject(), Nektar::LibUtilities::TimeIntegrationBackwardEuler::v_InitObject(), Nektar::LibUtilities::TimeIntegrationBDFImplicitOrder1::v_InitObject(), Nektar::LibUtilities::TimeIntegrationBDFImplicitOrder2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationMidpoint::v_InitObject(), Nektar::LibUtilities::TimeIntegrationRungeKutta2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationRungeKutta2_ImprovedEuler::v_InitObject(), Nektar::LibUtilities::TimeIntegrationRungeKutta2_SSP::v_InitObject(), Nektar::LibUtilities::TimeIntegrationRungeKutta3_SSP::v_InitObject(), Nektar::LibUtilities::TimeIntegrationClassicalRungeKutta4::v_InitObject(), Nektar::LibUtilities::TimeIntegrationRungeKutta4::v_InitObject(), Nektar::LibUtilities::TimeIntegrationDIRKOrder2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationDIRKOrder3::v_InitObject(), Nektar::LibUtilities::TimeIntegrationAdamsBashforthOrder2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationAdamsBashforthOrder3::v_InitObject(), Nektar::LibUtilities::TimeIntegrationAdamsMoultonOrder2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXGear::v_InitObject(), Nektar::LibUtilities::TimeIntegrationCNAB::v_InitObject(), and Nektar::LibUtilities::TimeIntegrationMCNAB::v_InitObject().

int Nektar::LibUtilities::TimeIntegrationWrapper::m_intSteps
protected

Definition at line 102 of file TimeIntegrationWrapper.h.

Referenced by GetIntegrationSteps(), InitializeScheme(), TimeIntegrate(), Nektar::LibUtilities::TimeIntegrationIMEXOrder1::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXOrder2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXOrder3::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXdirk_1_1_1::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXdirk_1_2_1::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXdirk_1_2_2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXdirk_4_4_3::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXdirk_2_2_2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXdirk_2_3_3::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXdirk_2_3_2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXdirk_3_4_3::v_InitObject(), Nektar::LibUtilities::TimeIntegrationForwardEuler::v_InitObject(), Nektar::LibUtilities::TimeIntegrationBackwardEuler::v_InitObject(), Nektar::LibUtilities::TimeIntegrationBDFImplicitOrder1::v_InitObject(), Nektar::LibUtilities::TimeIntegrationBDFImplicitOrder2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationMidpoint::v_InitObject(), Nektar::LibUtilities::TimeIntegrationRungeKutta2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationRungeKutta2_ImprovedEuler::v_InitObject(), Nektar::LibUtilities::TimeIntegrationRungeKutta2_SSP::v_InitObject(), Nektar::LibUtilities::TimeIntegrationRungeKutta3_SSP::v_InitObject(), Nektar::LibUtilities::TimeIntegrationClassicalRungeKutta4::v_InitObject(), Nektar::LibUtilities::TimeIntegrationRungeKutta4::v_InitObject(), Nektar::LibUtilities::TimeIntegrationDIRKOrder2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationDIRKOrder3::v_InitObject(), Nektar::LibUtilities::TimeIntegrationAdamsBashforthOrder2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationAdamsBashforthOrder3::v_InitObject(), Nektar::LibUtilities::TimeIntegrationAdamsMoultonOrder2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXGear::v_InitObject(), Nektar::LibUtilities::TimeIntegrationCNAB::v_InitObject(), and Nektar::LibUtilities::TimeIntegrationMCNAB::v_InitObject().

TimeIntegrationMethod Nektar::LibUtilities::TimeIntegrationWrapper::m_method
protected

Definition at line 101 of file TimeIntegrationWrapper.h.

Referenced by GetIntegrationMethod(), Nektar::LibUtilities::TimeIntegrationIMEXOrder1::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXOrder2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXOrder3::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXdirk_1_1_1::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXdirk_1_2_1::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXdirk_1_2_2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXdirk_4_4_3::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXdirk_2_2_2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXdirk_2_3_3::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXdirk_2_3_2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXdirk_3_4_3::v_InitObject(), Nektar::LibUtilities::TimeIntegrationForwardEuler::v_InitObject(), Nektar::LibUtilities::TimeIntegrationBackwardEuler::v_InitObject(), Nektar::LibUtilities::TimeIntegrationBDFImplicitOrder1::v_InitObject(), Nektar::LibUtilities::TimeIntegrationBDFImplicitOrder2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationMidpoint::v_InitObject(), Nektar::LibUtilities::TimeIntegrationRungeKutta2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationRungeKutta2_ImprovedEuler::v_InitObject(), Nektar::LibUtilities::TimeIntegrationRungeKutta2_SSP::v_InitObject(), Nektar::LibUtilities::TimeIntegrationRungeKutta3_SSP::v_InitObject(), Nektar::LibUtilities::TimeIntegrationClassicalRungeKutta4::v_InitObject(), Nektar::LibUtilities::TimeIntegrationRungeKutta4::v_InitObject(), Nektar::LibUtilities::TimeIntegrationDIRKOrder2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationDIRKOrder3::v_InitObject(), Nektar::LibUtilities::TimeIntegrationAdamsBashforthOrder2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationAdamsBashforthOrder3::v_InitObject(), Nektar::LibUtilities::TimeIntegrationAdamsMoultonOrder2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXGear::v_InitObject(), Nektar::LibUtilities::TimeIntegrationCNAB::v_InitObject(), and Nektar::LibUtilities::TimeIntegrationMCNAB::v_InitObject().