OpenLB
1.7
Loading...
Searching...
No Matches
src
particles
subgrid3DLegacyFramework
superParticleSystem3D.cpp
Go to the documentation of this file.
1
/* This file is part of the OpenLB library
2
*
3
* Copyright (C) 2016 Mathias J. Krause, Marie-Luise Maier
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
24
#include "
dynamics/latticeDescriptors.h
"
25
26
#include "
functors/lattice/latticeInterpPhysVelocity3D.h
"
27
#include "
functors/lattice/latticeInterpPhysVelocity3D.hh
"
28
#include "
particle3D.h
"
29
#include "
particle3D.hh
"
30
#include "
superParticleSystem3D.h
"
31
#include "
superParticleSystem3D.hh
"
32
33
namespace
olb
{
34
35
template
class
SuperParticleSystem3D<double, Particle3D>;
36
37
template
class
SuperParticleSystem3D<double, MagneticParticle3D>;
38
39
//template class SuperParticleSystem3D<double, HaiderLevenspielParticle3D>;
40
41
template
<>
42
template
<>
43
void
SuperParticleSystem3D<double, Particle3D>
::
44
setVelToFluidVel<descriptors::D3Q19<>>(
45
SuperLatticeInterpPhysVelocity3D<double, descriptors::D3Q19<>
>& fVel)
46
{
47
for
(
auto
pS : _pSystems) {
48
pS->
setVelToFluidVel
(fVel);
49
}
50
};
51
52
template
<>
53
template
<>
54
void
SuperParticleSystem3D<double, MagneticParticle3D>
::
55
setVelToFluidVel<descriptors::D3Q19<>>(
56
SuperLatticeInterpPhysVelocity3D<double, descriptors::D3Q19<>
>& fVel)
57
{
58
for
(
auto
pS : _pSystems) {
59
pS->
setVelToFluidVel
(fVel);
60
}
61
};
62
63
#ifndef OLB_PRECOMPILED
64
template
<>
65
template
<>
66
void
SuperParticleSystem3D<double, Particle3D>
::
67
setVelToFluidVel<descriptors::D3Q19<descriptors::FORCE>>(
68
SuperLatticeInterpPhysVelocity3D<double, descriptors::D3Q19<descriptors::FORCE>
>& fVel)
69
{
70
for
(
auto
pS : _pSystems) {
71
pS->
setVelToFluidVel
(fVel);
72
}
73
};
74
75
template
<>
76
template
<>
77
void
SuperParticleSystem3D<double, MagneticParticle3D>
::
78
setVelToFluidVel<descriptors::D3Q19<descriptors::FORCE>>(
79
SuperLatticeInterpPhysVelocity3D<double, descriptors::D3Q19<descriptors::FORCE>
>& fVel)
80
{
81
for
(
auto
pS : _pSystems) {
82
pS->
setVelToFluidVel
(fVel);
83
}
84
};
85
#endif
86
87
}
// namespace olb
olb::SuperLatticeInterpPhysVelocity3D
Definition
latticeInterpPhysVelocity3D.h:50
olb::SuperParticleSystem3D
The class superParticleSystem is the basis for particulate flows within OpenLB.
Definition
superParticleSystem3D.h:79
olb::SuperParticleSystem3D::setVelToFluidVel
void setVelToFluidVel(SuperLatticeInterpPhysVelocity3D< T, DESCRIPTOR > &)
Set particle velocity to fluid velocity (e.g. as initial condition.
Definition
superParticleSystem3D.hh:791
latticeDescriptors.h
Descriptor for all types of 2D and 3D lattices.
latticeInterpPhysVelocity3D.h
latticeInterpPhysVelocity3D.hh
olb
Top level namespace for all of OpenLB.
Definition
boundaryPostProcessors2D.h:34
particle3D.h
particle3D.hh
superParticleSystem3D.h
superParticleSystem3D.hh
Generated on Tue Mar 5 2024 09:57:52 for OpenLB by
1.10.0