ryujin 2.1.1 revision 0348cbb53a3e4b1da2a4c037e81f88f2d21ce219
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
25
26
27namespace ryujin
28{
29 namespace ShallowWaterInitialStates
30 {
31 template <typename Description, int dim, typename Number>
34 initial_state_list_type &initial_state_list,
35 const typename Description::HyperbolicSystem &h,
36 const std::string &s)
37 {
38 auto add = [&](auto &&object) {
39 initial_state_list.emplace(std::move(object));
40 };
41
42 add(std::make_unique<Contrast<Description, dim, Number>>(h, s));
43 add(std::make_unique<FlowOverBump<Description, dim, Number>>(h, s));
44 add(std::make_unique<Function<Description, dim, Number>>(h, s));
45 add(std::make_unique<GeoTIFF<Description, dim, Number>>(h, s));
46 add(std::make_unique<HouTest<Description, dim, Number>>(h, s));
47 add(std::make_unique<Paraboloid<Description, dim, Number>>(h, s));
48 add(std::make_unique<RitterDamBreak<Description, dim, Number>>(h, s));
49 add(std::make_unique<SlopingFriction<Description, dim, Number>>(h, s));
50 add(std::make_unique<SmoothVortex<Description, dim, Number>>(h, s));
52 add(std::make_unique<Uniform<Description, dim, Number>>(h, s));
53 add(std::make_unique<TankExperiments<Description, dim, Number>>(h, s));
54 add(std::make_unique<Soliton<Description, dim, Number>>(h, s));
55 }
56 } // namespace ShallowWaterInitialStates
57} // 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)