8#include <compile_time_options.h>
14#include <deal.II/base/parameter_acceptor.h>
28 template <
typename Description,
int dim,
typename Number =
double>
96 Assert(handle_ != dealii::numbers::invalid_unsigned_int,
97 dealii::ExcMessage(
"Invalid handle: Cannot retrieve a valid "
98 "handle because get_handle() can only be "
99 "called after a call to prepare_projection()"));
112 Assert(handle_ == dealii::numbers::invalid_unsigned_int,
114 "Invalid state: Cannot set handle because we already have a "
115 "valid handle due to a prior call to prepare_projection()."));
142 dealii::SmartPointer<typename Discretization<dim>::Triangulation>
144 dealii::SmartPointer<const OfflineData<dim, Number>> offline_data_;
145 dealii::SmartPointer<const HyperbolicSystem> hyperbolic_system_;
146 dealii::SmartPointer<const ParabolicSystem> parabolic_system_;
148 unsigned int handle_;
161 const dealii::types::global_dof_index global_i);
170 const dealii::types::global_dof_index global_i);
typename Proxy< dim >::Triangulation Triangulation
typename View::HyperbolicVector HyperbolicVector
unsigned int get_handle() const
Vectors::ScalarVector< Number > ScalarVector
typename View::state_type state_type
typename Description::ParabolicSystem ParabolicSystem
typename Description::template HyperbolicSystemView< dim, Number > View
void prepare_projection(const StateVector &old_state_vector)
SolutionTransfer(const MPIEnsemble &mpi_ensemble, typename Discretization< dim >::Triangulation &triangulation, const OfflineData< dim, Number > &offline_data, const HyperbolicSystem &hyperbolic_system, const ParabolicSystem ¶bolic_system)
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::ParabolicSystem ParabolicSystem
Euler::HyperbolicSystem HyperbolicSystem