ryujin 2.5.0 revision 3a6c8d57210175dea14d8116e1fe878f349f8c1c
Loading...
Searching...
No Matches
hyperbolic_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
13#include <string>
14#include <vector>
15
16namespace ryujin
17{
18 namespace Interface
19 {
38 class HyperbolicSystem : public System
39 {
40 public:
46 const std::vector<std::string> &
47 primitive_names(const unsigned int dim) const
48 {
49 AssertIndexRange(dim - 1, 3);
50 return primitive_names_[dim - 1];
51 }
52
61 const std::vector<std::string> &
62 initial_precomputed_names(const unsigned int dim) const
63 {
64 AssertIndexRange(dim - 1, 3);
65 return initial_precomputed_names_[dim - 1];
66 }
67
68 protected:
72 HyperbolicSystem(const std::string &problem_name,
73 const Names &state_names,
77 const std::string &subsection)
78 : System(problem_name, state_names, precomputed_names, subsection)
81 {
82 }
83
91
99 };
100 } // namespace Interface
101} // namespace ryujin
const std::vector< std::string > & initial_precomputed_names(const unsigned int dim) const
HyperbolicSystem(const std::string &problem_name, const Names &state_names, const Names &primitive_names, const Names &precomputed_names, const Names &initial_precomputed_names, const std::string &subsection)
const std::vector< std::string > & primitive_names(const unsigned int dim) const
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
const std::vector< std::string > & state_names(const unsigned int dim) const
Definition system.h:53