14#include <deal.II/base/point.h>
15#include <deal.II/base/tensor.h>
19 namespace ShallowWater
21 template <
typename ScalarNumber =
double>
26 : ParameterAcceptor(subsection)
40 template <
int dim,
typename Number =
double>
100 : hyperbolic_system(hyperbolic_system)
101 , parameters(parameters)
102 , precomputed_values(precomputed_values)
120 const unsigned int i,
121 const unsigned int *js,
122 const dealii::Tensor<1, dim, Number> &n_ij)
const;
132 const Number &h_star)
const;
136 const Number &h)
const;
139 const Number h_star)
const;
142 const Number h_star)
const;
146 const Number h_star)
const;
155 const dealii::Tensor<1, dim, Number> &n_ij)
const;
typename get_value_type< Number >::type ScalarNumber
static constexpr unsigned int n_precomputed_values
dealii::Tensor< 1, problem_dimension, Number > state_type
static constexpr unsigned int problem_dimension
RiemannSolverParameters(const std::string &subsection="/RiemannSolver")
Number phi(const primitive_type &riemann_data_i, const primitive_type &riemann_data_j, const Number &h) const
static constexpr unsigned int problem_dimension
primitive_type riemann_data_from_state(const state_type &U, const dealii::Tensor< 1, dim, Number > &n_ij) const
typename View::ScalarNumber ScalarNumber
RiemannSolverParameters< ScalarNumber > Parameters
Number lambda3_plus(const primitive_type &riemann_data, const Number h_star) const
Number lambda1_minus(const primitive_type &riemann_data, const Number h_star) const
static constexpr unsigned int n_precomputed_values
static constexpr unsigned int riemann_data_size
Number compute_lambda(const primitive_type &riemann_data_i, const primitive_type &riemann_data_j, const Number h_star) const
std::array< Number, riemann_data_size > primitive_type
Number compute_h_star(const primitive_type &riemann_data_i, const primitive_type &riemann_data_j) const
typename View::state_type state_type
Number compute(const primitive_type &riemann_data_i, const primitive_type &riemann_data_j) const
Number f(const primitive_type &primitive_state, const Number &h_star) const
RiemannSolver(const HyperbolicSystem &hyperbolic_system, const Parameters ¶meters, const MultiComponentVector< ScalarNumber, n_precomputed_values > &precomputed_values)