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
intermediate
submodels
ReactingMultiphase
InjectionModel
ReactingMultiphaseLookupTableInjection
ReactingMultiphaseLookupTableInjection.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) 2008-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::ReactingMultiphaseLookupTableInjection
26
27
Description
28
Particle injection sources read from look-up table. Each row corresponds to
29
an injection site.
30
31
(
32
(x y z) (u v w) d rho mDot T cp (Y0..Y2) (Yg0..YgN) (Yl0..YlN) (Ys0..YsN)
33
(x y z) (u v w) d rho mDot T cp (Y0..Y2) (Yg0..YgN) (Yl0..YlN) (Ys0..YsN)
34
...
35
(x y z) (u v w) d rho mDot T cp (Y0..Y2) (Yg0..YgN) (Yl0..YlN) (Ys0..YsN)
36
);
37
38
where:
39
x, y, z = global cartesian co-ordinates [m]
40
u, v, w = global cartesian velocity components [m/s]
41
d = diameter [m]
42
rho = density [kg/m3]
43
mDot = mass flow rate [kg/m3]
44
T = temperature [K]
45
cp = specific heat capacity [J/kg/K]
46
Y(3) = total mass fraction of gas (Y0), liquid (Y1), solid (Y3)
47
Yg(Ngas) = mass fractions of gaseous components
48
Yl(Nliq) = mass fractions of liquid components
49
Ys(Nsld) = mass fractions of solid components
50
51
SourceFiles
52
ReactingMultiphaseLookupTableInjection.C
53
54
\*---------------------------------------------------------------------------*/
55
56
#ifndef ReactingMultiphaseLookupTableInjection_H
57
#define ReactingMultiphaseLookupTableInjection_H
58
59
#include <
lagrangianIntermediate/InjectionModel.H
>
60
#include "
reactingMultiphaseParcelInjectionDataIOList.H
"
61
62
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
63
64
namespace
Foam
65
{
66
67
/*---------------------------------------------------------------------------*\
68
Class ReactingMultiphaseLookupTableInjection Declaration
69
\*---------------------------------------------------------------------------*/
70
71
template
<
class
CloudType>
72
class
ReactingMultiphaseLookupTableInjection
73
:
74
public
InjectionModel
<CloudType>
75
{
76
// Private data
77
78
//- Name of file containing injector/parcel data
79
const
word
inputFileName_;
80
81
//- Injection duration - common to all injection sources
82
const
scalar duration_;
83
84
//- Number of parcels per injector - common to all injection sources
85
const
label nParcelsPerSecond_;
86
87
//- List of injectors
88
reactingMultiphaseParcelInjectionDataIOList
injectors_;
89
90
//- List of injector cells per injector
91
List<label>
injectorCells_;
92
93
94
protected
:
95
96
// Protected member functions
97
98
//- Number of parcels to introduce over the time step relative to SOI
99
label
parcelsToInject
100
(
101
const
scalar time0,
102
const
scalar time1
103
)
const
;
104
105
//- Volume of parcels to introduce over the time step relative to SOI
106
scalar
volumeToInject
107
(
108
const
scalar time0,
109
const
scalar time1
110
)
const
;
111
112
113
public
:
114
115
//- Runtime type information
116
TypeName
(
"ReactingMultiphaseLookupTableInjection"
);
117
118
119
// Constructors
120
121
//- Construct from dictionary
122
ReactingMultiphaseLookupTableInjection
123
(
124
const
dictionary
&
dict
,
125
CloudType&
owner
126
);
127
128
129
//- Destructor
130
virtual
~ReactingMultiphaseLookupTableInjection
();
131
132
133
// Member Functions
134
135
//- Flag to indicate whether model activates injection model
136
bool
active
()
const
;
137
138
//- Return the end-of-injection time
139
scalar
timeEnd
()
const
;
140
141
142
// Injection geometry
143
144
//- Set the injection position and owner cell
145
virtual
void
setPositionAndCell
146
(
147
const
label parcelI,
148
const
label nParcels,
149
const
scalar time,
150
vector
& position,
151
label& cellOwner
152
);
153
154
//- Set the parcel properties
155
virtual
void
setProperties
156
(
157
const
label parcelI,
158
const
label nParcels,
159
const
scalar time,
160
typename
CloudType::parcelType&
parcel
161
);
162
163
//- Flag to identify whether model fully describes the parcel
164
virtual
bool
fullyDescribed
()
const
;
165
166
//- Return flag to identify whether or not injection of parcelI is
167
// permitted
168
virtual
bool
validInjection
(
const
label parcelI);
169
};
170
171
172
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
173
174
}
// End namespace Foam
175
176
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
177
178
#ifdef NoRepository
179
# include "
ReactingMultiphaseLookupTableInjection.C
"
180
#endif
181
182
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
183
184
#endif
185
186
// ************************ vim: set sw=4 sts=4 et: ************************ //