35#ifndef NEKTAR_LIB_UTILITIES_TIME_INTEGRATION_TIME_INTEGRATION_SCHEME_OPERATORS
36#define NEKTAR_LIB_UTILITIES_TIME_INTEGRATION_TIME_INTEGRATION_SCHEME_OPERATORS
48#define LUE LIB_UTILITIES_EXPORT
53class TimeIntegrationSchemeOperators;
55typedef std::shared_ptr<TimeIntegrationSchemeOperators>
83 template <
typename FuncPo
interT,
typename ObjectPo
interT>
87 std::bind(
func, obj, std::placeholders::_1, std::placeholders::_2,
88 std::placeholders::_3);
91 template <
typename FuncPo
interT,
typename ObjectPo
interT>
95 std::bind(
func, obj, std::placeholders::_1, std::placeholders::_2,
96 std::placeholders::_3);
99 template <
typename FuncPo
interT,
typename ObjectPo
interT>
103 std::bind(
func, obj, std::placeholders::_1, std::placeholders::_2,
104 std::placeholders::_3, std::placeholders::_4);
111 "integration scheme");
119 "this time integration scheme");
128 "time integration scheme");
#define ASSERTL1(condition, msg)
Assert Level 1 – Debugging which is used whether in FULLDEBUG or DEBUG compilation mode....
Binds a set of functions for use by time integration schemes.
void DefineProjection(FuncPointerT func, ObjectPointerT obj)
void DefineOdeRhs(FuncPointerT func, ObjectPointerT obj)
const FunctorType2 & ConstFunctorType2Ref
Array< OneD, FunctorType2 > FunctorType2Array
void DoImplicitSolve(InArrayType &inarray, OutArrayType &outarray, const NekDouble time, const NekDouble lambda) const
void DefineImplicitSolve(FuncPointerT func, ObjectPointerT obj)
void DoProjection(InArrayType &inarray, OutArrayType &outarray, const NekDouble time) const
const Array< OneD, const Array< OneD, NekDouble > > InArrayType
FunctorType1Array m_functors1
Array< OneD, FunctorType1 > FunctorType1Array
Array< OneD, Array< OneD, NekDouble > > OutArrayType
FunctorType2Array m_functors2
void DoOdeRhs(InArrayType &inarray, OutArrayType &outarray, const NekDouble time) const
std::function< void(InArrayType &, OutArrayType &, const NekDouble, const NekDouble)> FunctorType2
std::function< void(InArrayType &, OutArrayType &, const NekDouble)> FunctorType1
TimeIntegrationSchemeOperators(void)
const FunctorType1 & ConstFunctorType1Ref
std::shared_ptr< TimeIntegrationSchemeOperators > TimeIntegrationSchemeOperatorsSharedPtr