8#include <compile_time_options.h>
15#include <deal.II/base/parameter_acceptor.h>
29 template <
typename Description,
int dim,
typename Number =
double>
77 const std::string &subsection =
"/SolutionTransfer");
127 handle_ != dealii::numbers::invalid_unsigned_int,
128 dealii::ExcMessage(
"Invalid handle: Cannot retrieve a valid "
129 "handle. get_handle() can only be called after a "
130 "call to prepare_projection(), or set_handle()."));
142 handle_ == dealii::numbers::invalid_unsigned_int,
143 dealii::ExcMessage(
"Invalid state: Cannot set handle because we "
144 "already have a valid handle due to a prior call "
145 "to prepare_projection(), or set_handle()."));
156 handle_ = dealii::numbers::invalid_unsigned_int;
176 dealii::ObserverPointer<const OfflineData<dim, Number>> offline_data_;
177 dealii::ObserverPointer<const HyperbolicSystem> hyperbolic_system_;
178 dealii::ObserverPointer<const ParabolicSystem> parabolic_system_;
180 unsigned int handle_;
199 const dealii::types::global_dof_index global_i);
208 const dealii::types::global_dof_index global_i);
std::array< Number, n_bounds > Bounds
static constexpr unsigned int n_bounds
typename View::HyperbolicVector HyperbolicVector
unsigned int get_handle() const
typename HyperbolicSystem::template View< dim, Number > View
typename View::state_type state_type
typename Description::ParabolicSystem ParabolicSystem
~SolutionTransfer() override=default
typename Limiter::template View< dim, Number > LimiterView
static constexpr unsigned int n_bounds
void prepare_projection(const StateVector &old_state_vector)
static constexpr auto problem_dimension
void set_handle(unsigned int handle)
typename LimiterView::Bounds Bounds
typename Description::HyperbolicSystem HyperbolicSystem
void project(StateVector &new_state_vector)
typename Description::template Limiter< Number > Limiter
typename View::StateVector StateVector
Euler::HyperbolicSystem HyperbolicSystem
ryujin::StubParabolicSystem ParabolicSystem