35 #ifndef NEKTAR_LIB_UTILITIES_TIME_INTEGRATION_TIME_INTEGRATION_SCHEME_OPERATORS
36 #define NEKTAR_LIB_UTILITIES_TIME_INTEGRATION_TIME_INTEGRATION_SCHEME_OPERATORS
40 #include <boost/core/ignore_unused.hpp>
50 #define LUE LIB_UTILITIES_EXPORT
54 namespace LibUtilities
57 class TimeIntegrationSchemeOperators;
59 typedef std::shared_ptr<TimeIntegrationSchemeOperators>
87 template <
typename FuncPo
interT,
typename ObjectPo
interT>
91 std::bind(
func, obj, std::placeholders::_1, std::placeholders::_2,
92 std::placeholders::_3);
95 template <
typename FuncPo
interT,
typename ObjectPo
interT>
99 std::bind(
func, obj, std::placeholders::_1, std::placeholders::_2,
100 std::placeholders::_3);
103 template <
typename FuncPo
interT,
typename ObjectPo
interT>
107 std::bind(
func, obj, std::placeholders::_1, std::placeholders::_2,
108 std::placeholders::_3, std::placeholders::_4);
115 "integration scheme");
123 "this time integration scheme");
132 "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
The above copyright notice and this permission notice shall be included.