ryujin 2.1.1 revision 5a1111835e8617c1fa5372346ab85a0bd39a2720
initial_state_library_shallow_water.h
Go to the documentation of this file.
1//
2// SPDX-License-Identifier: Apache-2.0
3// [LANL Copyright Statement]
4// Copyright (C) 2023 - 2024 by the ryujin authors
5// Copyright (C) 2023 - 2024 by Triad National Security, LLC
6//
7
8#pragma once
9
11
24
25
26namespace ryujin
27{
28 namespace ShallowWaterInitialStates
29 {
30 template <typename Description, int dim, typename Number>
33 initial_state_list_type &initial_state_list,
34 const typename Description::HyperbolicSystem &h,
35 const std::string &s)
36 {
37 auto add = [&](auto &&object) {
38 initial_state_list.emplace(std::move(object));
39 };
40
41 add(std::make_unique<Contrast<Description, dim, Number>>(h, s));
42 add(std::make_unique<FlowOverBump<Description, dim, Number>>(h, s));
43 add(std::make_unique<Function<Description, dim, Number>>(h, s));
44 add(std::make_unique<GeoTIFF<Description, dim, Number>>(h, s));
45 add(std::make_unique<HouTest<Description, dim, Number>>(h, s));
46 add(std::make_unique<Paraboloid<Description, dim, Number>>(h, s));
47 add(std::make_unique<RitterDamBreak<Description, dim, Number>>(h, s));
48 add(std::make_unique<SlopingFriction<Description, dim, Number>>(h, s));
49 add(std::make_unique<SmoothVortex<Description, dim, Number>>(h, s));
51 add(std::make_unique<Uniform<Description, dim, Number>>(h, s));
52 add(std::make_unique<TankExperiments<Description, dim, Number>>(h, s));
53 }
54 } // namespace ShallowWaterInitialStates
55} // namespace ryujin
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)
DEAL_II_ALWAYS_INLINE FT add(const FT &flux_left_ij, const FT &flux_right_ij)