ryujin 2.5.0 revision c64172211cf21344cb9b9b0f3a1266aa6400d392
Loading...
Searching...
No Matches
parabolic_system.h
Go to the documentation of this file.
1//
2// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
3// Copyright (C) 2022 - 2026 by the ryujin authors
4//
5
6#pragma once
7
8#include <ryujin/base/compile_time_options.h>
11
12#include <deal.II/base/parameter_acceptor.h>
13#include <deal.II/base/tensor.h>
14
15#include <array>
16#include <functional>
17#include <iomanip>
18
19namespace ryujin
20{
21 namespace NavierStokes
22 {
31 {
32 public:
36 ParabolicSystem(const std::string &subsection = "/B - Equation");
37
39 ACCESSOR_READ_ONLY(lambda)
40 ACCESSOR_READ_ONLY(cv_inverse_kappa)
41
42 private:
47
48
49 double mu_;
50 double lambda_;
51 double cv_inverse_kappa_;
52
53
55 }; /* ParabolicSystem */
56
57
58 /*
59 * -------------------------------------------------------------------------
60 * Inline definitions
61 * -------------------------------------------------------------------------
62 */
63
64
65 inline ParabolicSystem::ParabolicSystem(const std::string &subsection)
66 : Interface::ParabolicSystem(
67 "Newtonian fluid viscosity model with Fourier-law heat flux",
68 /* no components of its own: acts on the hyperbolic state */
69 {},
70 {},
71 subsection)
72 {
73 mu_ = 1.e-3;
74 add_parameter("mu", mu_, "The shear viscosity constant");
75
76 lambda_ = 0.;
77 add_parameter("lambda", lambda_, "The bulk viscosity constant");
78
79 cv_inverse_kappa_ = 1.866666666666666e-2;
80 add_parameter("kappa",
81 cv_inverse_kappa_,
82 "Scaled thermal conductivity constant: c_v^{-1} kappa");
83 }
84
85 } // namespace NavierStokes
86} // namespace ryujin
ParabolicSystem(const std::string &subsection="/B - Equation")
#define ACCESSOR_READ_ONLY(member)