ryujin 2.1.1 revision e1e0c9cf84519540dcc04ed5bb49dc8a8c052779
Loading...
Searching...
No Matches
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 - 2025 by the ryujin authors
5// Copyright (C) 2023 - 2024 by Triad National Security, LLC
6//
7
8#pragma once
9
10#include <compile_time_options.h>
11
13
27
28
29namespace ryujin
30{
31 namespace ShallowWaterInitialStates
32 {
33 template <typename HyperbolicDescription, int dim, typename Number>
36 initial_state_list_type &initial_state_list,
37 const typename HyperbolicDescription::HyperbolicSystem &h,
38 const std::string &s)
39 {
40 using HD = HyperbolicDescription;
41 auto add = [&](auto &&object) {
42 initial_state_list.emplace(std::move(object));
43 };
44 add(std::make_unique<Contrast<HD, dim, Number>>(h, s));
45 add(std::make_unique<FlowOverBump<HD, dim, Number>>(h, s));
46 add(std::make_unique<Function<HD, dim, Number>>(h, s));
47 add(std::make_unique<GeoTIFF<HD, dim, Number>>(h, s));
48 add(std::make_unique<HouTest<HD, dim, Number>>(h, s));
49 add(std::make_unique<Paraboloid<HD, dim, Number>>(h, s));
50 add(std::make_unique<RitterDamBreak<HD, dim, Number>>(h, s));
51 add(std::make_unique<SlopingFriction<HD, dim, Number>>(h, s));
52 add(std::make_unique<SmoothVortex<HD, dim, Number>>(h, s));
53 add(std::make_unique<ThreeBumpsDamBreak<HD, dim, Number>>(h, s));
54 add(std::make_unique<Uniform<HD, dim, Number>>(h, s));
55 add(std::make_unique<TankExperiments<HD, dim, Number>>(h, s));
56 add(std::make_unique<Soliton<HD, dim, Number>>(h, s));
57 }
58 } // namespace ShallowWaterInitialStates
59} // 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 InitialStateLibrary< HyperbolicDescription, dim, Number >::initial_state_list_type &initial_state_list, const typename HyperbolicDescription::HyperbolicSystem &h, const std::string &s)