OpenFOAM
4.1
The OpenFOAM Foundation
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
applications
solvers
incompressible
pisoFoam
pisoFoam.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
pisoFoam
26
27
Description
28
Transient solver for incompressible, turbulent flow, using the PISO
29
algorithm.
30
31
Sub-models include:
32
- turbulence modelling, i.e. laminar, RAS or LES
33
- run-time selectable MRF and finite volume options, e.g. explicit porosity
34
35
\*---------------------------------------------------------------------------*/
36
37
#include "
fvCFD.H
"
38
#include "
singlePhaseTransportModel.H
"
39
#include "
turbulentTransportModel.H
"
40
#include "
pisoControl.H
"
41
#include "
fvOptions.H
"
42
43
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
44
45
int
main(
int
argc,
char
*argv[])
46
{
47
#include "
postProcess.H
"
48
49
#include "
setRootCase.H
"
50
#include "
createTime.H
"
51
#include "
createMesh.H
"
52
#include "createControl.H"
53
#include "createFields.H"
54
#include "
createFvOptions.H
"
55
#include "initContinuityErrs.H"
56
57
turbulence
->validate();
58
59
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
60
61
Info
<<
"\nStarting time loop\n"
<<
endl
;
62
63
while
(runTime.loop())
64
{
65
Info
<<
"Time = "
<< runTime.timeName() <<
nl
<<
endl
;
66
67
#include "CourantNo.H"
68
69
// Pressure-velocity PISO corrector
70
{
71
#include "UEqn.H"
72
73
// --- PISO loop
74
while
(
piso
.correct())
75
{
76
#include "pEqn.H"
77
}
78
}
79
80
laminarTransport
.correct();
81
turbulence
->correct();
82
83
runTime.write();
84
85
Info
<<
"ExecutionTime = "
<< runTime.elapsedCpuTime() <<
" s"
86
<<
" ClockTime = "
<< runTime.elapsedClockTime() <<
" s"
87
<<
nl
<<
endl
;
88
}
89
90
Info
<<
"End\n"
<<
endl
;
91
92
return
0;
93
}
94
95
96
// ************************************************************************* //
turbulence
autoPtr< compressible::turbulenceModel > turbulence
Definition:
createFields.H:23
fvCFD.H
createFvOptions.H
Foam::endl
Ostream & endl(Ostream &os)
Add newline and flush stream.
Definition:
Ostream.H:253
piso
pisoControl piso(mesh)
createTime.H
turbulentTransportModel.H
laminarTransport
singlePhaseTransportModel laminarTransport(U, phi)
Foam::nl
static const char nl
Definition:
Ostream.H:262
createMesh.H
fvOptions.H
setRootCase.H
Foam::Info
messageStream Info
postProcess.H
Execute application functionObjects to post-process existing results.
pisoControl.H
singlePhaseTransportModel.H
Generated by
1.8.11