ryujin 2.1.1 revision 0348cbb53a3e4b1da2a4c037e81f88f2d21ce219
geometry_library.h
Go to the documentation of this file.
1//
2// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
3// Copyright (C) 2022 - 2024 by the ryujin authors
4//
5
6#pragma once
7
8#include "geometry_airfoil.h"
9#include "geometry_annulus.h"
10#include "geometry_cylinder.h"
11#include "geometry_disk.h"
13#include "geometry_reader.h"
15#include "geometry_step.h"
16#include "geometry_tank.h"
17#include "geometry_wall.h"
18
19namespace ryujin
20{
27 namespace Geometries
28 {
35 template <int dim, typename T>
36 void populate_geometry_list(T &geometry_list, const std::string &subsection)
37 {
38 auto add = [&](auto &&object) {
39 geometry_list.emplace(std::move(object));
40 };
41
42 add(std::make_unique<Airfoil<dim>>(subsection));
43 add(std::make_unique<Annulus<dim>>(subsection));
44 add(std::make_unique<Cylinder<dim>>(subsection));
45 add(std::make_unique<Disk<dim>>(subsection));
46 add(std::make_unique<GeoTIFFProfile<dim>>(subsection));
47 add(std::make_unique<Reader<dim>>(subsection));
48 add(std::make_unique<RectangularDomain<dim>>(subsection));
49 add(std::make_unique<Step<dim>>(subsection));
50 add(std::make_unique<Wall<dim>>(subsection));
51 add(std::make_unique<WaveTank<dim>>(subsection));
52 }
53 } /* namespace Geometries */
54} /* namespace ryujin */
void populate_geometry_list(T &geometry_list, const std::string &subsection)
DEAL_II_ALWAYS_INLINE FT add(const FT &flux_left_ij, const FT &flux_right_ij)