8#include <compile_time_options.h>
18#include <deal.II/base/parameter_acceptor.h>
19#include <deal.II/lac/sparse_matrix.templates.h>
20#include <deal.II/lac/vector.h>
111 template <
typename Description,
int dim,
typename Number =
double>
159 const std::string &subsection =
"/HyperbolicModule");
261 template <
int stages>
263 std::array<std::reference_wrapper<const StateVector>, stages>
265 const std::array<Number, stages> stage_weights,
267 Number tau = Number(0.),
268 Number tau_max = std::numeric_limits<Number>::max())
const;
279 Assert(cfl_ > Number(0.), dealii::ExcInternalError());
291 Assert(new_acceptable_tau_max_ratio >= Number(1.),
292 dealii::ExcInternalError());
293 acceptable_tau_max_ratio_ = new_acceptable_tau_max_ratio;
301 id_violation_strategy_ = strategy;
390 template <typename MemorySpace>
418 mutable Number acceptable_tau_max_ratio_;
422 mutable
unsigned int n_restarts_;
423 mutable
unsigned int n_corrections_;
424 mutable
unsigned int n_warnings_;
428 using ScalarVector = typename Vectors::ScalarVector<Number>;
429 mutable ScalarVector alpha_;
431 static constexpr auto n_bounds =
433 mutable Vectors::MultiComponentVector<Number, n_bounds> bounds_;
441 mutable
Mirrored<Number *> boundary_states_{
442 "hyperbolic_module_boundary_states"};
const auto & n_warnings() const
typename HyperbolicSystem::template View< dim, Number > View
static constexpr auto problem_dimension
void reinit_state_vector(StateVector &state_vector) const
const auto & acceptable_tau_max_ratio() const
typename Description::template WaveSpeedEstimator< Number > WaveSpeedEstimator
typename View::initial_precomputed_type initial_precomputed_type
static constexpr auto n_precomputed_values
typename Description::HyperbolicSystem HyperbolicSystem
void set_id_violation_strategy(const IDViolationStrategy &strategy) const
void set_acceptable_tau_max_ratio(Number new_acceptable_tau_max_ratio) const
typename View::StateVector StateVector
typename View::precomputed_type precomputed_type
typename View::state_type state_type
const auto & alpha() const
Number step(const StateVector &old_state_vector, std::array< std::reference_wrapper< const StateVector >, stages > stage_state_vectors, const std::array< Number, stages > stage_weights, StateVector &new_state_vector, Number tau=Number(0.), Number tau_max=std::numeric_limits< Number >::max()) const
void set_cfl(Number new_cfl) const
typename Description::template Indicator< Number > Indicator
typename Description::template Limiter< Number > Limiter
const auto & n_corrections() const
typename View::InitialPrecomputedVector InitialPrecomputedVector
const auto & hyperbolic_system() const
const auto & offline_data() const
void prepare_state_vector(StateVector &state_vector, Number t) const
const auto & n_restarts() const
const auto & initial_precomputed() const
#define ACCESSOR_READ_ONLY(member)
SmartPointer< T, P > ObserverPointer
Euler::HyperbolicSystem HyperbolicSystem