ryujin 2.1.1 revision ef0fcd4010d109b860652ece4a7b8963fb7d46b1
indicator.h
Go to the documentation of this file.
1//
2// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
3// Copyright (C) 2023 - 2024 by the ryujin authors
4//
5
6#pragma once
7
8#include <compile_time_options.h>
9
10#include "hyperbolic_system.h"
11
13#include <simd.h>
14
15#include <deal.II/base/parameter_acceptor.h>
16#include <deal.II/base/vectorization.h>
17
18
19namespace ryujin
20{
21 namespace Skeleton
22 {
23 template <typename ScalarNumber = double>
24 class IndicatorParameters : public dealii::ParameterAcceptor
25 {
26 public:
27 IndicatorParameters(const std::string &subsection = "/Indicator")
28 : ParameterAcceptor(subsection)
29 {
30 }
31 };
32
33
40 template <int dim, typename Number = double>
42 {
43 public:
48
50
52
53 using state_type = typename View::state_type;
54
56
58
60
78
82 Indicator(const HyperbolicSystem &hyperbolic_system,
83 const Parameters &parameters,
84 const PrecomputedVector &precomputed_values)
85 : hyperbolic_system(hyperbolic_system)
86 , parameters(parameters)
87 , precomputed_values(precomputed_values)
88 {
89 }
90
95 void reset(const unsigned int /*i*/, const state_type & /*U_i*/)
96 {
97 // empty
98 }
99
104 void accumulate(const unsigned int * /*js*/,
105 const state_type & /*U_j*/,
106 const dealii::Tensor<1, dim, Number> & /*c_ij*/)
107 {
108 // empty
109 }
110
114 Number alpha(const Number /*h_i*/) const
115 {
116 return Number(0.);
117 }
118
120
121 private:
126
127 const HyperbolicSystem &hyperbolic_system;
128 const Parameters &parameters;
129 const PrecomputedVector &precomputed_values;
130
132 };
133 } // namespace Skeleton
134} // namespace ryujin
dealii::Tensor< 1, problem_dimension, Number > state_type
typename get_value_type< Number >::type ScalarNumber
Vectors::MultiComponentVector< ScalarNumber, n_precomputed_values > PrecomputedVector
IndicatorParameters(const std::string &subsection="/Indicator")
Definition: indicator.h:27
void accumulate(const unsigned int *, const state_type &, const dealii::Tensor< 1, dim, Number > &)
Definition: indicator.h:104
void reset(const unsigned int, const state_type &)
Definition: indicator.h:95
Number alpha(const Number) const
Definition: indicator.h:114
typename View::PrecomputedVector PrecomputedVector
Definition: indicator.h:55
Indicator(const HyperbolicSystem &hyperbolic_system, const Parameters &parameters, const PrecomputedVector &precomputed_values)
Definition: indicator.h:82
typename View::state_type state_type
Definition: indicator.h:53
typename View::ScalarNumber ScalarNumber
Definition: indicator.h:51
IndicatorParameters< ScalarNumber > Parameters
Definition: indicator.h:57