Nektar++
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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.
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.

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

Constructor.

Definition at line 50 of file TimeIntegrationWrapper.cpp.

{
}

Member Function Documentation

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

Definition at line 90 of file TimeIntegrationWrapper.h.

References m_method.

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

Definition at line 95 of file TimeIntegrationWrapper.h.

References m_intSteps.

{
return 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.

{
return m_intScheme[m_intSteps - 1]
->InitializeScheme(timestep, y_0, time, op);
}
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.

{
return m_intScheme[min(timestep, m_intSteps - 1)]
->TimeIntegrate(delta_t, solvector, op);
}
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::TimeIntegrationMidpoint, Nektar::LibUtilities::TimeIntegrationDIRKOrder3, Nektar::LibUtilities::TimeIntegrationDIRKOrder2, Nektar::LibUtilities::TimeIntegrationClassicalRungeKutta4, Nektar::LibUtilities::TimeIntegrationRungeKutta2_ModifiedEuler, Nektar::LibUtilities::TimeIntegrationRungeKutta2_ImprovedEuler, 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 55 of file TimeIntegrationWrapper.cpp.

Referenced by InitObject().

{
}

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::TimeIntegrationRungeKutta2_ImprovedEuler::v_InitObject(), Nektar::LibUtilities::TimeIntegrationRungeKutta2_ModifiedEuler::v_InitObject(), Nektar::LibUtilities::TimeIntegrationClassicalRungeKutta4::v_InitObject(), Nektar::LibUtilities::TimeIntegrationDIRKOrder2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationDIRKOrder3::v_InitObject(), Nektar::LibUtilities::TimeIntegrationMidpoint::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::TimeIntegrationRungeKutta2_ImprovedEuler::v_InitObject(), Nektar::LibUtilities::TimeIntegrationRungeKutta2_ModifiedEuler::v_InitObject(), Nektar::LibUtilities::TimeIntegrationClassicalRungeKutta4::v_InitObject(), Nektar::LibUtilities::TimeIntegrationDIRKOrder2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationDIRKOrder3::v_InitObject(), Nektar::LibUtilities::TimeIntegrationMidpoint::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::TimeIntegrationRungeKutta2_ImprovedEuler::v_InitObject(), Nektar::LibUtilities::TimeIntegrationRungeKutta2_ModifiedEuler::v_InitObject(), Nektar::LibUtilities::TimeIntegrationClassicalRungeKutta4::v_InitObject(), Nektar::LibUtilities::TimeIntegrationDIRKOrder2::v_InitObject(), Nektar::LibUtilities::TimeIntegrationDIRKOrder3::v_InitObject(), Nektar::LibUtilities::TimeIntegrationMidpoint::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().