8#include <compile_time_options.h>
13#include <deal.II/base/parameter_acceptor.h>
14#include <deal.II/base/smartpointer.h>
15#include <deal.II/base/tensor.h>
37 template <
typename Description,
int dim,
typename Number =
double>
55 View::n_initial_precomputed_values;
74 const std::string &subsection =
"/InitialValues");
96 return initial_state_(point, t);
110 return initial_precomputed_(point);
134 std::string configuration_;
136 dealii::Point<dim> initial_position_;
138 dealii::Tensor<1, dim> initial_direction_;
140 Number perturbation_;
148 dealii::SmartPointer<const HyperbolicSystem> hyperbolic_system_;
149 dealii::SmartPointer<const OfflineData<dim, Number>> offline_data_;
152 initial_state_list_type initial_state_list_;
154 std::function<
state_type(
const dealii::Point<dim> &, Number)>
158 initial_precomputed_;
InitialPrecomputedVector interpolate_initial_precomputed_vector() const
InitialValues(const HyperbolicSystem &hyperbolic_system, const OfflineData< dim, Number > &offline_data, const std::string &subsection="/InitialValues")
typename View::initial_precomputed_type initial_precomputed_type
typename View::InitialPrecomputedVector InitialPrecomputedVector
void parse_parameters_callback()
static constexpr auto problem_dimension
typename Description::HyperbolicSystem HyperbolicSystem
typename Description::template HyperbolicSystemView< dim, Number > View
static constexpr auto n_initial_precomputed_values
HyperbolicVector interpolate_hyperbolic_vector(Number t=0) const
typename View::HyperbolicVector HyperbolicVector
DEAL_II_ALWAYS_INLINE state_type initial_state(const dealii::Point< dim > &point, Number t) const
DEAL_II_ALWAYS_INLINE initial_precomputed_type initial_precomputed(const dealii::Point< dim > &point) const
typename View::state_type state_type
Euler::HyperbolicSystem HyperbolicSystem