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 | Copyright (C) 2011-2015 OpenFOAM Foundation
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 Application
25  fireFoam
26 
27 Group
28  grpCombustionSolvers
29 
30 Description
31  Transient PIMPLE solver for fires and turbulent diffusion flames with
32  reacting Lagrangian parcels, surface film and pyrolysis modelling.
33 
34 \*---------------------------------------------------------------------------*/
35 
36 #include "fvCFD.H"
38 #include "basicReactingCloud.H"
39 #include "surfaceFilmModel.H"
41 #include "radiationModel.H"
42 #include "SLGThermo.H"
43 #include "solidChemistryModel.H"
44 #include "psiCombustionModel.H"
45 #include "pimpleControl.H"
46 #include "fvOptions.H"
48 
49 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
50 
51 int main(int argc, char *argv[])
52 {
53  #include "setRootCase.H"
54 
55  #include "createTime.H"
56  #include "createMesh.H"
57 
58  pimpleControl pimple(mesh);
59 
60  #include "createFields.H"
61  #include "createMRF.H"
62  #include "createFvOptions.H"
63  #include "createClouds.H"
64  #include "createSurfaceFilmModel.H"
65  #include "createPyrolysisModel.H"
66  #include "createRadiationModel.H"
67  #include "initContinuityErrs.H"
68  #include "createTimeControls.H"
69  #include "compressibleCourantNo.H"
70  #include "setInitialDeltaT.H"
72 
73  turbulence->validate();
74 
75  // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
76 
77  Info<< "\nStarting time loop\n" << endl;
78 
79  while (runTime.run())
80  {
81  #include "createTimeControls.H"
82  #include "compressibleCourantNo.H"
83  #include "solidRegionDiffusionNo.H"
84  #include "setMultiRegionDeltaT.H"
85  #include "setDeltaT.H"
86 
87  runTime++;
88 
89  Info<< "Time = " << runTime.timeName() << nl << endl;
90 
91  parcels.evolve();
92 
93  surfaceFilm.evolve();
94 
95  pyrolysis.evolve();
96 
98  {
99  #include "rhoEqn.H"
100 
101  // --- PIMPLE loop
102  while (pimple.loop())
103  {
104  #include "UEqn.H"
105  #include "YEEqn.H"
106 
107  // --- Pressure corrector loop
108  while (pimple.correct())
109  {
110  #include "pEqn.H"
111  }
112 
113  if (pimple.turbCorr())
114  {
115  turbulence->correct();
116  }
117  }
118 
119  rho = thermo.rho();
120  }
121 
122  runTime.write();
123 
124  Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
125  << " ClockTime = " << runTime.elapsedClockTime() << " s"
126  << nl << endl;
127  }
128 
129  Info<< "End" << endl;
130 
131  return 0;
132 }
133 
134 
135 // ************************************************************************* //
fvOptions.H
thermo
Basic thermodynamics type based on the use of fitting functions for cp, h, s obtained from the templa...
createPyrolysisModel.H
Foam::endl
Ostream & endl(Ostream &os)
Add newline and flush stream.
Definition: Ostream.H:251
pyrolysisModelCollection.H
createRadiationModel.H
SLGThermo.H
pimpleControl.H
createFvOptions.H
turbulence
autoPtr< compressible::turbulenceModel > turbulence
Definition: createFields.H:23
Foam::nl
static const char nl
Definition: Ostream.H:260
Foam::Info
messageStream Info
main
int main(int argc, char *argv[])
Definition: postCalc.C:54
solidChemistryModel.H
surfaceFilmModel.H
mesh
dynamicFvMesh & mesh
Definition: createDynamicFvMesh.H:18
basicReactingCloud.H
readPyrolysisTimeControls.H
YEEqn.H
rho
rho
Definition: pEqn.H:3
setRootCase.H
createTimeControls.H
Read the control parameters used by setDeltaT.
solvePrimaryRegion
Switch solvePrimaryRegion(additionalControlsDict.lookup("solvePrimaryRegion"))
createMesh.H
surfaceFilm
filmModelType & surfaceFilm
Definition: createSurfaceFilmModel.H:6
createTime.H
fvCFD.H
psiCombustionModel.H
pimple
const dictionary & pimple
Definition: readFluidMultiRegionPIMPLEControls.H:1
fixedFluxPressureFvPatchScalarField.H
radiationModel.H
turbulentFluidThermoModel.H