ryujin 2.5.0 revision c64172211cf21344cb9b9b0f3a1266aa6400d392
Loading...
Searching...
No Matches
barotropic_equation_of_state.h
Go to the documentation of this file.
1//
2// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
3// Copyright (C) 2025 - 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/array_view.h>
12#include <deal.II/base/exceptions.h>
13#include <deal.II/base/parameter_acceptor.h>
14#include <deal.II/base/tensor.h>
15
16#include <string>
17
18namespace ryujin
19{
26 class BarotropicEquationOfState : public dealii::ParameterAcceptor
27 {
28 public:
34 BarotropicEquationOfState(const std::string &name,
35 const std::string &subsection)
36 : ParameterAcceptor(subsection + "/" + name)
37 , name_(name)
38 {
39 }
40
44 virtual double specific_internal_energy(double rho) const = 0;
45
49 virtual double pressure(double rho) const = 0;
50
54 virtual double speed_of_sound(double rho) const = 0;
55
60
61 private:
62 const std::string name_;
63 };
64} // namespace ryujin
virtual double pressure(double rho) const =0
virtual double specific_internal_energy(double rho) const =0
virtual double speed_of_sound(double rho) const =0
BarotropicEquationOfState(const std::string &name, const std::string &subsection)
#define ACCESSOR_READ_ONLY(member)