58 typename V::ScalarNumber;
59 typename V::flux_contribution_type;
60 typename V::PrecomputedVectorView;
61 typename V::InitialPrecomputedVectorView;
63 V::have_high_order_flux
64 } -> std::convertible_to<bool>;
67 } -> std::convertible_to<bool>;
69 std::same_as<
typename V::state_type,
70 dealii::Tensor<1, V::problem_dimension, Number>> &&
71 std::same_as<
typename V::precomputed_type,
72 std::array<Number, V::n_precomputed_values>> &&
73 std::same_as<
typename V::initial_precomputed_type,
74 std::array<Number, V::n_initial_precomputed_values>> &&
75 requires(
const V &view,
76 const typename V::state_type &U,
77 const typename V::flux_contribution_type &flux,
78 const typename V::PrecomputedVectorView &
precomputed,
79 const typename V::InitialPrecomputedVectorView &initial,
80 const dealii::Tensor<1, dim, Number> &c_ij,
81 const dealii::types::boundary_id id,
82 typename V::state_type (&get_dirichlet_data)(),
84 const unsigned int *js) {
87 } -> std::convertible_to<bool>;
89 view.apply_boundary_conditions(
id, U, c_ij, get_dirichlet_data)
90 } -> std::same_as<typename V::state_type>;
93 } -> std::same_as<typename V::flux_contribution_type>;
96 } -> std::same_as<typename V::flux_contribution_type>;
98 view.flux_divergence(flux, flux, c_ij)
99 } -> std::same_as<typename V::state_type>;
101 view.to_primitive_state(U)
102 } -> std::same_as<typename V::state_type>;
104 view.from_primitive_state(U)
105 } -> std::same_as<typename V::state_type>;