8#include <compile_time_options.h>
12#include <compile_time_options.h>
21 template <
typename ScalarNumber =
double>
26 : ParameterAcceptor(subsection)
30 "iterations", iterations_,
"Number of limiter iterations");
36 unsigned int iterations_;
45 template <
int dim,
typename Number =
double>
79 using Bounds = std::array<Number, n_bounds>;
87 : hyperbolic_system(hyperbolic_system)
88 , parameters(parameters)
89 , precomputed_values(precomputed_values)
120 const Number & )
const
162 const dealii::Tensor<1, dim, Number> & ,
175 return relaxed_bounds;
191 const Number = Number(0.),
192 const Number t_max = Number(1.))
const
194 return {t_max,
true};
dealii::Tensor< 1, problem_dimension, Number > state_type
typename get_value_type< Number >::type ScalarNumber
Vectors::MultiComponentVector< ScalarNumber, n_precomputed_values > PrecomputedVector
flux_type flux_contribution_type
ACCESSOR_READ_ONLY(iterations)
LimiterParameters(const std::string &subsection="/Limiter")
std::tuple< Number, bool > limit(const Bounds &, const state_type &, const state_type &, const Number=Number(0.), const Number t_max=Number(1.)) const
typename View::ScalarNumber ScalarNumber
void accumulate(const unsigned int *, const state_type &, const flux_contribution_type &, const dealii::Tensor< 1, dim, Number > &, const state_type &)
typename View::state_type state_type
static constexpr unsigned int n_bounds
typename View::flux_contribution_type flux_contribution_type
void reset(const unsigned int, const state_type &, const flux_contribution_type &)
std::array< Number, n_bounds > Bounds
Bounds combine_bounds(const Bounds &, const Bounds &) const
Bounds fully_relax_bounds(const Bounds &, const Number &) const
Bounds bounds(const Number hd_i) const
Limiter(const HyperbolicSystem &hyperbolic_system, const Parameters ¶meters, const PrecomputedVector &precomputed_values)
Bounds projection_bounds_from_state(const unsigned int, const state_type &) const
LimiterParameters< ScalarNumber > Parameters
typename View::PrecomputedVector PrecomputedVector