ENH: XiDyMFoam: new solver and tutorials

XiDyMFoam               : compressible version of XiFoam
oscillatingCylinder     : 2D case with cylinder moving up and down
annularCombustorTurbine : part of 3D combuster using cyclicPeriodicAMI
This commit is contained in:
mattijs 2015-11-10 12:24:34 +00:00
parent 4ef54948f7
commit 031de9c4ab
67 changed files with 27925 additions and 8 deletions

View File

@ -0,0 +1,3 @@
XiDyMFoam.C
EXE = $(FOAM_APPBIN)/XiDyMFoam

View File

@ -0,0 +1,33 @@
EXE_INC = \
-I.. \
-I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/fvOptions/lnInclude \
-I$(LIB_SRC)/dynamicFvMesh/lnInclude \
-I$(LIB_SRC)/dynamicMesh/lnInclude \
-I$(LIB_SRC)/meshTools/lnInclude \
-I$(LIB_SRC)/sampling/lnInclude \
-I$(LIB_SRC)/engine/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
-I$(LIB_SRC)/transportModels/compressible/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
-I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
-I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/laminarFlameSpeed/lnInclude
EXE_LIBS = \
-lfiniteVolume \
-lfvOptions \
-ldynamicFvMesh \
-ltopoChangerFvMesh \
-ldynamicMesh \
-lmeshTools \
-lsampling \
-lengine \
-lturbulenceModels \
-lcompressibleTurbulenceModels \
-lcompressibleTransportModels \
-lfluidThermophysicalModels \
-lreactionThermophysicalModels \
-lspecie \
-llaminarFlameSpeedModels

View File

@ -0,0 +1,180 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation
\\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd.
-------------------------------------------------------------------------------
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
XiFoam
Description
Solver for compressible premixed/partially-premixed combustion with
turbulence modelling.
Combusting RANS code using the b-Xi two-equation model.
Xi may be obtained by either the solution of the Xi transport
equation or from an algebraic exression. Both approaches are
based on Gulder's flame speed correlation which has been shown
to be appropriate by comparison with the results from the
spectral model.
Strain effects are encorporated directly into the Xi equation
but not in the algebraic approximation. Further work need to be
done on this issue, particularly regarding the enhanced removal rate
caused by flame compression. Analysis using results of the spectral
model will be required.
For cases involving very lean Propane flames or other flames which are
very strain-sensitive, a transport equation for the laminar flame
speed is present. This equation is derived using heuristic arguments
involving the strain time scale and the strain-rate at extinction.
the transport velocity is the same as that for the Xi equation.
\*---------------------------------------------------------------------------*/
#include "fvCFD.H"
#include "dynamicFvMesh.H"
#include "psiuReactionThermo.H"
#include "turbulentFluidThermoModel.H"
#include "laminarFlameSpeed.H"
#include "ignition.H"
#include "Switch.H"
#include "pimpleControl.H"
#include "CorrectPhi.H"
#include "fvIOoptionList.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
int main(int argc, char *argv[])
{
#include "setRootCase.H"
#include "createTime.H"
#include "createDynamicFvMesh.H"
#include "initContinuityErrs.H"
pimpleControl pimple(mesh);
#include "readCombustionProperties.H"
#include "readGravitationalAcceleration.H"
#include "createFields.H"
#include "createMRF.H"
#include "createFvOptions.H"
#include "createRhoUf.H"
#include "createControls.H"
#include "initContinuityErrs.H"
#include "compressibleCourantNo.H"
#include "setInitialDeltaT.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Info<< "\nStarting time loop\n" << endl;
while (runTime.run())
{
#include "createTimeControls.H"
{
// Store divrhoU from the previous mesh so that it can be mapped
// and used in correctPhi to ensure the corrected phi has the
// same divergence
volScalarField divrhoU
(
"divrhoU",
fvc::div(fvc::absolute(phi, rho, U))
);
#include "compressibleCourantNo.H"
#include "setDeltaT.H"
runTime++;
Info<< "Time = " << runTime.timeName() << nl << endl;
// Store momentum to set rhoUf for introduced faces.
volVectorField rhoU("rhoU", rho*U);
// Do any mesh changes
mesh.update();
if (mesh.changing() && correctPhi)
{
// Calculate absolute flux from the mapped surface velocity
phi = mesh.Sf() & rhoUf;
#include "correctPhi.H"
// Make the fluxes relative to the mesh-motion
fvc::makeRelative(phi, rho, U);
}
}
if (mesh.changing() && checkMeshCourantNo)
{
#include "meshCourantNo.H"
}
#include "rhoEqn.H"
Info<< "rhoEqn max/min : " << max(rho).value()
<< " " << min(rho).value() << endl;
// --- Pressure-velocity PIMPLE corrector loop
while (pimple.loop())
{
#include "UEqn.H"
#include "ftEqn.H"
#include "bEqn.H"
#include "EauEqn.H"
#include "EaEqn.H"
if (!ign.ignited())
{
thermo.heu() == thermo.he();
}
// --- Pressure corrector loop
while (pimple.correct())
{
#include "pEqn.H"
}
if (pimple.turbCorr())
{
turbulence->correct();
}
}
rho = thermo.rho();
runTime.write();
Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
<< " ClockTime = " << runTime.elapsedClockTime() << " s"
<< nl << endl;
}
Info<< "End\n" << endl;
return 0;
}
// ************************************************************************* //

View File

@ -0,0 +1,11 @@
CorrectPhi
(
U,
phi,
p,
rho,
psi,
dimensionedScalar("rAUf", dimTime, 1),
divrhoU,
pimple
);

View File

@ -0,0 +1,11 @@
#include "createTimeControls.H"
bool correctPhi
(
pimple.dict().lookupOrDefault<Switch>("correctPhi", true)
);
bool checkMeshCourantNo
(
pimple.dict().lookupOrDefault<Switch>("checkMeshCourantNo", false)
);

View File

@ -0,0 +1,99 @@
rho = thermo.rho();
volScalarField rAU(1.0/UEqn.A());
surfaceScalarField rhorAUf("rhorAUf", fvc::interpolate(rho*rAU));
volVectorField HbyA("HbyA", U);
HbyA = rAU*UEqn.H();
if (pimple.transonic())
{
surfaceScalarField phid
(
"phid",
fvc::interpolate(psi)
*(
(fvc::interpolate(HbyA) & mesh.Sf())
+ rhorAUf*fvc::ddtCorr(rho, U, phi)/fvc::interpolate(rho)
)
);
fvc::makeRelative(phid, psi, U);
MRF.makeRelative(fvc::interpolate(psi), phid);
while (pimple.correctNonOrthogonal())
{
fvScalarMatrix pEqn
(
fvm::ddt(psi, p)
+ fvm::div(phid, p)
- fvm::laplacian(rhorAUf, p)
==
fvOptions(psi, p, rho.name())
);
pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
if (pimple.finalNonOrthogonalIter())
{
phi == pEqn.flux();
}
}
}
else
{
surfaceScalarField phiHbyA
(
"phiHbyA",
(
(fvc::interpolate(rho*HbyA) & mesh.Sf())
+ rhorAUf*fvc::ddtCorr(rho, U, rhoUf)
)
);
fvc::makeRelative(phiHbyA, rho, U);
MRF.makeRelative(phiHbyA);
while (pimple.correctNonOrthogonal())
{
fvScalarMatrix pEqn
(
fvm::ddt(psi, p)
+ fvc::div(phiHbyA)
- fvm::laplacian(rhorAUf, p)
==
fvOptions(psi, p, rho.name())
);
pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
if (pimple.finalNonOrthogonalIter())
{
phi = phiHbyA + pEqn.flux();
}
}
}
#include "rhoEqn.H"
#include "compressibleContinuityErrs.H"
U = HbyA - rAU*fvc::grad(p);
U.correctBoundaryConditions();
fvOptions.correct(U);
K = 0.5*magSqr(U);
{
rhoUf = fvc::interpolate(rho*U);
surfaceVectorField n(mesh.Sf()/mesh.magSf());
rhoUf += n*(fvc::absolute(phi, rho, U)/mesh.magSf() - (n & rhoUf));
}
if (thermo.dpdt())
{
dpdt = fvc::ddt(p);
if (mesh.moving())
{
dpdt -= fvc::div(fvc::meshPhi(rho, U), p);
}
}

View File

