ryujin 2.5.0 revision 3a6c8d57210175dea14d8116e1fe878f349f8c1c
Loading...
Searching...
No Matches
hyperbolic_description.h
Go to the documentation of this file.
1//
2// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
3// Copyright (C) 2026 by the ryujin authors
4//
5
6#pragma once
7
8#include <ryujin/base/compile_time_options.h>
13
14#include <deal.II/base/vectorization.h>
15
16namespace ryujin
17{
18 namespace Concept
19 {
24 template <typename HD>
25 using system_type = typename HD::HyperbolicSystem;
26
27 template <typename HD, typename Number>
28 using indicator_type = typename HD::template Indicator<scalar_type<Number>>;
29
30 template <typename HD, typename Number>
31 using limiter_type = typename HD::template Limiter<scalar_type<Number>>;
32
33 template <typename HD, typename Number>
35 typename HD::template WaveSpeedEstimator<scalar_type<Number>>;
36
37 template <typename Number>
38 using vectorized_type = dealii::VectorizedArray<Number>;
39
40
47 template <typename HD, typename System, int dim, typename Number>
50 Indicator<indicator_type<HD, Number>, System, dim, Number> &&
51 Limiter<limiter_type<HD, Number>, System, dim, Number> &&
53
54
62 template <typename HD, int dim, typename Number>
65 HyperbolicKernels<HD, system_type<HD>, dim, vectorized_type<Number>>;
66 } // namespace Concept
67} // namespace ryujin
typename HD::template WaveSpeedEstimator< scalar_type< Number > > estimator_type
typename HD::HyperbolicSystem system_type
typename HD::template Indicator< scalar_type< Number > > indicator_type
dealii::VectorizedArray< Number > vectorized_type
typename HD::template Limiter< scalar_type< Number > > limiter_type