ryujin 2.1.1 revision ee5cbcbf2346c1299c942d0e1f13b46449973c18
Loading...
Searching...
No Matches
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 - 2025 by the ryujin authors
4//
5
6#pragma once
7
8#include <compile_time_options.h>
9
11
21#include "initial_state_noh.h"
29
30namespace ryujin
31{
32 namespace EulerInitialStates
33 {
34 template <typename Description, int dim, typename Number>
37 initial_state_list_type &initial_state_list,
38 const typename Description::HyperbolicSystem &h,
39 const std::string &s)
40 {
41 using std::make_unique;
42
43 auto add = [&](auto &&object) {
44 initial_state_list.emplace(std::move(object));
45 };
46
48 using View = typename HyperbolicSystem::template View<1, double>;
49
50 add(make_unique<AstroJet<Description, dim, Number>>(h, s));
52 add(make_unique<Contrast<Description, dim, Number>>(h, s));
55 add(make_unique<Function<Description, dim, Number>>(h, s));
56 add(make_unique<ICFLike<Description, dim, Number>>(h, s));
58 add(make_unique<LeBlanc<Description, dim, Number>>(h, s));
59 add(make_unique<Noh<Description, dim, Number>>(h, s));
61 add(make_unique<RampUp<Description, dim, Number>>(h, s));
63 add(make_unique<ShockFront<Description, dim, Number>>(h, s));
64 add(make_unique<SmoothWave<Description, dim, Number>>(h, s));
66 add(make_unique<Uniform<Description, dim, Number>>(h, s));
67 }
68 } // namespace EulerInitialStates
69} // namespace ryujin
DEAL_II_HOST_DEVICE_ALWAYS_INLINE FT add(const FT &flux_left_ij, const FT &flux_right_ij)
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)
Euler::HyperbolicSystem HyperbolicSystem
Definition description.h:34