OpenFOAM: API Guide
v2112
The open source CFD toolbox
SpecularReflection.C
Go to the documentation of this file.
1
/*---------------------------------------------------------------------------*\
2
========= |
3
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4
\\ / O peration |
5
\\ / A nd | www.openfoam.com
6
\\/ M anipulation |
7
-------------------------------------------------------------------------------
8
Copyright (C) 2011-2017 OpenFOAM Foundation
9
-------------------------------------------------------------------------------
10
License
11
This file is part of OpenFOAM.
12
13
OpenFOAM is free software: you can redistribute it and/or modify it
14
under the terms of the GNU General Public License as published by
15
the Free Software Foundation, either version 3 of the License, or
16
(at your option) any later version.
17
18
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21
for more details.
22
23
You should have received a copy of the GNU General Public License
24
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25
26
\*---------------------------------------------------------------------------*/
27
28
#include "
error.H
"
29
30
#include "
SpecularReflection.H
"
31
32
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
33
34
template
<
class
CloudType>
35
Foam::SpecularReflection<CloudType>::SpecularReflection
36
(
37
const
dictionary
&
dict
,
38
CloudType
&
cloud
39
)
40
:
41
WallInteractionModel<CloudType>
(
cloud
)
42
{}
43
44
45
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
46
47
template
<
class
CloudType>
48
Foam::SpecularReflection<CloudType>::~SpecularReflection
()
49
{}
50
51
52
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
53
54
template
<
class
CloudType>
55
void
Foam::SpecularReflection<CloudType>::correct
56
(
57
typename
CloudType::parcelType
&
p
58
)
59
{
60
vector
&
U
=
p
.U();
61
62
const
vector
nw =
p
.normal();
63
64
scalar U_dot_nw =
U
& nw;
65
66
if
(U_dot_nw > 0.0)
67
{
68
U
-= 2.0*U_dot_nw*nw;
69
}
70
}
71
72
73
// ************************************************************************* //
p
volScalarField & p
Definition:
createFieldRefs.H:8
Foam::SpecularReflection::correct
virtual void correct(typename CloudType::parcelType &p)
Apply wall correction.
Definition:
SpecularReflection.C:56
Foam::SpecularReflection::SpecularReflection
SpecularReflection(const dictionary &dict, CloudType &cloud)
Construct from dictionary.
Definition:
SpecularReflection.C:36
error.H
Foam::DSMCCloud
Templated base class for dsmc cloud.
Definition:
DSMCCloud.H:71
Foam::WallInteractionModel
Templated wall interaction model class.
Definition:
DSMCCloud.H:61
dict
dictionary dict
Definition:
searchingEngine.H:14
Foam::dictionary
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition:
dictionary.H:123
Foam::cloud
A cloud is a registry collection of lagrangian particles.
Definition:
cloud.H:57
U
U
Definition:
pEqn.H:72
Foam::SpecularReflection::~SpecularReflection
virtual ~SpecularReflection()
Destructor.
Definition:
SpecularReflection.C:48
Foam::Vector< scalar >
Foam::DSMCCloud::parcelType
ParcelType parcelType
Type of parcel the cloud was instantiated for.
Definition:
DSMCCloud.H:220
SpecularReflection.H
src
lagrangian
DSMC
submodels
WallInteractionModel
SpecularReflection
SpecularReflection.C
Generated by
1.8.17
OPENFOAM® is a registered
trademark
of OpenCFD Ltd.