NeoN
A framework for CFD software
Loading...
Searching...
No Matches
steadyState.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
8
10{
11
12/* @class SteadyState
13 * @brief Steady-state "time integration": no temporal advancement.
14 *
15 * Selected via fvSchemes.timeIntegration.type = "steadyState". The ddt
16 * operator contributes nothing to the system and stability comes from equation
17 * under-relaxation (SIMPLE). The solve() hook is therefore a no-op, mirroring
18 * the other implicit integrators.
19 */
20template<typename SolutionVectorType>
22 public TimeIntegratorBase<SolutionVectorType>::template Register<
23 SteadyState<SolutionVectorType>>
24{
25
26public:
27
28 using ValueType = typename SolutionVectorType::VectorValueType;
29 using Base =
31
32 SteadyState(const Dictionary& timeIntegrationDict, const Dictionary& solutionDict)
33 : Base(timeIntegrationDict, solutionDict)
34 {}
35
36 static std::string name() { return "steadyState"; }
37
38 static std::string doc() { return "steady-state pseudo time integration (no time term)"; }
39
40 static std::string schema() { return "none"; }
41
42 void solve(dsl::Expression<ValueType>&, SolutionVectorType&, scalar, scalar) override {}
43
44 std::unique_ptr<TimeIntegratorBase<SolutionVectorType>> clone() const override
45 {
46 return std::make_unique<SteadyState>(*this);
47 }
48
49 bool explicitIntegration() const override { return false; }
50};
51
52} // namespace NeoN
A class representing a dictionary that stores key-value pairs.
SteadyState(const Dictionary &timeIntegrationDict, const Dictionary &solutionDict)
TimeIntegratorBase< SolutionVectorType >::template Register< SteadyState< SolutionVectorType > > Base
bool explicitIntegration() const override
typename SolutionVectorType::VectorValueType ValueType
std::unique_ptr< TimeIntegratorBase< SolutionVectorType > > clone() const override
void solve(dsl::Expression< ValueType > &, SolutionVectorType &, scalar, scalar) override
A template class for registering derived classes with a base class.
float scalar
Definition scalar.hpp:17