Home
Downloads
Documentation
Installation
User Guide
man-pages
API Documentation
README
Release Notes
Changes
License
Support
SourceForge Project
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
src
lagrangian
dsmc
submodels
BinaryCollisionModel
LarsenBorgnakkeVariableHardSphere
LarsenBorgnakkeVariableHardSphere.H
Go to the documentation of this file.
1
/*---------------------------------------------------------------------------*\
2
========= |
3
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4
\\ / O peration |
5
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
6
\\/ M anipulation |
7
-------------------------------------------------------------------------------
8
License
9
This file is part of OpenFOAM.
10
11
OpenFOAM is free software: you can redistribute it and/or modify it
12
under the terms of the GNU General Public License as published by
13
the Free Software Foundation, either version 3 of the License, or
14
(at your option) any later version.
15
16
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19
for more details.
20
21
You should have received a copy of the GNU General Public License
22
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23
Class
24
Foam::LarsenBorgnakkeVariableHardSphere
25
26
Description
27
Variable Hard Sphere BinaryCollision Model with Larsen Borgnakke internal
28
energy redistribution. Based on the INELRS subroutine in Bird's DSMC0R.FOR
29
30
\*---------------------------------------------------------------------------*/
31
32
#ifndef LarsenBorgnakkeVariableHardSphere_H
33
#define LarsenBorgnakkeVariableHardSphere_H
34
35
#include <
dsmc/BinaryCollisionModel.H
>
36
37
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
38
39
namespace
Foam
40
{
41
/*---------------------------------------------------------------------------*\
42
Class LarsenBorgnakkeVariableHardSphere Declaration
43
\*---------------------------------------------------------------------------*/
44
45
template
<
class
CloudType>
46
class
LarsenBorgnakkeVariableHardSphere
47
:
48
public
BinaryCollisionModel
<CloudType>
49
{
50
// Private data
51
52
//- Reference temperature
53
const
scalar Tref_;
54
55
//- Relaxation collision number
56
const
scalar relaxationCollisionNumber_;
57
58
59
// Private Member Functions
60
61
//- Calculate the energy ratio for distribution to internal degrees of
62
// freedom
63
scalar energyRatio
64
(
65
scalar ChiA,
66
scalar ChiB
67
);
68
69
70
public
:
71
72
//- Runtime type information
73
TypeName
(
"LarsenBorgnakkeVariableHardSphere"
);
74
75
76
// Constructors
77
78
//- Construct from dictionary
79
LarsenBorgnakkeVariableHardSphere
80
(
81
const
dictionary
&
dict
,
82
CloudType&
cloud
83
);
84
85
86
// Destructor
87
virtual
~LarsenBorgnakkeVariableHardSphere
();
88
89
90
// Member Functions
91
92
//- Return the collision cross section * relative velocity product
93
virtual
scalar
sigmaTcR
94
(
95
label typeIdP,
96
label typeIdQ,
97
const
vector
& UP,
98
const
vector
& UQ
99
)
const
;
100
101
//- Apply collision
102
virtual
void
collide
103
(
104
label typeIdP,
105
label typeIdQ,
106
vector
& UP,
107
vector
& UQ,
108
scalar& EiP,
109
scalar& EiQ
110
);
111
};
112
113
114
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
115
116
}
// End namespace Foam
117
118
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
119
120
#ifdef NoRepository
121
# include "
LarsenBorgnakkeVariableHardSphere.C
"
122
#endif
123
124
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
125
126
#endif
127
128
// ************************ vim: set sw=4 sts=4 et: ************************ //