OpenFOAM
v2512
The open source CFD toolbox
Loading...
Searching...
No Matches
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.
rhoEqn.H
Solve the continuity for density.
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...
UEqn.H
createFieldRefs.H
surfaceFilm
regionModels::surfaceFilmModel & surfaceFilm
Definition
createFieldRefs.H:3
createRegionControls.H
solvePyrolysisRegion
bool solvePyrolysisRegion(additionalControlsDict.getOrDefault("solvePyrolysisRegion", true))
pEqn.H
setMultiRegionDeltaT.H
Reset the timestep to maintain a constant maximum Courant numbers. Reduction of time-step is immediat...
solidRegionDiffusionNo.H
runTime
engineTime & runTime
Definition
createEngineTime.H:13
createMesh.H
Required Classes.
createTimeControls.H
Read the control parameters used by setDeltaT.
createTime.H
turbulence
compressible::turbulenceModel & turbulence
Definition
setRegionFluidFields.H:28
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:519
Foam::nl
constexpr char nl
The newline '\n' character (0x0a).
Definition
Ostream.H:50
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
createFields.H
surfaceFilmModel.H
turbulentFluidThermoModel.H
applications
solvers
combustion
fireFoam
fireFoam.C
Generated by
1.16.1