QGDsolver
The open source CFD toolbox
Main Page
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Friends
Macros
Groups
particlesQHDFoam
particlesQHDFoam.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-2016 OpenFOAM Foundation
9
Copyright (C) 2019 OpenCFD Ltd.
10
Copyright (C) 2016-2019 ISP RAS (www.ispras.ru) UniCFD Group (www.unicfd.ru)
11
-------------------------------------------------------------------------------
12
License
13
This file is part of QGDsolver library, based on OpenFOAM+.
14
15
OpenFOAM is free software: you can redistribute it and/or modify it
16
under the terms of the GNU General Public License as published by
17
the Free Software Foundation, either version 3 of the License, or
18
(at your option) any later version.
19
20
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
21
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
22
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
23
for more details.
24
25
You should have received a copy of the GNU General Public License
26
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
27
Application
28
particlesQHDFoam
29
30
Description
31
Solver for unsteady 3D turbulent flow of incompressible fluid governed by
32
quasi-hydrodynamic dynamic (QHD) equations coupled with particles motion.
33
34
QHD system of equations has been developed by scientific group from
35
Keldysh Institute of Applied Mathematics,
36
see http://elizarova.imamod.ru/selection-of-papers.html
37
38
A comprehensive description of QGD equations and their applications
39
can be found here:
40
\verbatim
41
Elizarova, T.G.
42
"Quasi-Gas Dynamic equations"
43
Springer, 2009
44
\endverbatim
45
46
A brief of theory on QGD and QHD system of equations:
47
\verbatim
48
Elizarova, T.G. and Sheretov, Y.V.
49
"Theoretical and numerical analysis of quasi-gasdynamic and quasi-hydrodynamic
50
equations"
51
J. Computational Mathematics and Mathematical Physics, vol. 41, no. 2, pp 219-234,
52
2001
53
\endverbatim
54
55
Developed by UniCFD group (www.unicfd.ru) of ISP RAS (www.ispras.ru).
56
57
58
\*---------------------------------------------------------------------------*/
59
60
#include "fvCFD.H"
61
#include "
QHD.H
"
62
#include "turbulentFluidThermoModel.H"
63
#include "turbulentTransportModel.H"
64
#include "basicThermoCloud.H"
65
66
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
67
68
int
main
(
int
argc,
char
*argv[])
69
{
70
#define NO_CONTROL
71
#include "postProcess.H"
72
73
#include "setRootCase.H"
74
#include "createTime.H"
75
#include "createMesh.H"
76
#include "
createFields.H
"
77
#include "
createFaceFields.H
"
78
#include "
createFaceFluxes.H
"
79
#include "createTimeControls.H"
80
81
turbulence
->validate();
82
83
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
84
85
// Courant numbers used to adjust the time-step
86
scalar CoNum = 0.0;
87
scalar meanCoNum = 0.0;
88
89
Info<<
"\nStarting time loop\n"
<< endl;
90
91
while
(runTime.run())
92
{
93
/*
94
*
95
* Update fields
96
*
97
*/
98
#include "
updateFields.H
"
99
100
/*
101
*
102
* Update fluxes
103
*
104
*/
105
#include "
updateFluxes.H
"
106
107
/*
108
*
109
* Update time step
110
*
111
*/
112
#include "readTimeControls.H"
113
#include "
QHDCourantNo.H
"
114
#include "
setDeltaT-QGDQHD.H
"
115
116
runTime++;
117
118
Info<<
"Time = "
<< runTime.timeName() << nl << endl;
119
120
parcels.evolve();
121
122
// --- Store old time values
123
U
.oldTime();
124
T
.oldTime();
125
turbulence
->correct();
126
127
#include "
QHDpEqn.H
"
128
129
#include "
QHDUEqn.H
"
130
131
#include "
QHDTEqn.H
"
132
133
if
(
p
.needReference())
134
{
135
p
+= dimensionedScalar
136
(
137
"p"
,
138
p
.dimensions(),
139
pRefValue - getRefCellValue(
p
, pRefCell)
140
);
141
}
142
143
runTime.write();
144
145
Info<<
"ExecutionTime = "
<< runTime.elapsedCpuTime() <<
" s"
146
<<
" ClockTime = "
<< runTime.elapsedClockTime() <<
" s"
147
<< nl << endl;
148
149
}
150
151
152
153
Info<<
"End\n"
<< endl;
154
155
return
0;
156
}
157
158
// ************************************************************************* //
createFields.H
QHDCourantNo.H
Calculates the mean and maximum wave speed based Courant Numbers.
createFaceFields.H
main
int main(int argc, char *argv[])
Definition:
particlesQGDFoam.C:45
U
volVectorField U(IOobject("U", runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE), mesh)
updateFields.H
setDeltaT-QGDQHD.H
Reset the timestep to maintain a constant maximum courant Number. Reduction of time-step is immediate...
turbulence
Info<< "Thermo corrected"<< endl;autoPtr< compressible::turbulenceModel > turbulence
Definition:
createFields.H:24
p
volScalarField & p
Definition:
createFields.H:14
QHDTEqn.H
Solver for unsteady 3D turbulent flow of incompressible fluid governed by quasi-hydrodynamic dynamic ...
updateFluxes.H
QHD.H
Includation for QHD solver. Equations of state for QHD based on density. Class for fvsc namespace...
QHDUEqn.H
Solution of momentum equation for QHD solver.
QHDpEqn.H
Solution of continuity equation for QGD solver.
T
const volScalarField & T
Definition:
createFields.H:15
createFaceFluxes.H
Generated by
1.8.5