ryujin 2.1.1 revision 0348cbb53a3e4b1da2a4c037e81f88f2d21ce219
parabolic_system.h
Go to the documentation of this file.
1//
2// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
3// Copyright (C) 2023 by the ryujin authors
4//
5
6#pragma once
7
8#include <compile_time_options.h>
10
11#include <deal.II/base/parameter_acceptor.h>
12
13namespace ryujin
14{
15 namespace Skeleton
16 {
22 class ParabolicSystem final : public dealii::ParameterAcceptor
23 {
24 public:
28 static inline const std::string problem_name = "Identity";
29
33 static constexpr bool is_identity = true;
34
38 ParabolicSystem(const std::string &subsection = "/ParabolicSystem");
39
40 unsigned int n_parabolic_state_vectors() const
41 {
42 return parabolic_component_names_.size();
43 }
44
45 ACCESSOR_READ_ONLY(parabolic_component_names);
46
47 private:
48 const std::vector<std::string> parabolic_component_names_;
49 }; /* ParabolicSystem */
50
51
52 /*
53 * -------------------------------------------------------------------------
54 * Inline definitions
55 * -------------------------------------------------------------------------
56 */
57
58
59 inline ParabolicSystem::ParabolicSystem(const std::string &subsection)
60 : ParameterAcceptor(subsection)
61 {
62 }
63
64 } // namespace Skeleton
65} // namespace ryujin
ACCESSOR_READ_ONLY(parabolic_component_names)
static const std::string problem_name
unsigned int n_parabolic_state_vectors() const
static constexpr bool is_identity
ParabolicSystem(const std::string &subsection="/ParabolicSystem")