8#include <compile_time_options.h>
15#include <deal.II/base/point.h>
16#include <deal.II/base/tensor.h>
22 template <
int dim,
typename Number =
double>
23 class WaveSpeedEstimatorView;
33 template <
typename ScalarNumber =
double>
46 template <
int dim,
typename Number =
double>
59 const std::string &subsection =
"/WaveSpeedEstimator")
60 : ParameterAcceptor(subsection)
61 , hyperbolic_system_(&hyperbolic_system)
76 template <
int dim,
typename Number>
80 hyperbolic_system_->template view<dim, Number>(), *
this};
90 dealii::ObserverPointer<const HyperbolicSystem> hyperbolic_system_;
104 template <
int dim,
typename Number>
135 , wave_speed_estimator_(wave_speed_estimator)
147 const unsigned int * ,
148 const dealii::Tensor<1, dim, Number> & )
const
150 return Number(std::numeric_limits<ScalarNumber>::epsilon());
Vectors::MultiComponentVectorView< ScalarNumber, n_precomputed_values, dealii::VectorizedArray< ScalarNumber >::size(), dealii::MemorySpace::Host, false > PrecomputedVectorView
dealii::Tensor< 1, problem_dimension, Number > state_type
typename get_value_type< Number >::type ScalarNumber
typename View::state_type state_type
HyperbolicSystemView< dim, Number > View
Number compute(const PrecomputedVectorView &, const state_type &, const state_type &, const unsigned int, const unsigned int *, const dealii::Tensor< 1, dim, Number > &) const
WaveSpeedEstimatorView(const View &view, const WaveSpeedEstimator< ScalarNumber > &wave_speed_estimator)
typename View::ScalarNumber ScalarNumber
typename View::PrecomputedVectorView PrecomputedVectorView
WaveSpeedEstimator(const HyperbolicSystem &hyperbolic_system, const std::string &subsection="/WaveSpeedEstimator")