OpenLB 1.7
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
55>;
56
67>;
68
74// TODO: computing transport and conduction via compute and computeU, resp. is
75// inconsequent.
76template <int direction, int orientation>
82>;
83
89// TODO: computing transport and conduction via compute and computeU, resp. is
90// inconsequent.
91template <int direction, int orientation>
97>;
98
105>;
106
108template <int direction, int orientation>
114>;
115
117template <int direction, int orientation>
123>;
124
127template <int direction, int orientation>
133>;
134
137template <int direction, int orientation>
143>;
144
155>;
156
157template <int... Normal>
163>;
164
165template <int... PlaneAndNormal>
167 InnerEdgeDensity3D<PlaneAndNormal...>,
169 InnerEdgeStress3D<PlaneAndNormal...>,
171>;
172
173template<int... Normal>
179>;
180
182/*
183Prototype for the usage of this class is given for NoDynamics.
184
185Use FixedDensity & ZeroMomentum for NoDynamics, BounceBack(rho), BounceBackAnti(rho)
186Use BulkDensity & ZeroMomentum for BounceBack(), BounceBackAnti(), ZeroDistributionDynamics
187Use FixedDensity & FixedVelocityMomentumGeneric for BounceBackVelocity(rho, u)
188Use BulkDensity & FixedVelocityMomentumGeneric for BounceBackVelocity(u)
189Use FixedDensity & OffBoundaryMomentum for OffDynamics (not yet ready)
190
191For now, the BounceBack* classes may therefore be separated into the cases whether
192rho is fixed or not. They can later be reunified/ given a logical structure, when it
193is clear how the dynamics will be constructed in the future.
194*/
195template <typename DENSITY, typename MOMENTUM>
197 DENSITY,
198 MOMENTUM,
199 ZeroStress, // TODO: should we rather use NoStress and thus throw an error?
201>;
202
208>;
209
215>;
216
217using None = Tuple<
222>;
223
229>;
230
231} // namespace momenta
232
233} // namespace olb
234
235#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:132
Standard computation for momentum in the bulk as first moment of the population.
Definition elements.h:378
Standard stress computation as second moment of the population.
Definition elements.h:1231
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:182
The velocity is stored in the external field U, except for the component "direction",...
Definition elements.h:463
The conduction is computed from density and population.
Definition elements.h:575
The first moment (the heat conduction) is fixed.
Definition elements.h:642
The velocity is fixed and stored in the external field U.
Definition elements.h:413
The velocity is stored in the external field descriptors::VELOCITY.
Definition elements.h:526
For fixed heat flux, the density is computed from flux, velocity and populations, similar to fixed ve...
Definition elements.h:243
Computation of the stress tensor in an inner corner (2D case)
Definition elements.h:1260
Computation of the stress tensor in an inner corner (3D case)
Definition elements.h:1289
Computation of the stress tensor in an inner edge.
Definition elements.h:1317
Access to the stress computation is forbidden and raises an error.
Definition elements.h:1341
Momentum computation for P1 dynamics.
Definition elements.h:891
Momentum computation for Poisson dynamics.
Definition elements.h:936
Computation of the stress tensor for regularized boundary nodes.
Definition elements.h:1245
Density computation for fixed velocity boundary.
Definition elements.h:270
Momentum is zero at solid material.
Definition elements.h:1049
The stress is always zero.
Definition elements.h:1355