ryujin 2.1.1 revision b04fb4aba7bd97ddfa5994a6b4b6e8586eb15db2
Loading...
Searching...
No Matches
stub_parabolic_module.h
Go to the documentation of this file.
1//
2// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
3// Copyright (C) 2025 - 2026 by the ryujin authors
4//
5
6#pragma once
7
8#include <compile_time_options.h>
9
10#include <hyperbolic_module.h>
11#include <initial_values.h>
12#include <mpi_ensemble.h>
13#include <offline_data.h>
15
16#include <deal.II/base/parameter_acceptor.h>
17
18namespace ryujin
19{
25 template <typename HyperbolicDescription, int dim, typename Number>
26 class StubParabolicModule final : public dealii::ParameterAcceptor
27 {
28 public:
33
36
37 using View = typename HyperbolicSystem::template View<dim, Number>;
38
40
44
48 StubParabolicModule(const MPIEnsemble & /*mpi_ensemble*/,
49 const OfflineData<dim, Number> & /*offline_data*/,
50 const HyperbolicSystem & /*hyperbolic_system*/,
51 const ParabolicSystem & /*parabolic_system*/,
53 & /*initial_values*/,
54 const std::string &subsection = "StubParabolicModule")
55 : ParameterAcceptor(subsection)
56 {
57 }
58
64 void prepare()
65 {
66 // do nothing
67 }
68
70
74
82 void reinit_state_vector(StateVector<Number> & /*state_vector*/) const
83 {
84 // do nothing
85 }
86
95 Number /*t*/) const
96 {
97 Assert(false,
98 dealii::ExcMessage("The parabolic system is the identity. This "
99 "function should have never been called."));
100 }
101
111 template <int stages>
113 const StateVector<Number> &old_state_vector,
114 const Number /*old_t*/,
115 std::array<std::reference_wrapper<const StateVector<Number>>,
116 stages> /*stage_state_vectors*/,
117 const std::array<Number, stages> /*stage_weights*/,
118 StateVector<Number> &new_state_vector,
119 Number /*tau*/) const
120 {
121 Assert(false,
122 dealii::ExcMessage("The parabolic system is the identity. This "
123 "function should have never been called."));
124
125 new_state_vector = old_state_vector;
126 }
127
136 void crank_nicolson_step(const StateVector<Number> &old_state_vector,
137 const Number /*old_t*/,
138 StateVector<Number> &new_state_vector,
139 Number /*tau*/) const
140 {
141 Assert(false,
142 dealii::ExcMessage("The parabolic system is the identity. This "
143 "function should have never been called."));
144
145 new_state_vector = old_state_vector;
146 }
147
152 const IDViolationStrategy & /*new_strategy*/) const
153 {
154 // do nothing
155 }
156
158
162
168 void print_solver_statistics(std::ostream & /*output*/) const
169 {
170 // do nothing
171 }
172
176 unsigned int n_restarts() const
177 {
178 return 0;
179 }
180
186 unsigned int n_corrections() const
187 {
188 return 0;
189 }
190
195 unsigned int n_warnings() const
196 {
197 return 0;
198 }
199
201 };
202
203
213
214 template <typename HyperbolicDescription, int dim, typename Number = double>
217 };
218} /* namespace ryujin */
void crank_nicolson_step(const StateVector< Number > &old_state_vector, const Number, StateVector< Number > &new_state_vector, Number) const
void print_solver_statistics(std::ostream &) const
void set_id_violation_strategy(const IDViolationStrategy &) const
StubParabolicModule(const MPIEnsemble &, const OfflineData< dim, Number > &, const HyperbolicSystem &, const ParabolicSystem &, const InitialValues< HyperbolicDescription, dim, Number > &, const std::string &subsection="StubParabolicModule")
typename HyperbolicDescription::HyperbolicSystem HyperbolicSystem
typename HyperbolicSystem::template View< dim, Number > View
void backward_euler_step(const StateVector< Number > &old_state_vector, const Number, std::array< std::reference_wrapper< const StateVector< Number > >, stages >, const std::array< Number, stages >, StateVector< Number > &new_state_vector, Number) const
void prepare_state_vector(StateVector< Number > &, Number) const
void reinit_state_vector(StateVector< Number > &) const