OpenLB 1.8.1
Loading...
Searching...
No Matches
aliases.h
Go to the documentation of this file.
1/* This file is part of the OpenLB library
2 *
3 * Copyright (C) 2006 Jonas Latt, 2021 Julius Jessberger
4 * E-mail contact: info@openlb.net
5 * The most recent release of OpenLB can be downloaded at
6 * <http://www.openlb.net/>
7 *
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License
10 * as published by the Free Software Foundation; either version 2
11 * of the License, or (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public
19 * License along with this program; if not, write to the Free
20 * Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 * Boston, MA 02110-1301, USA.
22*/
23
30#ifndef DYNAMICS_MOMENTA_ALIASES_H
31#define DYNAMICS_MOMENTA_ALIASES_H
32
33#include "interface.h"
34#include "definitionRule.h"
35
36namespace olb {
37
38namespace momenta {
39
46>;
47
49template<typename MOMENTUM>
55>;
56
64>;
65
73>;
74
85>;
86
92// TODO: computing transport and conduction via compute and computeU, resp. is
93// inconsequent.
94template <int direction, int orientation>
100>;
101
107// TODO: computing transport and conduction via compute and computeU, resp. is
108// inconsequent.
109template <int direction, int orientation>
113 NoStress,
115>;
116
123>;
124
126template <int direction, int orientation>
132>;
133
135template <int direction, int orientation>
141>;
142
145template <int direction, int orientation>
151>;
152
155template <int direction, int orientation>
161>;
162
165template <int direction, int orientation>
171>;
172
175template <int direction, int orientation>
181>;
182
193>;
194
195template <int... Normal>
201>;
202
203template <int... PlaneAndNormal>
205 InnerEdgeDensity3D<PlaneAndNormal...>,
207 InnerEdgeStress3D<PlaneAndNormal...>,
209>;
210
211template<int... Normal>
217>;
218
220/*
221Prototype for the usage of this class is given for NoDynamics.
222
223Use FixedDensity & ZeroMomentum for NoDynamics, BounceBack(rho), BounceBackAnti(rho)
224Use BulkDensity & ZeroMomentum for BounceBack(), BounceBackAnti(), ZeroDistributionDynamics
225Use FixedDensity & FixedVelocityMomentumGeneric for BounceBackVelocity(rho, u)
226Use BulkDensity & FixedVelocityMomentumGeneric for BounceBackVelocity(u)
227Use FixedDensity & OffBoundaryMomentum for OffDynamics (not yet ready)
228
229For now, the BounceBack* classes may therefore be separated into the cases whether
230rho is fixed or not. They can later be reunified/ given a logical structure, when it
231is clear how the dynamics will be constructed in the future.
232*/
233template <typename DENSITY, typename MOMENTUM>
235 DENSITY,
236 MOMENTUM,
237 ZeroStress, // TODO: should we rather use NoStress and thus throw an error?
239>;
240
246>;
247
253>;
254
255using None = Tuple<
260>;
261
267>;
268
274>;
275
276} // namespace momenta
277
278} // namespace olb
279
280#endif
File provides a generic interface for the computation and definition of momenta (density,...
Top level namespace for all of OpenLB.
Standard computation for density in the bulk as zeroth moment of the population.
Definition elements.h:150
Standard computation for momentum in the bulk as first moment of the population.
Definition elements.h:458
Computation of hydrodynamic pressure as zeroth moment of the population.
Definition elements.h:173
Standard stress computation as second moment of the population.
Definition elements.h:1624
The momenta are defined one after the other.
When momenta are changed, a new equilibrium state is set.
When momenta are changed, the equilibrium part of the population is modified while the non-equilibriu...
defineRho leads to a new non-equilibrium population, defineU only sets the velocity data.
defineRho leads to a new non-equilibrium population, defineU only sets the velocity data.
The density is fixed and stored in the external field RHO.
Definition elements.h:237
The velocity is stored in the external field U, except for the component "direction",...
Definition elements.h:581
The conduction is computed from density and population.
Definition elements.h:776
The first moment (the heat conduction) is fixed.
Definition elements.h:843
The velocity is fixed and stored in the external field U.
Definition elements.h:531
The velocity is stored in the external field descriptors::VELOCITY.
Definition elements.h:727
For fixed heat flux, the density is computed from flux, velocity and populations, similar to fixed ve...
Definition elements.h:298
Standard stress computation as second moment of the population.
Definition elements.h:1639
Computation of the stress tensor in an inner corner (2D case)
Definition elements.h:1684
Computation of the stress tensor in an inner corner (3D case)
Definition elements.h:1713
Computation of the stress tensor in an inner edge.
Definition elements.h:1741
Access to the stress computation is forbidden and raises an error.
Definition elements.h:1765
Momentum computation for P1 dynamics.
Definition elements.h:1132
Momentum computation for Poisson dynamics.
Definition elements.h:1177
The velocity is stored in the external field U, except for the component "direction",...
Definition elements.h:648
Computation of the stress tensor for regularized boundary nodes.
Definition elements.h:1669
Density computation for fixed velocity boundary.
Definition elements.h:325
Pressure computation for fixed velocity boundary.
Definition elements.h:350
Momentum is zero at solid material.
Definition elements.h:1442
The stress is always zero.
Definition elements.h:1779