OpenLB 1.7
Loading...
Searching...
No Matches
ReynoldsNumbers3D.h
Go to the documentation of this file.
1/* Lattice Boltzmann sample, written in C++, using the OpenLB
2 * library
3 *
4 * Copyright (C) 2019 Davide Dapelo
5 * E-mail contact: info@openlb.net
6 * The most recent release of OpenLB can be downloaded at
7 * <http://www.openlb.net/>
8 *
9 * This program is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License
11 * as published by the Free Software Foundation; either version 2
12 * of the License, or (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public
20 * License along with this program; if not, write to the Free
21 * Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22 * Boston, MA 02110-1301, USA.
23 */
24
25/* Particle Reynold number classes for Lagrangian two-way coupling methods -- header file.
26 */
27
28#ifndef LB_REYNOLDS_NUMBERS_3D_H
29#define LB_REYNOLDS_NUMBERS_3D_H
30
32
33namespace olb {
34
38template<typename T, template<typename V> class Particle>
40public:
42 virtual T operator() (Particle<T>* p, T magU, int globicFull[])=0;
45protected:
46 T _RePmin = 0.01;
47};
48
51template<typename T, typename Lattice, template<typename V> class Particle>
53public:
56protected:
59 UnitConverter<T, Lattice>& _converter; // reference to a UnitConverter
60};
61
64template<typename T, typename Lattice, template<typename V> class Particle>
66public:
72 virtual T operator() (Particle<T>* p, T magU, int globicFull[]) override;
73};
74
77template<typename T, typename Lattice, template<typename V> class Particle>
79public:
86 virtual T operator() (Particle<T>* p, T magU, int globicFull[]) override;
87protected:
88 SuperLattice<T, Lattice>& _sLattice; // reference to a lattice
89};
90
91}
92
93#endif
Class class for Newtonian particle Reynolds number computation within drag model.
virtual T operator()(Particle< T > *p, T magU, int globicFull[]) override
Returns the particle Reynolds number. globicFull = { globic, latticeRoundedP[0, .....
NewtonianParticleReynoldsNumber(UnitConverter< T, Lattice > &converter)
Constructor.
Abstract class for particle Reynolds number computation within drag model.
UnitConverter< T, Lattice > & _converter
virtual ~ParticleReynoldsNumberBase()
Destructor.
ParticleReynoldsNumberBase(UnitConverter< T, Lattice > &converter)
Constructor.
Abstract class for particle Reynolds number computation within drag model.
virtual T operator()(Particle< T > *p, T magU, int globicFull[])=0
Returns the particle Reynolds number. globicFull = { globic, latticeRoundedP[0, .....
virtual ~ParticleReynoldsNumber()
Destructor.
Class class for power-law particle Reynolds number computation within drag model.
virtual T operator()(Particle< T > *p, T magU, int globicFull[]) override
Returns the particle Reynolds number. globicFull = { globic, latticeRoundedP[0, .....
PowerLawParticleReynoldsNumber(UnitConverter< T, Lattice > &converter, SuperLattice< T, Lattice > &sLattice)
Constructor.
SuperLattice< T, Lattice > & _sLattice
Super class maintaining block lattices for a cuboid decomposition.
Conversion between physical and lattice units, as well as discretization.
Top level namespace for all of OpenLB.