OpenLB
1.7
Loading...
Searching...
No Matches
src
particles
subgrid3DLegacyFramework
forces
linearContactForce3D.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2015 Marie-Luise Maier, Mathias J. Krause, Sascha Janz
3
* E-mail contact: info@openlb.net
4
* The most recent release of OpenLB can be downloaded at
5
* <http://www.openlb.net/>
6
*
7
* This program is free software; you can redistribute it and/or
8
* modify it under the terms of the GNU General Public License
9
* as published by the Free Software Foundation; either version 2
10
* of the License, or (at your option) any later version.
11
*
12
* This program is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
* GNU General Public License for more details.
16
*
17
* You should have received a copy of the GNU General Public
18
* License along with this program; if not, write to the Free
19
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20
* Boston, MA 02110-1301, USA.
21
*/
22
23
/* Alberto Di Renzo, Francesco Paolo Di Maio:
24
* "Comparison of contact-force models for the simulation of collisions in
25
* DEM-based granular ow codes",
26
* Chemical Engineering Science 59 (2004) 525 - 541
27
*
28
* validation paper for contact:
29
* H. Kruggel-Emden, E. Simsek, S. Rickelt, S. Wirtz, V. Scherer: Review and
30
* extension of normal force models for the Discrete Element Method, Powder
31
* Technology 171 (2007) 157-173
32
*/
33
34
#ifndef LinearContactForce3D_H
35
#define LinearContactForce3D_H
36
37
#include "
utilities/omath.h
"
38
#include "functors/lattice/superLatticeLocalF3D.h"
39
#include "
particles/subgrid3DLegacyFramework/particleSystem3D.h
"
40
#include "
force3D.h
"
41
42
namespace
olb
{
43
44
template
<
typename
T,
template
<
typename
U>
class
PARTICLETYPE>
45
class
ParticleSystem3D;
46
47
template
<
typename
T,
template
<
typename
U>
class
PARTICLETYPE,
template
<
48
typename
W>
class
DESCRIPTOR>
49
class
LinearContactForce3D
:
public
Force3D
<T, PARTICLETYPE> {
50
51
public
:
52
LinearContactForce3D
(T G1, T G2, T v1, T v2, T scale1 = T(1.), T scale2 = T(1.),
53
bool
validationKruggelEmden =
false
);
54
~LinearContactForce3D
()
override
{};
55
void
applyForce(
typename
std::deque<PARTICLETYPE<T> >::iterator p,
int
pInt,
56
ParticleSystem3D<T, PARTICLETYPE>
&pSys)
override
;
57
void
computeForce(
typename
std::deque<PARTICLETYPE<T> >::iterator p,
int
pInt,
58
ParticleSystem3D<T, PARTICLETYPE>
& pSys, T force[3]);
59
private
:
60
T _G1;
// Shear modulus (PA)
61
T _G2;
// Shear modulus (PA)
62
T _v1;
// poisson ratio
63
T _v2;
// poisson ratio
64
T _scale1;
// scales normal value of force
65
T _scale2;
// scales tangential value of force
66
T E1, E2;
// E-Modul Particle
67
T eE;
// equivalent combined E-Modul
68
T eG;
// equivalent combined E-Modul
69
// constant eta_n from paper H. Kruggel-Endem, Powder Technology 171 (2007) 157-173,
70
// Table 3 / brass particle
71
bool
_validationKruggelEmden;
// use values of paper
72
};
73
74
}
75
76
#endif
olb::Force3D
Prototype for all particle forces.
Definition
force3D.h:43
olb::LinearContactForce3D
Definition
linearContactForce3D.h:49
olb::LinearContactForce3D::~LinearContactForce3D
~LinearContactForce3D() override
Definition
linearContactForce3D.h:54
olb::ParticleSystem3D
Definition
particleSystem3D.h:73
force3D.h
olb
Top level namespace for all of OpenLB.
Definition
boundaryPostProcessors2D.h:34
omath.h
particleSystem3D.h
Generated on Tue Mar 5 2024 09:57:52 for OpenLB by
1.10.0