8#include <compile_time_options.h>
17#include <deal.II/base/parameter_acceptor.h>
18#include <deal.II/base/smartpointer.h>
19#include <deal.II/base/timer.h>
20#include <deal.II/lac/sparse_matrix.templates.h>
21#include <deal.II/lac/vector.h>
112 template <
typename Description,
int dim,
typename Number =
double>
139 View::n_precomputation_cycles;
152 std::map<std::string, dealii::Timer> &computing_timer,
156 const std::string &subsection =
"/HyperbolicModule");
250 template <
int stages>
253 std::array<std::reference_wrapper<const StateVector>, stages>
255 const std::array<Number, stages> stage_weights,
257 Number tau = Number(0.),
258 std::atomic<Number> tau_max = std::numeric_limits<Number>::max())
const;
267 void cfl(Number new_cfl)
const
269 Assert(cfl_ > Number(0.), dealii::ExcInternalError());
287 Assert(new_acceptable_tau_max_ratio >= Number(1.),
288 dealii::ExcInternalError());
289 acceptable_tau_max_ratio_ = new_acceptable_tau_max_ratio;
353 indicator_parameters_;
359 riemann_solver_parameters_;
370 std::map<std::
string, dealii::Timer> &computing_timer_;
372 dealii::SmartPointer<const
OfflineData<dim, Number>> offline_data_;
378 mutable Number acceptable_tau_max_ratio_;
380 mutable
unsigned int n_restarts_;
381 mutable
unsigned int n_corrections_;
382 mutable
unsigned int n_warnings_;
386 using ScalarVector = typename Vectors::ScalarVector<Number>;
387 mutable ScalarVector alpha_;
389 static constexpr auto n_bounds =
391 mutable Vectors::MultiComponentVector<Number, n_bounds> bounds_;
const auto & n_warnings() const
HyperbolicModule(const MPIEnsemble &mpi_ensemble, std::map< std::string, dealii::Timer > &computing_timer, const OfflineData< dim, Number > &offline_data, const HyperbolicSystem &hyperbolic_system, const InitialValues< Description, dim, Number > &initial_values, const std::string &subsection="/HyperbolicModule")
static constexpr auto problem_dimension
const auto & acceptable_tau_max_ratio() const
typename View::initial_precomputed_type initial_precomputed_type
static constexpr auto n_precomputation_cycles
typename Description::HyperbolicSystem HyperbolicSystem
typename View::StateVector StateVector
typename View::precomputed_type precomputed_type
typename View::state_type state_type
const auto & alpha() const
typename Description::template HyperbolicSystemView< dim, Number > View
const auto & n_corrections() const
typename View::InitialPrecomputedVector InitialPrecomputedVector
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.), std::atomic< Number > tau_max=std::numeric_limits< Number >::max()) const
const auto & hyperbolic_system() const
void cfl(Number new_cfl) const
IDViolationStrategy id_violation_strategy_
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)
std::tuple< MultiComponentVector< Number, problem_dim >, MultiComponentVector< Number, prec_dim >, BlockVector< Number > > StateVector
Euler::HyperbolicSystem HyperbolicSystem