rhoPimpleFoam: Added "consistent" option to replace rhoPimplecFoam
e.g. in tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS PIMPLE { momentumPredictor yes; transonic no; nOuterCorrectors 50; nCorrectors 1; nNonOrthogonalCorrectors 0; consistent yes; rhoMin 0.5; rhoMax 2.0; residualControl { "(U|k|epsilon)" { relTol 0; tolerance 0.0001; } } turbOnFinalIterOnly off; } relaxationFactors { fields { "p.*" 0.9; "rho.*" 1; } equations { "U.*" 0.9; "h.*" 0.7; "(k|epsilon|omega).*" 0.8; } }
This commit is contained in:
parent
38e200ce83
commit
8cad93c724
@ -83,7 +83,14 @@ int main(int argc, char *argv[])
|
||||
// --- Pressure corrector loop
|
||||
while (pimple.correct())
|
||||
{
|
||||
#include "pEqn.H"
|
||||
if (pimple.consistent())
|
||||
{
|
||||
#include "pcEqn.H"
|
||||
}
|
||||
else
|
||||
{
|
||||
#include "pEqn.H"
|
||||
}
|
||||
}
|
||||
|
||||
if (pimple.turbCorr())
|
||||
|
@ -1,3 +0,0 @@
|
||||
rhoPimplecFoam.C
|
||||
|
||||
EXE = $(FOAM_APPBIN)/rhoPimplecFoam
|
@ -1,22 +0,0 @@
|
||||
EXE_INC = \
|
||||
-I.. \
|
||||
-I$(LIB_SRC)/transportModels/compressible/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
||||
-I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
|
||||
-I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/cfdTools \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude \
|
||||
-I$(LIB_SRC)/sampling/lnInclude \
|
||||
-I$(LIB_SRC)/fvOptions/lnInclude
|
||||
|
||||
EXE_LIBS = \
|
||||
-lcompressibleTransportModels \
|
||||
-lfluidThermophysicalModels \
|
||||
-lspecie \
|
||||
-lturbulenceModels \
|
||||
-lcompressibleTurbulenceModels \
|
||||
-lfiniteVolume \
|
||||
-lmeshTools \
|
||||
-lsampling \
|
||||
-lfvOptions
|
@ -1,108 +0,0 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2012-2015 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
|
||||
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Application
|
||||
rhoPimplecFoam
|
||||
|
||||
Description
|
||||
Transient solver for laminar or turbulent flow of compressible fluids
|
||||
for HVAC and similar applications.
|
||||
|
||||
Uses the flexible PIMPLEC (PISOC-SIMPLEC) solution for time-resolved and
|
||||
pseudo-transient simulations.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "fvCFD.H"
|
||||
#include "psiThermo.H"
|
||||
#include "turbulentFluidThermoModel.H"
|
||||
#include "bound.H"
|
||||
#include "pimpleControl.H"
|
||||
#include "fvIOoptionList.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
#include "setRootCase.H"
|
||||
#include "createTime.H"
|
||||
#include "createMesh.H"
|
||||
|
||||
pimpleControl pimple(mesh);
|
||||
|
||||
#include "createFields.H"
|
||||
#include "createMRF.H"
|
||||
#include "createFvOptions.H"
|
||||
#include "initContinuityErrs.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
Info<< "\nStarting time loop\n" << endl;
|
||||
|
||||
while (runTime.run())
|
||||
{
|
||||
#include "readTimeControls.H"
|
||||
#include "compressibleCourantNo.H"
|
||||
#include "setDeltaT.H"
|
||||
|
||||
runTime++;
|
||||
|
||||
Info<< "Time = " << runTime.timeName() << nl << endl;
|
||||
|
||||
if (pimple.nCorrPIMPLE() <= 1)
|
||||
{
|
||||
#include "rhoEqn.H"
|
||||
}
|
||||
|
||||
// --- Pressure-velocity PIMPLE corrector loop
|
||||
while (pimple.loop())
|
||||
{
|
||||
#include "UEqn.H"
|
||||
#include "EEqn.H"
|
||||
|
||||
// --- Pressure corrector loop
|
||||
while (pimple.correct())
|
||||
{
|
||||
#include "pEqn.H"
|
||||
}
|
||||
|
||||
if (pimple.turbCorr())
|
||||
{
|
||||
turbulence->correct();
|
||||
}
|
||||
}
|
||||
|
||||
runTime.write();
|
||||
|
||||
Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
|
||||
<< " ClockTime = " << runTime.elapsedClockTime() << " s"
|
||||
<< nl << endl;
|
||||
}
|
||||
|
||||
Info<< "End\n" << endl;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
@ -0,0 +1,62 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: dev |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class polyBoundaryMesh;
|
||||
location "constant/polyMesh";
|
||||
object boundary;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
6
|
||||
(
|
||||
front
|
||||
{
|
||||
type wall;
|
||||
inGroups 1(wall);
|
||||
nFaces 700;
|
||||
startFace 63400;
|
||||
}
|
||||
back
|
||||
{
|
||||
type wall;
|
||||
inGroups 1(wall);
|
||||
nFaces 700;
|
||||
startFace 64100;
|
||||
}
|
||||
walls
|
||||
{
|
||||
type wall;
|
||||
inGroups 1(wall);
|
||||
nFaces 1400;
|
||||
startFace 64800;
|
||||
}
|
||||
porosityWall
|
||||
{
|
||||
type wall;
|
||||
inGroups 1(wall);
|
||||
nFaces 1600;
|
||||
startFace 66200;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type patch;
|
||||
nFaces 400;
|
||||
startFace 67800;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type patch;
|
||||
nFaces 400;
|
||||
startFace 68200;
|
||||
}
|
||||
)
|
||||
|
||||
// ************************************************************************* //
|
@ -0,0 +1,147 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: dev |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object blockMeshDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
// block definition for a porosity with an angled inlet/outlet
|
||||
// the porosity is not aligned with the main axes
|
||||
//
|
||||
|
||||
convertToMeters 0.001;
|
||||
|
||||
vertices
|
||||
(
|
||||
// inlet region
|
||||
( -150 0 -25 ) // pt 0 (in1b)
|
||||
( -150 35.35533906 -25 ) // pt 1 (in2b)
|
||||
( -150 0 25 ) // pt 2 (in1f)
|
||||
( -150 35.35533906 25 ) // pt 3 (in2f)
|
||||
|
||||
// join inlet->outlet
|
||||
( 0 0 -25 ) // pt 4 (join1b)
|
||||
( -35.35533906 35.35533906 -25 ) // pt 5 (join2b)
|
||||
( 0 0 25 ) // pt 6 (join1f)
|
||||
( -35.35533906 35.35533906 25 ) // pt 7 (join2f)
|
||||
|
||||
// porosity ends ->outlet
|
||||
( 70.71067812 70.71067812 -25 ) // pt 8 (poro1b)
|
||||
( 35.35533906 106.06601718 -25 ) // pt 9 (poro2b)
|
||||
( 70.71067812 70.71067812 25 ) // pt 10 (poro1f)
|
||||
( 35.35533906 106.06601718 25 ) // pt 11 (poro2f)
|
||||
|
||||
// outlet
|
||||
( 141.42135624 141.42135624 -25 ) // pt 12 (out1b)
|
||||
( 106.06601718 176.7766953 -25 ) // pt 13 (out2b)
|
||||
( 141.42135624 141.42135624 25 ) // pt 14 (out1f)
|
||||
( 106.06601718 176.7766953 25 ) // pt 15 (out2f)
|
||||
);
|
||||
|
||||
blocks
|
||||
(
|
||||
// inlet block
|
||||
hex (0 4 5 1 2 6 7 3)
|
||||
inlet ( 15 20 20 ) simpleGrading (1 1 1)
|
||||
|
||||
// porosity block
|
||||
hex (4 8 9 5 6 10 11 7)
|
||||
porosity ( 20 20 20 ) simpleGrading (1 1 1)
|
||||
|
||||
// outlet block
|
||||
hex (8 12 13 9 10 14 15 11)
|
||||
outlet ( 20 20 20 ) simpleGrading (1 1 1)
|
||||
);
|
||||
|
||||
edges
|
||||
(
|
||||
);
|
||||
|
||||
boundary
|
||||
(
|
||||
// is there no way of defining all my 'defaultFaces' to be 'wall'?
|
||||
front
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
// inlet block
|
||||
(2 6 7 3)
|
||||
// outlet block
|
||||
(10 14 15 11)
|
||||
);
|
||||
}
|
||||
|
||||
back
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
// inlet block
|
||||
(1 5 4 0)
|
||||
// outlet block
|
||||
(9 13 12 8)
|
||||
);
|
||||
}
|
||||
|
||||
walls
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
// inlet block
|
||||
(2 0 4 6)
|
||||
(7 5 1 3)
|
||||
// outlet block
|
||||
(10 8 12 14)
|
||||
(15 13 9 11)
|
||||
);
|
||||
}
|
||||
|
||||
porosityWall
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
// porosity block
|
||||
(6 10 11 7)
|
||||
// porosity block
|
||||
(5 9 8 4)
|
||||
// porosity block
|
||||
(6 4 8 10)
|
||||
(11 9 5 7)
|
||||
);
|
||||
}
|
||||
|
||||
inlet
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
(
|
||||
(3 1 0 2)
|
||||
);
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
(
|
||||
(15 13 12 14)
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
mergePatchPairs
|
||||
(
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
@ -15,7 +15,7 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
application rhoPimplecFoam;
|
||||
application rhoPimpleFoam;
|
||||
|
||||
startFrom startTime;
|
||||
|
@ -46,16 +46,17 @@ solvers
|
||||
tolerance 1e-06;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
PIMPLE
|
||||
{
|
||||
momentumPredictor yes;
|
||||
transonic no;
|
||||
nOuterCorrectors 50;
|
||||
nCorrectors 1;
|
||||
momentumPredictor yes;
|
||||
transonic no;
|
||||
nOuterCorrectors 50;
|
||||
nCorrectors 1;
|
||||
nNonOrthogonalCorrectors 0;
|
||||
consistent yes;
|
||||
|
||||
rhoMin 0.5;
|
||||
rhoMax 2.0;
|
||||
|
||||
@ -75,12 +76,14 @@ relaxationFactors
|
||||
{
|
||||
fields
|
||||
{
|
||||
"p.*" 0.3;
|
||||
"p.*" 0.9;
|
||||
"rho.*" 1;
|
||||
}
|
||||
equations
|
||||
{
|
||||
"(U|h|k|epsilon|omega).*" 0.7;
|
||||
"U.*" 0.9;
|
||||
"h.*" 0.7;
|
||||
"(k|epsilon|omega).*" 0.8;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user