OpenFOAM
4.1
The OpenFOAM Foundation
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
applications
solvers
lagrangian
sprayFoam
sprayEngineFoam
sprayEngineFoam.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-2016 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
sprayEngineFoam
26
27
Description
28
Transient solver for compressible, turbulent engine flow with a spray
29
particle cloud.
30
31
\*---------------------------------------------------------------------------*/
32
33
#include "
fvCFD.H
"
34
#include "
engineTime.H
"
35
#include "
engineMesh.H
"
36
#include "
turbulentFluidThermoModel.H
"
37
#include "
basicSprayCloud.H
"
38
#include "
psiCombustionModel.H
"
39
#include "
radiationModel.H
"
40
#include "
SLGThermo.H
"
41
#include "
pimpleControl.H
"
42
#include "
fvOptions.H
"
43
44
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45
46
int
main(
int
argc,
char
*argv[])
47
{
48
#define CREATE_TIME createEngineTime.H
49
#define CREATE_MESH createEngineMesh.H
50
#include "
postProcess.H
"
51
52
#include "
setRootCase.H
"
53
#include "
createEngineTime.H
"
54
#include "
createEngineMesh.H
"
55
#include "createControl.H"
56
#include "readEngineTimeControls.H"
57
#include "createFields.H"
58
#include "createFieldRefs.H"
59
#include "
createFvOptions.H
"
60
#include "
createRhoUf.H
"
61
#include "compressibleCourantNo.H"
62
#include "setInitialDeltaT.H"
63
#include "initContinuityErrs.H"
64
#include "startSummary.H"
65
66
turbulence
->validate();
67
68
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
69
70
Info
<<
"\nStarting time loop\n"
<<
endl
;
71
72
while
(runTime.run())
73
{
74
#include "readEngineTimeControls.H"
75
#include "compressibleCourantNo.H"
76
#include "setDeltaT.H"
77
78
runTime++;
79
80
Info
<<
"Crank angle = "
<< runTime.theta() <<
" CA-deg"
<<
endl
;
81
82
mesh
.move();
83
84
parcels.evolve();
85
86
#include "rhoEqn.H"
87
88
// --- Pressure-velocity PIMPLE corrector loop
89
while
(
pimple
.loop())
90
{
91
#include "UEqn.H"
92
#include "YEqn.H"
93
#include "EEqn.H"
94
95
// --- Pressure corrector loop
96
while
(
pimple
.correct())
97
{
98
#include "pEqn.H"
99
}
100
101
if
(
pimple
.turbCorr())
102
{
103
turbulence
->correct();
104
}
105
}
106
107
#include "logSummary.H"
108
109
rho
=
thermo
.rho();
110
111
if
(runTime.write())
112
{
113
combustion
->dQ()().
write
();
114
}
115
116
Info
<<
"ExecutionTime = "
<< runTime.elapsedCpuTime() <<
" s"
117
<<
" ClockTime = "
<< runTime.elapsedClockTime() <<
" s"
118
<<
nl
<<
endl
;
119
}
120
121
Info
<<
"End\n"
<<
endl
;
122
123
return
0;
124
}
125
126
127
// ************************************************************************* //
turbulence
autoPtr< compressible::turbulenceModel > turbulence
Definition:
createFields.H:23
fvCFD.H
combustion
Info<< "Creating combustion model\n"<< endl;autoPtr< combustionModels::psiCombustionModel > combustion(combustionModels::psiCombustionModel::New(mesh))
createFvOptions.H
radiationModel.H
pimple
const dictionary & pimple
Definition:
readFluidMultiRegionPIMPLEControls.H:1
Foam::endl
Ostream & endl(Ostream &os)
Add newline and flush stream.
Definition:
Ostream.H:253
engineTime.H
createEngineMesh.H
basicSprayCloud.H
turbulentFluidThermoModel.H
thermo
psiReactionThermo & thermo
Definition:
createFields.H:31
mesh
dynamicFvMesh & mesh
Definition:
createDynamicFvMesh.H:18
engineMesh.H
rho
rho
Definition:
readInitialConditions.H:96
psiCombustionModel.H
createEngineTime.H
Foam::nl
static const char nl
Definition:
Ostream.H:262
fvOptions.H
setRootCase.H
pimpleControl.H
Foam::Info
messageStream Info
SLGThermo.H
postProcess.H
Execute application functionObjects to post-process existing results.
write
runTime write()
createRhoUf.H
Creates and initialises the velocity velocity field rhoUf.
Generated by
1.8.11