mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
rhoPimpleFoam: Added run-time selectable LTS support replacing rhoLTSPimpleFoam
Select LTS via the ddtScheme:
ddtSchemes
{
default localEuler rDeltaT;
}
This commit is contained in:
@ -1,3 +0,0 @@
|
||||
rhoLTSPimpleFoam.C
|
||||
|
||||
EXE = $(FOAM_APPBIN)/rhoLTSPimpleFoam
|
||||
@ -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,19 +0,0 @@
|
||||
scalar maxDeltaT
|
||||
(
|
||||
pimple.dict().lookupOrDefault<scalar>("maxDeltaT", GREAT)
|
||||
);
|
||||
|
||||
volScalarField rDeltaT
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"rDeltaT",
|
||||
runTime.timeName(),
|
||||
mesh,
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh,
|
||||
1/dimensionedScalar("maxDeltaT", dimTime, maxDeltaT),
|
||||
zeroGradientFvPatchScalarField::typeName
|
||||
);
|
||||
@ -1,111 +0,0 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-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
|
||||
rhoLTSPorousMRFPimpleFoam
|
||||
|
||||
Description
|
||||
Transient solver for laminar or turbulent flow of compressible fluids
|
||||
with support for run-time selectable finite volume options, e.g. MRF,
|
||||
explicit porosity.
|
||||
|
||||
Uses the flexible PIMPLE (PISO-SIMPLE) solution for time-resolved and
|
||||
pseudo-transient simulations with support for local time-stepping for
|
||||
efficient steady-state solution.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "fvCFD.H"
|
||||
#include "psiThermo.H"
|
||||
#include "turbulentFluidThermoModel.H"
|
||||
#include "fvIOoptionList.H"
|
||||
#include "fvcSmooth.H"
|
||||
#include "pimpleControl.H"
|
||||
#include "bound.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
#include "setRootCase.H"
|
||||
#include "createTime.H"
|
||||
#include "createMesh.H"
|
||||
|
||||
pimpleControl pimple(mesh);
|
||||
|
||||
#include "createRDeltaT.H"
|
||||
#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;
|
||||
|
||||
#include "setRDeltaT.H"
|
||||
|
||||
if (pimple.nCorrPIMPLE() <= 1)
|
||||
{
|
||||
#include "rhoEqn.H"
|
||||
}
|
||||
|
||||
// --- Pressure-velocity PIMPLE corrector loop
|
||||
while (pimple.loop())
|
||||
{
|
||||
turbulence->correct();
|
||||
|
||||
#include "UEqn.H"
|
||||
#include "EEqn.H"
|
||||
|
||||
// --- Pressure corrector loop
|
||||
while (pimple.correct())
|
||||
{
|
||||
#include "pEqn.H"
|
||||
}
|
||||
}
|
||||
|
||||
runTime.write();
|
||||
|
||||
Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
|
||||
<< " ClockTime = " << runTime.elapsedClockTime() << " s"
|
||||
<< nl << endl;
|
||||
}
|
||||
|
||||
Info<< "End\n" << endl;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -44,6 +44,8 @@ Description
|
||||
#include "pimpleControl.H"
|
||||
#include "CorrectPhi.H"
|
||||
#include "fvIOoptionList.H"
|
||||
#include "localEulerDdtScheme.H"
|
||||
#include "fvcSmooth.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -52,17 +54,23 @@ int main(int argc, char *argv[])
|
||||
#include "setRootCase.H"
|
||||
#include "createTime.H"
|
||||
#include "createDynamicFvMesh.H"
|
||||
#include "initContinuityErrs.H"
|
||||
|
||||
pimpleControl pimple(mesh);
|
||||
|
||||
#include "readControls.H"
|
||||
#include "createRDeltaT.H"
|
||||
#include "initContinuityErrs.H"
|
||||
#include "createFields.H"
|
||||
#include "createMRF.H"
|
||||
#include "createFvOptions.H"
|
||||
#include "createRhoUf.H"
|
||||
#include "CourantNo.H"
|
||||
|
||||
if (!LTS)
|
||||
{
|
||||
#include "readTimeControls.H"
|
||||
#include "CourantNo.H"
|
||||
#include "setInitialDeltaT.H"
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -82,8 +90,15 @@ int main(int argc, char *argv[])
|
||||
fvc::div(fvc::absolute(phi, rho, U))
|
||||
);
|
||||
|
||||
if (LTS)
|
||||
{
|
||||
#include "setRDeltaT.H"
|
||||
}
|
||||
else
|
||||
{
|
||||
#include "compressibleCourantNo.H"
|
||||
#include "setDeltaT.H"
|
||||
}
|
||||
|
||||
runTime++;
|
||||
|
||||
|
||||
@ -39,6 +39,8 @@ Description
|
||||
#include "bound.H"
|
||||
#include "pimpleControl.H"
|
||||
#include "fvIOoptionList.H"
|
||||
#include "localEulerDdtScheme.H"
|
||||
#include "fvcSmooth.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -50,10 +52,18 @@ int main(int argc, char *argv[])
|
||||
|
||||
pimpleControl pimple(mesh);
|
||||
|
||||
#include "createRDeltaT.H"
|
||||
#include "initContinuityErrs.H"
|
||||
#include "createFields.H"
|
||||
#include "createMRF.H"
|
||||
#include "createFvOptions.H"
|
||||
#include "initContinuityErrs.H"
|
||||
|
||||
if (!LTS)
|
||||
{
|
||||
#include "readTimeControls.H"
|
||||
#include "CourantNo.H"
|
||||
#include "setInitialDeltaT.H"
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -62,8 +72,16 @@ int main(int argc, char *argv[])
|
||||
while (runTime.run())
|
||||
{
|
||||
#include "readTimeControls.H"
|
||||
|
||||
if (LTS)
|
||||
{
|
||||
#include "setRDeltaT.H"
|
||||
}
|
||||
else
|
||||
{
|
||||
#include "compressibleCourantNo.H"
|
||||
#include "setDeltaT.H"
|
||||
}
|
||||
|
||||
runTime++;
|
||||
|
||||
|
||||
@ -1,4 +1,6 @@
|
||||
{
|
||||
volScalarField& rDeltaT = trDeltaT();
|
||||
|
||||
const dictionary& pimpleDict = pimple.dict();
|
||||
|
||||
scalar maxCo
|
||||
@ -1,54 +0,0 @@
|
||||
/*--------------------------------*- 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 volScalarField;
|
||||
object T;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 1 0 0 0];
|
||||
|
||||
internalField uniform 293;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
|
||||
front
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
back
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
walls
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
porosityWall
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
inlet
|
||||
{
|
||||
type fixedValue;
|
||||
value $internalField;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type inletOutlet;
|
||||
value $internalField;
|
||||
inletValue $internalField;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -1,57 +0,0 @@
|
||||
/*--------------------------------*- 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 volVectorField;
|
||||
object U;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 1 -1 0 0 0 0];
|
||||
|
||||
internalField uniform (47.8 0 0);
|
||||
|
||||
boundaryField
|
||||
{
|
||||
front
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform (0 0 0);
|
||||
}
|
||||
back
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform (0 0 0);
|
||||
}
|
||||
walls
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform (0 0 0);
|
||||
}
|
||||
porosityWall
|
||||
{
|
||||
type slip;
|
||||
value uniform (0 0 0);
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type flowRateInletVelocity;
|
||||
massFlowRate constant 0.1;
|
||||
value uniform (0 0 0);
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type fluxCorrectedVelocity; //inletOutlet;
|
||||
value uniform (0 0 0);
|
||||
inletValue uniform (0 0 0);
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -1,57 +0,0 @@
|
||||
/*--------------------------------*- 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 volScalarField;
|
||||
location "0";
|
||||
object alphat;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [1 -1 -1 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
front
|
||||
{
|
||||
type compressible::alphatWallFunction;
|
||||
value uniform 0;
|
||||
}
|
||||
back
|
||||
{
|
||||
type compressible::alphatWallFunction;
|
||||
value uniform 0;
|
||||
}
|
||||
walls
|
||||
{
|
||||
type compressible::alphatWallFunction;
|
||||
value uniform 0;
|
||||
}
|
||||
porosityWall
|
||||
{
|
||||
type compressible::alphatWallFunction;
|
||||
value uniform 0;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type calculated;
|
||||
value uniform 0;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type calculated;
|
||||
value uniform 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -1,59 +0,0 @@
|
||||
/*--------------------------------*- 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 volScalarField;
|
||||
location "0";
|
||||
object epsilon;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 2 -3 0 0 0 0];
|
||||
|
||||
internalField uniform 200;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
front
|
||||
{
|
||||
type epsilonWallFunction;
|
||||
value uniform 200;
|
||||
}
|
||||
back
|
||||
{
|
||||
type epsilonWallFunction;
|
||||
value uniform 200;
|
||||
}
|
||||
walls
|
||||
{
|
||||
type epsilonWallFunction;
|
||||
value uniform 200;
|
||||
}
|
||||
porosityWall
|
||||
{
|
||||
type epsilonWallFunction;
|
||||
value uniform 200;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type turbulentMixingLengthDissipationRateInlet;
|
||||
mixingLength 0.005;
|
||||
value uniform 200;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type inletOutlet;
|
||||
inletValue uniform 200;
|
||||
value uniform 200;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -1,59 +0,0 @@
|
||||
/*--------------------------------*- 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 volScalarField;
|
||||
location "0";
|
||||
object k;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 2 -2 0 0 0 0];
|
||||
|
||||
internalField uniform 1;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
front
|
||||
{
|
||||
type kqRWallFunction;
|
||||
value uniform 1;
|
||||
}
|
||||
back
|
||||
{
|
||||
type kqRWallFunction;
|
||||
value uniform 1;
|
||||
}
|
||||
walls
|
||||
{
|
||||
type kqRWallFunction;
|
||||
value uniform 1;
|
||||
}
|
||||
porosityWall
|
||||
{
|
||||
type kqRWallFunction;
|
||||
value uniform 1;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type turbulentIntensityKineticEnergyInlet;
|
||||
intensity 0.05;
|
||||
value uniform 1;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type inletOutlet;
|
||||
inletValue uniform 1;
|
||||
value uniform 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -1,57 +0,0 @@
|
||||
/*--------------------------------*- 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 volScalarField;
|
||||
location "0";
|
||||
object nut;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 2 -1 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
front
|
||||
{
|
||||
type nutkWallFunction;
|
||||
value uniform 0;
|
||||
}
|
||||
back
|
||||
{
|
||||
type nutkWallFunction;
|
||||
value uniform 0;
|
||||
}
|
||||
walls
|
||||
{
|
||||
type nutkWallFunction;
|
||||
value uniform 0;
|
||||
}
|
||||
porosityWall
|
||||
{
|
||||
type nutkWallFunction;
|
||||
value uniform 0;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type calculated;
|
||||
value uniform 0;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type calculated;
|
||||
value uniform 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -1,51 +0,0 @@
|
||||
/*--------------------------------*- 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 volScalarField;
|
||||
object p;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [1 -1 -2 0 0 0 0];
|
||||
|
||||
internalField uniform 1.0e5;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
front
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
back
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
walls
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
porosityWall
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
inlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type fixedValue;
|
||||
value $internalField;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -1,10 +0,0 @@
|
||||
#!/bin/sh
|
||||
cd ${0%/*} || exit 1 # Run from this directory
|
||||
|
||||
m4 system/blockMeshDict.m4 > system/blockMeshDict
|
||||
|
||||
# Source tutorial run functions
|
||||
. $WM_PROJECT_DIR/bin/tools/RunFunctions
|
||||
|
||||
runApplication blockMesh
|
||||
runApplication `getApplication`
|
||||
@ -1,51 +0,0 @@
|
||||
/*--------------------------------*- 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;
|
||||
location "constant";
|
||||
object fvOptions;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
porosity1
|
||||
{
|
||||
type explicitPorositySource;
|
||||
active yes;
|
||||
|
||||
explicitPorositySourceCoeffs
|
||||
{
|
||||
selectionMode cellZone;
|
||||
cellZone porosity;
|
||||
|
||||
type DarcyForchheimer;
|
||||
|
||||
DarcyForchheimerCoeffs
|
||||
{
|
||||
d d [0 -2 0 0 0 0 0] (5e7 -1000 -1000);
|
||||
f f [0 -1 0 0 0 0 0] (0 0 0);
|
||||
|
||||
coordinateSystem
|
||||
{
|
||||
type cartesian;
|
||||
origin (0 0 0);
|
||||
coordinateRotation
|
||||
{
|
||||
type axesRotation;
|
||||
e1 (0.70710678 0.70710678 0);
|
||||
e2 (0 0 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -1,62 +0,0 @@
|
||||
/*--------------------------------*- 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;
|
||||
}
|
||||
)
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -1,49 +0,0 @@
|
||||
/*--------------------------------*- 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;
|
||||
location "constant";
|
||||
object thermophysicalProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
thermoType
|
||||
{
|
||||
type hePsiThermo;
|
||||
mixture pureMixture;
|
||||
transport sutherland;
|
||||
thermo hConst;
|
||||
equationOfState perfectGas;
|
||||
specie specie;
|
||||
energy sensibleEnthalpy;
|
||||
}
|
||||
|
||||
mixture
|
||||
{
|
||||
specie
|
||||
{
|
||||
nMoles 1;
|
||||
molWeight 28.9;
|
||||
}
|
||||
thermodynamics
|
||||
{
|
||||
Cp 1007;
|
||||
Hf 0;
|
||||
}
|
||||
transport
|
||||
{
|
||||
As 1.4792e-06;
|
||||
Ts 116;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -1,30 +0,0 @@
|
||||
/*--------------------------------*- 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;
|
||||
location "constant";
|
||||
object turbulenceProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
simulationType RAS;
|
||||
|
||||
RAS
|
||||
{
|
||||
RASModel kEpsilon;
|
||||
|
||||
turbulence on;
|
||||
|
||||
printCoeffs on;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -1,165 +0,0 @@
|
||||
/*--------------------------------*- 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
|
||||
//
|
||||
dnl> -----------------------------------------------------------------
|
||||
dnl> <STANDARD DEFINTIONS>
|
||||
dnl>
|
||||
changecom(//)changequote([,]) dnl>
|
||||
define(calc, [esyscmd(perl -e 'print ($1)')]) dnl>
|
||||
define(VCOUNT, 0) dnl>
|
||||
define(vlabel, [[// ]pt VCOUNT ($1) define($1, VCOUNT)define([VCOUNT], incr(VCOUNT))]) dnl>
|
||||
dnl>
|
||||
define(hex2D, hex ($1b $2b $3b $4b $1f $2f $3f $4f)) dnl>
|
||||
define(quad2D, ($1f $1b $2b $2f)) dnl>
|
||||
define(frontQuad, ($1f $2f $3f $4f)) dnl>
|
||||
define(backQuad, ($4b $3b $2b $1b)) dnl>
|
||||
dnl>
|
||||
dnl> </STANDARD DEFINTIONS>
|
||||
dnl> -----------------------------------------------------------------
|
||||
dnl>
|
||||
define(ncells, 20) dnl>
|
||||
define(ninlet, 15) dnl>
|
||||
define(nporo, 20) dnl>
|
||||
define(noutlet, 20) dnl>
|
||||
dnl>
|
||||
define(x0,0) dnl>
|
||||
define(y0,0) dnl>
|
||||
define(y0,0) dnl>
|
||||
define(Cos,0.7071067812) dnl> == cos(45)
|
||||
define(Sin,0.7071067812) dnl> == sin(45)
|
||||
dnl>
|
||||
define(width,50) dnl>
|
||||
define(zBack,calc(-width/2)) dnl>
|
||||
define(zFront,calc(width/2)) dnl>
|
||||
define(leninlet,150)dnl>
|
||||
define(lenporo,100)dnl>
|
||||
define(lenoutlet,100)dnl>
|
||||
dnl>
|
||||
define(xhyp,calc(Sin*width)) dnl>
|
||||
define(yhyp,calc(Cos*width)) dnl>
|
||||
define(xinlet,leninlet)dnl>
|
||||
define(xporo,calc(Cos*lenporo)) dnl>
|
||||
define(yporo,calc(Sin*lenporo)) dnl>
|
||||
define(xoutlet,calc(xporo + Cos*lenoutlet)) dnl>
|
||||
define(youtlet,calc(yporo + Sin*lenoutlet)) dnl>
|
||||
dnl>
|
||||
|
||||
convertToMeters 0.001;
|
||||
|
||||
vertices
|
||||
(
|
||||
// inlet region
|
||||
( -xinlet y0 zBack ) vlabel(in1b)
|
||||
( -xinlet yhyp zBack ) vlabel(in2b)
|
||||
( -xinlet y0 zFront ) vlabel(in1f)
|
||||
( -xinlet yhyp zFront ) vlabel(in2f)
|
||||
|
||||
// join inlet->outlet
|
||||
( x0 y0 zBack ) vlabel(join1b)
|
||||
( -xhyp yhyp zBack ) vlabel(join2b)
|
||||
( x0 y0 zFront ) vlabel(join1f)
|
||||
( -xhyp yhyp zFront ) vlabel(join2f)
|
||||
|
||||
// porosity ends ->outlet
|
||||
( xporo yporo zBack ) vlabel(poro1b)
|
||||
( calc(xporo - xhyp) calc(yporo + yhyp) zBack ) vlabel(poro2b)
|
||||
( xporo yporo zFront ) vlabel(poro1f)
|
||||
( calc(xporo - xhyp) calc(yporo + yhyp) zFront ) vlabel(poro2f)
|
||||
|
||||
// outlet
|
||||
( xoutlet youtlet zBack ) vlabel(out1b)
|
||||
( calc(xoutlet - xhyp) calc(youtlet + yhyp) zBack ) vlabel(out2b)
|
||||
( xoutlet youtlet zFront ) vlabel(out1f)
|
||||
( calc(xoutlet - xhyp) calc(youtlet + yhyp) zFront ) vlabel(out2f)
|
||||
);
|
||||
|
||||
blocks
|
||||
(
|
||||
// inlet block
|
||||
hex2D(in1, join1, join2, in2)
|
||||
inlet ( ninlet ncells ncells ) simpleGrading (1 1 1)
|
||||
|
||||
// porosity block
|
||||
hex2D(join1, poro1, poro2, join2)
|
||||
porosity ( nporo ncells ncells ) simpleGrading (1 1 1)
|
||||
|
||||
// outlet block
|
||||
hex2D(poro1, out1, out2, poro2)
|
||||
outlet ( noutlet ncells ncells ) simpleGrading (1 1 1)
|
||||
);
|
||||
|
||||
edges
|
||||
(
|
||||
);
|
||||
|
||||
patches
|
||||
(
|
||||
// is there no way of defining all my 'defaultFaces' to be 'wall'?
|
||||
wall front
|
||||
(
|
||||
// inlet block
|
||||
frontQuad(in1, join1, join2, in2)
|
||||
// outlet block
|
||||
frontQuad(poro1, out1, out2, poro2)
|
||||
)
|
||||
|
||||
wall back
|
||||
(
|
||||
// inlet block
|
||||
backQuad(in1, join1, join2, in2)
|
||||
// outlet block
|
||||
backQuad(poro1, out1, out2, poro2)
|
||||
)
|
||||
|
||||
wall walls
|
||||
(
|
||||
// inlet block
|
||||
quad2D(in1, join1)
|
||||
quad2D(join2, in2)
|
||||
// outlet block
|
||||
quad2D(poro1, out1)
|
||||
quad2D(out2, poro2)
|
||||
)
|
||||
|
||||
wall porosityWall
|
||||
(
|
||||
// porosity block
|
||||
frontQuad(join1, poro1, poro2, join2)
|
||||
// porosity block
|
||||
backQuad(join1, poro1, poro2, join2)
|
||||
// porosity block
|
||||
quad2D(join1, poro1)
|
||||
quad2D(poro2, join2)
|
||||
)
|
||||
|
||||
patch inlet
|
||||
(
|
||||
quad2D(in2, in1)
|
||||
)
|
||||
|
||||
patch outlet
|
||||
(
|
||||
quad2D(out2, out1)
|
||||
)
|
||||
);
|
||||
|
||||
mergePatchPairs
|
||||
(
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -1,49 +0,0 @@
|
||||
/*--------------------------------*- 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;
|
||||
location "system";
|
||||
object controlDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
application rhoLTSPimpleFoam;
|
||||
|
||||
startFrom startTime;
|
||||
|
||||
startTime 0;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime 500;
|
||||
|
||||
deltaT 1;
|
||||
|
||||
writeControl adjustableRunTime;
|
||||
|
||||
writeInterval 50;
|
||||
|
||||
purgeWrite 0;
|
||||
|
||||
writeFormat ascii;
|
||||
|
||||
writePrecision 6;
|
||||
|
||||
writeCompression off;
|
||||
|
||||
timeFormat general;
|
||||
|
||||
timePrecision 6;
|
||||
|
||||
runTimeModifiable true;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -1,67 +0,0 @@
|
||||
/*--------------------------------*- 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;
|
||||
location "system";
|
||||
object fvSchemes;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
ddtSchemes
|
||||
{
|
||||
default localEuler rDeltaT;
|
||||
}
|
||||
|
||||
gradSchemes
|
||||
{
|
||||
default Gauss linear;
|
||||
}
|
||||
|
||||
divSchemes
|
||||
{
|
||||
default none;
|
||||
div(phi,U) Gauss upwind;
|
||||
div(phid,p) Gauss upwind;
|
||||
div(phi,K) Gauss linear;
|
||||
div(phi,h) Gauss upwind;
|
||||
div(phi,k) Gauss upwind;
|
||||
div(phi,epsilon) Gauss upwind;
|
||||
div(phi,R) Gauss upwind;
|
||||
div(phi,omega) Gauss upwind;
|
||||
div((rho*R)) Gauss linear;
|
||||
div(R) Gauss linear;
|
||||
div(U) Gauss linear;
|
||||
div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
|
||||
}
|
||||
|
||||
laplacianSchemes
|
||||
{
|
||||
default Gauss linear corrected;
|
||||
}
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
default linear;
|
||||
}
|
||||
|
||||
snGradSchemes
|
||||
{
|
||||
default corrected;
|
||||
}
|
||||
|
||||
fluxRequired
|
||||
{
|
||||
default no;
|
||||
p ;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -1,68 +0,0 @@
|
||||
/*--------------------------------*- 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;
|
||||
location "system";
|
||||
object fvSolution;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
solvers
|
||||
{
|
||||
p
|
||||
{
|
||||
solver PCG;
|
||||
preconditioner DIC;
|
||||
tolerance 1e-06;
|
||||
relTol 0.1;
|
||||
}
|
||||
|
||||
pFinal
|
||||
{
|
||||
$p;
|
||||
tolerance 1e-06;
|
||||
relTol 0.1;
|
||||
}
|
||||
|
||||
"(rho|U|h|k|epsilon|omega)"
|
||||
{
|
||||
solver smoothSolver;
|
||||
smoother symGaussSeidel;
|
||||
tolerance 1e-05;
|
||||
relTol 0.1;
|
||||
}
|
||||
|
||||
"(rho|U|h|k|epsilon|omega)Final"
|
||||
{
|
||||
$U;
|
||||
tolerance 1e-05;
|
||||
relTol 0.1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
PIMPLE
|
||||
{
|
||||
momentumPredictor yes;
|
||||
nOuterCorrectors 1;
|
||||
nCorrectors 1;
|
||||
nNonOrthogonalCorrectors 0;
|
||||
rhoMin 0.5;
|
||||
rhoMax 2.0;
|
||||
|
||||
maxCo 0.2;
|
||||
rDeltaTSmoothingCoeff 0.1;
|
||||
rDeltaTDampingCoeff 1;
|
||||
maxDeltaT 1;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -29,7 +29,7 @@ boundaryField
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
walls
|
||||
wall
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
@ -44,7 +44,7 @@ boundaryField
|
||||
{
|
||||
type flowRateInletVelocity;
|
||||
massFlowRate constant 0.1;
|
||||
value uniform (0 0 0);
|
||||
rhoInlet 1; // estimate for initial rho
|
||||
}
|
||||
outlet
|
||||
{
|
||||
|
||||
@ -17,39 +17,39 @@ FoamFile
|
||||
|
||||
dimensions [1 -1 -1 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
internalField uniform 1e-3;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
front
|
||||
{
|
||||
type compressible::alphatWallFunction;
|
||||
value uniform 0;
|
||||
value $internalField;
|
||||
}
|
||||
back
|
||||
{
|
||||
type compressible::alphatWallFunction;
|
||||
value uniform 0;
|
||||
value $internalField;
|
||||
}
|
||||
walls
|
||||
{
|
||||
type compressible::alphatWallFunction;
|
||||
value uniform 0;
|
||||
value $internalField;
|
||||
}
|
||||
porosityWall
|
||||
{
|
||||
type compressible::alphatWallFunction;
|
||||
value uniform 0;
|
||||
value $internalField;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type calculated;
|
||||
value uniform 0;
|
||||
value $internalField;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type calculated;
|
||||
value uniform 0;
|
||||
value $internalField;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -29,7 +29,7 @@ porosity1
|
||||
|
||||
DarcyForchheimerCoeffs
|
||||
{
|
||||
d d [0 -2 0 0 0 0 0] (5e7 -1000 -1000);
|
||||
d d [0 -2 0 0 0 0 0] (7e5 -1000 -1000);
|
||||
f f [0 -1 0 0 0 0 0] (0 0 0);
|
||||
|
||||
coordinateSystem
|
||||
@ -40,7 +40,7 @@ porosity1
|
||||
{
|
||||
type axesRotation;
|
||||
e1 (0.70710678 0.70710678 0);
|
||||
e2 (0 0 1);
|
||||
e3 (0 0 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -48,4 +48,4 @@ porosity1
|
||||
}
|
||||
|
||||
|
||||
//************************************************************************* //
|
||||
//************************************************************************ //
|
||||
|
||||
@ -21,14 +21,14 @@ solvers
|
||||
{
|
||||
solver PCG;
|
||||
preconditioner DIC;
|
||||
tolerance 1e-06;
|
||||
tolerance 1e-07;
|
||||
relTol 0.01;
|
||||
}
|
||||
|
||||
pFinal
|
||||
{
|
||||
$p;
|
||||
tolerance 1e-06;
|
||||
tolerance 1e-07;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
@ -36,17 +36,16 @@ solvers
|
||||
{
|
||||
solver smoothSolver;
|
||||
smoother symGaussSeidel;
|
||||
tolerance 1e-05;
|
||||
tolerance 1e-06;
|
||||
relTol 0.1;
|
||||
}
|
||||
|
||||
"(rho|U|h|k|epsilon|omega)Final"
|
||||
{
|
||||
$U;
|
||||
tolerance 1e-05;
|
||||
tolerance 1e-06;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
PIMPLE
|
||||
@ -56,8 +55,10 @@ PIMPLE
|
||||
nOuterCorrectors 50;
|
||||
nCorrectors 1;
|
||||
nNonOrthogonalCorrectors 0;
|
||||
consistent yes;
|
||||
|
||||
rhoMin 0.5;
|
||||
rhoMax 1.5;
|
||||
rhoMax 2.0;
|
||||
|
||||
residualControl
|
||||
{
|
||||
@ -75,12 +76,14 @@ relaxationFactors
|
||||
{
|
||||
fields
|
||||
{
|
||||
"p.*" 0.3;
|
||||
"rho.*" 0.01;
|
||||
"p.*" 0.9;
|
||||
"rho.*" 1;
|
||||
}
|
||||
equations
|
||||
{
|
||||
"(U|h|k|epsilon|omega).*" 0.7;
|
||||
"U.*" 0.9;
|
||||
"h.*" 0.7;
|
||||
"(k|epsilon|omega).*" 0.8;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -29,7 +29,7 @@ boundaryField
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
wall
|
||||
walls
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
@ -16,7 +16,7 @@ FoamFile
|
||||
|
||||
dimensions [0 1 -1 0 0 0 0];
|
||||
|
||||
internalField uniform (0 0 0);
|
||||
internalField uniform (47.8 0 0);
|
||||
|
||||
boundaryField
|
||||
{
|
||||
@ -44,11 +44,11 @@ boundaryField
|
||||
{
|
||||
type flowRateInletVelocity;
|
||||
massFlowRate constant 0.1;
|
||||
rhoInlet 1; // estimate for initial rho
|
||||
value uniform (0 0 0);
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type pressureInletOutletVelocity;
|
||||
type fluxCorrectedVelocity; //inletOutlet;
|
||||
value uniform (0 0 0);
|
||||
inletValue uniform (0 0 0);
|
||||
}
|
||||
|
||||
@ -17,39 +17,39 @@ FoamFile
|
||||
|
||||
dimensions [1 -1 -1 0 0 0 0];
|
||||
|
||||
internalField uniform 1e-3;
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
front
|
||||
{
|
||||
type compressible::alphatWallFunction;
|
||||
value $internalField;
|
||||
value uniform 0;
|
||||
}
|
||||
back
|
||||
{
|
||||
type compressible::alphatWallFunction;
|
||||
value $internalField;
|
||||
value uniform 0;
|
||||
}
|
||||
walls
|
||||
{
|
||||
type compressible::alphatWallFunction;
|
||||
value $internalField;
|
||||
value uniform 0;
|
||||
}
|
||||
porosityWall
|
||||
{
|
||||
type compressible::alphatWallFunction;
|
||||
value $internalField;
|
||||
value uniform 0;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type calculated;
|
||||
value $internalField;
|
||||
value uniform 0;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type calculated;
|
||||
value $internalField;
|
||||
value uniform 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -29,7 +29,7 @@ porosity1
|
||||
|
||||
DarcyForchheimerCoeffs
|
||||
{
|
||||
d d [0 -2 0 0 0 0 0] (7e5 -1000 -1000);
|
||||
d d [0 -2 0 0 0 0 0] (5e7 -1000 -1000);
|
||||
f f [0 -1 0 0 0 0 0] (0 0 0);
|
||||
|
||||
coordinateSystem
|
||||
@ -40,7 +40,7 @@ porosity1
|
||||
{
|
||||
type axesRotation;
|
||||
e1 (0.70710678 0.70710678 0);
|
||||
e3 (0 0 1);
|
||||
e2 (0 0 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -48,4 +48,4 @@ porosity1
|
||||
}
|
||||
|
||||
|
||||
//************************************************************************ //
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -65,37 +65,26 @@ edges
|
||||
(
|
||||
);
|
||||
|
||||
boundary
|
||||
patches
|
||||
(
|
||||
// is there no way of defining all my 'defaultFaces' to be 'wall'?
|
||||
front
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
wall front
|
||||
(
|
||||
// inlet block
|
||||
(2 6 7 3)
|
||||
// outlet block
|
||||
(10 14 15 11)
|
||||
);
|
||||
}
|
||||
)
|
||||
|
||||
back
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
wall back
|
||||
(
|
||||
// inlet block
|
||||
(1 5 4 0)
|
||||
// outlet block
|
||||
(9 13 12 8)
|
||||
);
|
||||
}
|
||||
)
|
||||
|
||||
walls
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
wall walls
|
||||
(
|
||||
// inlet block
|
||||
(2 0 4 6)
|
||||
@ -103,13 +92,9 @@ boundary
|
||||
// outlet block
|
||||
(10 8 12 14)
|
||||
(15 13 9 11)
|
||||
);
|
||||
}
|
||||
)
|
||||
|
||||
porosityWall
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
wall porosityWall
|
||||
(
|
||||
// porosity block
|
||||
(6 10 11 7)
|
||||
@ -118,26 +103,17 @@ boundary
|
||||
// porosity block
|
||||
(6 4 8 10)
|
||||
(11 9 5 7)
|
||||
);
|
||||
}
|
||||
)
|
||||
|
||||
inlet
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
patch inlet
|
||||
(
|
||||
(3 1 0 2)
|
||||
);
|
||||
}
|
||||
)
|
||||
|
||||
outlet
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
patch outlet
|
||||
(
|
||||
(15 13 12 14)
|
||||
);
|
||||
}
|
||||
)
|
||||
);
|
||||
|
||||
mergePatchPairs
|
||||
|
||||
@ -107,37 +107,26 @@ edges
|
||||
(
|
||||
);
|
||||
|
||||
boundary
|
||||
patches
|
||||
(
|
||||
// is there no way of defining all my 'defaultFaces' to be 'wall'?
|
||||
front
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
wall front
|
||||
(
|
||||
// inlet block
|
||||
frontQuad(in1, join1, join2, in2)
|
||||
// outlet block
|
||||
frontQuad(poro1, out1, out2, poro2)
|
||||
);
|
||||
}
|
||||
)
|
||||
|
||||
back
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
wall back
|
||||
(
|
||||
// inlet block
|
||||
backQuad(in1, join1, join2, in2)
|
||||
// outlet block
|
||||
backQuad(poro1, out1, out2, poro2)
|
||||
);
|
||||
}
|
||||
)
|
||||
|
||||
walls
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
wall walls
|
||||
(
|
||||
// inlet block
|
||||
quad2D(in1, join1)
|
||||
@ -145,13 +134,9 @@ boundary
|
||||
// outlet block
|
||||
quad2D(poro1, out1)
|
||||
quad2D(out2, poro2)
|
||||
);
|
||||
}
|
||||
)
|
||||
|
||||
porosityWall
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
wall porosityWall
|
||||
(
|
||||
// porosity block
|
||||
frontQuad(join1, poro1, poro2, join2)
|
||||
@ -160,26 +145,17 @@ boundary
|
||||
// porosity block
|
||||
quad2D(join1, poro1)
|
||||
quad2D(poro2, join2)
|
||||
);
|
||||
}
|
||||
)
|
||||
|
||||
inlet
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
patch inlet
|
||||
(
|
||||
quad2D(in2, in1)
|
||||
);
|
||||
}
|
||||
)
|
||||
|
||||
outlet
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
patch outlet
|
||||
(
|
||||
quad2D(out2, out1)
|
||||
);
|
||||
}
|
||||
)
|
||||
);
|
||||
|
||||
mergePatchPairs
|
||||
|
||||
@ -23,13 +23,13 @@ startTime 0;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime 10;
|
||||
endTime 500;
|
||||
|
||||
deltaT 1;
|
||||
|
||||
writeControl adjustableRunTime;
|
||||
|
||||
writeInterval 10;
|
||||
writeInterval 50;
|
||||
|
||||
purgeWrite 0;
|
||||
|
||||
@ -45,11 +45,5 @@ timePrecision 6;
|
||||
|
||||
runTimeModifiable true;
|
||||
|
||||
adjustTimeStep no;
|
||||
|
||||
maxCo 10;
|
||||
|
||||
maxDeltaT 1;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -17,7 +17,7 @@ FoamFile
|
||||
|
||||
ddtSchemes
|
||||
{
|
||||
default Euler;
|
||||
default localEuler rDeltaT;
|
||||
}
|
||||
|
||||
gradSchemes
|
||||
|
||||
@ -21,70 +21,48 @@ solvers
|
||||
{
|
||||
solver PCG;
|
||||
preconditioner DIC;
|
||||
tolerance 1e-07;
|
||||
relTol 0.01;
|
||||
tolerance 1e-06;
|
||||
relTol 0.1;
|
||||
}
|
||||
|
||||
pFinal
|
||||
{
|
||||
$p;
|
||||
tolerance 1e-07;
|
||||
relTol 0;
|
||||
tolerance 1e-06;
|
||||
relTol 0.1;
|
||||
}
|
||||
|
||||
"(rho|U|h|k|epsilon|omega)"
|
||||
{
|
||||
solver smoothSolver;
|
||||
smoother symGaussSeidel;
|
||||
tolerance 1e-06;
|
||||
tolerance 1e-05;
|
||||
relTol 0.1;
|
||||
}
|
||||
|
||||
"(rho|U|h|k|epsilon|omega)Final"
|
||||
{
|
||||
$U;
|
||||
tolerance 1e-06;
|
||||
relTol 0;
|
||||
tolerance 1e-05;
|
||||
relTol 0.1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
PIMPLE
|
||||
{
|
||||
momentumPredictor yes;
|
||||
transonic no;
|
||||
nOuterCorrectors 50;
|
||||
nOuterCorrectors 1;
|
||||
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;
|
||||
}
|
||||
maxCo 0.2;
|
||||
rDeltaTSmoothingCoeff 0.1;
|
||||
rDeltaTDampingCoeff 1;
|
||||
maxDeltaT 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user