ryujin
2.1.1 revision 15c5f3ea3ef91eaf08db04f6f4c18a1823a6f822
source
shallow_water
initial_state_library.h
Go to the documentation of this file.
1
//
2
// SPDX-License-Identifier: MIT
3
// Copyright (C) 2020 - 2023 by the ryujin authors
4
//
5
6
#pragma once
7
8
#include "
hyperbolic_system.h
"
9
#include <initial_state.h>
10
11
#include "
initial_state_circular_dam_break.h
"
12
#include "
initial_state_contrast.h
"
13
#include "
initial_state_flow_over_bump.h
"
14
#include "
initial_state_paraboloid.h
"
15
#include "
initial_state_ritter_dam_break.h
"
16
#include "
initial_state_sloping_ramp_dam_break.h
"
17
#include "
initial_state_solitary_wave.h
"
18
#include "
initial_state_three_bumps_dam_break.h
"
19
#include "
initial_state_triangular_dam_break.h
"
20
#include "
initial_state_uniform.h
"
21
#include "
initial_state_unsteady_vortex.h
"
22
23
namespace
ryujin
24
{
25
namespace
ShallowWater
26
{
27
struct
InitialStateLibrary
{
34
template
<
int
dim,
typename
Number,
typename
T>
35
static
void
populate_initial_state_list
(T &initial_state_list,
36
const
HyperbolicSystem
&h,
37
const
std::string &s)
38
{
39
using
state_type =
HyperbolicSystem::state_type<dim, Number>
;
40
41
auto
add
= [&](
auto
&&object) {
42
initial_state_list.emplace(std::move(
object
));
43
};
44
45
add
(std::make_unique<
CircularDamBreak<dim, Number, state_type>
>(h, s));
46
add
(std::make_unique<
Contrast<dim, Number, state_type>
>(h, s));
47
add
(std::make_unique<
FlowOverBump<dim, Number, state_type>
>(h, s));
48
add
(std::make_unique<
Paraboloid<dim, Number, state_type>
>(h, s));
49
add
(std::make_unique<
RitterDamBreak<dim, Number, state_type>
>(h, s));
50
add
(std::make_unique<
SolitaryWave<dim, Number, state_type>
>(h, s));
51
add
(std::make_unique<
ThreeBumpsDamBreak<dim, Number, state_type>
>(h,
52
s));
53
add
(std::make_unique<
TriangularDamBreak<dim, Number, state_type>
>(h,
54
s));
55
add
(std::make_unique<
Uniform<dim, Number, state_type>
>(h, s));
56
add
(std::make_unique<
SlopingRampDamBreak<dim, Number, state_type>
>(h,
57
s));
58
add
(std::make_unique<
UnsteadyVortex<dim, Number, state_type>
>(h, s));
59
}
60
};
61
}
// namespace ShallowWater
62
}
// namespace ryujin
ryujin::ShallowWater::CircularDamBreak
Definition:
initial_state_circular_dam_break.h:22
ryujin::ShallowWater::Contrast
Definition:
initial_state_contrast.h:23
ryujin::ShallowWater::FlowOverBump
Definition:
initial_state_flow_over_bump.h:23
ryujin::ShallowWater::HyperbolicSystem
Definition:
hyperbolic_system.h:36
ryujin::ShallowWater::HyperbolicSystem::state_type
dealii::Tensor< 1, problem_dimension< dim >, Number > state_type
Definition:
hyperbolic_system.h:54
ryujin::ShallowWater::Paraboloid
Definition:
initial_state_paraboloid.h:25
ryujin::ShallowWater::RitterDamBreak
Definition:
initial_state_ritter_dam_break.h:23
ryujin::ShallowWater::SlopingRampDamBreak
Definition:
initial_state_sloping_ramp_dam_break.h:22
ryujin::ShallowWater::SolitaryWave
Definition:
initial_state_solitary_wave.h:22
ryujin::ShallowWater::ThreeBumpsDamBreak
Definition:
initial_state_three_bumps_dam_break.h:23
ryujin::ShallowWater::TriangularDamBreak
Definition:
initial_state_triangular_dam_break.h:18
ryujin::ShallowWater::Uniform
Definition:
initial_state_uniform.h:22
ryujin::ShallowWater::UnsteadyVortex
Definition:
initial_state_unsteady_vortex.h:22
ryujin::ShallowWater::InitialStateLibrary::populate_initial_state_list
static void populate_initial_state_list(T &initial_state_list, const HyperbolicSystem &h, const std::string &s)
Definition:
initial_state_library.h:35
initial_state_circular_dam_break.h
initial_state_flow_over_bump.h
initial_state_paraboloid.h
initial_state_ritter_dam_break.h
initial_state_sloping_ramp_dam_break.h
initial_state_solitary_wave.h
initial_state_three_bumps_dam_break.h
initial_state_triangular_dam_break.h
initial_state_unsteady_vortex.h
ryujin
Definition:
checkpointing.h:23
ryujin::add
DEAL_II_ALWAYS_INLINE FT add(const FT &flux_left_ij, const FT &flux_right_ij)
Definition:
convenience_macros.h:96
initial_state_contrast.h
hyperbolic_system.h
initial_state_uniform.h
ryujin::ShallowWater::InitialStateLibrary
Definition:
initial_state_library.h:27
Generated by
1.9.4