@ -0,0 +1,7 @@
#include "readTimeControls.H"
bool correctPhi =
pimple.dict().lookupOrDefault<Switch>("correctPhi", true);
bool checkMeshCourantNo =
pimple.dict().lookupOrDefault<Switch>("checkMeshCourantNo", false);

View File

@ -3,7 +3,7 @@
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation
# \\/ M anipulation |
# \\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd.
#------------------------------------------------------------------------------
# License
# This file is part of OpenFOAM.
@ -40,28 +40,46 @@ getApplication()
runApplication()
{
APP_LOGFILE=''
if [ "$1" = "-l" ]
then
APP_LOGFILE=$2
shift 2
fi
APP_RUN=$1
APP_NAME=${1##*/}
shift
if [ -f log.$APP_NAME ]
APP_LOGFILE=${APP_LOGFILE:="log.$APP_NAME"}
if [ -f $APP_LOGFILE ]
then
echo "$APP_NAME already run on $PWD: remove log file to re-run"
echo "$APP_NAME already run on $PWD: remove log file $APP_LOGFILE to re-run"
else
echo "Running $APP_RUN on $PWD"
$APP_RUN "$@" > log.$APP_NAME 2>&1
$APP_RUN "$@" > $APP_LOGFILE 2>&1
fi
}
runParallel()
{
APP_LOGFILE=''
if [ "$1" = "-l" ]
then
APP_LOGFILE=$2
shift 2
fi
APP_RUN=$1
APP_NAME=${1##*/}
shift
if [ -f log.$APP_NAME ]
APP_LOGFILE=${APP_LOGFILE:="log.$APP_NAME"}
if [ -f $APP_LOGFILE ]
then
echo "$APP_NAME already run on $PWD: remove log file to re-run"
echo "$APP_NAME already run on $PWD: remove log file $APP_LOGFILE to re-run"
else
nProcs=$1
shift
@ -70,9 +88,9 @@ runParallel()
#if [ "$WM_SCHEDULER" ]
#then
# echo "$PWD: $WM_SCHEDULER -np $nProcs" 1>&2
# $WM_SCHEDULER -np $nProcs "( mpirun -np $nProcs $APP_RUN -parallel "$@" < /dev/null > log.$APP_NAME 2>&1 )"
# $WM_SCHEDULER -np $nProcs "( mpirun -np $nProcs $APP_RUN -parallel "$@" < /dev/null > $APP_LOGFILE 2>&1 )"
#else
( mpirun -np $nProcs $APP_RUN -parallel "$@" < /dev/null > log.$APP_NAME 2>&1 )
( mpirun -np $nProcs $APP_RUN -parallel "$@" < /dev/null > $APP_LOGFILE 2>&1 )
#fi
fi
}

View File

@ -0,0 +1,43 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object Su;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0 0 0];
internalField uniform 0.135;
boundaryField
{
#include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
inlet
{
type fixedValue;
value $internalField;
}
outlet
{
type inletOutlet;
inletValue $internalField;
value $internalField;
}
wall
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,44 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object T;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
inletField uniform 573;
internalField uniform 2400;
boundaryField
{
#include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
inlet
{
type fixedValue;
value $inletField;
}
outlet
{
type inletOutlet;
inletValue $internalField;
value $internalField;
}
wall
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,43 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object Tu;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField uniform 573;
boundaryField
{
#include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
inlet
{
type fixedValue;
value $internalField;
}
outlet
{
type inletOutlet;
inletValue $internalField;
value $internalField;
}
wall
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,49 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volVectorField;
location "0";
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0 0 0];
internalField uniform (4 0 0);
boundaryField
{
#include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
inlet
{
type cylindricalInletVelocity;
centre (-0.64 0.5 0);
axis (1 0 0);
axialVelocity 40;
radialVelocity 20;
rpm 12732; // ut=40,r=3e-2,omega=ut/r,rpm=omega*60/(2*pi)
value uniform (0 0 0);
}
outlet
{
type pressureInletOutletVelocity;
inletValue (0 0 0);
value $internalField;
}
wall
{
type movingWallVelocity;
value uniform (0 0 0);
}
}
// ************************************************************************* //

View File

@ -0,0 +1,43 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object Xi;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 1;
boundaryField
{
#include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
inlet
{
type fixedValue;
value $internalField;
}
outlet
{
type inletOutlet;
inletValue $internalField;
value $internalField;
}
wall
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,44 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / 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
{
#include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
inlet
{
type calculated;
}
outlet
{
type calculated;
}
wall
{
//type compressible::alphatWallFunction;
//mut mut;
//value $internalField;
type calculated;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,43 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object b;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 0;
boundaryField
{
#include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
inlet
{
type fixedValue;
value uniform 1;
}
outlet
{
type inletOutlet;
inletValue $internalField;
value $internalField;
}
wall
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,43 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object ft;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 0.0834168596800118;
boundaryField
{
#include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
inlet
{
type fixedValue;
value $internalField;
}
outlet
{
type inletOutlet;
inletValue $internalField;
value $internalField;
}
wall
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,44 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / 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 6;
boundaryField
{
#include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
inlet
{
type turbulentIntensityKineticEnergyInlet;
intensity 0.05;
value $internalField;
}
outlet
{
type inletOutlet;
inletValue $internalField;
value $internalField;
}
wall
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,44 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / 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
{
#include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
inlet
{
type calculated;
}
outlet
{
type calculated;
}
wall
{
//type nutUSpaldingWallFunction;
//value $internalField;
type calculated;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,44 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -2 0 0 0 0];
internalField uniform 10e5;
boundaryField
{
#include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
inlet
{
type zeroGradient;
}
outlet
{
type waveTransmissive;
gamma 1.28;
fieldInf 10e5;
lInf 0.2;
value $internalField;
}
wall
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,41 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object pPotential;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
internalField uniform 0;
boundaryField
{
#include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
inlet
{
type zeroGradient;
}
outlet
{
type fixedValue;
value $internalField;
}
wall
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,19 @@
#!/bin/sh
cd ${0%/*} || exit 1
. $WM_PROJECT_DIR/bin/tools/RunFunctions
./Allrun.mesh
rm -rf 0 && cp -r 0.org 0
runApplication decomposePar -force
n=$(echo processor* | wc -w)
runParallel potentialFoam $n -pName pPotential -initialiseUBCs
rm -f processor*/0/phi
runParallel XiDyMFoam $n

View File

@ -0,0 +1,23 @@
#!/bin/sh
cd ${0%/*} || exit 1
. $WM_PROJECT_DIR/bin/tools/RunFunctions
rm -f log.* constant/polyMesh/*Level
runApplication blockMesh
runApplication -l log.createPatch.cyclic \
createPatch -dict system/createPatchDict.cyclic -overwrite
runApplication snappyHexMesh -overwrite
rm -rf 0
runApplication -l log.createPatch.ami \
createPatch -dict system/createPatchDict.ami -overwrite
runApplication transformPoints -scale '(0.01 0.01 0.01)'
runApplication mergeOrSplitBaffles -split -overwrite

View File

@ -0,0 +1,86 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object combustionProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
laminarFlameSpeedCorrelation Gulders;
fuel Methane;
Su Su [ 0 1 -1 0 0 0 0 ] 0.434;
SuModel unstrained;
equivalenceRatio equivalenceRatio [ 0 0 0 0 0 0 0 ] 0.7;
sigmaExt sigmaExt [ 0 0 -1 0 0 0 0 ] 100000;
XiModel transport;
XiCoef XiCoef [ 0 0 0 0 0 0 0 ] 0.62;
XiShapeCoef XiShapeCoef [ 0 0 0 0 0 0 0 ] 1;
uPrimeCoef uPrimeCoef [ 0 0 0 0 0 0 0 ] 1;
GuldersCoeffs
{
Methane
{
W 0.422;
eta 0.15;
xi 5.18;
alpha 2;
beta -0.5;
f 2.3;
}
}
ignite yes;
ignitionProperties
{
diameter 0.03;
start 0;
duration 1;
strength 20;
}
noIgnitionProperties
{
diameter 0;
start 0;
duration 1e-30;
strength 0;
}
ignitionSites
(
{
location (-0.28 0.55 0);
$noIgnitionProperties;
}
);
ignitionSphereFraction 1;
ignitionThickness ignitionThickness [ 0 1 0 0 0 0 0 ] 0.001;
ignitionCircleFraction 0.5;
ignitionKernelArea ignitionKernelArea [ 0 2 0 0 0 0 0 ] 0.001;
// ************************************************************************* //

View File

@ -0,0 +1,36 @@
/*--------------------------------*- 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 dynamicMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dynamicFvMesh solidBodyMotionFvMesh;
motionSolverLibs ( "libfvMotionSolvers.so" );
solidBodyMotionFvMeshCoeffs
{
cellZone rotating;
solidBodyMotionFunction rotatingMotion;
rotatingMotionCoeffs
{
origin (0 0 0);
axis (1 0 0);
omega 10;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,22 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class uniformDimensionedVectorField;
location "constant";
object g;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -2 0 0 0 0];
value ( 0 0 0 );
// ************************************************************************* //

View File

@ -0,0 +1,208 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: Uhe Open Source CFD Uoolbox |
| \\ / O peration | Tersion: 1.5 |
| \\ / A nd | Web: http://www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertUoMeters 1;
r0 34;
r1 39;
r2 61;
r3 66;
t -10;
u 10;
o 10;
d2r #calc "constant::mathematical::pi/180";
r0CosT #calc "$r0*cos($d2r*($t ))";
r0CosTO #calc "$r0*cos($d2r*($t+$o))";
r0CosU #calc "$r0*cos($d2r*($u ))";
r0CosUO #calc "$r0*cos($d2r*($u+$o))";
r0SinT #calc "$r0*sin($d2r*($t ))";
r0SinTO #calc "$r0*sin($d2r*($t+$o))";
r0SinU #calc "$r0*sin($d2r*($u ))";
r0SinUO #calc "$r0*sin($d2r*($u+$o))";
r1CosT #calc "$r1*cos($d2r*($t ))";
r1CosTO #calc "$r1*cos($d2r*($t+$o))";
r1CosU #calc "$r1*cos($d2r*($u ))";
r1CosUO #calc "$r1*cos($d2r*($u+$o))";
r1SinT #calc "$r1*sin($d2r*($t ))";
r1SinTO #calc "$r1*sin($d2r*($t+$o))";
r1SinU #calc "$r1*sin($d2r*($u ))";
r1SinUO #calc "$r1*sin($d2r*($u+$o))";
r2CosT #calc "$r2*cos($d2r*($t ))";
r2CosTO #calc "$r2*cos($d2r*($t+$o))";
r2CosU #calc "$r2*cos($d2r*($u ))";
r2CosUO #calc "$r2*cos($d2r*($u+$o))";
r2SinT #calc "$r2*sin($d2r*($t ))";
r2SinTO #calc "$r2*sin($d2r*($t+$o))";
r2SinU #calc "$r2*sin($d2r*($u ))";
r2SinUO #calc "$r2*sin($d2r*($u+$o))";
r3CosT #calc "$r3*cos($d2r*($t ))";
r3CosTO #calc "$r3*cos($d2r*($t+$o))";
r3CosU #calc "$r3*cos($d2r*($u ))";
r3CosUO #calc "$r3*cos($d2r*($u+$o))";
r3SinT #calc "$r3*sin($d2r*($t ))";
r3SinTO #calc "$r3*sin($d2r*($t+$o))";
r3SinU #calc "$r3*sin($d2r*($u ))";
r3SinUO #calc "$r3*sin($d2r*($u+$o))";
vertices
(
(-34 $r1CosT $r1SinT )
(-34 $r1CosTO $r1SinTO)
(-34 $r1CosU $r1SinU )
(-30 $r1CosT $r1SinT )
(-30 $r1CosTO $r1SinTO)
(-30 $r1CosU $r1SinU )
(-15 $r0CosT $r0SinT )
(-15 $r0CosTO $r0SinTO)
(-15 $r0CosU $r0SinU )
( 0 $r1CosT $r1SinT )
( 0 $r1CosTO $r1SinTO)
( 0 $r1CosU $r1SinU )
( 12 $r1CosT $r1SinT )
( 12 $r1CosTO $r1SinTO)
( 12 $r1CosU $r1SinU )
( 12 $r1CosUO $r1SinUO)
( 28 $r1CosT $r1SinT )
( 28 $r1CosTO $r1SinTO)
( 28 $r1CosU $r1SinU )
( 28 $r1CosUO $r1SinUO)
( 40 $r1CosT $r1SinT )
( 40 $r1CosTO $r1SinTO)
( 40 $r1CosU $r1SinU )
(-34 $r2CosT $r2SinT )
(-34 $r2CosTO $r2SinTO)
(-34 $r2CosU $r2SinU )
(-30 $r2CosT $r2SinT )
(-30 $r2CosTO $r2SinTO)
(-30 $r2CosU $r2SinU )
(-15 $r3CosT $r3SinT )
(-15 $r3CosTO $r3SinTO)
(-15 $r3CosU $r3SinU )
( 0 $r2CosT $r2SinT )
( 0 $r2CosTO $r2SinTO)
( 0 $r2CosU $r2SinU )
( 12 $r2CosT $r2SinT )
( 12 $r2CosTO $r2SinTO)
( 12 $r2CosU $r2SinU )
( 12 $r2CosUO $r2SinUO)
( 28 $r2CosT $r2SinT )
( 28 $r2CosTO $r2SinTO)
( 28 $r2CosU $r2SinU )
( 28 $r2CosUO $r2SinUO)
( 40 $r2CosT $r2SinT )
( 40 $r2CosTO $r2SinTO)
( 40 $r2CosU $r2SinU )
);
blocks
(
hex ( 0 1 4 3 23 24 27 26) (8 4 22) simpleGrading (1 1 1)
hex ( 1 2 5 4 24 25 28 27) (8 4 22) simpleGrading (1 1 1)
hex ( 3 4 7 6 26 27 30 29) (8 15 22) simpleGrading (1 1 1)
hex ( 4 5 8 7 27 28 31 30) (8 15 22) simpleGrading (1 1 1)
hex ( 6 7 10 9 29 30 33 32) (8 15 22) simpleGrading (1 1 1)
hex ( 7 8 11 10 30 31 34 33) (8 15 22) simpleGrading (1 1 1)
hex ( 9 10 13 12 32 33 36 35) (8 12 22) simpleGrading (1 1 1)
hex (10 11 14 13 33 34 37 36) (8 12 22) simpleGrading (1 1 1)
hex (13 14 18 17 36 37 41 40) (8 16 22) simpleGrading (1 1 1)
hex (14 15 19 18 37 38 42 41) (8 16 22) simpleGrading (1 1 1)
hex (16 17 21 20 39 40 44 43) (8 12 22) simpleGrading (1 1 1)
hex (17 18 22 21 40 41 45 44) (8 12 22) simpleGrading (1 1 1)
);
edges
(
);
defaultPatch
{
name walls;
type wall;
}
boundary
(
coupled0
{
type patch;
faces
(
( 0 3 26 23)
( 3 6 29 26)
( 6 9 32 29)
( 9 12 35 32)
(12 13 36 35)
(13 17 40 36)
(17 16 39 40)
(16 20 43 39)
);
}
coupled1
{
type patch;
faces
(
( 2 5 28 25)
( 5 8 31 28)
( 8 11 34 31)
(11 14 37 34)
(14 15 38 37)
(15 19 42 38)
(19 18 41 42)
(18 22 45 41)
);
}
inlet
{
type patch;
faces
(
(0 1 24 23)
(1 2 25 24)
);
}
outlet
{
type patch;
faces
(
(20 21 44 43)
(21 22 45 44)
);
}
);
// ************************************************************************* //

View File

@ -0,0 +1,101 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev-OpenCFD.feature-periodicAMIAndXiDyMFoam|
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format binary;
class polyBoundaryMesh;
location "constant/polyMesh";
object boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
9
(
inlet
{
type patch;
nFaces 274;
startFace 250645;
}
outlet
{
type patch;
nFaces 1280;
startFace 250919;
}
walls
{
type wall;
inGroups 1(wall);
nFaces 10444;
startFace 252199;
}
cyclic0
{
type cyclicSlip;
inGroups 1(cyclicSlip);
nFaces 3206;
startFace 262643;
matchTolerance 0.001;
transform rotational;
neighbourPatch cyclic1;
rotationAxis (1 0 0);
rotationCentre (0 0 0);
}
cyclic1
{
type cyclicSlip;
inGroups 1(cyclicSlip);
nFaces 3206;
startFace 265849;
matchTolerance 0.001;
transform rotational;
neighbourPatch cyclic0;
rotationAxis (1 0 0);
rotationCentre (0 0 0);
}
blade1
{
type wall;
inGroups 1(wall);
nFaces 2614;
startFace 269055;
}
blade2
{
type wall;
inGroups 1(wall);
nFaces 2616;
startFace 271669;
}
ami0
{
type cyclicPeriodicAMI;
inGroups 1(cyclicAMI);
nFaces 1280;
startFace 274285;
matchTolerance 0.001;
transform unknown;
neighbourPatch ami1;
periodicPatch cyclic0;
}
ami1
{
type cyclicPeriodicAMI;
inGroups 1(cyclicAMI);
nFaces 1280;
startFace 275565;
matchTolerance 0.001;
transform unknown;
neighbourPatch ami0;
periodicPatch cyclic0;
}
)
// ************************************************************************* //

View File

@ -0,0 +1,111 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType
{
type heheuPsiThermo;
mixture inhomogeneousMixture;
transport sutherland;
thermo janaf;
equationOfState perfectGas;
specie specie;
energy absoluteEnthalpy;
}
stoichiometricAirFuelMassRatio stoichiometricAirFuelMassRatio [ 0 0 0 0 0 0 0 ] 17.1256917852272;
fuel
{
specie
{
nMoles 1;
molWeight 16.0428;
}
thermodynamics
{
Tlow 200;
Thigh 6000;
Tcommon 1000;
highCpCoeffs ( 1.68347900000000e+00 1.02372400000000e-02 -3.87512900000000e-06
6.78558500000000e-10 -4.50342300000000e-14 -1.00807900000000e+04
9.62339500000000e+00 );
lowCpCoeffs ( 7.78741500000000e-01 1.74766800000000e-02 -2.78340900000000e-05
3.04970800000000e-08 -1.22393100000000e-11 -9.82522900000000e+03
1.37221900000000e+01);
}
transport
{
As 1.67212e-06;
Ts 170.672;
}
}
oxidant
{
specie
{
nMoles 1; //9.52305854241338;
molWeight 28.8504;
}
thermodynamics
{
Tlow 200;
Thigh 6000;
Tcommon 1000;
highCpCoeffs ( 3.10621870999231e+00 1.28428498601527e-03 -4.65380802511688e-07
8.15860818565581e-11 -5.44497272650050e-15 -9.95271410040158e+02
-3.84458215280579e+00 );
lowCpCoeffs ( 3.27870489047439e+00 1.34284246978981e-03 -3.17412859038611e-06
4.63345514388486e-09 -2.07961247020324e-12 -1.01725432889533e+03
4.43589451598939e+00 );
}
transport
{
As 1.67212e-06;
Ts 170.672;
}
}
burntProducts
{
specie
{
nMoles 1; //10.5230585424134;
molWeight 27.6333203887463;
}
thermodynamics
{
Tlow 200;
Thigh 6000;
Tcommon 1000;
highCpCoeffs ( 3.12621199152579e+00 1.93235833404466e-03 -7.13659150075058e-07
1.24291624549546e-10 -8.21247028136899e-15 -1.17845644935839e+04
-3.62860244355855e+00 );
lowCpCoeffs ( 3.15477967054864e+00 2.95287447890381e-03 -5.23511418470824e-06
5.99137516254551e-09 -2.40292638317596e-12 -1.18040651744366e+04
4.72596689098416e+00 );
}
transport
{
As 1.67212e-06;
Ts 170.672;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,6 @@
v 20 -70 -70
v 20 70 -70
v 20 70 70
v 20 -70 70
f 1 2 3
f 1 3 4

View File

@ -0,0 +1,4 @@
v 12.000000 0.000000 0.000000
v 20.000000 77.274066 20.705524
v 4.000000 79.695576 -6.972459
f 1 2 3

View File

@ -0,0 +1,4 @@
v 28.000000 0.000000 0.000000
v 20.000000 77.274066 20.705524
v 36.000000 79.695576 -6.972459
f 1 2 3

View File

@ -0,0 +1,310 @@
solid
facet normal -1 -0 -0
outer loop
vertex -34 52.7032 4.20627
vertex -34 53.7787 3.2743
vertex -34 51.4087 4.79746
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -34 51.4087 4.79746
vertex -34 53.7787 3.2743
vertex -34 54.5482 2.07707
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -34 51.4087 4.79746
vertex -34 54.5482 2.07707
vertex -34 54.9491 0.711574
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -34 51.4087 4.79746
vertex -34 54.9491 0.711574
vertex -34 54.9491 -0.711574
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -34 51.4087 4.79746
vertex -34 54.9491 -0.711574
vertex -34 54.5482 -2.07707
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -34 51.4087 4.79746
vertex -34 54.5482 -2.07707
vertex -34 53.7787 -3.2743
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -34 51.4087 4.79746
vertex -34 53.7787 -3.2743
vertex -34 52.7032 -4.20627
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -34 51.4087 4.79746
vertex -34 52.7032 -4.20627
vertex -34 51.4087 -4.79746
endloop
endfacet
facet normal -1 0 -0
outer loop
vertex -34 50.7557 -0.654861
vertex -34 51.4087 -4.79746
vertex -34 50 -5
endloop
endfacet
facet normal -1 0 -0
outer loop
vertex -34 50 -1
vertex -34 50 -5
vertex -34 48.5913 -4.79746
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -34 49.0904 -0.415415
vertex -34 48.5913 -4.79746
vertex -34 47.2968 -4.20627
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -34 49.0102 0.142315
vertex -34 47.2968 -4.20627
vertex -34 46.2213 -3.2743
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -34 51.4087 4.79746
vertex -34 46.2213 -3.2743
vertex -34 45.4518 -2.07707
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -34 51.4087 4.79746
vertex -34 45.4518 -2.07707
vertex -34 45.0509 -0.711574
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -34 51.4087 4.79746
vertex -34 45.0509 -0.711574
vertex -34 45.0509 0.711574
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -34 51.4087 4.79746
vertex -34 45.0509 0.711574
vertex -34 45.4518 2.07707
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -34 51.4087 4.79746
vertex -34 45.4518 2.07707
vertex -34 46.2213 3.2743
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -34 51.4087 4.79746
vertex -34 46.2213 3.2743
vertex -34 47.2968 4.20627
endloop
endfacet
facet normal -1 -0 0
outer loop
vertex -34 51.4087 4.79746
vertex -34 47.2968 4.20627
vertex -34 48.5913 4.79746
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -34 51.4087 4.79746
vertex -34 48.5913 4.79746
vertex -34 50 5
endloop
endfacet
facet normal -1 -0 0
outer loop
vertex -34 50 -1
vertex -34 48.5913 -4.79746
vertex -34 49.7183 -0.959493
endloop
endfacet
facet normal -1 -0 0
outer loop
vertex -34 49.0102 0.142315
vertex -34 46.2213 -3.2743
vertex -34 49.0904 0.415415
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -34 51.4087 4.79746
vertex -34 49.4594 0.841254
vertex -34 49.2442 0.654861
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -34 51.4087 4.79746
vertex -34 49.2442 0.654861
vertex -34 46.2213 -3.2743
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -34 49.2442 0.654861
vertex -34 49.0904 0.415415
vertex -34 46.2213 -3.2743
endloop
endfacet
facet normal -1 -0 0
outer loop
vertex -34 49.0102 -0.142315
vertex -34 47.2968 -4.20627
vertex -34 49.0102 0.142315
endloop
endfacet
facet normal -1 -0 0
outer loop
vertex -34 49.0904 -0.415415
vertex -34 47.2968 -4.20627
vertex -34 49.0102 -0.142315
endloop
endfacet
facet normal -1 -0 0
outer loop
vertex -34 49.2442 -0.654861
vertex -34 48.5913 -4.79746
vertex -34 49.0904 -0.415415
endloop
endfacet
facet normal -1 -0 0
outer loop
vertex -34 49.4594 -0.841254
vertex -34 48.5913 -4.79746
vertex -34 49.2442 -0.654861
endloop
endfacet
facet normal -1 -0 0
outer loop
vertex -34 49.7183 -0.959493
vertex -34 48.5913 -4.79746
vertex -34 49.4594 -0.841254
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -34 50.2817 -0.959493
vertex -34 50 -5
vertex -34 50 -1
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -34 50.7557 -0.654861
vertex -34 50 -5
vertex -34 50.5406 -0.841254
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -34 50.5406 -0.841254
vertex -34 50 -5
vertex -34 50.2817 -0.959493
endloop
endfacet
facet normal -1 0 -0
outer loop
vertex -34 50.9096 -0.415415
vertex -34 51.4087 -4.79746
vertex -34 50.7557 -0.654861
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -34 50.9096 0.415415
vertex -34 51.4087 4.79746
vertex -34 50.9898 0.142315
endloop
endfacet
facet normal -1 0 -0
outer loop
vertex -34 50.9898 -0.142315
vertex -34 51.4087 -4.79746
vertex -34 50.9096 -0.415415
endloop
endfacet
facet normal -1 0 -0
outer loop
vertex -34 51.4087 4.79746
vertex -34 51.4087 -4.79746
vertex -34 50.9898 -0.142315
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -34 51.4087 4.79746
vertex -34 50.9898 -0.142315
vertex -34 50.9898 0.142315
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -34 50.7557 0.654861
vertex -34 51.4087 4.79746
vertex -34 50.9096 0.415415
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -34 50.5406 0.841254
vertex -34 51.4087 4.79746
vertex -34 50.7557 0.654861
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -34 50.2817 0.959493
vertex -34 51.4087 4.79746
vertex -34 50.5406 0.841254
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -34 50 1
vertex -34 51.4087 4.79746
vertex -34 50.2817 0.959493
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -34 51.4087 4.79746
vertex -34 50 1
vertex -34 49.7183 0.959493
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -34 49.4594 0.841254
vertex -34 51.4087 4.79746
vertex -34 49.7183 0.959493
endloop
endfacet
endsolid

View File

@ -0,0 +1,42 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object turbulenceProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
simulationType LES;
LES
{
LESModel kEqn;
delta cubeRootVol;
turbulence on;
printCoeffs on;
oneEqEddyCoeffs
{
Prt 1;
}
cubeRootVolCoeffs
{
deltaCoeff 1;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,53 @@
/*--------------------------------*- 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 pimpleFoam;
startFrom latestTime;
startTime 0;
stopAt endTime;
endTime 0.1;
deltaT 1e-4;
writeControl adjustableRunTime;
writeInterval 2e-3;
purgeWrite 0;
writeFormat binary;
writePrecision 6;
writeCompression off;
timeFormat general;
timePrecision 6;
runTimeModifiable yes;
adjustTimeStep yes;
maxCo 0.2;
// ************************************************************************* //

View File

@ -0,0 +1,88 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.1.x |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object createPatchDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// This application/dictionary controls:
// - optional: create new patches from boundary faces (either given as
// a set of patches or as a faceSet)
// - always: order faces on coupled patches such that they are opposite. This
// is done for all coupled faces, not just for any patches created.
// - optional: synchronise points on coupled patches.
// - always: remove zero-sized (non-coupled) patches (that were not added)
// 1. Create cyclic:
// - specify where the faces should come from
// - specify the type of cyclic. If a rotational specify the rotationAxis
// and centre to make matching easier
// - always create both halves in one invocation with correct 'neighbourPatch'
// setting.
// - optionally pointSync true to guarantee points to line up.
// 2. Correct incorrect cyclic:
// This will usually fail upon loading:
// "face 0 area does not match neighbour 2 by 0.0100005%"
// " -- possible face ordering problem."
// - in polyMesh/boundary file:
// - loosen matchTolerance of all cyclics to get case to load
// - or change patch type from 'cyclic' to 'patch'
// and regenerate cyclic as above
// Do a synchronisation of coupled points after creation of any patches.
// Note: this does not work with points that are on multiple coupled patches
// with transformations (i.e. cyclics).
pointSync false;//true;
tol 1e-3;
// Patches to create.
patches
(
{
name ami0;
patchInfo
{
type cyclicPeriodicAMI;
inGroups 1(cyclicAMI);
neighbourPatch ami1;
periodicPatch cyclic0;
matchTolerance $tol;
nRotationalTransforms 18;
}
constructFrom patches;
patches (ami);
}
{
name ami1;
patchInfo
{
type cyclicPeriodicAMI;
inGroups 1(cyclicAMI);
neighbourPatch ami0;
periodicPatch cyclic0;
matchTolerance $tol;
nRotationalTransforms 18;
}
constructFrom patches;
patches (ami_slave);
}
);
// ************************************************************************* //

View File

@ -0,0 +1,92 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.1.x |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object createPatchDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// This application/dictionary controls:
// - optional: create new patches from boundary faces (either given as
// a set of patches or as a faceSet)
// - always: order faces on coupled patches such that they are opposite. This
// is done for all coupled faces, not just for any patches created.
// - optional: synchronise points on coupled patches.
// - always: remove zero-sized (non-coupled) patches (that were not added)
// 1. Create cyclic:
// - specify where the faces should come from
// - specify the type of cyclic. If a rotational specify the rotationAxis
// and centre to make matching easier
// - always create both halves in one invocation with correct 'neighbourPatch'
// setting.
// - optionally pointSync true to guarantee points to line up.
// 2. Correct incorrect cyclic:
// This will usually fail upon loading:
// "face 0 area does not match neighbour 2 by 0.0100005%"
// " -- possible face ordering problem."
// - in polyMesh/boundary file:
// - loosen matchTolerance of all cyclics to get case to load
// - or change patch type from 'cyclic' to 'patch'
// and regenerate cyclic as above
// Do a synchronisation of coupled points after creation of any patches.
// Note: this does not work with points that are on multiple coupled patches
// with transformations (i.e. cyclics).
pointSync false;//true;
tol 1e-3;
// Patches to create.
patches
(
{
name cyclic0;
patchInfo
{
type cyclicSlip;
neighbourPatch cyclic1;
transform rotational;
rotationAxis (1 0 0);
rotationCentre (0 0 0);
matchTolerance $tol;
}
constructFrom patches;
patches (coupled0);
}
{
name cyclic1;
patchInfo
{
type cyclicSlip;
neighbourPatch cyclic0;
transform rotational;
rotationAxis (1 0 0);
rotationCentre (0 0 0);
matchTolerance $tol;
}
constructFrom patches;
patches (coupled1);
}
);
// ************************************************************************* //

View File

@ -0,0 +1,32 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object decomposeParDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
numberOfSubdomains 6;
method hierarchical;
hierarchicalCoeffs
{
n ( 6 1 1 );
delta 0.001;
order xyz;
}
preservePatches (cyclic0 cyclic1 ami0 ami1);
// ************************************************************************* //

View File

@ -0,0 +1,81 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
default Euler;
}
gradSchemes
{
default leastSquares;
grad(U) cellLimited Gauss linear 0.99;
}
divSchemes
{
default none;
div(phi,U) Gauss limitedLinearV 1;
div(phid,p) Gauss limitedLinear 1;
div(phi,K) Gauss limitedLinear 1;
div(phi,k) Gauss limitedLinear 1;
div(phi,epsilon) Gauss limitedLinear 1;
div(phi,R) Gauss limitedLinear 1;
div(R) Gauss linear;
div(phiXi,Xi) Gauss limitedLinear 1;
div(phiXi,Su) Gauss limitedLinear 1;
div(phiSt,b) Gauss limitedLinear01 1;
div(phi,ft_b_ha_hau) Gauss multivariateSelection
{
fu limitedLinear01 1;
ft limitedLinear01 1;
b limitedLinear01 1;
ha limitedLinear 1;
hau limitedLinear 1;
};
div(U) Gauss linear;
div((Su*n)) Gauss linear;
div((U+((Su*Xi)*n))) Gauss linear;
div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
div(meshPhi,p) Gauss linear;
}
laplacianSchemes
{
default Gauss linear corrected;
}
interpolationSchemes
{
default linear;
}
snGradSchemes
{
default corrected;
}
fluxRequired
{
default no;
p ;
Phi ;
pcorr ;
}
// ************************************************************************* //

View File

@ -0,0 +1,76 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
"(p|Phi|rho)"
{
solver PCG;
preconditioner DIC;
tolerance 1e-06;
relTol 0.1;
minIter 1;
}
"(p|Phi|rho)Final"
{
$p;
tolerance 1e-06;
relTol 0;
minIter 1;
}
pcorr
{
$p;
tolerance 1e-02;
relTol 0;
}
"(U|b|ft|fu|Su|Xi|ha|hau|k|epsilon)"
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-05;
relTol 0.1;
minIter 1;
}
"(U|b|ft|fu|Su|Xi|ha|hau|k|epsilon)Final"
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-05;
relTol 0;
minIter 1;
}
}
PIMPLE
{
nOuterCorrectors 2;
nCorrectors 1;
nNonOrthogonalCorrectors 0;
}
potentialFlow
{
nNonOrthogonalCorrectors 20;
}
// ************************************************************************* //

View File

@ -0,0 +1,23 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object meshQualityDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Include defaults parameters from master dictionary
#include "$WM_PROJECT_DIR/etc/caseDicts/meshQualityDict"
maxNonOrtho 55;
// ************************************************************************* //

View File

@ -0,0 +1,375 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object snappyHexMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Which of the steps to run
castellatedMesh true;
snap true;
addLayers false;
// Geometry. Definition of all surfaces. All surfaces are of class
// searchableSurface.
// Surfaces are used
// - to specify refinement for any mesh cell intersecting it
// - to specify refinement for any mesh cell inside/outside/near
// - to 'snap' the mesh boundary to the surface
geometry
{
ami.obj
{
type triSurfaceMesh;
name ami;
}
blade1.obj
{
type triSurfaceMesh;
name blade1;
}
blade2.obj
{
type triSurfaceMesh;
name blade2;
}
inlet.stl
{
type triSurfaceMesh;
name inlet;
}
outlet.stl
{
type triSurfaceMesh;
name outlet;
}
walls.stl
{
type triSurfaceMesh;
name walls;
}
};
// Settings for the castellatedMesh generation.
castellatedMeshControls
{
// Refinement parameters
// ~~~~~~~~~~~~~~~~~~~~~
// If local number of cells is >= maxLocalCells on any processor
// switches from from refinement followed by balancing
// (current method) to (weighted) balancing before refinement.
maxLocalCells 100000;
// Overall cell limit (approximately). Refinement will stop immediately
// upon reaching this number so a refinement level might not complete.
// Note that this is the number of cells before removing the part which
// is not 'visible' from the keepPoint. The final number of cells might
// actually be a lot less.
maxGlobalCells 2000000;
// The surface refinement loop might spend lots of iterations refining just a
// few cells. This setting will cause refinement to stop if <= minimumRefine
// are selected for refinement. Note: it will at least do one iteration
// (unless the number of cells to refine is 0)
minRefinementCells 0;
// Number of buffer layers between different levels.
// 1 means normal 2:1 refinement restriction, larger means slower
// refinement.
nCellsBetweenLevels 5;
// Explicit feature edge refinement
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Specifies a level for any cell intersected by its edges.
// This is a featureEdgeMesh, read from constant/triSurface for now.
features
(
);
// Surface based refinement
// ~~~~~~~~~~~~~~~~~~~~~~~~
// Specifies two levels for every surface. The first is the minimum level,
// every cell intersecting a surface gets refined up to the minimum level.
// The second level is the maximum level. Cells that 'see' multiple
// intersections where the intersections make an
// angle > resolveFeatureAngle get refined up to the maximum level.
refinementSurfaces
{
ami
{
level (1 1);
cellZone rotating;
faceZone rotating;
faceType baffle;
cellZoneInside insidePoint;
insidePoint (34 50 0);
}
blade1
{
level (1 1);
faceType baffle;
}
blade2
{
level (1 1);
faceType baffle;
}
cooling
{
level (1 1);
patchInfo
{
type patch;
}
}
inlet
{
level (1 1);
patchInfo
{
type patch;
}
}
outlet
{
level (1 1);
patchInfo
{
type patch;
}
}
walls
{
level (1 1);
patchInfo
{
type wall;
inGroups (wall);
}
}
}
resolveFeatureAngle 30;
// Region-wise refinement
// ~~~~~~~~~~~~~~~~~~~~~~
// Specifies refinement level for cells in relation to a surface. One of
// three modes
// - distance. 'levels' specifies per distance to the surface the
// wanted refinement level. The distances need to be specified in
// descending order.
// - inside. 'levels' is only one entry and only the level is used. All
// cells inside the surface get refined up to the level. The surface
// needs to be closed for this to be possible.
// - outside. Same but cells outside.
refinementRegions
{
}
// Mesh selection
// ~~~~~~~~~~~~~~
// After refinement patches get added for all refinementSurfaces and
// all cells intersecting the surfaces get put into these patches. The
// section reachable from the locationInMesh is kept.
// NOTE: This point should never be on a face, always inside a cell, even
// after refinement.
// This is an outside point locationInMesh (-0.033 -0.033 0.0033);
locationInMesh (-15 50 0);
// Whether any faceZones (as specified in the refinementSurfaces)
// are only on the boundary of corresponding cellZones or also allow
// free-standing zone faces. Not used if there are no faceZones.
allowFreeStandingZoneFaces true;
}
// Settings for the snapping.
snapControls
{
//- Number of patch smoothing iterations before finding correspondence
// to surface
nSmoothPatch 3;
//- Relative distance for points to be attracted by surface feature point
// or edge. True distance is this factor times local
// maximum edge length.
tolerance 1.0;
//- Number of mesh displacement relaxation iterations.
nSolveIter 300;
//- Maximum number of snapping relaxation iterations. Should stop
// before upon reaching a correct mesh.
nRelaxIter 5;
// Feature snapping
//- Number of feature edge snapping iterations.
// Leave out altogether to disable.
nFeatureSnapIter 10;
//- Detect (geometric) features by sampling the surface
implicitFeatureSnap true;
//- Use castellatedMeshControls::features
explicitFeatureSnap false;
//- Detect features between multiple surfaces
// (only for explicitFeatureSnap, default = false)
multiRegionFeatureSnap true;
}
// Settings for the layer addition.
addLayersControls
{
// Are the thickness parameters below relative to the undistorted
// size of the refined cell outside layer (true) or absolute sizes (false).
relativeSizes true;
// Per final patch (so not geometry!) the layer information
layers
{
"blade."
{
nSurfaceLayers 2;
}
}
// Expansion factor for layer mesh
expansionRatio 1.0;
// Wanted thickness of final added cell layer. If multiple layers
// is the thickness of the layer furthest away from the wall.
// Relative to undistorted size of cell outside layer.
// See relativeSizes parameter.
finalLayerThickness 0.25;
// Minimum thickness of cell layer. If for any reason layer
// cannot be above minThickness do not add layer.
// See relativeSizes parameter.
minThickness 0.2;
// If points get not extruded do nGrow layers of connected faces that are
// also not grown. This helps convergence of the layer addition process
// close to features.
nGrow 0;
// Advanced settings
// When not to extrude surface. 0 is flat surface, 90 is when two faces
// are perpendicular
featureAngle 30;
// Maximum number of snapping relaxation iterations. Should stop
// before upon reaching a correct mesh.
nRelaxIter 5;
// Number of smoothing iterations of surface normals
nSmoothSurfaceNormals 1;
// Number of smoothing iterations of interior mesh movement direction
nSmoothNormals 3;
// Smooth layer thickness over surface patches
nSmoothThickness 10;
// Stop layer growth on highly warped cells
maxFaceThicknessRatio 0.5;
// Reduce layer growth where ratio thickness to medial
// distance is large
maxThicknessToMedialRatio 0.3;
// Angle used to pick up medial axis points
minMedianAxisAngle 90;
// Create buffer region for new layer terminations
nBufferCellsNoExtrude 0;
// Overall max number of layer addition iterations. The mesher will exit
// if it reaches this number of iterations; possibly with an illegal
// mesh.
nLayerIter 50;
// Max number of iterations after which relaxed meshQuality controls
// get used. Up to nRelaxIter it uses the settings in meshQualityControls,
// after nRelaxIter it uses the values in meshQualityControls::relaxed.
nRelaxedIter 20;
}
// Generic mesh quality settings. At any undoable phase these determine
// where to undo.
meshQualityControls
{
#include "meshQualityDict"
// Optional : some meshing phases allow usage of relaxed rules.
// See e.g. addLayersControls::nRelaxedIter.
relaxed
{
//- Maximum non-orthogonality allowed. Set to 180 to disable.
maxNonOrtho 75;
}
// Advanced
//- Number of error distribution iterations
nSmoothScale 4;
//- amount to scale back displacement at error points
errorReduction 0.75;
}
// Advanced
// Write flags
writeFlags
(
scalarLevels // write volScalarField with cellLevel for postprocessing
layerSets // write cellSets, faceSets of faces in layer
layerFields // write volScalarField for layer coverage
);
// Merge tolerance. Is fraction of overall bounding box of initial mesh.
// Note: the write tolerance needs to be higher than this.
mergeTolerance 1E-6;
// ************************************************************************* //

View File

@ -0,0 +1,46 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.2.1 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object Su;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0 0 0];
internalField uniform 0.135;
boundaryField
{
"(walls|cylinder)"
{
type zeroGradient;
}
"inlet.*"
{
type fixedValue;
value uniform 0.135;
}
outlet
{
type inletOutlet;
inletValue uniform 0.135;
value uniform 0.135;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,46 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.2.1 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object T;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField uniform 300;
boundaryField
{
"(walls|cylinder)"
{
type zeroGradient;
}
"inlet.*"
{
type fixedValue;
value uniform 300;
}
outlet
{
type inletOutlet;
inletValue uniform 300;
value uniform 300;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,46 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.2.1 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object Tu;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField uniform 300;
boundaryField
{
"(walls|cylinder)"
{
type zeroGradient;
}
"inlet.*"
{
type fixedValue;
value uniform 300;
}
outlet
{
type inletOutlet;
inletValue uniform 300;
value uniform 300;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,62 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.2.1 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volVectorField;
location "0";
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0 0 0];
internalField uniform (2 0 0);
/*
A=[2 1]
M=[28.8504 16.0428]
AFR=17.1256917852
T=300
p=1e5
R=8314.3
rho=p/R/T.*M
U=[2 NaN]
U(2)=rho(1)*U(1)*A(1)/(rho(2)*A(2))/AFR
*/
boundaryField
{
"(walls|cylinder)"
{
type fixedValue;
value uniform (0 0 0);
}
inletAir
{
type fixedValue;
value uniform (2 0 0);
}
inletFuel
{
type fixedValue;
value uniform (0.42003 0 0);
}
outlet
{
type zeroGradient;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,46 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.2.1 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object Xi;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 1;
boundaryField
{
"(walls|cylinder)"
{
type zeroGradient;
}
"inlet.*"
{
type fixedValue;
value uniform 1;
}
outlet
{
type inletOutlet;
inletValue uniform 1;
value uniform 1;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,45 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.2.1 |
| \\ / 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
{
"(walls|cylinder)"
{
type compressible::alphatWallFunction;
Prt 0.85;
value uniform 0;
}
"inlet.*"
{
type zeroGradient;
}
outlet
{
type zeroGradient;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,46 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.2.1 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object b;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 1;
boundaryField
{
"(walls|cylinder)"
{
type zeroGradient;
}
"inlet.*"
{
type fixedValue;
value uniform 1;
}
outlet
{
type inletOutlet;
inletValue uniform 1;
value uniform 1;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,46 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.2.1 |
| \\ / 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 100;
boundaryField
{
"(walls|cylinder)"
{
type epsilonWallFunction;
value uniform 100;
}
"inlet.*"
{
type turbulentMixingLengthDissipationRateInlet;
mixingLength 0.001;
value uniform 100;
}
outlet
{
type zeroGradient;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,51 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.2.1 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object ft;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 0;
boundaryField
{
"(walls|cylinder)"
{
type zeroGradient;
}
inletAir
{
type fixedValue;
value uniform 0;
}
inletFuel
{
type fixedValue;
value uniform 1;
}
outlet
{
type inletOutlet;
inletValue uniform 0;
value uniform 0;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,46 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.2.1 |
| \\ / 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
{
"(walls|cylinder)"
{
type kqRWallFunction;
value uniform 1;
}
"inlet.*"
{
type turbulentIntensityKineticEnergyInlet;
intensity 0.04;
value uniform 1;
}
outlet
{
type zeroGradient;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,46 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.2.1 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object mut;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -1 0 0 0 0];
internalField uniform 0;
boundaryField
{
"(walls|cylinder)"
{
type nutkWallFunction;
value uniform 0;
}
"inlet.*"
{
type calculated;
value uniform 0;
}
outlet
{
type calculated;
value uniform 0;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,44 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.2.1 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -2 0 0 0 0];
internalField uniform 100000;
boundaryField
{
"(walls|cylinder)"
{
type zeroGradient;
}
"inlet.*"
{
type zeroGradient;
}
outlet
{
type fixedValue;
value uniform 100000;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,59 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.2.1 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class pointScalarField;
location "0";
object pointDisplacementy;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 0;
boundaryField
{
walls
{
type fixedValue;
value $internalField;
}
cylinder
{
type codedFixedValue;
redirectType pointDisplacementy_cylinder;
code
#{
const scalar t = this->db().time().value();
const scalar a = 0.001;
const scalar f = 200;
operator==(a*sin(constant::mathematical::twoPi*f*t));
#};
value $internalField;
}
"inlet.*"
{
type fixedValue;
value $internalField;
}
outlet
{
type fixedValue;
value $internalField;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,25 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.2.1 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object RASProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
RASModel kEpsilon;
turbulence on;
printCoeffs on;
// ************************************************************************* //

View File

@ -0,0 +1,73 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.2.1 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object combustionProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
laminarFlameSpeedCorrelation Gulders;
fuel Methane;
Su Su [ 0 1 -1 0 0 0 0 ] 0;
SuModel unstrained;
equivalenceRatio equivalenceRatio [ 0 0 0 0 0 0 0 ] 1;
sigmaExt sigmaExt [ 0 0 -1 0 0 0 0 ] 100000;
XiModel transport;
XiCoef XiCoef [ 0 0 0 0 0 0 0 ] 0.62;
XiShapeCoef XiShapeCoef [ 0 0 0 0 0 0 0 ] 1;
uPrimeCoef uPrimeCoef [ 0 0 0 0 0 0 0 ] 1;
GuldersCoeffs
{
Methane
{
W 0.422;
eta 0.15;
xi 5.18;
alpha 2;
beta -0.5;
f 2.3;
}
}
ignite yes;
ignitionSites
(
{
location (0.006 0 0.0005);
diameter 0.001;
start 0.02;
duration 0.04;
strength 5;
}
);
ignitionSphereFraction 1;
ignitionThickness ignitionThickness [ 0 1 0 0 0 0 0 ] 0.001;
ignitionCircleFraction 0.5;
ignitionKernelArea ignitionKernelArea [ 0 2 0 0 0 0 0 ] 0.001;
// ************************************************************************* //

View File

@ -0,0 +1,34 @@
/*--------------------------------*- 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 dynamicMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dynamicFvMesh dynamicMotionSolverFvMesh;
motionSolverLibs ( "libfvMotionSolvers.so" );
solver displacementComponentLaplacian;
displacementComponentLaplacianCoeffs
{
component y;
diffusivity uniform;
applyPointLocation false;
}
// ************************************************************************* //

View File

@ -0,0 +1,22 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.2.1 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class uniformDimensionedVectorField;
location "constant";
object g;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -2 0 0 0 0];
value ( 0 0 0 );
// ************************************************************************* //

View File

@ -0,0 +1,156 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.2.1 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 0.001;
vertices
(
(-15 -6 0)
(-15 -2 0)
(-15 2 0)
(-15 6 0)
( -6 -6 0)
( -6 -2 0)
( -6 2 0)
( -6 6 0)
( -2.82842712474619 -2.82842712474619 0)
( -3.86370330515627 -1.03527618041008 0)
( -3.86370330515627 1.03527618041008 0)
( -2.82842712474619 2.82842712474619 0)
( 2.82842712474619 -2.82842712474619 0)
( 2.82842712474619 2.82842712474619 0)
( 6 -6 0)
( 6 6 0)
( 50 -6 0)
( 50 6 0)
(-15 -6 1)
(-15 -2 1)
(-15 2 1)
(-15 6 1)
( -6 -6 1)
( -6 -2 1)
( -6 2 1)
( -6 6 1)
( -2.82842712474619 -2.82842712474619 1)
( -3.86370330515627 -1.03527618041008 1)
( -3.86370330515627 1.03527618041008 1)
( -2.82842712474619 2.82842712474619 1)
( 2.82842712474619 -2.82842712474619 1)
( 2.82842712474619 2.82842712474619 1)
( 6 -6 1)
( 6 6 1)
( 50 -6 1)
( 50 6 1)
);
blocks
(
hex ( 0 4 5 1 18 22 23 19) (16 8 1) simpleGrading (1 1 1)
hex ( 1 5 6 2 19 23 24 20) (16 8 1) simpleGrading (1 1 1)
hex ( 2 6 7 3 20 24 25 21) (16 8 1) simpleGrading (1 1 1)
hex ( 4 8 9 5 22 26 27 23) ( 8 8 1) simpleGrading (1 1 1)
hex ( 5 9 10 6 23 27 28 24) ( 8 8 1) simpleGrading (1 1 1)
hex ( 6 10 11 7 24 28 29 25) ( 8 8 1) simpleGrading (1 1 1)
hex ( 4 14 12 8 22 32 30 26) (24 8 1) simpleGrading (1 1 1)
hex (12 14 15 13 30 32 33 31) ( 8 24 1) simpleGrading (1 1 1)
hex (11 13 15 7 29 31 33 25) (24 8 1) simpleGrading (1 1 1)
hex (14 16 17 15 32 34 35 33) (80 24 1) simpleGrading (1 1 1)
);
edges
(
arc 8 9 (-3.46410161513775 2 0)
arc 9 10 (-4 0 0)
arc 10 11 (-3.46410161513775 2 0)
arc 11 13 ( 0 4 0)
arc 13 12 ( 4 0 0)
arc 12 8 ( 0 -4 0)
arc 26 27 (-3.46410161513775 2 1)
arc 27 28 (-4 0 1)
arc 28 29 (-3.46410161513775 2 1)
arc 29 31 ( 0 4 1)
arc 31 30 ( 4 0 1)
arc 30 26 ( 0 -4 1)
);
defaultPatch
{
name frontAndBack;
type empty;
}
boundary
(
inletAir
{
type patch;
faces
(
(0 1 19 18)
(2 3 21 20)
);
}
inletFuel
{
type patch;
faces
(
(1 2 20 19)
);
}
outlet
{
type patch;
faces
(
(16 17 35 34)
);
}
walls
{
type wall;
faces
(
( 0 4 22 18)
( 3 7 25 21)
( 4 14 32 22)
( 7 15 33 25)
(14 16 34 32)
(15 17 35 33)
);
}
cylinder
{
type wall;
faces
(
( 8 9 27 26)
( 9 10 28 27)
(10 11 29 28)
(11 13 31 29)
(13 12 30 31)
(12 8 26 30)
);
}
);
mergePatchPairs
(
);
// ************************************************************************* //

View File

@ -0,0 +1,61 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev-OpenCFD.feature-periodicAMIAndXiDyMFoam|
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class polyBoundaryMesh;
location "constant/polyMesh";
object boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
6
(
inletAir
{
type patch;
nFaces 16;
startFace 5952;
}
inletFuel
{
type patch;
nFaces 8;
startFace 5968;
}
outlet
{
type patch;
nFaces 24;
startFace 5976;
}
walls
{
type wall;
inGroups 1(wall);
nFaces 240;
startFace 6000;
}
cylinder
{
type wall;
inGroups 1(wall);
nFaces 96;
startFace 6240;
}
frontAndBack
{
type empty;
inGroups 1(empty);
nFaces 6144;
startFace 6336;
}
)
// ************************************************************************* //

View File

@ -0,0 +1,115 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.2.1 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType
{
type heheuPsiThermo;
mixture inhomogeneousMixture;
transport sutherland;
thermo janaf;
equationOfState perfectGas;
specie specie;
energy absoluteEnthalpy;
}
stoichiometricAirFuelMassRatio stoichiometricAirFuelMassRatio [ 0 0 0 0 0 0 0 ] 17.1256917852;
fuel
{
specie
{
nMoles 1;
molWeight 16.0428;
}
thermodynamics
{
Tlow 200;
Thigh 6000;
Tcommon 1000;
highCpCoeffs ( 1.68347900000000e+00 1.02372400000000e-02 -3.87512900000000e-06
6.78558500000000e-10 -4.50342300000000e-14 -1.00807900000000e+04
9.62339500000000e+00 );
lowCpCoeffs ( 7.78741500000000e-01 1.74766800000000e-02 -2.78340900000000e-05
3.04970800000000e-08 -1.22393100000000e-11 -9.82522900000000e+03
1.37221900000000e+01);
}
transport
{
As 1.67212e-06;
Ts 170.672;
}
}
oxidant
{
specie
{
nMoles 1;
molWeight 28.8504;
}
thermodynamics
{
Tlow 200;
Thigh 6000;
Tcommon 1000;
highCpCoeffs ( 3.0885497471e+00 1.3043264856e-03 -4.7552447148e-07
8.3493327980e-11 -5.5737056214e-15 -9.8814063549e+02
-4.0547404058e+00 );
lowCpCoeffs ( 3.2806699701e+00 1.3492770106e-03 -3.2517684297e-06
4.7326393524e-09 -2.1155491172e-12 -1.0176130308e+03
4.3881233780e+00 );
}
transport
{
As 1.67212e-06;
Ts 170.672;
}
}
burntProducts
{
specie
{
nMoles 1;
molWeight 27.6333203887;
}
thermodynamics
{
Tlow 200;
Thigh 6000;
Tcommon 1000;
highCpCoeffs ( 3.0233794599e+00 1.9430560990e-03 -6.9382318371e-07
1.1776092714e-10 -7.6289056653e-15 -1.0995628377e+04
-3.0620017962e+00 );
lowCpCoeffs ( 3.2182230144e+00 2.6101069239e-03 -5.0302916124e-06
6.0101629539e-09 -2.4254586430e-12 -1.1068041672e+04
4.2846702447e+00 );
}
transport
{
As 1.67212e-06;
Ts 170.672;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,30 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.2.1 |
| \\ / 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;
}
// ************************************************************************* //

View File

@ -0,0 +1,55 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.2.1 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object controlDict.1st;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application XiDyMFoam;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 0.1;
deltaT 1e-5;
writeControl adjustableRunTime;
writeInterval 1e-3;
purgeWrite 0;
writeFormat ascii;
writePrecision 8;
writeCompression off;
timeFormat general;
timePrecision 6;
runTimeModifiable true;
adjustTimeStep yes;
maxCo 0.4;
libs ( "libfvMotionSolvers.so" );
// ************************************************************************* //

View File

@ -0,0 +1,79 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
default Euler;
}
gradSchemes
{
default Gauss linear;
}
divSchemes
{
default none;
div(phi,U) Gauss limitedLinearV 1;
div(phid,p) Gauss limitedLinear 1;
div(phi,K) Gauss limitedLinear 1;
div(phi,k) Gauss limitedLinear 1;
div(phi,epsilon) Gauss limitedLinear 1;
div(phi,R) Gauss limitedLinear 1;
div(R) Gauss linear;
div(phiXi,Xi) Gauss limitedLinear 1;
div(phiXi,Su) Gauss limitedLinear 1;
div(phiSt,b) Gauss limitedLinear01 1;
div(phi,ft_b_ha_hau) Gauss multivariateSelection
{
fu limitedLinear01 1;
ft limitedLinear01 1;
b limitedLinear01 1;
ha limitedLinear 1;
hau limitedLinear 1;
};
div(U) Gauss linear;
div((Su*n)) Gauss linear;
div((U+((Su*Xi)*n))) Gauss linear;
div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
div(meshPhi,p) Gauss linear;
}
laplacianSchemes
{
default Gauss linear corrected;
}
interpolationSchemes
{
default linear;
}
snGradSchemes
{
default corrected;
}
fluxRequired
{
default no;
p ;
pcorr ;
}
// ************************************************************************* //

View File

@ -0,0 +1,71 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
"(p|rho|cellDisplacementy)"
{
solver PCG;
preconditioner DIC;
tolerance 1e-06;
relTol 0.1;
minIter 1;
}
"(p|rho|cellDisplacementy)Final"
{
$p;
tolerance 1e-06;
relTol 0;
minIter 1;
}
pcorr
{
$p;
tolerance 1e-2;
relTol 0;
}
"(U|b|ft|fu|Su|Xi|ha|hau|k|epsilon)"
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-05;
relTol 0.1;
minIter 1;
}
"(U|b|ft|fu|Su|Xi|ha|hau|k|epsilon)Final"
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-05;
relTol 0;
minIter 1;
}
}
PIMPLE
{
nOuterCorrectors 2;
nCorrectors 1;
nNonOrthogonalCorrectors 0;
}
// ************************************************************************* //