Nektar++
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:
[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 ()
 
TimeIntegrationSchemeType GetIntegrationSchemeType () const
 
unsigned int GetIntegrationSteps ()
 

Protected Member Functions

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

Protected Attributes

TimeIntegrationMethod m_method
 
int m_intSteps
 
std::vector< TimeIntegrationSchemeSharedPtrm_intScheme
 

Detailed Description

Definition at line 58 of file TimeIntegrationWrapper.h.

Constructor & Destructor Documentation

◆ ~TimeIntegrationWrapper()

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

Definition at line 61 of file TimeIntegrationWrapper.h.

61 {}

◆ TimeIntegrationWrapper()

Nektar::LibUtilities::TimeIntegrationWrapper::TimeIntegrationWrapper ( )
protected

Constructor.

Definition at line 47 of file TimeIntegrationWrapper.cpp.

48  {
49 
50  }

Member Function Documentation

◆ GetIntegrationMethod()

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

Definition at line 89 of file TimeIntegrationWrapper.h.

References m_method.

90  {
91  return m_method;
92  }

◆ GetIntegrationSchemeType()

TimeIntegrationSchemeType Nektar::LibUtilities::TimeIntegrationWrapper::GetIntegrationSchemeType ( ) const
inline

Definition at line 94 of file TimeIntegrationWrapper.h.

References m_intScheme.

95  {
96  return m_intScheme.back()->GetIntegrationSchemeType();
97  }
std::vector< TimeIntegrationSchemeSharedPtr > m_intScheme

◆ GetIntegrationSteps()

unsigned int Nektar::LibUtilities::TimeIntegrationWrapper::GetIntegrationSteps ( )
inline

Definition at line 99 of file TimeIntegrationWrapper.h.

References m_intSteps.

◆ InitializeScheme()

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

Definition at line 68 of file TimeIntegrationWrapper.h.

References LIB_UTILITIES_EXPORT, m_intScheme, and m_intSteps.

73  {
74  return m_intScheme[m_intSteps - 1]
75  ->InitializeScheme(timestep, y_0, time, op);
76  }
std::vector< TimeIntegrationSchemeSharedPtr > m_intScheme

◆ InitObject()

void Nektar::LibUtilities::TimeIntegrationWrapper::InitObject ( )
inline

Definition at line 63 of file TimeIntegrationWrapper.h.

References v_InitObject().

◆ TimeIntegrate()

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

Definition at line 79 of file TimeIntegrationWrapper.h.

References m_intScheme, and m_intSteps.

84  {
85  return m_intScheme[std::min(timestep, m_intSteps - 1)]
86  ->TimeIntegrate(delta_t, solvector, op);
87  }
std::vector< TimeIntegrationSchemeSharedPtr > m_intScheme

◆ v_InitObject()

void Nektar::LibUtilities::TimeIntegrationWrapper::v_InitObject ( )
protectedvirtual

Reimplemented in Nektar::LibUtilities::TimeIntegrationMCNAB, Nektar::LibUtilities::TimeIntegrationCNAB, Nektar::LibUtilities::TimeIntegrationIMEXGear, Nektar::LibUtilities::TimeIntegrationAdamsMoultonOrder2, Nektar::LibUtilities::TimeIntegrationAdamsBashforthOrder4, Nektar::LibUtilities::TimeIntegrationAdamsBashforthOrder3, Nektar::LibUtilities::TimeIntegrationAdamsBashforthOrder2, Nektar::LibUtilities::TimeIntegrationDIRKOrder3, Nektar::LibUtilities::TimeIntegrationDIRKOrder2, Nektar::LibUtilities::TimeIntegrationRungeKutta5, 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::TimeIntegrationIMEXOrder4, Nektar::LibUtilities::TimeIntegrationIMEXOrder3, Nektar::LibUtilities::TimeIntegrationIMEXOrder2, and Nektar::LibUtilities::TimeIntegrationIMEXOrder1.

Definition at line 52 of file TimeIntegrationWrapper.cpp.

References Nektar::LibUtilities::TimeIntegrationIMEXOrder1::className, Nektar::LibUtilities::TimeIntegrationIMEXOrder1::create(), Nektar::LibUtilities::GetTimeIntegrationWrapperFactory(), and Nektar::LibUtilities::NekFactory< tKey, tBase, tParam >::RegisterCreatorFunction().

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

53  {
54 
55  }

Member Data Documentation

◆ m_intScheme

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

Definition at line 107 of file TimeIntegrationWrapper.h.

Referenced by GetIntegrationSchemeType(), InitializeScheme(), TimeIntegrate(), Nektar::LibUtilities::TimeIntegrationIMEXOrder1::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXOrder2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXOrder3::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXOrder4::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::TimeIntegrationRungeKutta5::v_InitObject(), Nektar::LibUtilities::TimeIntegrationDIRKOrder2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationDIRKOrder3::v_InitObject(), Nektar::LibUtilities::TimeIntegrationAdamsBashforthOrder2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationAdamsBashforthOrder3::v_InitObject(), Nektar::LibUtilities::TimeIntegrationAdamsBashforthOrder4::v_InitObject(), Nektar::LibUtilities::TimeIntegrationAdamsMoultonOrder2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXGear::v_InitObject(), Nektar::LibUtilities::TimeIntegrationCNAB::v_InitObject(), and Nektar::LibUtilities::TimeIntegrationMCNAB::v_InitObject().

◆ m_intSteps

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

Definition at line 106 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::TimeIntegrationIMEXOrder4::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::TimeIntegrationRungeKutta5::v_InitObject(), Nektar::LibUtilities::TimeIntegrationDIRKOrder2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationDIRKOrder3::v_InitObject(), Nektar::LibUtilities::TimeIntegrationAdamsBashforthOrder2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationAdamsBashforthOrder3::v_InitObject(), Nektar::LibUtilities::TimeIntegrationAdamsBashforthOrder4::v_InitObject(), Nektar::LibUtilities::TimeIntegrationAdamsMoultonOrder2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXGear::v_InitObject(), Nektar::LibUtilities::TimeIntegrationCNAB::v_InitObject(), and Nektar::LibUtilities::TimeIntegrationMCNAB::v_InitObject().

◆ m_method

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

Definition at line 105 of file TimeIntegrationWrapper.h.

Referenced by GetIntegrationMethod(), Nektar::LibUtilities::TimeIntegrationIMEXOrder1::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXOrder2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXOrder3::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXOrder4::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::TimeIntegrationRungeKutta5::v_InitObject(), Nektar::LibUtilities::TimeIntegrationDIRKOrder2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationDIRKOrder3::v_InitObject(), Nektar::LibUtilities::TimeIntegrationAdamsBashforthOrder2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationAdamsBashforthOrder3::v_InitObject(), Nektar::LibUtilities::TimeIntegrationAdamsBashforthOrder4::v_InitObject(), Nektar::LibUtilities::TimeIntegrationAdamsMoultonOrder2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationIMEXGear::v_InitObject(), Nektar::LibUtilities::TimeIntegrationCNAB::v_InitObject(), and Nektar::LibUtilities::TimeIntegrationMCNAB::v_InitObject().