ryujin
2.1.1 revision ee5cbcbf2346c1299c942d0e1f13b46449973c18
Loading...
Searching...
No Matches
source
navier_stokes
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 - 2025 by the ryujin authors
4
//
5
6
#pragma once
7
8
#include <compile_time_options.h>
9
10
#include <
convenience_macros.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
19
namespace
ryujin
20
{
21
namespace
NavierStokes
22
{
30
class
ParabolicSystem
final :
public
dealii::ParameterAcceptor
31
{
32
public
:
36
static
inline
const
std::string
problem_name
=
37
"Newtonian fluid viscosity model with Fourier-law heat flux"
;
38
42
static
constexpr
bool
is_identity
=
false
;
43
47
ParabolicSystem
(
const
std::string &subsection =
"/B - Equation"
);
48
49
ACCESSOR_READ_ONLY
(mu)
50
ACCESSOR_READ_ONLY
(lambda)
51
ACCESSOR_READ_ONLY
(cv_inverse_kappa)
52
53
ACCESSOR_READ_ONLY
(parabolic_component_names);
54
55
private:
60
61
62
double
mu_;
63
double
lambda_;
64
double
cv_inverse_kappa_;
65
66
68
72
73
const std::vector<std::
string
> parabolic_component_names_;
74
76
};
/* ParabolicSystem */
77
78
79
/*
80
* -------------------------------------------------------------------------
81
* Inline definitions
82
* -------------------------------------------------------------------------
83
*/
84
85
86
inline
ParabolicSystem
::
ParabolicSystem
(const std::
string
&subsection)
87
: ParameterAcceptor(subsection)
88
{
89
mu_ = 1.e-3;
90
add_parameter(
"mu"
, mu_,
"The shear viscosity constant"
);
91
92
lambda_ = 0.;
93
add_parameter(
"lambda"
, lambda_,
"The bulk viscosity constant"
);
94
95
cv_inverse_kappa_ = 1.866666666666666e-2;
96
add_parameter(
"kappa"
,
97
cv_inverse_kappa_,
98
"Scaled thermal conductivity constant: c_v^{-1} kappa"
);
99
}
100
101
}
// namespace NavierStokes
102
}
// namespace ryujin
ryujin::NavierStokes::ParabolicSystem
Definition
parabolic_system.h:31
ryujin::NavierStokes::ParabolicSystem::problem_name
static const std::string problem_name
Definition
parabolic_system.h:36
ryujin::NavierStokes::ParabolicSystem::is_identity
static constexpr bool is_identity
Definition
parabolic_system.h:42
convenience_macros.h
ACCESSOR_READ_ONLY
#define ACCESSOR_READ_ONLY(member)
Definition
convenience_macros.h:229
ryujin
Definition
computing_timer.h:22
Generated by
1.9.8