ryujin
2.1.1 revision 3913ebe5e1d74c8fef21bcd286906a244031ce08
source
euler
initial_state_library_euler.h
Go to the documentation of this file.
1
//
2
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
3
// Copyright (C) 2023 by the ryujin authors
4
//
5
6
#pragma once
7
8
#include <compile_time_options.h>
9
10
#include <
initial_state_library.h
>
11
12
#include "
initial_state_astro_jet.h
"
13
#include "
initial_state_becker_solution.h
"
14
#include "
initial_state_contrast.h
"
15
#include "
initial_state_exact_riemann_solution.h
"
16
#include "
initial_state_four_state_contrast.h
"
17
#include "
initial_state_function.h
"
18
#include "
initial_state_icf_like.h
"
19
#include "
initial_state_isentropic_vortex.h
"
20
#include "
initial_state_leblanc.h
"
21
#include "
initial_state_noh.h
"
22
#include "
initial_state_radial_contrast.h
"
23
#include "
initial_state_ramp_up.h
"
24
#include "
initial_state_rarefaction.h
"
25
#include "
initial_state_shock_front.h
"
26
#include "
initial_state_smooth_wave.h
"
27
#include "
initial_state_three_state_contrast.h
"
28
#include "
initial_state_uniform.h
"
29
30
namespace
ryujin
31
{
32
namespace
EulerInitialStates
33
{
34
template
<
typename
Description,
int
dim,
typename
Number>
35
void
populate_initial_state_list
(
36
typename
ryujin::InitialStateLibrary<Description, dim, Number>
::
37
initial_state_list_type &initial_state_list,
38
const
typename
Description::HyperbolicSystem
&h,
39
const
std::string &s)
40
{
41
auto
add
= [&](
auto
&&object) {
42
initial_state_list.emplace(std::move(
object
));
43
};
44
45
add
(std::make_unique<
AstroJet<Description, dim, Number>
>(h, s));
46
add
(std::make_unique<
BeckerSolution<Description, dim, Number>
>(h, s));
47
add
(std::make_unique<
ExactRiemannSolution<Description, dim, Number>
>(h,
48
s));
49
add
(std::make_unique<
Contrast<Description, dim, Number>
>(h, s));
50
add
(std::make_unique<
FourStateContrast<Description, dim, Number>
>(h, s));
51
add
(std::make_unique<
Function<Description, dim, Number>
>(h, s));
52
add
(std::make_unique<
ICFLike<Description, dim, Number>
>(h, s));
53
add
(std::make_unique<
IsentropicVortex<Description, dim, Number>
>(h, s));
54
add
(std::make_unique<
LeBlanc<Description, dim, Number>
>(h, s));
55
add
(std::make_unique<
Noh<Description, dim, Number>
>(h, s));
56
add
(std::make_unique<
RadialContrast<Description, dim, Number>
>(h, s));
57
add
(std::make_unique<
RampUp<Description, dim, Number>
>(h, s));
58
add
(std::make_unique<
Rarefaction<Description, dim, Number>
>(h, s));
59
add
(std::make_unique<
ShockFront<Description, dim, Number>
>(h, s));
60
add
(std::make_unique<
SmoothWave<Description, dim, Number>
>(h, s));
61
add
(std::make_unique<
ThreeStateContrast<Description, dim, Number>
>(h, s));
62
add
(std::make_unique<
Uniform<Description, dim, Number>
>(h, s));
63
}
64
}
// namespace EulerInitialStates
65
}
// namespace ryujin
ryujin::EulerInitialStates::AstroJet
Definition:
initial_state_astro_jet.h:30
ryujin::EulerInitialStates::BeckerSolution
Definition:
initial_state_becker_solution.h:48
ryujin::EulerInitialStates::Contrast
Definition:
initial_state_contrast.h:28
ryujin::EulerInitialStates::ExactRiemannSolution
Definition:
initial_state_exact_riemann_solution.h:37
ryujin::EulerInitialStates::FourStateContrast
Definition:
initial_state_four_state_contrast.h:31
ryujin::EulerInitialStates::Function
Definition:
initial_state_function.h:25
ryujin::EulerInitialStates::ICFLike
Definition:
initial_state_icf_like.h:31
ryujin::EulerInitialStates::IsentropicVortex
Definition:
initial_state_isentropic_vortex.h:29
ryujin::EulerInitialStates::LeBlanc
Definition:
initial_state_leblanc.h:32
ryujin::EulerInitialStates::Noh
Definition:
initial_state_noh.h:29
ryujin::EulerInitialStates::RadialContrast
Definition:
initial_state_radial_contrast.h:32
ryujin::EulerInitialStates::RampUp
Definition:
initial_state_ramp_up.h:26
ryujin::EulerInitialStates::Rarefaction
Definition:
initial_state_rarefaction.h:30
ryujin::EulerInitialStates::ShockFront
Definition:
initial_state_shock_front.h:30
ryujin::EulerInitialStates::SmoothWave
Definition:
initial_state_smooth_wave.h:30
ryujin::EulerInitialStates::ThreeStateContrast
Definition:
initial_state_three_state_contrast.h:31
ryujin::EulerInitialStates::Uniform
Definition:
initial_state_uniform.h:27
ryujin::Euler::HyperbolicSystem
Definition:
hyperbolic_system.h:41
ryujin::InitialStateLibrary< Description, dim, Number >
Definition:
initial_state_library.template.h:19
initial_state_astro_jet.h
initial_state_becker_solution.h
initial_state_exact_riemann_solution.h
initial_state_four_state_contrast.h
initial_state_icf_like.h
initial_state_isentropic_vortex.h
initial_state_leblanc.h
initial_state_library.h
initial_state_noh.h
initial_state_radial_contrast.h
initial_state_ramp_up.h
initial_state_rarefaction.h
initial_state_shock_front.h
initial_state_smooth_wave.h
initial_state_three_state_contrast.h
ryujin::EulerInitialStates::populate_initial_state_list
void populate_initial_state_list(typename ryujin::InitialStateLibrary< Description, dim, Number >::initial_state_list_type &initial_state_list, const typename Description::HyperbolicSystem &h, const std::string &s)
Definition:
initial_state_library_euler.h:35
ryujin
Definition:
convenience_macros.h:18
ryujin::add
DEAL_II_ALWAYS_INLINE FT add(const FT &flux_left_ij, const FT &flux_right_ij)
Definition:
convenience_macros.h:99
initial_state_contrast.h
initial_state_function.h
initial_state_uniform.h
Generated by
1.9.4