OpenFOAM: API Guide
v2112
The open source CFD toolbox
fireFoam.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
Application
27
fireFoam
28
29
Group
30
grpCombustionSolvers
31
32
Description
33
Transient solver for fires and turbulent diffusion flames with reacting
34
particle clouds, surface film and pyrolysis modelling.
35
36
\*---------------------------------------------------------------------------*/
37
38
#include "
fvCFD.H
"
39
#include "
turbulentFluidThermoModel.H
"
40
#include "
basicReactingCloud.H
"
41
#include "
surfaceFilmModel.H
"
42
#include "
pyrolysisModelCollection.H
"
43
#include "
radiationModel.H
"
44
#include "
SLGThermo.H
"
45
#include "
solidChemistryModel.H
"
46
#include "
psiReactionThermo.H
"
47
#include "
CombustionModel.H
"
48
#include "
pimpleControl.H
"
49
#include "
fvOptions.H
"
50
51
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
52
53
int
main(
int
argc,
char
*argv[])
54
{
55
argList::addNote
56
(
57
"Transient solver for fires and turbulent diffusion flames"
58
" with reacting particle clouds, surface film and pyrolysis modelling."
59
);
60
61
#include "
postProcess.H
"
62
63
#include "
addCheckCaseOptions.H
"
64
#include "
setRootCaseLists.H
"
65
#include "
createTime.H
"
66
#include "
createMesh.H
"
67
#include "createControl.H"
68
#include "createFields.H"
69
#include "createFieldRefs.H"
70
#include "initContinuityErrs.H"
71
#include "
createTimeControls.H
"
72
#include "compressibleCourantNo.H"
73
#include "setInitialDeltaT.H"
74
#include "createRegionControls.H"
75
76
turbulence
->validate();
77
78
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
79
80
Info
<<
"\nStarting time loop\n"
<<
endl
;
81
82
while
(
runTime
.run())
83
{
84
#include "
readTimeControls.H
"
85
#include "compressibleCourantNo.H"
86
#include "solidRegionDiffusionNo.H"
87
#include "setMultiRegionDeltaT.H"
88
#include "setDeltaT.H"
89
90
++
runTime
;
91
92
Info
<<
"Time = "
<<
runTime
.timeName() <<
nl
<<
endl
;
93
94
parcels.evolve();
95
96
surfaceFilm
.evolve();
97
98
if
(
solvePyrolysisRegion
)
99
{
100
pyrolysis.evolve();
101
}
102
103
if
(
solvePrimaryRegion
)
104
{
105
#include "rhoEqn.H"
106
107
// --- PIMPLE loop
108
while
(
pimple
.loop())
109
{
110
#include "UEqn.H"
111
#include "
YEEqn.H
"
112
113
// --- Pressure corrector loop
114
while
(
pimple
.correct())
115
{
116
#include "pEqn.H"
117
}
118
119
if
(
pimple
.turbCorr())
120
{
121
turbulence
->correct();
122
}
123
}
124
125
rho
=
thermo
.rho();
126
}
127
128
runTime
.write();
129
130
runTime
.printExecutionTime(Info);
131
}
132
133
Info
<<
"End\n"
<<
endl
;
134
135
return
0;
136
}
137
138
139
// ************************************************************************* //
CombustionModel.H
SLGThermo.H
YEEqn.H
solvePrimaryRegion
bool solvePrimaryRegion(pimpleDict.getOrDefault("solvePrimaryRegion", true))
addCheckCaseOptions.H
Required Classes.
basicReactingCloud.H
pimple
pimpleControl & pimple
Definition:
setRegionFluidFields.H:56
thermo
Basic thermodynamics type based on the use of fitting functions for cp, h, s obtained from the templa...
surfaceFilm
regionModels::surfaceFilmModel & surfaceFilm
Definition:
createFieldRefs.H:3
solvePyrolysisRegion
bool solvePyrolysisRegion(additionalControlsDict.getOrDefault("solvePyrolysisRegion", true))
runTime
engineTime & runTime
Definition:
createEngineTime.H:13
createMesh.H
Required Variables.
createTimeControls.H
Read the control parameters used by setDeltaT.
createTime.H
turbulence
compressible::turbulenceModel & turbulence
Definition:
setRegionFluidFields.H:30
fvCFD.H
fvOptions.H
Foam::Info
messageStream Info
Information stream (stdout output on master, null elsewhere)
Foam::endl
Ostream & endl(Ostream &os)
Add newline and flush stream.
Definition:
Ostream.H:372
Foam::nl
constexpr char nl
The newline '\n' character (0x0a)
Definition:
Ostream.H:53
pimpleControl.H
postProcess.H
Execute application functionObjects to post-process existing results.
psiReactionThermo.H
pyrolysisModelCollection.H
radiationModel.H
rho
rho
Definition:
readInitialConditions.H:88
readTimeControls.H
Read the control parameters used by setDeltaT.
setRootCaseLists.H
solidChemistryModel.H
surfaceFilmModel.H
turbulentFluidThermoModel.H
applications
solvers
combustion
fireFoam
fireFoam.C
Generated by
1.9.5
OPENFOAM® is a registered
trademark
of OpenCFD Ltd.