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
applications
solvers
combustion
PDRFoam
PDRModels
dragModels
PDRDragModel
PDRDragModel.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) 1991-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
24
Class
25
Foam::PDRDragModel
26
27
Description
28
Base-class for sub-grid obstacle drag models. The available drag model is at
29
\link basic.H \endlink.
30
31
SourceFiles
32
PDRDragModel.C
33
34
\*---------------------------------------------------------------------------*/
35
36
#ifndef PDRDragModel_H
37
#define PDRDragModel_H
38
39
#include <
OpenFOAM/IOdictionary.H
>
40
#include <
reactionThermophysicalModels/hhuCombustionThermo.H
>
41
#include <
compressibleRASModels/RASModel.H
>
42
#include <
finiteVolume/multivariateSurfaceInterpolationScheme.H
>
43
#include <
OpenFOAM/runTimeSelectionTables.H
>
44
45
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
46
47
namespace
Foam
48
{
49
50
/*---------------------------------------------------------------------------*\
51
Class PDRDragModel Declaration
52
\*---------------------------------------------------------------------------*/
53
54
class
PDRDragModel
55
:
56
public
regIOobject
57
{
58
59
protected
:
60
61
// Protected data
62
63
dictionary
PDRDragModelCoeffs_
;
64
65
const
compressible::RASModel
&
turbulence_
;
66
const
volScalarField
&
rho_
;
67
const
volVectorField
&
U_
;
68
const
surfaceScalarField
&
phi_
;
69
70
Switch
on_
;
71
72
73
private
:
74
75
// Private Member Functions
76
77
//- Disallow copy construct
78
PDRDragModel
(
const
PDRDragModel
&);
79
80
//- Disallow default bitwise assignment
81
void
operator=(
const
PDRDragModel
&);
82
83
84
public
:
85
86
//- Runtime type information
87
TypeName
(
"PDRDragModel"
);
88
89
90
// Declare run-time constructor selection table
91
92
declareRunTimeSelectionTable
93
(
94
autoPtr
,
95
PDRDragModel
,
96
dictionary
,
97
(
98
const
dictionary
& PDRProperties,
99
const
compressible::RASModel
&
turbulence
,
100
const
volScalarField
&
rho
,
101
const
volVectorField
&
U
,
102
const
surfaceScalarField
&
phi
103
),
104
(
105
PDRProperties,
106
turbulence,
107
rho,
108
U,
109
phi
110
)
111
);
112
113
114
// Selectors
115
116
//- Return a reference to the selected Xi model
117
static
autoPtr<PDRDragModel>
New
118
(
119
const
dictionary
& PDRProperties,
120
const
compressible::RASModel
& turbulence,
121
const
volScalarField
& rho,
122
const
volVectorField
& U,
123
const
surfaceScalarField
& phi
124
);
125
126
127
// Constructors
128
129
//- Construct from components
130
PDRDragModel
131
(
132
const
dictionary
& PDRProperties,
133
const
compressible::RASModel
& turbulence,
134
const
volScalarField
& rho,
135
const
volVectorField
& U,
136
const
surfaceScalarField
& phi
137
);
138
139
140
// Destructor
141
142
virtual
~PDRDragModel
();
143
144
145
// Member Functions
146
147
//- Return true if the drag model is switched on
148
bool
on
()
const
149
{
150
return
on_
;
151
}
152
153
//- Return the momentum drag coefficient
154
virtual
tmp<volSymmTensorField>
Dcu
()
const
= 0;
155
156
//- Return the momentum drag turbulence generation rate
157
virtual
tmp<volScalarField>
Gk
()
const
= 0;
158
159
//- Update properties from given dictionary
160
virtual
bool
read
(
const
dictionary
& PDRProperties) = 0;
161
162
virtual
bool
writeData
(
Ostream
&)
const
163
{
164
return
true
;
165
}
166
};
167
168
169
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
170
171
}
// End namespace Foam
172
173
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
174
175
#endif
176
177
// ************************ vim: set sw=4 sts=4 et: ************************ //