8#include <ryujin/base/compile_time_options.h>
13#include <deal.II/base/exceptions.h>
32 template <
int dim,
typename Number =
double>
41 using typename Module<dim, Number>::StageVectors;
43 using typename Module<dim, Number>::StageWeights;
84 StageVectors stage_state_vectors,
85 StageWeights stage_weights,
87 Number tau = Number(0.),
88 Number tau_max = std::numeric_limits<Number>::max())
const = 0;
99 Assert(new_cfl > Number(0.), dealii::ExcInternalError());
112 Assert(new_acceptable_tau_max_ratio >= Number(1.),
113 dealii::ExcInternalError());
153 const unsigned int n_precomputed_values,
154 const std::string &subsection)
155 : Module<dim, Number>(subsection)
158 , problem_dimension_(problem_dimension)
159 , n_precomputed_values_(n_precomputed_values)
167 const unsigned int problem_dimension_;
168 const unsigned int n_precomputed_values_;
void set_acceptable_tau_max_ratio(Number new_acceptable_tau_max_ratio) const
virtual Number step(const StateVector< Number > &old_state_vector, StageVectors stage_state_vectors, StageWeights stage_weights, StateVector< Number > &new_state_vector, Number tau=Number(0.), Number tau_max=std::numeric_limits< Number >::max()) const =0
void set_cfl(Number new_cfl) const
HyperbolicModule(const unsigned int problem_dimension, const unsigned int n_precomputed_values, const std::string &subsection)
virtual void fill_precomputed_values(StateVector< Number > &state_vector) const =0
Number acceptable_tau_max_ratio_
#define ACCESSOR_READ_ONLY(member)