MAIA bb96820c
Multiphysics at AIA
Loading...
Searching...
No Matches
dgcartesianbcfactoryacousticperturb.cpp
Go to the documentation of this file.
1// Copyright (C) 2024 The m-AIA AUTHORS
2//
3// This file is part of m-AIA (https://git.rwth-aachen.de/aia/m-AIA/m-AIA)
4//
5// SPDX-License-Identifier: LGPL-3.0-only
6
7#include "INCLUDE/maiatypes.h"
11
12// Includes for boundary conditions start here
17#include "dgcartesianbcexact.h"
18
19
20namespace maia {
21namespace dg {
22namespace bc {
23namespace factory {
24
25template <MInt nDim>
26struct Init<nDim, DgSysEqnAcousticPerturb<nDim>> {
29 static void init(FactoryType& factory);
30};
31
32template <MInt nDim>
33void Init<nDim, DgSysEqnAcousticPerturb<nDim>>::init(FactoryType& factory) {
34 // Import namespace for ease-of-use
35 using namespace maia::dg::bc;
36
40
41 // Add all boundary conditions with a unique boundary condition id
43 factory.add(0, Type<DgBcExact<nDim, SysEqn>>());
44
51
56
58 factory.add(301, Type<DgBcAcousticPerturbCBC<nDim>>()); // CBC
59 factory.add(304, Type<DgBcAcousticPerturbCBC<nDim>>()); // CBC
60
62 factory.add(400, Type<DgBcAcousticPerturbRBC<nDim>>());
63 factory.add(401, Type<DgBcAcousticPerturbRBC<nDim>>());
64 factory.add(402, Type<DgBcAcousticPerturbRBC<nDim>>());
65 factory.add(403, Type<DgBcAcousticPerturbRBC<nDim>>());
66 factory.add(404, Type<DgBcAcousticPerturbRBC<nDim>>());
67 factory.add(405, Type<DgBcAcousticPerturbRBC<nDim>>());
68
70 factory.add(30, Type<DgBcExact<nDim, SysEqn>>());
71 factory.add(31, Type<DgBcExact<nDim, SysEqn>>());
72 factory.add(32, Type<DgBcExact<nDim, SysEqn>>());
73 factory.add(33, Type<DgBcExact<nDim, SysEqn>>());
74 factory.add(34, Type<DgBcExact<nDim, SysEqn>>());
75 factory.add(35, Type<DgBcExact<nDim, SysEqn>>());
76 factory.add(36, Type<DgBcExact<nDim, SysEqn>>());
77 factory.add(37, Type<DgBcExact<nDim, SysEqn>>());
78 factory.add(38, Type<DgBcExact<nDim, SysEqn>>());
79 factory.add(39, Type<DgBcExact<nDim, SysEqn>>());
80 factory.add(40, Type<DgBcExact<nDim, SysEqn>>());
81 factory.add(41, Type<DgBcExact<nDim, SysEqn>>());
82 factory.add(42, Type<DgBcExact<nDim, SysEqn>>());
83 factory.add(43, Type<DgBcExact<nDim, SysEqn>>());
84 factory.add(44, Type<DgBcExact<nDim, SysEqn>>());
85 factory.add(45, Type<DgBcExact<nDim, SysEqn>>());
86 factory.add(46, Type<DgBcExact<nDim, SysEqn>>());
87 factory.add(47, Type<DgBcExact<nDim, SysEqn>>());
88 factory.add(48, Type<DgBcExact<nDim, SysEqn>>());
89 factory.add(49, Type<DgBcExact<nDim, SysEqn>>());
90}
91
93template struct Init<2, DgSysEqnAcousticPerturb<2>>;
94template struct Init<3, DgSysEqnAcousticPerturb<3>>;
95
96} // namespace factory
97} // namespace bc
98} // namespace dg
99} // namespace maia
100
Solid (slip) wall boundary condition.
Boundary condition which imposes initial condition ("exact" boundary conditions) at the domain bounda...
Class to handle creation of boundary condition objects.
Namespace for auxiliary functions/classes.
Simple type-to-type mapper for function overloading.
static void init(FactoryType &factory)