8#include <compile_time_options.h>
14#include <deal.II/base/parameter_acceptor.h>
28 template <
typename Description,
int dim,
typename Number =
double>
94 handle_ != dealii::numbers::invalid_unsigned_int,
95 dealii::ExcMessage(
"Invalid handle: Cannot retrieve a valid "
96 "handle. get_handle() can only be called after a "
97 "call to prepare_projection(), or set_handle()."));
109 handle_ == dealii::numbers::invalid_unsigned_int,
110 dealii::ExcMessage(
"Invalid state: Cannot set handle because we "
111 "already have a valid handle due to a prior call "
112 "to prepare_projection(), or set_handle()."));
123 handle_ = dealii::numbers::invalid_unsigned_int;
149 dealii::SmartPointer<const OfflineData<dim, Number>> offline_data_;
150 dealii::SmartPointer<const HyperbolicSystem> hyperbolic_system_;
151 dealii::SmartPointer<const ParabolicSystem> parabolic_system_;
153 unsigned int handle_;
166 const dealii::types::global_dof_index global_i);
175 const dealii::types::global_dof_index global_i);
typename View::HyperbolicVector HyperbolicVector
unsigned int get_handle() const
Vectors::ScalarVector< Number > ScalarVector
typename View::state_type state_type
typename Description::ParabolicSystem ParabolicSystem
SolutionTransfer(const MPIEnsemble &mpi_ensemble, const OfflineData< dim, Number > &offline_data, const HyperbolicSystem &hyperbolic_system, const ParabolicSystem ¶bolic_system)
typename Description::template HyperbolicSystemView< dim, Number > View
void prepare_projection(const StateVector &old_state_vector)
static constexpr auto problem_dimension
void set_handle(unsigned int handle)
~SolutionTransfer()=default
typename Description::HyperbolicSystem HyperbolicSystem
void project(StateVector &new_state_vector)
typename View::StateVector StateVector
dealii::LinearAlgebra::distributed::Vector< Number > ScalarVector
std::tuple< MultiComponentVector< Number, problem_dim >, MultiComponentVector< Number, prec_dim >, BlockVector< Number > > StateVector
Euler::HyperbolicSystem HyperbolicSystem
ryujin::StubParabolicSystem ParabolicSystem