22template<
typename SolutionVectorType>
25 BackwardEuler<SolutionVectorType>>
30 using ValueType =
typename SolutionVectorType::VectorValueType;
35 :
Base(schemeDict, solutionDict)
38 static std::string
name() {
return "backwardEuler"; }
40 static std::string
doc() {
return "first order time integration method"; }
42 static std::string
schema() {
return "none"; }
46 NF_ERROR_EXIT(
"Not implemented, use NeoN::dsl::detail::iterative_solve_impl");
49 std::unique_ptr<TimeIntegratorBase<SolutionVectorType>>
clone()
const override
51 return std::make_unique<BackwardEuler>(*
this);
A class representing a dictionary that stores key-value pairs.
BackwardEuler(const Dictionary &schemeDict, const Dictionary &solutionDict)
void solve(dsl::Expression< ValueType > &, SolutionVectorType &, scalar, scalar) override
TimeIntegratorBase< SolutionVectorType >::template Register< BackwardEuler< SolutionVectorType > > Base
std::unique_ptr< TimeIntegratorBase< SolutionVectorType > > clone() const override
typename SolutionVectorType::VectorValueType ValueType
static std::string name()
bool explicitIntegration() const override
static std::string schema()
A template class for registering derived classes with a base class.
#define NF_ERROR_EXIT(message)
Macro for printing an error message and aborting the program.