NeoN
A framework for CFD software
Loading...
Searching...
No Matches
backwardEuler.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2023 - 2026 NeoN authors
2//
3// SPDX-License-Identifier: MIT
4
5#pragma once
6
11#include "NeoN/dsl/solver.hpp"
12
14{
15
17
18template<typename SolutionVectorType>
20 public TimeIntegratorBase<SolutionVectorType>::template Register<
21 BackwardEuler<SolutionVectorType>>
22{
23
24public:
25
26 using ValueType = typename SolutionVectorType::VectorValueType;
29
30 BackwardEuler(const Dictionary& timeIntegrationDict, const Dictionary& solutionDict)
31 : Base(timeIntegrationDict, solutionDict)
32 {}
33
34 static std::string name() { return "backwardEuler"; }
35
36 static std::string doc() { return "first order implicit time integration method"; }
37
38 static std::string schema() { return "none"; }
39
40 void solve(dsl::Expression<ValueType>&, SolutionVectorType&, scalar, scalar) override {}
41
42 std::unique_ptr<TimeIntegratorBase<SolutionVectorType>> clone() const override
43 {
44 return std::make_unique<BackwardEuler>(*this);
45 }
46
47 bool explicitIntegration() const override { return false; }
48};
49
50} // namespace NeoN
A class representing a dictionary that stores key-value pairs.
void solve(dsl::Expression< ValueType > &, SolutionVectorType &, scalar, scalar) override
TimeIntegratorBase< SolutionVectorType >::template Register< BackwardEuler< SolutionVectorType > > Base
std::unique_ptr< TimeIntegratorBase< SolutionVectorType > > clone() const override
BackwardEuler(const Dictionary &timeIntegrationDict, const Dictionary &solutionDict)
typename SolutionVectorType::VectorValueType ValueType
bool explicitIntegration() const override
A template class for registering derived classes with a base class.
float scalar
Definition scalar.hpp:17