ryujin 2.5.0 revision 3a6c8d57210175dea14d8116e1fe878f349f8c1c
Loading...
Searching...
No Matches
system.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>
10
11#include <deal.II/base/exceptions.h>
12#include <deal.II/base/parameter_acceptor.h>
13
14#include <array>
15#include <string>
16#include <vector>
17
18namespace ryujin
19{
20 namespace Interface
21 {
35 class System : public dealii::ParameterAcceptor
36 {
37 public:
41 ACCESSOR_READ_ONLY(problem_name)
42
43
46 using Names = std::array<std::vector<std::string>, 3>;
47
53 const std::vector<std::string> &state_names(const unsigned int dim) const
54 {
55 AssertIndexRange(dim - 1, 3);
56 return state_names_[dim - 1];
57 }
58
64 const std::vector<std::string> &
65 precomputed_names(const unsigned int dim) const
66 {
67 AssertIndexRange(dim - 1, 3);
68 return precomputed_names_[dim - 1];
69 }
70
71 protected:
75 System(const std::string &problem_name,
76 const Names &state_names,
78 const std::string &subsection)
79 : ParameterAcceptor(subsection)
80 , problem_name_(problem_name)
83 {
84 }
85
92 std::string problem_name_;
93
101
109 };
110 } // namespace Interface
111} // namespace ryujin
const std::vector< std::string > & precomputed_names(const unsigned int dim) const
Definition system.h:65
std::array< std::vector< std::string >, 3 > Names
Definition system.h:46
System(const std::string &problem_name, const Names &state_names, const Names &precomputed_names, const std::string &subsection)
Definition system.h:75
const std::vector< std::string > & state_names(const unsigned int dim) const
Definition system.h:53
std::string problem_name_
Definition system.h:92
#define ACCESSOR_READ_ONLY(member)