Coupled density-based solver for compressible flows

This commit is contained in:
Hrvoje Jasak 2014-05-28 20:31:32 +01:00
parent 52b284e0a1
commit 843c88935e
55 changed files with 28580 additions and 60 deletions

View file

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

View file

@ -0,0 +1,12 @@
EXE_INC = \
-I$(LIB_SRC)/dbns/lnInclude \
-I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/specie/lnInclude
EXE_LIBS = \
-lfiniteVolume \
-lbasicThermophysicalModels \
-lspecie \
-ldbns

View file

@ -0,0 +1,83 @@
Info<< "Reading thermophysical properties\n" << endl;
autoPtr<basicPsiThermo> thermo
(
basicPsiThermo::New(mesh)
);
// Primitive variables
volScalarField& h = thermo->h();
volScalarField& p = thermo->p();
const volScalarField& T = thermo->T();
Info<< "Reading field rho\n" << endl;
volScalarField rho
(
IOobject
(
"rho",
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::AUTO_WRITE
),
thermo->rho()
);
Info<< "Reading field U\n" << endl;
volVectorField U
(
IOobject
(
"U",
runTime.timeName(),
mesh,
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
mesh
);
// Conservative variables
volVectorField rhoU
(
IOobject
(
"rhoU",
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
),
rho*U
);
volScalarField rhoE
(
IOobject
(
"rhoE",
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
),
rho*(h + 0.5*magSqr(U)) - p
);
// Create numeric flux
// numericFlux<roeFlux, BarthJespersenLimiter> dbnsFlux
numericFlux<rusanovFlux, BarthJespersenLimiter> dbnsFlux
(
p,
U,
T,
thermo()
);
// Create mass flux alias for easier coupling with other code components
const surfaceScalarField& phi = dbnsFlux.rhoFlux();

View file

@ -0,0 +1,125 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright held by original author
\\/ 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Application
dbnsFoam
Description
Density-based compressible explicit time-marching flow solver
using enthalpy based thermo packages
Author
Hrvoje Jasak
\*---------------------------------------------------------------------------*/
#include "fvCFD.H"
#include "basicPsiThermo.H"
#include "bound.H"
#include "hllcFlux.H"
#include "roeFlux.H"
#include "rusanovFlux.H"
#include "betaFlux.H"
#include "MDLimiter.H"
#include "firstOrderLimiter.H"
#include "BarthJespersenLimiter.H"
#include "VenkatakrishnanLimiter.H"
#include "numericFlux.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
int main(int argc, char *argv[])
{
# include "setRootCase.H"
# include "createTime.H"
# include "createMesh.H"
# include "createFields.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Info<< "\nStarting time loop\n" << endl;
// Runge-Kutta coefficient
scalarList beta(4);
beta[0] = 0.1100;
beta[1] = 0.2766;
beta[2] = 0.5000;
beta[3] = 1.0000;
// Switch off solver messages
lduMatrix::debug = 0;
while (runTime.run())
{
# include "readTimeControls.H"
# include "readFieldBounds.H"
# include "compressibleCourantNo.H"
# include "setDeltaT.H"
runTime++;
Info<< "\n Time = " << runTime.value() << endl;
// Low storage Runge-Kutta time integration
forAll (beta, i)
{
// Solve the approximate Riemann problem for this time step
dbnsFlux.computeFlux();
// Time integration
solve
(
1.0/beta[i]*fvm::ddt(rho)
+ fvc::div(dbnsFlux.rhoFlux())
);
solve
(
1.0/beta[i]*fvm::ddt(rhoU)
+ fvc::div(dbnsFlux.rhoUFlux())
);
solve
(
1.0/beta[i]*fvm::ddt(rhoE)
+ fvc::div(dbnsFlux.rhoEFlux())
);
# include "updateFields.H"
}
runTime.write();
Info<< " ExecutionTime = "
<< runTime.elapsedCpuTime()
<< " s\n" << endl;
}
Info<< "\n end \n";
return(0);
}
// ************************************************************************* //

View file

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

View file

@ -0,0 +1,15 @@
EXE_INC = \
-I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
-I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
-I$(LIB_SRC)/dbns/lnInclude
EXE_LIBS = \
-lfiniteVolume \
-lbasicThermophysicalModels \
-lspecie \
-lcompressibleTurbulenceModel \
-lcompressibleRASModels \
-lcompressibleLESModels \
-ldbns

View file

@ -0,0 +1,94 @@
Info<< "Reading thermophysical properties\n" << endl;
autoPtr<basicPsiThermo> thermo
(
basicPsiThermo::New(mesh)
);
// Primitive variables
volScalarField& h = thermo->h();
volScalarField& p = thermo->p();
const volScalarField& T = thermo->T();
Info<< "Reading field rho\n" << endl;
volScalarField rho
(
IOobject
(
"rho",
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::AUTO_WRITE
),
thermo->rho()
);
Info<< "Reading field U\n" << endl;
volVectorField U
(
IOobject
(
"U",
runTime.timeName(),
mesh,
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
mesh
);
// Conservative variables
volVectorField rhoU
(
IOobject
(
"rhoU",
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
),
rho*U
);
volScalarField rhoE
(
IOobject
(
"rhoE",
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
),
rho*(h + 0.5*magSqr(U)) - p
);
// Create numeric flux
numericFlux<rusanovFlux, BarthJespersenLimiter> dbnsFlux
(
p,
U,
T,
thermo()
);
// Create mass flux alias for easier coupling with other code components
const surfaceScalarField& phi = dbnsFlux.rhoFlux();
Info<< "Creating turbulence model\n" << endl;
autoPtr<compressible::turbulenceModel> turbulence
(
compressible::turbulenceModel::New
(
rho,
U,
phi,
thermo
)
);

View file

@ -0,0 +1,134 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright held by original author
\\/ 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Application
dbnsTurbFoamHEqn
Description
Density-based compressible explicit time-marching flow solver
using enthalpy-based thermo packages
Author
Hrvoje Jasak
\*---------------------------------------------------------------------------*/
#include "fvCFD.H"
#include "basicPsiThermo.H"
#include "turbulenceModel.H"
#include "bound.H"
#include "hllcFlux.H"
#include "roeFlux.H"
#include "rusanovFlux.H"
#include "betaFlux.H"
#include "MDLimiter.H"
#include "firstOrderLimiter.H"
#include "BarthJespersenLimiter.H"
#include "VenkatakrishnanLimiter.H"
#include "numericFlux.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
int main(int argc, char *argv[])
{
# include "setRootCase.H"
# include "createTime.H"
# include "createMesh.H"
# include "createFields.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Info<< "\nStarting time loop\n" << endl;
// Runge-Kutta coefficient
scalarList beta(4);
beta[0] = 0.1100;
beta[1] = 0.2766;
beta[2] = 0.5000;
beta[3] = 1.0000;
while (runTime.run())
{
# include "readTimeControls.H"
# include "readFieldBounds.H"
# include "compressibleCourantNo.H"
# include "setDeltaT.H"
runTime++;
Info<< "\n Time = " << runTime.value() << endl;
// Switch off solver messages for diagonal solver RK
lduMatrix::debug = 0;
// Low storage Runge-Kutta time integration
forAll (beta, i)
{
// Solve the approximate Riemann problem for this time step
dbnsFlux.computeFlux();
// Time integration
solve
(
1.0/beta[i]*fvm::ddt(rho)
+ fvc::div(dbnsFlux.rhoFlux())
);
solve
(
1.0/beta[i]*fvm::ddt(rhoU)
+ fvc::div(dbnsFlux.rhoUFlux())
+ fvc::div(turbulence->devRhoReff())
);
solve
(
1.0/beta[i]*fvm::ddt(rhoE)
+ fvc::div(dbnsFlux.rhoEFlux())
+ fvc::div(turbulence->devRhoReff() & U)
- fvc::laplacian(turbulence->alphaEff(), h)
);
# include "updateFields.H"
}
// Switch on solver messages for turbulence
lduMatrix::debug = 1;
turbulence->correct();
runTime.write();
Info<< " ExecutionTime = "
<< runTime.elapsedCpuTime()
<< " s\n" << endl;
}
Info<< "\n end \n";
return(0);
}
// ************************************************************************* //

View file

@ -32,14 +32,10 @@ License
#include "basicThermo.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
isentropicTotalTemperatureFvPatchScalarField::isentropicTotalTemperatureFvPatchScalarField
Foam::isentropicTotalTemperatureFvPatchScalarField::
isentropicTotalTemperatureFvPatchScalarField
(
const fvPatch& p,
const DimensionedField<scalar, volMesh>& iF
@ -52,7 +48,8 @@ isentropicTotalTemperatureFvPatchScalarField::isentropicTotalTemperatureFvPatchS
{}
isentropicTotalTemperatureFvPatchScalarField::isentropicTotalTemperatureFvPatchScalarField
Foam::isentropicTotalTemperatureFvPatchScalarField::
isentropicTotalTemperatureFvPatchScalarField
(
const isentropicTotalTemperatureFvPatchScalarField& ptf,
const fvPatch& p,
@ -67,7 +64,8 @@ isentropicTotalTemperatureFvPatchScalarField::isentropicTotalTemperatureFvPatchS
{}
isentropicTotalTemperatureFvPatchScalarField::isentropicTotalTemperatureFvPatchScalarField
Foam::isentropicTotalTemperatureFvPatchScalarField::
isentropicTotalTemperatureFvPatchScalarField
(
const fvPatch& p,
const DimensionedField<scalar, volMesh>& iF,
@ -93,7 +91,8 @@ isentropicTotalTemperatureFvPatchScalarField::isentropicTotalTemperatureFvPatchS
}
isentropicTotalTemperatureFvPatchScalarField::isentropicTotalTemperatureFvPatchScalarField
Foam::isentropicTotalTemperatureFvPatchScalarField::
isentropicTotalTemperatureFvPatchScalarField
(
const isentropicTotalTemperatureFvPatchScalarField& tppsf
)
@ -105,7 +104,8 @@ isentropicTotalTemperatureFvPatchScalarField::isentropicTotalTemperatureFvPatchS
{}
isentropicTotalTemperatureFvPatchScalarField::isentropicTotalTemperatureFvPatchScalarField
Foam::isentropicTotalTemperatureFvPatchScalarField::
isentropicTotalTemperatureFvPatchScalarField
(
const isentropicTotalTemperatureFvPatchScalarField& tppsf,
const DimensionedField<scalar, volMesh>& iF
@ -120,17 +120,18 @@ isentropicTotalTemperatureFvPatchScalarField::isentropicTotalTemperatureFvPatchS
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void isentropicTotalTemperatureFvPatchScalarField::autoMap
void Foam::isentropicTotalTemperatureFvPatchScalarField::autoMap
(
const fvPatchFieldMapper& m
)
{
fixedValueFvPatchScalarField::autoMap(m);
T0_.autoMap(m);
p0_.autoMap(m);
}
void isentropicTotalTemperatureFvPatchScalarField::rmap
void Foam::isentropicTotalTemperatureFvPatchScalarField::rmap
(
const fvPatchScalarField& ptf,
const labelList& addr
@ -142,10 +143,11 @@ void isentropicTotalTemperatureFvPatchScalarField::rmap
refCast<const isentropicTotalTemperatureFvPatchScalarField>(ptf);
T0_.rmap(tiptf.T0_, addr);
p0_.rmap(tiptf.p0_, addr);
}
void isentropicTotalTemperatureFvPatchScalarField::updateCoeffs()
void Foam::isentropicTotalTemperatureFvPatchScalarField::updateCoeffs()
{
if (updated())
{
@ -169,28 +171,39 @@ void isentropicTotalTemperatureFvPatchScalarField::updateCoeffs()
fixedValueFvPatchScalarField::updateCoeffs();
}
void isentropicTotalTemperatureFvPatchScalarField::updateCoeffs(const vectorField& Up)
void Foam::isentropicTotalTemperatureFvPatchScalarField::updateCoeffs
(
const vectorField& Up
)
{
updateCoeffs();
}
void isentropicTotalTemperatureFvPatchScalarField::write(Ostream& os) const
void Foam::isentropicTotalTemperatureFvPatchScalarField::write
(
Ostream& os
) const
{
fvPatchScalarField::write(os);
fixedValueFvPatchScalarField::write(os);
os.writeKeyword("p") << pName_ << token::END_STATEMENT << nl;
T0_.writeEntry("T0", os);
p0_.writeEntry("p0", os);
writeEntry("value", os);
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
makePatchTypeField(fvPatchScalarField, isentropicTotalTemperatureFvPatchScalarField);
namespace Foam
{
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
makePatchTypeField
(
fvPatchScalarField,
isentropicTotalTemperatureFvPatchScalarField
);
} // End namespace Foam
// ************************************************************************* //

View file

@ -85,8 +85,8 @@ public:
const dictionary&
);
//- Construct by mapping given isentropicTotalTemperatureFvPatchScalarField
// onto a new patch
//- Construct by mapping given
// isentropicTotalTemperatureFvPatchScalarField onto a new patch
isentropicTotalTemperatureFvPatchScalarField
(
const isentropicTotalTemperatureFvPatchScalarField&,

View file

@ -32,14 +32,9 @@ License
#include "basicThermo.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
temperatureDirectedInletOutletVelocityFvPatchVectorField::
Foam::temperatureDirectedInletOutletVelocityFvPatchVectorField::
temperatureDirectedInletOutletVelocityFvPatchVectorField
(
const fvPatch& p,
@ -60,26 +55,7 @@ temperatureDirectedInletOutletVelocityFvPatchVectorField
}
temperatureDirectedInletOutletVelocityFvPatchVectorField::
temperatureDirectedInletOutletVelocityFvPatchVectorField
(
const temperatureDirectedInletOutletVelocityFvPatchVectorField& ptf,
const fvPatch& p,
const DimensionedField<vector, volMesh>& iF,
const fvPatchFieldMapper& mapper
)
:
mixedFvPatchVectorField(ptf, p, iF, mapper),
phiName_(ptf.phiName_),
TName_(ptf.TName_),
T0_(ptf.T0_, mapper),
inletDir_(ptf.inletDir_, mapper),
cylindricalCCS_(ptf.cylindricalCCS_),
omega_(ptf.omega_)
{}
temperatureDirectedInletOutletVelocityFvPatchVectorField::
Foam::temperatureDirectedInletOutletVelocityFvPatchVectorField::
temperatureDirectedInletOutletVelocityFvPatchVectorField
(
const fvPatch& p,
@ -108,7 +84,26 @@ temperatureDirectedInletOutletVelocityFvPatchVectorField
}
temperatureDirectedInletOutletVelocityFvPatchVectorField::
Foam::temperatureDirectedInletOutletVelocityFvPatchVectorField::
temperatureDirectedInletOutletVelocityFvPatchVectorField
(
const temperatureDirectedInletOutletVelocityFvPatchVectorField& ptf,
const fvPatch& p,
const DimensionedField<vector, volMesh>& iF,
const fvPatchFieldMapper& mapper
)
:
mixedFvPatchVectorField(ptf, p, iF, mapper),
phiName_(ptf.phiName_),
TName_(ptf.TName_),
T0_(ptf.T0_, mapper),
inletDir_(ptf.inletDir_, mapper),
cylindricalCCS_(ptf.cylindricalCCS_),
omega_(ptf.omega_)
{}
Foam::temperatureDirectedInletOutletVelocityFvPatchVectorField::
temperatureDirectedInletOutletVelocityFvPatchVectorField
(
const temperatureDirectedInletOutletVelocityFvPatchVectorField& pivpvf
@ -124,7 +119,7 @@ temperatureDirectedInletOutletVelocityFvPatchVectorField
{}
temperatureDirectedInletOutletVelocityFvPatchVectorField::
Foam::temperatureDirectedInletOutletVelocityFvPatchVectorField::
temperatureDirectedInletOutletVelocityFvPatchVectorField
(
const temperatureDirectedInletOutletVelocityFvPatchVectorField& pivpvf,
@ -143,18 +138,19 @@ temperatureDirectedInletOutletVelocityFvPatchVectorField
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void temperatureDirectedInletOutletVelocityFvPatchVectorField::autoMap
void Foam::temperatureDirectedInletOutletVelocityFvPatchVectorField::autoMap
(
const fvPatchFieldMapper& m
)
{
mixedFvPatchVectorField::autoMap(m);
T0_.autoMap(m);
inletDir_.autoMap(m);
}
void temperatureDirectedInletOutletVelocityFvPatchVectorField::rmap
void Foam::temperatureDirectedInletOutletVelocityFvPatchVectorField::rmap
(
const fvPatchVectorField& ptf,
const labelList& addr
@ -163,13 +159,18 @@ void temperatureDirectedInletOutletVelocityFvPatchVectorField::rmap
mixedFvPatchVectorField::rmap(ptf, addr);
const temperatureDirectedInletOutletVelocityFvPatchVectorField& tiptf =
refCast<const temperatureDirectedInletOutletVelocityFvPatchVectorField>(ptf);
refCast<const temperatureDirectedInletOutletVelocityFvPatchVectorField>
(
ptf
);
T0_.rmap(tiptf.T0_, addr);
inletDir_.rmap(tiptf.inletDir_, addr);
}
void temperatureDirectedInletOutletVelocityFvPatchVectorField::updateCoeffs()
void
Foam::temperatureDirectedInletOutletVelocityFvPatchVectorField::updateCoeffs()
{
if (updated())
{
@ -184,6 +185,7 @@ void temperatureDirectedInletOutletVelocityFvPatchVectorField::updateCoeffs()
if (cylindricalCCS_)
{
scalar radius;
forAll (C, facei)
{
radius = sqrt(sqr(C[facei].x())+ sqr(C[facei].y()));
@ -256,14 +258,18 @@ void temperatureDirectedInletOutletVelocityFvPatchVectorField::updateCoeffs()
void
temperatureDirectedInletOutletVelocityFvPatchVectorField::write(Ostream& os) const
Foam::temperatureDirectedInletOutletVelocityFvPatchVectorField::write
(
Ostream& os
) const
{
fvPatchVectorField::write(os);
os.writeKeyword("phi") << phiName_ << token::END_STATEMENT << nl;
os.writeKeyword("T") << TName_ << token::END_STATEMENT << nl;
T0_.writeEntry("T0", os);
inletDir_.writeEntry("inletDirection", os);
os.writeKeyword("cylindricalCCS") << cylindricalCCS_ << token::END_STATEMENT << nl;
os.writeKeyword("cylindricalCCS")
<< cylindricalCCS_ << token::END_STATEMENT << nl;
os.writeKeyword("omega")<< omega_ << token::END_STATEMENT << nl;
writeEntry("value", os);
}
@ -271,14 +277,16 @@ temperatureDirectedInletOutletVelocityFvPatchVectorField::write(Ostream& os) con
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makePatchTypeField
(
fvPatchVectorField,
temperatureDirectedInletOutletVelocityFvPatchVectorField
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// ************************************************************************* //

View file

@ -61,18 +61,20 @@ class temperatureDirectedInletOutletVelocityFvPatchVectorField
//- Name of static Temperature field
word TName_;
//- Total Temperature field
//- Total temperature field
scalarField T0_;
//- Inlet direction
vectorField inletDir_;
//- Is the supplied inlet value in cartesian or cylindrical coordinates?
//- Is the supplied inlet value in cartesian or
// cylindrical coordinates?
Switch cylindricalCCS_;
//- Angular velocity of the frame
vector omega_;
public:
//- Runtime type information

View file

@ -0,0 +1,52 @@
# git-ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# editor and misc backup files - anywhere
*~
.*~
*.bak
*.bak[0-9][0-9]
*.orig
*.orig[0-9][0-9]
\#*\#
# file-browser settings - anywhere
.directory
# CVS recovered versions - anywhere
.#*
# SVN directories - anywhere
.svn/
# OpenFOAM results
[0-9]*/
!/0/
processor*
*/polyMesh/*
!*/polyMesh/blockMeshDict
cellToRegion*
log*
# packages - anywhere
*.tar.bz2
*.tar.gz
*.tar
*.tgz
*.gtgz
# Pictures and movies
*.png
*.jpg
*.jpeg
*.bmp
*.png
*.avi
*.mp4
*.mpg
#end-of-file

View file

@ -0,0 +1,55 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5 |
| \\ / A nd | Web: http://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 1;
boundaryField
{
inlet
{
type fixedValue;
value uniform 1;
}
outlet
{
type zeroGradient;
}
bottom
{
type symmetryPlane;
}
top
{
type symmetryPlane;
}
obstacle
{
type zeroGradient;
}
defaultFaces
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,55 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5 |
| \\ / A nd | Web: http://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 (3 0 0);
boundaryField
{
inlet
{
type fixedValue;
value uniform (3 0 0);
}
outlet
{
type zeroGradient;
}
bottom
{
type symmetryPlane;
}
top
{
type symmetryPlane;
}
obstacle
{
type slip;
}
defaultFaces
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,68 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5 |
| \\ / A nd | Web: http://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;
boundaryField
{
inlet
{
type fixedValue;
value uniform 1;
}
outlet
{
type zeroGradient;
// type waveTransmissive;
// field p;
// U U;
// phi phi;
// rho rho;
// psi psi;
// gamma 1.4;
// fieldInf 1;
// lInf 3;
// inletOutlet off;
// correctSupercritical off;
// value uniform 1;
}
bottom
{
type symmetryPlane;
}
top
{
type symmetryPlane;
}
obstacle
{
type zeroGradient;
}
defaultFaces
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,6 @@
#!/bin/sh
# Source tutorial clean functions
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
cleanCase

View file

@ -0,0 +1,9 @@
#!/bin/sh
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
# Get application name
application="dbnsFoam"
runApplication blockMesh
runApplication $application

View file

@ -0,0 +1,22 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object FASSettings;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
minClusterSize 3;
maxClusterSize 10;
nLevel 1;

View file

@ -0,0 +1,85 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5 |
| \\ / A nd | Web: http://www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 1;
vertices
(
(0 0 -0.05)
(0.6 0 -0.05)
(0 0.2 -0.05)
(0.6 0.2 -0.05)
(3 0.2 -0.05)
(0 1 -0.05)
(0.6 1 -0.05)
(3 1 -0.05)
(0 0 0.05)
(0.6 0 0.05)
(0 0.2 0.05)
(0.6 0.2 0.05)
(3 0.2 0.05)
(0 1 0.05)
(0.6 1 0.05)
(3 1 0.05)
);
blocks
(
// hex (0 1 3 2 8 9 11 10) (48 16 1) simpleGrading (1 1 1)
// hex (2 3 6 5 10 11 14 13) (48 64 1) simpleGrading (1 1 1)
// hex (3 4 7 6 11 12 15 14) (192 64 1) simpleGrading (1 1 1)
//
hex (0 1 3 2 8 9 11 10) (30 10 1) simpleGrading (1 1 1)
hex (2 3 6 5 10 11 14 13) (30 40 1) simpleGrading (1 1 1)
hex (3 4 7 6 11 12 15 14) (120 40 1) simpleGrading (1 1 1)
);
edges
(
);
patches
(
patch inlet
(
(0 8 10 2)
(2 10 13 5)
)
patch outlet
(
(4 7 15 12)
)
symmetryPlane bottom
(
(0 1 9 8)
)
symmetryPlane top
(
(5 13 14 6)
(6 14 15 7)
)
patch obstacle
(
(1 3 11 9)
(3 4 12 11)
)
);
mergePatchPairs
(
);
// ************************************************************************* //

View file

@ -0,0 +1,25 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hPsiThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>>>;
// name, nMoles, mol weight, CP, Hf, mu, Pr;
// mixture air 1 28.9 1007 0 0 0.7;
mixture air 1 11640.2561438975 2.5 0 0 0.7;
// ************************************************************************* //

View file

@ -0,0 +1,57 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 3;
deltaT 0.001;
writeControl timeStep;
writeInterval 200;
purgeWrite 0;
writeFormat ascii;
writePrecision 6;
writeCompression compressed;
timeFormat general;
timePrecision 6;
graphFormat raw;
runTimeModifiable yes;
adjustTimeStep no;
// maxCo
maxCo 2.5;
// maxDeltaT
maxDeltaT 1;
// ************************************************************************* //

View file

@ -0,0 +1,48 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
default Euler;
}
gradSchemes
{
default Gauss linear;
}
divSchemes
{}
laplacianSchemes
{}
interpolationSchemes
{
default none;
interpolate(rho) linear;
}
snGradSchemes
{}
fluxRequired
{}
// ************************************************************************* //

View file

@ -0,0 +1,48 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
rho
{}
rhoU
{}
rhoE
{}
p
{}
U
{}
T
{}
}
fieldBounds
{
rho 0.001 10000;
p 0.001 10000;
T 0.001 10000;
}
// ************************************************************************* //

View file

@ -0,0 +1,52 @@
# git-ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# editor and misc backup files - anywhere
*~
.*~
*.bak
*.bak[0-9][0-9]
*.orig
*.orig[0-9][0-9]
\#*\#
# file-browser settings - anywhere
.directory
# CVS recovered versions - anywhere
.#*
# SVN directories - anywhere
.svn/
# OpenFOAM results
[0-9]*/
!/0/
processor*
*/polyMesh/*
!*/polyMesh/blockMeshDict
cellToRegion*
log*
# packages - anywhere
*.tar.bz2
*.tar.gz
*.tar
*.tgz
*.gtgz
# Pictures and movies
*.png
*.jpg
*.jpeg
*.bmp
*.png
*.avi
*.mp4
*.mpg
#end-of-file

View file

@ -0,0 +1,47 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM Extend Project: Open source CFD |
| \\ / O peration | Version: 1.6-ext |
| \\ / A nd | Web: www.extend-project.de |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object T;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField uniform 273.15;
boundaryField
{
inlet
{
type slip;
}
outlet
{
type slip;
}
bottom
{
type symmetryPlane;
}
top
{
type symmetryPlane;
}
defaultFaces
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,47 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM Extend Project: Open source CFD |
| \\ / O peration | Version: 1.6-ext |
| \\ / A nd | Web: www.extend-project.de |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volVectorField;
location "0";
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0 0 0];
internalField uniform (0 0 0);
boundaryField
{
inlet
{
type slip;
}
outlet
{
type slip;
}
bottom
{
type symmetryPlane;
}
top
{
type symmetryPlane;
}
defaultFaces
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,151 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM Extend Project: Open source CFD |
| \\ / O peration | Version: 1.6-ext |
| \\ / A nd | Web: www.extend-project.de |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -2 0 0 0 0];
internalField nonuniform List<scalar>
100
(
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
303975
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
101325
)
;
boundaryField
{
inlet
{
type slip;
}
outlet
{
type slip;
}
bottom
{
type symmetryPlane;
}
top
{
type symmetryPlane;
}
defaultFaces
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,6 @@
#!/bin/sh
# Source tutorial clean functions
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
cleanCase

View file

@ -0,0 +1,9 @@
#!/bin/sh
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
# Get application name
application="dbnsFoam"
runApplication blockMesh
runApplication $application

View file

@ -0,0 +1,22 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object FASSettings;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
minClusterSize 3;
maxClusterSize 10;
nLevel 1;

View file

@ -0,0 +1,70 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5 |
| \\ / A nd | Web: http://www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 1;
vertices
(
(0 0 0)
(1 0 0)
(1 0.1 0)
(0 0.1 0)
(0 0 0.1)
(1 0 0.1)
(1 0.1 0.1)
(0 0.1 0.1)
);
blocks
(
hex (0 1 2 3 4 5 6 7) (100 1 1) simpleGrading (1 1 1)
);
edges
(
);
patches
(
patch inlet
(
(0 4 7 3)
)
patch outlet
(
(2 6 5 1)
)
symmetryPlane bottom
(
(1 5 4 0)
)
symmetryPlane top
(
(3 7 6 2)
)
// empty frontAndBack
// (
// (0 3 2 1)
// (4 5 6 7)
// )
);
mergePatchPairs
(
);
// ************************************************************************* //

View file

@ -0,0 +1,25 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hPsiThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>>>;
// name, nMoles, mol weight, CP, Hf, mu, Pr;
// mixture air 1 28.9 1007 0 0 0.7;
mixture air 1 11640.2561438975 2.5 0 0 0.7;
// ************************************************************************* //

View file

@ -0,0 +1,57 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 0.1;
deltaT 0.00001;
writeControl timeStep;
writeInterval 200;
purgeWrite 0;
writeFormat ascii;
writePrecision 6;
writeCompression compressed;
timeFormat general;
timePrecision 6;
graphFormat raw;
runTimeModifiable yes;
adjustTimeStep no;
// maxCo
maxCo 2.5;
// maxDeltaT
maxDeltaT 1;
// ************************************************************************* //

View file

@ -0,0 +1,48 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
default Euler;
}
gradSchemes
{
default Gauss linear;
}
divSchemes
{}
laplacianSchemes
{}
interpolationSchemes
{
default none;
interpolate(rho) linear;
}
snGradSchemes
{}
fluxRequired
{}
// ************************************************************************* //

View file

@ -0,0 +1,47 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
rho
{}
rhoU
{}
rhoE
{}
p
{}
U
{}
T
{}
}
fieldBounds
{
rho 0.001 10000;
p 0.001 1e7;
T 0.001 10000;
}
// ************************************************************************* //

View file

@ -0,0 +1,37 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: http://www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object setFieldsDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
defaultFieldValues
(
volScalarFieldValue p 101325
volVectorFieldValue U (0 0 0)
volScalarFieldValue T 273.15
);
regions
(
boxToCell
{
box (0 0 0) (0.5 0.1 0.1);
fieldValues
(
volScalarFieldValue p 303975
);
}
);
// ************************************************************************* //

View file

@ -0,0 +1,52 @@
# git-ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# editor and misc backup files - anywhere
*~
.*~
*.bak
*.bak[0-9][0-9]
*.orig
*.orig[0-9][0-9]
\#*\#
# file-browser settings - anywhere
.directory
# CVS recovered versions - anywhere
.#*
# SVN directories - anywhere
.svn/
# OpenFOAM results
[0-9]*/
!/0/
processor*
*/polyMesh/*
!*/polyMesh/blockMeshDict
cellToRegion*
log*
# packages - anywhere
*.tar.bz2
*.tar.gz
*.tar
*.tgz
*.gtgz
# Pictures and movies
*.png
*.jpg
*.jpeg
*.bmp
*.png
*.avi
*.mp4
*.mpg
#end-of-file

View file

@ -0,0 +1,41 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM Extend Project: Open Source CFD |
| \\ / O peration | Version: 1.6-ext |
| \\ / A nd | Web: www.extend-project.de |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object T;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField uniform 300;
boundaryField
{
pressure-far-field-1
{
type inletOutlet;
inletValue uniform 300;
value uniform 300;
}
wall
{
type zeroGradient;
}
frontAndBackPlanes
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,45 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM Extend Project: Open Source CFD |
| \\ / O peration | Version: 1.6-ext |
| \\ / A nd | Web: www.extend-project.de |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volVectorField;
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0 0 0];
internalField uniform (600 148.16 0);
boundaryField
{
pressure-far-field-1
{
type supersonicFreestream;
pInf 100000;
TInf 300;
UInf (600 148.16 0);
gamma 1.4;
value uniform (600 148.16 0);
}
wall
{
type fixedValue;
value uniform (0 0 0);
}
frontAndBackPlanes
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,42 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM Extend Project: Open source CFD |
| \\ / O peration | Version: 1.6-ext |
| \\ / A nd | Web: www.extend-project.de |
| \\/ 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
{
wall
{
type alphatWallFunction;
Prt 0.85;
value uniform 0;
}
pressure-far-field-1
{
type calculated;
value uniform 0;
}
frontAndBackPlanes
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,45 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM Extend Project: Open source CFD |
| \\ / O peration | Version: 1.6-ext |
| \\ / A nd | Web: www.extend-project.de |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object epsilon;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -3 0 0 0 0];
internalField uniform 0.0015;
boundaryField
{
wall
{
type compressible::epsilonWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 0.0015;
}
pressure-far-field-1
{
type inletOutlet;
inletValue uniform 0.0015;
value uniform 0.0015;
}
frontAndBackPlanes
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,42 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM Extend Project: Open source CFD |
| \\ / O peration | Version: 1.6-ext |
| \\ / A nd | Web: www.extend-project.de |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object k;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
internalField uniform 0.0038;
boundaryField
{
wall
{
type compressible::kqRWallFunction;
value uniform 0.0038;
}
pressure-far-field-1
{
type inletOutlet;
inletValue uniform 0.0038;
value uniform 0.0038;
}
frontAndBackPlanes
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,44 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM Extend Project: Open source CFD |
| \\ / O peration | Version: 1.6-ext |
| \\ / A nd | Web: www.extend-project.de |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object mut;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -1 0 0 0 0];
internalField uniform 0;
boundaryField
{
wall
{
type mutWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 0;
}
pressure-far-field-1
{
type calculated;
value uniform 0;
}
frontAndBackPlanes
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,53 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.4 |
| \\ / A nd | Web: http://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 100000;
boundaryField
{
pressure-far-field-1
{
type waveTransmissive;
field p;
phi phi;
rho rho;
psi psi;
gamma 1.3;
fieldInf 100000;
lInf 1;
inletOutlet off;
correctSupercritical off;
value uniform 100000;
}
wall
{
type zeroGradient;
}
frontAndBackPlanes
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,7 @@
#!/bin/sh
# Source tutorial clean functions
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
cleanCase
\rm -rf constant/polyMesh/*

View file

@ -0,0 +1,10 @@
#!/bin/sh
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
# Get application name
application="dbnsTurbFoam"
gunzip naca0012.cas.gz
runApplication fluentMeshToFoam naca0012.cas
runApplication $application

View file

@ -0,0 +1,22 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object FASSettings;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
minClusterSize 3;
maxClusterSize 10;
nLevel 1;

View file

@ -0,0 +1,202 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5 |
| \\ / A nd | Web: http://www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object RASProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
RASModel kEpsilon;
turbulence on;
printCoeffs on;
muRatio 200;
laminarCoeffs
{
}
kEpsilonCoeffs
{
Cmu 0.09;
C1 1.44;
C2 1.92;
alphaEps 0.76923;
}
RNGkEpsilonCoeffs
{
Cmu 0.0845;
C1 1.42;
C2 1.68;
alphak 1.39;
alphaEps 1.39;
eta0 4.38;
beta 0.012;
}
realizableKECoeffs
{
Cmu 0.09;
A0 4.0;
C2 1.9;
alphak 1;
alphaEps 0.833333;
}
kOmegaSSTCoeffs
{
alphaK1 0.85034;
alphaK2 1.0;
alphaOmega1 0.5;
alphaOmega2 0.85616;
gamma1 0.5532;
gamma2 0.4403;
beta1 0.0750;
beta2 0.0828;
betaStar 0.09;
a1 0.31;
c1 10;
Cmu 0.09;
}
NonlinearKEShihCoeffs
{
Cmu 0.09;
C1 1.44;
C2 1.92;
alphak 1;
alphaEps 0.76932;
A1 1.25;
A2 1000;
Ctau1 -4;
Ctau2 13;
Ctau3 -2;
alphaKsi 0.9;
}
LienCubicKECoeffs
{
C1 1.44;
C2 1.92;
alphak 1;
alphaEps 0.76923;
A1 1.25;
A2 1000;
Ctau1 -4;
Ctau2 13;
Ctau3 -2;
alphaKsi 0.9;
}
QZetaCoeffs
{
Cmu 0.09;
C1 1.44;
C2 1.92;
alphaZeta 0.76923;
anisotropic no;
}
LaunderSharmaKECoeffs
{
Cmu 0.09;
C1 1.44;
C2 1.92;
alphaEps 0.76923;
}
LamBremhorstKECoeffs
{
Cmu 0.09;
C1 1.44;
C2 1.92;
alphaEps 0.76923;
}
LienCubicKELowReCoeffs
{
Cmu 0.09;
C1 1.44;
C2 1.92;
alphak 1;
alphaEps 0.76923;
A1 1.25;
A2 1000;
Ctau1 -4;
Ctau2 13;
Ctau3 -2;
alphaKsi 0.9;
Am 0.016;
Aepsilon 0.263;
Amu 0.00222;
}
LienLeschzinerLowReCoeffs
{
Cmu 0.09;
C1 1.44;
C2 1.92;
alphak 1;
alphaEps 0.76923;
Am 0.016;
Aepsilon 0.263;
Amu 0.00222;
}
LRRCoeffs
{
Cmu 0.09;
Clrr1 1.8;
Clrr2 0.6;
C1 1.44;
C2 1.92;
Cs 0.25;
Ceps 0.15;
alphaEps 0.76923;
}
LaunderGibsonRSTMCoeffs
{
Cmu 0.09;
Clg1 1.8;
Clg2 0.6;
C1 1.44;
C2 1.92;
C1Ref 0.5;
C2Ref 0.3;
Cs 0.25;
Ceps 0.15;
alphaEps 0.76923;
alphaR 1.22;
}
SpalartAllmarasCoeffs
{
alphaNut 1.5;
Cb1 0.1355;
Cb2 0.622;
Cw2 0.3;
Cw3 2;
Cv1 7.1;
Cv2 5.0;
}
wallFunctionCoeffs
{
kappa 0.4187;
E 9;
}
// ************************************************************************* //

View file

@ -0,0 +1,24 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM Extend Project: Open Source CFD |
| \\ / O peration | Version: 1.6-ext |
| \\ / A nd | Web: www.extend-project.de |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hPsiThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>>>;
// name, nMoles, mol weight, CP, Hf, mu, Pr;
mixture air 1 28.9 717.5 0 1.8e-05 0.7;
// ************************************************************************* //

View file

@ -0,0 +1,20 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM Extend Project: Open Source CFD |
| \\ / O peration | Version: 1.6-ext |
| \\ / A nd | Web: www.extend-project.de |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object turbulenceProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
simulationType RASModel;
// ************************************************************************* //

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,111 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM Extend Project: Open Source CFD |
| \\ / O peration | Version: 1.6-ext |
| \\ / A nd | Web: www.extend-project.de |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application dbnsFASTurbFoam;
// startFrom startTime;
startFrom latestTime;
startTime 0;
stopAt endTime;
endTime 0.1;
deltaT 1e-08;
// writeControl runTime;
// writeInterval 2e-04;
writeControl timeStep;
writeInterval 1000;
purgeWrite 0;
writeFormat ascii;
writePrecision 6;
writeCompression compressed;
timeFormat general;
timePrecision 6;
runTimeModifiable yes;
adjustTimeStep no;
maxCo 2.5;
maxDeltaT 1;
functions
{
minMaxP
{
type minMaxField;
functionObjectLibs ("libfieldFunctionObjects.so");
name p;
}
minMaxT
{
type minMaxField;
functionObjectLibs ("libfieldFunctionObjects.so");
name T;
}
minMaxRho
{
type minMaxField;
functionObjectLibs ("libfieldFunctionObjects.so");
name rho;
}
minMaxU
{
type minMaxField;
functionObjectLibs ("libfieldFunctionObjects.so");
name U;
}
forces
{
type forceCoeffs;
functionObjectLibs ( "libforces.so" );
outputControl timeStep;
outputInterval 1;
patches
(
wall
);
pName p;
UName U;
log true;
rhoInf 1;
CofR ( 0 0 0 );
liftDir ( -0.239733 0.970839 0 );
dragDir ( 0.970839 0.239733 0 );
pitchAxis ( 0 0 1 );
magUInf 618.022;
lRef 1;
Aref 1;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,68 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM Extend Project: Open Source CFD |
| \\ / O peration | Version: 1.6-ext |
| \\ / A nd | Web: www.extend-project.de |
| \\/ 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,k) Gauss upwind;
div(phi,epsilon) Gauss upwind;
div(devRhoReff) Gauss linear;
div((devRhoReff&U)) Gauss linear;
}
laplacianSchemes
{
default none;
laplacian(DkEff,k) Gauss linear limited 0.5;
laplacian(DepsilonEff,epsilon) Gauss linear limited 0.5;
laplacian(alphaEff,e) Gauss linear limited 0.5;
laplacian(alphaEff,h) Gauss linear limited 0.5;
}
interpolationSchemes
{
default linear;
}
snGradSchemes
{
default corrected;
}
fluxRequired
{
default no;
}
relaxationFactors
{
k 0.7;
epsilon 0.7;
}
// ************************************************************************* //

View file

@ -0,0 +1,54 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM Extend Project: Open Source CFD |
| \\ / O peration | Version: 1.6-ext |
| \\ / A nd | Web: www.extend-project.de |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
rho
{}
rhoU
{}
rhoE
{}
k
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-08;
relTol 0.01;
}
epsilon
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-08;
relTol 0.01;
}
}
fieldBounds
{
rho 0.1 10;
p 1.5e3 1e6;
T 120 800;
}
// ************************************************************************* //