Merge commit 'OpenCFD/master' into olesenm

This commit is contained in:
Mark Olesen
2009-07-17 17:08:30 +02:00
53 changed files with 652 additions and 382 deletions

4
.gitignore vendored
View File

@ -38,8 +38,8 @@ SiCortex*Gcc*/
solaris*Gcc*/ solaris*Gcc*/
SunOS*Gcc*/ SunOS*Gcc*/
# reinstate wmake/rules that might look like build folders # all of the wmake wmkdep and dirToString binaries
!wmake/rules/*/ wmake/bin
# doxygen generated documentation # doxygen generated documentation
doc/[Dd]oxygen/html doc/[Dd]oxygen/html

View File

@ -57,6 +57,8 @@
+ Dictionaries can use words (unquoted) or regular expressions (quoted) for + Dictionaries can use words (unquoted) or regular expressions (quoted) for
their keywords. When searching, an exact match has priority over a regular their keywords. When searching, an exact match has priority over a regular
expression match. expression match.
MJ: If multiple regular expressions they get matched in reverse order.
+ The default =#inputMode= is now '=merge=', which corresponds to the most + The default =#inputMode= is now '=merge=', which corresponds to the most
general usage. The =#inputMode warn= corresponds to the previous default general usage. The =#inputMode warn= corresponds to the previous default
behaviour. behaviour.
@ -278,7 +280,7 @@
+ pd to p ------------------------------------------------------------ [HENRY] + pd to p ------------------------------------------------------------ [HENRY]
+ gravity ------------------------------------------------------------ [HENRY] + gravity ------------------------------------------------------------ [HENRY]
** Solver control improvments ** Solver control improvements
Use dictionary entries instead of an =Istream= for the solver controls. Use dictionary entries instead of an =Istream= for the solver controls.
+ This Allows dictionary substitutions and regular expressions in + This Allows dictionary substitutions and regular expressions in
/system/fvSolution/ /system/fvSolution/
@ -290,9 +292,10 @@
to reflect solver application structure to reflect solver application structure
* Post-processing ---------------------------------------------------- [MATTIJS] * Post-processing ---------------------------------------------------- [MATTIJS]
+ SAMPLING - improved plane, iso-surface handling * sampling on iso-surfaces, interpolated or non-interpolated
+ Output to any surface geometry format supported by the =surfMesh= library. * sampling on surface defined by distance to surface (distanceSurface)
* cutting planes on non-convex cells
* Output to any surface geometry format supported by the =surfMesh= library.
* *New* Solvers * *New* Solvers
+ =buoyantBoussinesqSimpleFoam= + =buoyantBoussinesqSimpleFoam=
Steady state heat transfer solver using a Boussinesq approximation for Steady state heat transfer solver using a Boussinesq approximation for
@ -332,6 +335,10 @@
temperature to a target value. Useful to equilibrate a case before temperature to a target value. Useful to equilibrate a case before
simulation. simulation.
+ =chtMultiRegionFoam=
New boundary condition allows independent decomposition of coupled regions
without any constraint on the decomposition.
* Function objects * Function objects
** Improvements for function objects and time-looping ** Improvements for function objects and time-looping
@ -376,23 +383,30 @@
+ =foamToEnsightParts= has *new* =-noMesh= and =-index= options that can + =foamToEnsightParts= has *new* =-noMesh= and =-index= options that can
be useful when post-processing results incrementally. be useful when post-processing results incrementally.
+ =snappyHexMesh= has lower memory footprint. New distributed triangulated
surface type for meshing surfaces with extremely large triangle count.
** *New* utilities ** *New* utilities
+ =particleTracks= - generate particle tracks for lagrangian calculations + =particleTracks= - generate particle tracks for lagrangian calculations
+ =dsmcInitialise= - preprocessing utility to create initial configurations of + =dsmcInitialise= - preprocessing utility to create initial configurations of
DSMC particles in a geometry DSMC particles in a geometry
+ =surfaceRedistributePar= - preprocessing utility to create distributed
triangulated surface.
*** *New* foamCalc functions *** *New* foamCalc functions
+ =interpolate= - performs fvc::interpolate(<field>) + =interpolate= - performs fvc::interpolate(<field>)
+ =randomise= - randomises a <field> by a given perturbation + =randomise= - randomises a <field> by a given perturbation
+ =addSubtract= - simple add/subtract field functionality + =addSubtract= - simple add/subtract field functionality
** Usage ** Usage
+ =timeSelector= can now combine =-time ranges= and =-latestTime= options. + =timeSelector= can now combine =-time ranges= and =-latestTime= options
(e.g. -time '0.01:0.09', -time '0.01:').
More reliable behaviour for cases missing /constant// or /0// More reliable behaviour for cases missing /constant// or /0//
directories. When the =-noZero= option is enabled, =-latestTime= will not directories. When the =-noZero= option is enabled, =-latestTime= will not
select the =0/= directory unless the =-zeroTime= option is given. select the =0/= directory unless the =-zeroTime= option is given.
This helps avoid ill effects caused by accidentally using the This helps avoid ill effects caused by accidentally using the
/0// directory in certain utilities (eg, =reconstructPar=). /0// directory in certain utilities (eg, =reconstructPar=).
+ =-region= option added to more utilities.
** Improvements to Paraview reader module ** Improvements to Paraview reader module
+ =PV3FoamReader= added mesh region handling. The region name is parsed + =PV3FoamReader= added mesh region handling. The region name is parsed

View File

@ -47,6 +47,7 @@ Description
#include "cyclicPolyPatch.H" #include "cyclicPolyPatch.H"
#include "Swap.H" #include "Swap.H"
#include "IFstream.H" #include "IFstream.H"
#include "readHexLabel.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -92,6 +93,9 @@ DynamicList<label> cellGroupStartIndex;
DynamicList<label> cellGroupEndIndex; DynamicList<label> cellGroupEndIndex;
DynamicList<label> cellGroupType; DynamicList<label> cellGroupType;
// Special parsing of (incorrect) Cubit files
bool cubitFile = false;
void uniquify(word& name, HashSet<word>& patchNames) void uniquify(word& name, HashSet<word>& patchNames)
{ {
@ -622,11 +626,20 @@ endOfSection {space}")"{space}
BEGIN(readZoneGroupData); BEGIN(readZoneGroupData);
} }
<readZoneGroupData>{space}{label}{space}{word}{space}{word}{space}{label}? { <readZoneGroupData>{space}{hexLabel}{space}{word}{space}{word}{space}{label}? {
IStringStream zoneDataStream(YYText()); IStringStream zoneDataStream(YYText());
// cell zone-ID not in hexadecimal!!! Inconsistency // cell zone-ID not in hexadecimal!!! Inconsistency
label zoneID(readLabel(zoneDataStream)); label zoneID = -1;
if (cubitFile)
{
zoneID = readHexLabel(zoneDataStream);
}
else
{
zoneID = readLabel(zoneDataStream);
}
groupType.insert(zoneID, word(zoneDataStream)); groupType.insert(zoneID, word(zoneDataStream));
groupName.insert(zoneID, word(zoneDataStream)); groupName.insert(zoneID, word(zoneDataStream));
@ -752,6 +765,7 @@ int main(int argc, char *argv[])
argList::validOptions.insert("scale", "scale factor"); argList::validOptions.insert("scale", "scale factor");
argList::validOptions.insert("ignoreCellGroups", "cell group names"); argList::validOptions.insert("ignoreCellGroups", "cell group names");
argList::validOptions.insert("ignoreFaceGroups", "face group names"); argList::validOptions.insert("ignoreFaceGroups", "face group names");
argList::validOptions.insert("cubit", "");
argList args(argc, argv); argList args(argc, argv);
@ -774,6 +788,17 @@ int main(int argc, char *argv[])
args.optionLookup("ignoreFaceGroups")() >> ignoreFaceGroups; args.optionLookup("ignoreFaceGroups")() >> ignoreFaceGroups;
} }
cubitFile = args.options().found("cubit");
if (cubitFile)
{
Info<< nl
<< "Assuming Cubit generated file"
<< " (incorrect face orientation; hexadecimal zoneIDs)."
<< nl << endl;
}
# include "createTime.H" # include "createTime.H"
fileName fluentFile(args.additionalArgs()[0]); fileName fluentFile(args.additionalArgs()[0]);
@ -827,7 +852,10 @@ int main(int argc, char *argv[])
) )
{ {
fm[facei] = true; fm[facei] = true;
faces[facei] = faces[facei].reverseFace(); if (!cubitFile)
{
faces[facei] = faces[facei].reverseFace();
}
Swap(owner[facei], neighbour[facei]); Swap(owner[facei], neighbour[facei]);
} }
} }

View File

@ -31,12 +31,11 @@ Description
#include "Time.H" #include "Time.H"
#include "polyMesh.H" #include "polyMesh.H"
#include "globalMeshData.H" #include "globalMeshData.H"
#include "topoSetSource.H"
#include "topoSet.H"
#include "IStringStream.H" #include "IStringStream.H"
#include "topoSet.H"
#include "cellSet.H" #include "cellSet.H"
#include "faceSet.H" #include "faceSet.H"
#include "pointSet.H"
#include "topoSetSource.H"
#include "OFstream.H" #include "OFstream.H"
#include "IFstream.H" #include "IFstream.H"
#include "demandDrivenData.H" #include "demandDrivenData.H"

View File

@ -58,8 +58,6 @@ withQTSUPPORT=true
# Set the path to the Qt-4.3.? qmake if the system Qt is other than this version # Set the path to the Qt-4.3.? qmake if the system Qt is other than this version
QMAKE_PATH="" QMAKE_PATH=""
#QMAKE_PATH=/usr/local/Trolltech/Qt-4.3.5/bin/qmake
#QMAKE_PATH=$WM_THIRD_PARTY_DIR/qt-x11-opensource-src-4.3.5/platforms/linux64GccDPOpt/bin/qmake
# #
# No further editing below this line # No further editing below this line
@ -183,6 +181,11 @@ do
withQTSUPPORT=true withQTSUPPORT=true
shift shift
;; ;;
-qmake)
[ "$#" -ge 2 ] || usage "'$1' option requires an argument"
export QMAKE_PATH=$2
shift 2
;;
-verbose) -verbose)
withVERBOSE=true withVERBOSE=true
shift shift

View File

@ -171,10 +171,13 @@ addQtSupport()
addCMakeVariable "PARAVIEW_BUILD_QT_GUI=ON" addCMakeVariable "PARAVIEW_BUILD_QT_GUI=ON"
qmakeExe=qmake
if [ -n "$QMAKE_PATH" ] if [ -n "$QMAKE_PATH" ]
then then
if [ -x "$QMAKE_PATH" ] if [ -x "$QMAKE_PATH" ]
then then
qmakeExe=$QMAKE_PATH
addCMakeVariable QT_QMAKE_EXECUTABLE:FILEPATH=$QMAKE_PATH addCMakeVariable QT_QMAKE_EXECUTABLE:FILEPATH=$QMAKE_PATH
else else
echo echo
@ -184,6 +187,28 @@ addQtSupport()
echo echo
fi fi
fi fi
# Check qmake can be found
if [ `which $qmakeExe` ]
then
# Check the Qt version selected
QtVersion=`$qmakeExe -v | grep Using | sed "s/.* version \(.\..\).*/\1/"`
QtMajor=`echo $QtVersion | sed "s/\(.\)\../\1/"`
QtMinor=`echo $QtVersion | sed "s/.\.\(.\)/\1/"`
if [ $QtMajor -lt 4 -o $QtMinor -lt 3 ]
then
echo "*** Error: Qt version provided < 4.3"
echo "*** Please use the -qmake option to specify the location of a version of Qt >= 4.3 "
echo "*** e.g."
echo "*** -qmake /usr/local/Trolltech/Qt-4.3.5/bin/qmake"
echo "*** -qmake $WM_THIRD_PARTY_DIR/qt-x11-opensource-src-4.3.5/platforms/$WM_OPTIONS/bin/qmake"
exit 1
fi
else
echo "*** Error: cannot find qmake either at \$QMAKE_PATH or in current \$PATH"
exit 1
fi
} }

View File

@ -157,8 +157,15 @@ void Foam::activeBaffleVelocityFvPatchVectorField::autoMap
//- Note: cannot map field from cyclic patch anyway so just recalculate //- Note: cannot map field from cyclic patch anyway so just recalculate
// Areas should be consistent when doing autoMap except in case of // Areas should be consistent when doing autoMap except in case of
// topo changes. // topo changes.
initWallSf_ = patch().Sf(); //- Note: we don't want to use Sf here since triggers rebuilding of
initCyclicSf_ = patch().boundaryMesh()[cyclicPatchLabel_].Sf(); // fvMesh::S() which will give problems when mapped (since already
// on new mesh)
const vectorField& areas = patch().boundaryMesh().mesh().faceAreas();
initWallSf_ = patch().patchSlice(areas);
initCyclicSf_ = patch().boundaryMesh()
[
cyclicPatchLabel_
].patchSlice(areas);
} }
void Foam::activeBaffleVelocityFvPatchVectorField::rmap void Foam::activeBaffleVelocityFvPatchVectorField::rmap
@ -169,10 +176,13 @@ void Foam::activeBaffleVelocityFvPatchVectorField::rmap
{ {
fixedValueFvPatchVectorField::rmap(ptf, addr); fixedValueFvPatchVectorField::rmap(ptf, addr);
//- Note: cannot map field from cyclic patch anyway so just recalculate // See autoMap.
// Areas should be consistent when doing rmap (mainly reconstructPar) const vectorField& areas = patch().boundaryMesh().mesh().faceAreas();
initWallSf_ = patch().Sf(); initWallSf_ = patch().patchSlice(areas);
initCyclicSf_ = patch().boundaryMesh()[cyclicPatchLabel_].Sf(); initCyclicSf_ = patch().boundaryMesh()
[
cyclicPatchLabel_
].patchSlice(areas);
} }

View File

@ -9,6 +9,8 @@ dynOneEqEddy/dynOneEqEddy.C
DeardorffDiffStress/DeardorffDiffStress.C DeardorffDiffStress/DeardorffDiffStress.C
SpalartAllmaras/SpalartAllmaras.C SpalartAllmaras/SpalartAllmaras.C
vanDriestDelta/vanDriestDelta.C
/* Wall functions */ /* Wall functions */
wallFunctions=derivedFvPatchFields/wallFunctions wallFunctions=derivedFvPatchFields/wallFunctions

View File

@ -0,0 +1,160 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd.
\\/ 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
\*---------------------------------------------------------------------------*/
#include "vanDriestDelta.H"
#include "LESModel.H"
#include "wallFvPatch.H"
#include "wallDistData.H"
#include "wallPointYPlus.H"
#include "addToRunTimeSelectionTable.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
namespace compressible
{
namespace LESModels
{
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
defineTypeNameAndDebug(vanDriestDelta, 0);
addToRunTimeSelectionTable(LESdelta, vanDriestDelta, dictionary);
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
void vanDriestDelta::calcDelta()
{
const LESModel& lesModel = mesh_.lookupObject<LESModel>("LESProperties");
const volVectorField& U = lesModel.U();
const volScalarField& rho = lesModel.rho();
const volScalarField& mu = lesModel.mu();
tmp<volScalarField> muSgs = lesModel.muSgs();
volScalarField ystar
(
IOobject
(
"ystar",
mesh_.time().constant(),
mesh_
),
mesh_,
dimensionedScalar("ystar", dimLength, GREAT)
);
const fvPatchList& patches = mesh_.boundary();
forAll(patches, patchi)
{
if (isType<wallFvPatch>(patches[patchi]))
{
const fvPatchVectorField& Uw = U.boundaryField()[patchi];
const scalarField& rhow = rho.boundaryField()[patchi];
const scalarField& muw = mu.boundaryField()[patchi];
const scalarField& muSgsw = muSgs().boundaryField()[patchi];
ystar.boundaryField()[patchi] =
muw/(rhow*sqrt((muw + muSgsw)*mag(Uw.snGrad())/rhow + VSMALL));
}
}
wallPointYPlus::yPlusCutOff = 500;
wallDistData<wallPointYPlus> y(mesh_, ystar);
delta_ = min
(
static_cast<const volScalarField&>(geometricDelta_()),
(kappa_/Cdelta_)*((scalar(1) + SMALL) - exp(-y/ystar/Aplus_))*y
);
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
vanDriestDelta::vanDriestDelta
(
const word& name,
const fvMesh& mesh,
const dictionary& dd
)
:
LESdelta(name, mesh),
geometricDelta_
(
LESdelta::New("geometricDelta", mesh, dd.subDict(type() + "Coeffs"))
),
kappa_(dd.lookupOrDefault<scalar>("kappa", 0.4187)),
Aplus_
(
dd.subDict(type() + "Coeffs").lookupOrDefault<scalar>("Aplus", 26.0)
),
Cdelta_
(
dd.subDict(type() + "Coeffs").lookupOrDefault<scalar>("Cdelta", 0.158)
),
calcInterval_
(
dd.subDict(type() + "Coeffs").lookupOrDefault<label>("calcInterval", 1)
)
{
delta_ = geometricDelta_();
}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void vanDriestDelta::read(const dictionary& d)
{
const dictionary& dd(d.subDict(type() + "Coeffs"));
geometricDelta_().read(dd);
d.readIfPresent<scalar>("kappa", kappa_);
dd.readIfPresent<scalar>("Aplus", Aplus_);
dd.readIfPresent<scalar>("Cdelta", Cdelta_);
dd.readIfPresent<label>("calcInterval", calcInterval_);
calcDelta();
}
void vanDriestDelta::correct()
{
if (mesh().time().timeIndex() % calcInterval_ == 0)
{
geometricDelta_().correct();
calcDelta();
}
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace LESModels
} // End namespace compressible
} // End namespace Foam
// ************************************************************************* //

View File

@ -0,0 +1,114 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd.
\\/ 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
Class
Foam::compressible::LESModels::vanDriestDelta
Description
Simple cube-root of cell volume delta used in compressible LES models.
SourceFiles
vanDriestDelta.C
\*---------------------------------------------------------------------------*/
#ifndef vanDriestDelta_H
#define vanDriestDelta_H
#include "LESdelta.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
namespace compressible
{
namespace LESModels
{
/*---------------------------------------------------------------------------*\
Class vanDriestDelta Declaration
\*---------------------------------------------------------------------------*/
class vanDriestDelta
:
public LESdelta
{
// Private data
autoPtr<LESdelta> geometricDelta_;
scalar kappa_;
scalar Aplus_;
scalar Cdelta_;
label calcInterval_;
// Private Member Functions
//- Disallow default bitwise copy construct and assignment
vanDriestDelta(const vanDriestDelta&);
void operator=(const vanDriestDelta&);
// Calculate the delta values
void calcDelta();
public:
//- Runtime type information
TypeName("vanDriest");
// Constructors
//- Construct from name, mesh and IOdictionary
vanDriestDelta(const word& name, const fvMesh& mesh, const dictionary&);
//- Destructor
virtual ~vanDriestDelta()
{}
// Member Functions
//- Read the LESdelta dictionary
virtual void read(const dictionary&);
// Correct values
virtual void correct();
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace LESModels
} // End namespace compressible
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -42,7 +42,7 @@ boundaryField
lowerWall lowerWall
{ {
type fixedValue; type fixedValue;
value uniform 293; value uniform 570;
} }
frontAndBack frontAndBack

View File

@ -42,7 +42,7 @@ boundaryField
lowerWall lowerWall
{ {
type fixedValue; type fixedValue;
value uniform 293; value uniform 570;
} }
frontAndBack frontAndBack

View File

@ -32,15 +32,13 @@ boundaryField
upperWall upperWall
{ {
type zeroGradient; type compressible::alphaSgsJayatillekeWallFunction;
//type compressible::alphaSgsWallFunction;
value uniform 0; value uniform 0;
} }
lowerWall lowerWall
{ {
type zeroGradient; type compressible::alphaSgsJayatillekeWallFunction;
//type compressible::alphaSgsWallFunction;
value uniform 0; value uniform 0;
} }

View File

@ -32,15 +32,13 @@ boundaryField
upperWall upperWall
{ {
type zeroGradient; type compressible::muSgsWallFunction;
//type compressible::muSgsWallFunction;
value uniform 0; value uniform 0;
} }
lowerWall lowerWall
{ {
type zeroGradient; type compressible::muSgsWallFunction;
//type compressible::muSgsWallFunction;
value uniform 0; value uniform 0;
} }

View File

@ -16,7 +16,7 @@ FoamFile
dimensions [1 -1 -2 0 0 0 0]; dimensions [1 -1 -2 0 0 0 0];
internalField uniform 100000; internalField uniform 1e5;
boundaryField boundaryField
{ {
@ -27,8 +27,15 @@ boundaryField
outlet outlet
{ {
type fixedValue; type waveTransmissive;
value uniform 100000; field p;
phi phi;
rho rho;
psi psi;
gamma 1.3;
fieldInf 1e5;
lInf 0.3;
value uniform 1e5;
} }
upperWall upperWall

View File

@ -125,6 +125,7 @@ kappa 0.4187;
wallFunctionCoeffs wallFunctionCoeffs
{ {
E 9; E 9;
Prt 0.85;
} }

View File

@ -21,7 +21,7 @@ fuel Propane;
Su Su [0 1 -1 0 0 0 0] 0.135; Su Su [0 1 -1 0 0 0 0] 0.135;
SuModel unstrained; SuModel transport;
equivalenceRatio equivalenceRatio [0 0 0 0 0 0 0] 0.6; equivalenceRatio equivalenceRatio [0 0 0 0 0 0 0] 0.6;
@ -68,7 +68,7 @@ GuldersCoeffs
} }
} }
ignite yes; ignite yes;
ignitionSites ignitionSites
( (
@ -76,8 +76,8 @@ ignitionSites
location (0.005 -0.02 0); location (0.005 -0.02 0);
diameter 0.003; diameter 0.003;
start 0; start 0;
duration 0.1; duration 0.05;
strength 40; strength 20;
} }
); );

View File

@ -16,55 +16,55 @@ FoamFile
convertToMeters 0.001; convertToMeters 0.001;
vertices vertices
( (
(-20.6 0 -0.5) (-20.6 0 0)
(-20.6 3 -0.5) (-20.6 3 0)
(-20.6 12.7 -0.5) (-20.6 12.7 0)
(-20.6 25.4 -0.5) (-20.6 25.4 0)
(0 -25.4 -0.5) (0 -25.4 0)
(0 -5 -0.5) (0 -5 0)
(0 0 -0.5) (0 0 0)
(0 3 -0.5) (0 3 0)
(0 12.7 -0.5) (0 12.7 0)
(0 25.4 -0.5) (0 25.4 0)
(206 -25.4 -0.5) (206 -25.4 0)
(206 -8.5 -0.5) (206 -8.5 0)
(206 0 -0.5) (206 0 0)
(206 6.5 -0.5) (206 6.5 0)
(206 17 -0.5) (206 17 0)
(206 25.4 -0.5) (206 25.4 0)
(290 -16.6 -0.5) (290 -16.6 0)
(290 -6.3 -0.5) (290 -6.3 0)
(290 0 -0.5) (290 0 0)
(290 4.5 -0.5) (290 4.5 0)
(290 11 -0.5) (290 11 0)
(290 16.6 -0.5) (290 16.6 0)
(-20.6 0 0.5) (-20.6 0 38.1)
(-20.6 3 0.5) (-20.6 3 38.1)
(-20.6 12.7 0.5) (-20.6 12.7 38.1)
(-20.6 25.4 0.5) (-20.6 25.4 38.1)
(0 -25.4 0.5) (0 -25.4 38.1)
(0 -5 0.5) (0 -5 38.1)
(0 0 0.5) (0 0 38.1)
(0 3 0.5) (0 3 38.1)
(0 12.7 0.5) (0 12.7 38.1)
(0 25.4 0.5) (0 25.4 38.1)
(206 -25.4 0.5) (206 -25.4 38.1)
(206 -8.5 0.5) (206 -8.5 38.1)
(206 0 0.5) (206 0 38.1)
(206 6.5 0.5) (206 6.5 38.1)
(206 17 0.5) (206 17 38.1)
(206 25.4 0.5) (206 25.4 38.1)
(290 -16.6 0.5) (290 -16.6 38.1)
(290 -6.3 0.5) (290 -6.3 38.1)
(290 0 0.5) (290 0 38.1)
(290 4.5 0.5) (290 4.5 38.1)
(290 11 0.5) (290 11 38.1)
(290 16.6 0.5) (290 16.6 38.1)
); );
blocks blocks
( (
hex (0 6 7 1 22 28 29 23) (18 7 1) simpleGrading (0.5 1.8 1) hex (0 6 7 1 22 28 29 23) (18 7 1) simpleGrading (0.5 1.8 1)
hex (1 7 8 2 23 29 30 24) (18 10 1) simpleGrading (0.5 4 1) hex (1 7 8 2 23 29 30 24) (18 10 1) simpleGrading (0.5 4 1)
@ -81,19 +81,19 @@ blocks
hex (14 20 21 15 36 42 43 37) (25 13 1) simpleGrading (2.5 0.25 1) hex (14 20 21 15 36 42 43 37) (25 13 1) simpleGrading (2.5 0.25 1)
); );
edges edges
( (
); );
patches patches
( (
patch inlet patch inlet
( (
(0 22 23 1) (0 22 23 1)
(1 23 24 2) (1 23 24 2)
(2 24 25 3) (2 24 25 3)
) )
patch outlet patch outlet
( (
(16 17 39 38) (16 17 39 38)
(17 18 40 39) (17 18 40 39)
@ -101,13 +101,13 @@ patches
(19 20 42 41) (19 20 42 41)
(20 21 43 42) (20 21 43 42)
) )
wall upperWall wall upperWall
( (
(3 25 31 9) (3 25 31 9)
(9 31 37 15) (9 31 37 15)
(15 37 43 21) (15 37 43 21)
) )
wall lowerWall wall lowerWall
( (
(0 6 28 22) (0 6 28 22)
(6 5 27 28) (6 5 27 28)
@ -115,7 +115,7 @@ patches
(4 10 32 26) (4 10 32 26)
(10 16 38 32) (10 16 38 32)
) )
empty frontAndBack empty frontAndBack
( (
(22 28 29 23) (22 28 29 23)
(23 29 30 24) (23 29 30 24)

View File

@ -15,19 +15,44 @@ FoamFile
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hhuMixtureThermo<homogeneousMixture<sutherlandTransport<specieThermo<janafThermo<perfectGas>>>>>; thermoType
hhuMixtureThermo<homogeneousMixture<sutherlandTransport<specieThermo<janafThermo<perfectGas>>>>>;
stoichiometricAirFuelMassRatio stoichiometricAirFuelMassRatio [ 0 0 0 0 0 0 0 ] 15.675; stoichiometricAirFuelMassRatio
stoichiometricAirFuelMassRatio [0 0 0 0 0 0 0] 15.675;
fuel fuel 1 44.0962 200 5000 1000 7.53414 0.0188722 -6.27185e-06 9.14756e-10 -4.78381e-14 -16467.5 -17.8923 0.933554 0.0264246 6.10597e-06 -2.19775e-08 9.51493e-12 -13958.5 19.2017 1.67212e-06 170.672; // phi = 0.57
// ft = 0.0352993
// Tad = 1650.1
oxidant oxidant 1 28.8504 200 6000 1000 3.10205 0.00123963 -4.17512e-07 6.60292e-11 -3.87448e-15 -985.517 5.35187 3.58378 -0.0007269 1.66985e-06 -1.08452e-10 -4.31951e-13 -1050.53 3.11223 1.67212e-06 170.672; fuel fuel 1 44.0962
100 5000 1000
7.53414 0.0188722 -6.27185e-06 9.14756e-10 -4.78381e-14 -16467.5 -17.8923
0.933554 0.0264246 6.10597e-06 -2.19775e-08 9.51493e-12 -13958.5 19.2017
1.67212e-06 170.672;
reactants reactants 24.8095 29.4649 200 5000 1000 3.28069 0.00195035 -6.53483e-07 1.00239e-10 -5.64653e-15 -1609.55 4.41496 3.47696 0.000367499 1.84866e-06 -9.8993e-10 -3.10214e-14 -1570.81 3.76075 1.67212e-06 170.672; oxidant oxidant 1 28.8504
100 6000 1000
3.10131 0.00124137 -4.18816e-07 6.64158e-11 -3.91274e-15 -985.266 5.35597
3.58378 -0.000727005 1.67057e-06 -1.09203e-10 -4.31765e-13 -1050.53 3.11239
1.67212e-06 170.672;
products products 1 28.3233 200 5000 1000 3.106 0.00179682 -5.94382e-07 9.04998e-11 -5.08033e-15 -11003.7 5.11872 3.49612 0.000650364 -2.08029e-07 1.2291e-09 -7.73697e-13 -11080.3 3.18978 1.67212e-06 170.672; reactants reactants 1 29.2068
100 5000 1000
3.20495 0.00165359 -5.55661e-07 8.62503e-11 -4.93973e-15 -1347.25 4.81241
3.52181 -9.21936e-05 1.77427e-06 -6.2049e-10 -1.99209e-13 -1352.32 3.48856
1.67212e-06 170.672;
burntProducts burntProducts 25.8095 28.3233 200 6000 1000 3.106 0.00179682 -5.94382e-07 9.04998e-11 -5.08033e-15 -11003.7 5.11872 3.49612 0.000650364 -2.08029e-07 1.2291e-09 -7.73697e-13 -11080.3 3.18978 1.67212e-06 170.672; burntProducts burntProducts 1 28.3233
100 6000 1000
3.10558 0.00179747 -5.94696e-07 9.05605e-11 -5.08443e-15 -11003.6 5.12104
3.49796 0.000638555 -1.83881e-07 1.20989e-09 -7.68691e-13 -11080.5 3.18188
1.67212e-06 170.672;
products products 1 28.5396
100 5000 1000
3.10383 0.00156927 -5.22523e-07 8.06527e-11 -4.60363e-15 -6892.54 5.21744
3.53318 7.81943e-05 5.77097e-07 6.68595e-10 -6.30433e-13 -6964.71 3.15336
1.67212e-06 170.672;
// ************************************************************************* // // ************************************************************************* //

View File

@ -23,7 +23,7 @@ startTime 0;
stopAt endTime; stopAt endTime;
endTime 10; endTime 0.5;
deltaT 5e-06; deltaT 5e-06;

View File

@ -17,34 +17,29 @@ FoamFile
ddtSchemes ddtSchemes
{ {
default Euler; default backward;
} }
gradSchemes gradSchemes
{ {
default Gauss linear; default Gauss linear;
grad(p) Gauss linear;
} }
divSchemes divSchemes
{ {
default none; default none;
div(phi,U) Gauss limitedLinearV 1; div(phi,U) Gauss linear;
div(phid,p) Gauss linear;
div(phiU,p) Gauss linear; div(phiU,p) Gauss linear;
div(phi,k) Gauss limitedLinear 1; div(phi,k) Gauss limitedLinear 0.1;
div(phi,B) Gauss limitedLinear 1; div(phiXi,Xi) Gauss limitedLinear01 0.1;
div(B) Gauss linear; div(phiXi,Su) Gauss limitedLinear01 0.1;
div(phiXi,Xi) Gauss limitedLinear 1; div(phiSt,b) Gauss limitedLinear01 0.1;
div(phiXi,Su) Gauss limitedLinear 1;
div(phiSt,b) Gauss limitedLinear01 1;
div(phi,ft_b_h_hu) Gauss multivariateSelection div(phi,ft_b_h_hu) Gauss multivariateSelection
{ {
fu limitedLinear01 1; ft limitedLinear01 0.1;
ft limitedLinear01 1; b limitedLinear01 0.1;
b limitedLinear01 1; h limitedLinear 0.1;
h limitedLinear 1; hu limitedLinear 0.1;
hu limitedLinear 1;
}; };
div(U) Gauss linear; div(U) Gauss linear;
div((Su*grad(b))) Gauss linear; div((Su*grad(b))) Gauss linear;

View File

@ -124,8 +124,8 @@ solvers
PISO PISO
{ {
nOuterCorrectors 1; nOuterCorrectors 2;
nCorrectors 2; nCorrectors 1;
nNonOrthogonalCorrectors 0; nNonOrthogonalCorrectors 0;
} }

View File

@ -1,50 +0,0 @@
/*--------------------------------*- 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 volTensorField;
object B;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -2 0 0 0 0];
internalField uniform (0 0 0 0 0 0 0 0 0);
boundaryField
{
inlet
{
type fixedValue;
value uniform (0 0 0 0 0 0 0 0 0);
}
outlet
{
type zeroGradient;
}
upperWall
{
type zeroGradient;
}
lowerWall
{
type zeroGradient;
}
frontAndBack
{
type cyclic;
}
}
// ************************************************************************* //

View File

@ -20,30 +20,30 @@ internalField uniform 0.135;
boundaryField boundaryField
{ {
inlet inlet
{ {
type fixedValue; type fixedValue;
value uniform 0.135; value uniform 0.135;
} }
outlet outlet
{ {
type inletOutlet; type inletOutlet;
inletValue uniform 0.135; inletValue uniform 0.135;
value uniform 0.135; value uniform 0.135;
} }
upperWall upperWall
{ {
type zeroGradient; type zeroGradient;
} }
lowerWall lowerWall
{ {
type zeroGradient; type zeroGradient;
} }
frontAndBack frontAndBack
{ {
type cyclic; type cyclic;
} }

View File

@ -20,32 +20,32 @@ internalField uniform 293;
boundaryField boundaryField
{ {
inlet inlet
{ {
type fixedValue; type fixedValue;
value uniform 293; value uniform 293;
} }
outlet outlet
{ {
type inletOutlet; type inletOutlet;
inletValue uniform 293; inletValue uniform 293;
value uniform 293; value uniform 293;
} }
upperWall upperWall
{ {
type fixedValue; type fixedValue;
value uniform 293; value uniform 293;
} }
lowerWall lowerWall
{ {
type fixedValue; type fixedValue;
value uniform 293; value uniform 570;
} }
frontAndBack frontAndBack
{ {
type cyclic; type cyclic;
} }

View File

@ -20,32 +20,32 @@ internalField uniform 293;
boundaryField boundaryField
{ {
inlet inlet
{ {
type fixedValue; type fixedValue;
value uniform 293; value uniform 293;
} }
outlet outlet
{ {
type inletOutlet; type inletOutlet;
inletValue uniform 293; inletValue uniform 293;
value uniform 293; value uniform 293;
} }
upperWall upperWall
{ {
type fixedValue; type fixedValue;
value uniform 293; value uniform 293;
} }
lowerWall lowerWall
{ {
type fixedValue; type fixedValue;
value uniform 293; value uniform 570;
} }
frontAndBack frontAndBack
{ {
type cyclic; type cyclic;
} }

View File

@ -20,33 +20,33 @@ internalField uniform (0 0 0);
boundaryField boundaryField
{ {
inlet inlet
{ {
type turbulentInlet; type turbulentInlet;
referenceField uniform (13.3 0 0); referenceField uniform (13.3 0 0);
fluctuationScale (0.04 0.02 0.02); fluctuationScale (0.04 0.02 0.02);
} }
outlet outlet
{ {
type inletOutlet; type inletOutlet;
inletValue uniform (0 0 0); inletValue uniform (0 0 0);
value uniform (0 0 0); value uniform (0 0 0);
} }
upperWall upperWall
{ {
type fixedValue; type fixedValue;
value uniform (0 0 0); value uniform (0 0 0);
} }
lowerWall lowerWall
{ {
type fixedValue; type fixedValue;
value uniform (0 0 0); value uniform (0 0 0);
} }
frontAndBack frontAndBack
{ {
type cyclic; type cyclic;
} }

View File

@ -20,30 +20,30 @@ internalField uniform 1;
boundaryField boundaryField
{ {
inlet inlet
{ {
type fixedValue; type fixedValue;
value uniform 1; value uniform 1;
} }
outlet outlet
{ {
type inletOutlet; type inletOutlet;
inletValue uniform 1; inletValue uniform 1;
value uniform 1; value uniform 1;
} }
upperWall upperWall
{ {
type zeroGradient; type zeroGradient;
} }
lowerWall lowerWall
{ {
type zeroGradient; type zeroGradient;
} }
frontAndBack frontAndBack
{ {
type cyclic; type cyclic;
} }

View File

@ -20,27 +20,29 @@ internalField uniform 0;
boundaryField boundaryField
{ {
inlet inlet
{ {
type zeroGradient; type zeroGradient;
} }
outlet outlet
{ {
type zeroGradient; type zeroGradient;
} }
upperWall upperWall
{ {
type zeroGradient; type compressible::alphaSgsJayatillekeWallFunction;
value uniform 0;
} }
lowerWall lowerWall
{ {
type zeroGradient; type compressible::alphaSgsJayatillekeWallFunction;
value uniform 0;
} }
frontAndBack frontAndBack
{ {
type cyclic; type cyclic;
} }

View File

@ -20,30 +20,30 @@ internalField uniform 1;
boundaryField boundaryField
{ {
inlet inlet
{ {
type fixedValue; type fixedValue;
value uniform 1; value uniform 1;
} }
outlet outlet
{ {
type inletOutlet; type inletOutlet;
inletValue uniform 1; inletValue uniform 1;
value uniform 1; value uniform 1;
} }
upperWall upperWall
{ {
type zeroGradient; type zeroGradient;
} }
lowerWall lowerWall
{ {
type zeroGradient; type zeroGradient;
} }
frontAndBack frontAndBack
{ {
type cyclic; type cyclic;
} }

View File

@ -1,52 +0,0 @@
/*--------------------------------*- 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 ft;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 0;
boundaryField
{
inlet
{
type fixedValue;
value uniform 0;
}
outlet
{
type inletOutlet;
inletValue uniform 0;
value uniform 0;
}
upperWall
{
type zeroGradient;
}
lowerWall
{
type zeroGradient;
}
frontAndBack
{
type cyclic;
}
}
// ************************************************************************* //

View File

@ -35,14 +35,14 @@ boundaryField
upperWall upperWall
{ {
type fixedValue; type zeroGradient;
value uniform 1e-8; value uniform 2e-05;
} }
lowerWall lowerWall
{ {
type fixedValue; type zeroGradient;
value uniform 1e-8; value uniform 2e-05;
} }
frontAndBack frontAndBack

View File

@ -20,27 +20,29 @@ internalField uniform 0;
boundaryField boundaryField
{ {
inlet inlet
{ {
type zeroGradient; type zeroGradient;
} }
outlet outlet
{ {
type zeroGradient; type zeroGradient;
} }
upperWall upperWall
{ {
type zeroGradient; type compressible::muSgsWallFunction;
value uniform 0;
} }
lowerWall lowerWall
{ {
type zeroGradient; type compressible::muSgsWallFunction;
value uniform 0;
} }
frontAndBack frontAndBack
{ {
type cyclic; type cyclic;
} }

View File

@ -16,32 +16,39 @@ FoamFile
dimensions [1 -1 -2 0 0 0 0]; dimensions [1 -1 -2 0 0 0 0];
internalField uniform 100000; internalField uniform 1e5;
boundaryField boundaryField
{ {
inlet inlet
{ {
type zeroGradient; type zeroGradient;
} }
outlet outlet
{ {
type fixedValue; type waveTransmissive;
value uniform 100000; field p;
phi phi;
rho rho;
psi psi;
gamma 1.3;
fieldInf 1e5;
lInf 0.3;
value uniform 1e5;
} }
upperWall upperWall
{ {
type zeroGradient; type zeroGradient;
} }
lowerWall lowerWall
{ {
type zeroGradient; type zeroGradient;
} }
frontAndBack frontAndBack
{ {
type cyclic; type cyclic;
} }

View File

@ -1,7 +1,7 @@
/*--------------------------------*- C++ -*----------------------------------*\ /*--------------------------------*- C++ -*----------------------------------*\
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev | | \\ / O peration | Version: 1.5 |
| \\ / A nd | Web: www.OpenFOAM.org | | \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
@ -125,6 +125,7 @@ kappa 0.4187;
wallFunctionCoeffs wallFunctionCoeffs
{ {
E 9; E 9;
Prt 0.85;
} }

View File

@ -68,16 +68,16 @@ GuldersCoeffs
} }
} }
ignite yes; ignite yes;
ignitionSites ignitionSites
( (
{ {
location (0 0 0); location (0.005 -0.02 0.01905);
diameter 0.003; diameter 0.003;
start 0; start 0;
duration 0.001; duration 0.1;
strength 2; strength 200;
} }
); );

View File

@ -1,7 +1,7 @@
/*--------------------------------*- C++ -*----------------------------------*\ /*--------------------------------*- C++ -*----------------------------------*\
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev | | \\ / O peration | Version: 1.5 |
| \\ / A nd | Web: www.OpenFOAM.org | | \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/

View File

@ -1,7 +1,7 @@
/*--------------------------------*- C++ -*----------------------------------*\ /*--------------------------------*- C++ -*----------------------------------*\
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev | | \\ / O peration | Version: 1.5 |
| \\ / A nd | Web: www.OpenFOAM.org | | \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
@ -15,19 +15,44 @@ FoamFile
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hhuMixtureThermo<homogeneousMixture<sutherlandTransport<specieThermo<janafThermo<perfectGas>>>>>; thermoType
hhuMixtureThermo<homogeneousMixture<sutherlandTransport<specieThermo<janafThermo<perfectGas>>>>>;
stoichiometricAirFuelMassRatio stoichiometricAirFuelMassRatio [ 0 0 0 0 0 0 0 ] 15.675; stoichiometricAirFuelMassRatio
stoichiometricAirFuelMassRatio [0 0 0 0 0 0 0] 15.675;
fuel fuel 1 44.0962 200 5000 1000 7.53414 0.0188722 -6.27185e-06 9.14756e-10 -4.78381e-14 -16467.5 -17.8923 0.933554 0.0264246 6.10597e-06 -2.19775e-08 9.51493e-12 -13958.5 19.2017 1.67212e-06 170.672; // phi = 0.57
// ft = 0.0352993
// Tad = 1650.1
oxidant oxidant 1 28.8504 200 6000 1000 3.10205 0.00123963 -4.17512e-07 6.60292e-11 -3.87448e-15 -985.517 5.35187 3.58378 -0.0007269 1.66985e-06 -1.08452e-10 -4.31951e-13 -1050.53 3.11223 1.67212e-06 170.672; fuel fuel 1 44.0962
100 5000 1000
7.53414 0.0188722 -6.27185e-06 9.14756e-10 -4.78381e-14 -16467.5 -17.8923
0.933554 0.0264246 6.10597e-06 -2.19775e-08 9.51493e-12 -13958.5 19.2017
1.67212e-06 170.672;
reactants reactants 24.8095 29.4649 200 5000 1000 3.28069 0.00195035 -6.53483e-07 1.00239e-10 -5.64653e-15 -1609.55 4.41496 3.47696 0.000367499 1.84866e-06 -9.8993e-10 -3.10214e-14 -1570.81 3.76075 1.67212e-06 170.672; oxidant oxidant 1 28.8504
100 6000 1000
3.10131 0.00124137 -4.18816e-07 6.64158e-11 -3.91274e-15 -985.266 5.35597
3.58378 -0.000727005 1.67057e-06 -1.09203e-10 -4.31765e-13 -1050.53 3.11239
1.67212e-06 170.672;
products products 1 28.3233 200 5000 1000 3.106 0.00179682 -5.94382e-07 9.04998e-11 -5.08033e-15 -11003.7 5.11872 3.49612 0.000650364 -2.08029e-07 1.2291e-09 -7.73697e-13 -11080.3 3.18978 1.67212e-06 170.672; reactants reactants 1 29.2068
100 5000 1000
3.20495 0.00165359 -5.55661e-07 8.62503e-11 -4.93973e-15 -1347.25 4.81241
3.52181 -9.21936e-05 1.77427e-06 -6.2049e-10 -1.99209e-13 -1352.32 3.48856
1.67212e-06 170.672;
burntProducts burntProducts 25.8095 28.3233 200 6000 1000 3.106 0.00179682 -5.94382e-07 9.04998e-11 -5.08033e-15 -11003.7 5.11872 3.49612 0.000650364 -2.08029e-07 1.2291e-09 -7.73697e-13 -11080.3 3.18978 1.67212e-06 170.672; burntProducts burntProducts 1 28.3233
100 6000 1000
3.10558 0.00179747 -5.94696e-07 9.05605e-11 -5.08443e-15 -11003.6 5.12104
3.49796 0.000638555 -1.83881e-07 1.20989e-09 -7.68691e-13 -11080.5 3.18188
1.67212e-06 170.672;
products products 1 28.5396
100 5000 1000
3.10383 0.00156927 -5.22523e-07 8.06527e-11 -4.60363e-15 -6892.54 5.21744
3.53318 7.81943e-05 5.77097e-07 6.68595e-10 -6.30433e-13 -6964.71 3.15336
1.67212e-06 170.672;
// ************************************************************************* // // ************************************************************************* //

View File

@ -17,13 +17,13 @@ FoamFile
application XiFoam; application XiFoam;
startFrom startTime; startFrom latestTime;
startTime 0; startTime 0;
stopAt endTime; stopAt endTime;
endTime 0.02; endTime 0.5;
deltaT 5e-06; deltaT 5e-06;

View File

@ -1,7 +1,7 @@
/*--------------------------------*- C++ -*----------------------------------*\ /*--------------------------------*- C++ -*----------------------------------*\
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev | | \\ / O peration | Version: 1.5 |
| \\ / A nd | Web: www.OpenFOAM.org | | \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
@ -17,28 +17,30 @@ FoamFile
ddtSchemes ddtSchemes
{ {
default Euler; default backward;
} }
gradSchemes gradSchemes
{ {
default Gauss linear; default Gauss linear;
grad(p) Gauss linear;
} }
divSchemes divSchemes
{ {
default none; default none;
div(phi,U) Gauss limitedLinearV 1; div(phi,U) Gauss linear;
div(phid,p) Gauss linear;
div(phiU,p) Gauss linear; div(phiU,p) Gauss linear;
div(phi,k) Gauss limitedLinear 1; div(phi,k) Gauss limitedLinear 0.1;
div(phi,B) Gauss limitedLinear 1; div(phiXi,Xi) Gauss limitedLinear01 0.1;
div(B) Gauss linear; div(phiXi,Su) Gauss limitedLinear01 0.1;
div(phiXi,Xi) Gauss limitedLinear 1; div(phiSt,b) Gauss limitedLinear01 0.1;
div(phiXi,Su) Gauss limitedLinear 1; div(phi,ft_b_h_hu) Gauss multivariateSelection
div(phiSt,b) Gauss limitedLinear01 1; {
div(phi,ft_b_h_hu) Gauss multivariateSelection { fu limitedLinear01 1 ; ft limitedLinear01 1 ; b limitedLinear01 1 ; h limitedLinear 1 ; hu limitedLinear 1 ; }; ft limitedLinear01 0.1;
b limitedLinear01 0.1;
h limitedLinear 0.1;
hu limitedLinear 0.1;
};
div(U) Gauss linear; div(U) Gauss linear;
div((Su*grad(b))) Gauss linear; div((Su*grad(b))) Gauss linear;
div((U+((Su*Xi)*grad(b)))) Gauss linear; div((U+((Su*Xi)*grad(b)))) Gauss linear;
@ -52,8 +54,8 @@ laplacianSchemes
laplacian(DkEff,k) Gauss linear corrected; laplacian(DkEff,k) Gauss linear corrected;
laplacian(DBEff,B) Gauss linear corrected; laplacian(DBEff,B) Gauss linear corrected;
laplacian((rho*(1|A(U))),p) Gauss linear corrected; laplacian((rho*(1|A(U))),p) Gauss linear corrected;
laplacian(muEff,b) Gauss linear corrected; laplacian(alphaEff,b) Gauss linear corrected;
laplacian(muEff,ft) Gauss linear corrected; laplacian(alphaEff,ft) Gauss linear corrected;
laplacian(alphaEff,h) Gauss linear corrected; laplacian(alphaEff,h) Gauss linear corrected;
laplacian(alphaEff,hu) Gauss linear corrected; laplacian(alphaEff,hu) Gauss linear corrected;
} }

View File

@ -1,7 +1,7 @@
/*--------------------------------*- C++ -*----------------------------------*\ /*--------------------------------*- C++ -*----------------------------------*\
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev | | \\ / O peration | Version: 1.5 |
| \\ / A nd | Web: www.OpenFOAM.org | | \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
@ -124,7 +124,8 @@ solvers
PISO PISO
{ {
nCorrectors 2; nOuterCorrectors 2;
nCorrectors 1;
nNonOrthogonalCorrectors 0; nNonOrthogonalCorrectors 0;
} }

View File

@ -106,7 +106,7 @@ SEXE = a.out
GENERAL_RULES = $(WM_DIR)/rules/General GENERAL_RULES = $(WM_DIR)/rules/General
RULES = $(WM_DIR)/rules/$(WM_ARCH)$(WM_COMPILER) RULES = $(WM_DIR)/rules/$(WM_ARCH)$(WM_COMPILER)
UTILBIN = $(WM_DIR)/utilbin/$(WM_ARCH)$(WM_COMPILER) BIN = $(WM_DIR)/bin/$(WM_ARCH)$(WM_COMPILER)
include $(GENERAL_RULES)/general include $(GENERAL_RULES)/general
include $(RULES)/general include $(RULES)/general

View File

@ -1,11 +0,0 @@
.SUFFIXES: .java .class
javac = javac
## avoid recursive include if WM_JAVAC_OPTION isn't defined
## include $(GENERAL_RULES)/java$(WM_JAVAC_OPTION)
javaFLAGS = -classpath $(CLASS_PATH):$(CLASSES_DIR):. $(EXE_INC) $(javaOPT) $(javaDBUG) -d $(CLASSES_DIR) -deprecation
javatoclass = mkdir -p $(CLASSES_DIR) ; \
( $(javac) $(javaFLAGS) $$SOURCE || ( rm -f $@ ) )

View File

@ -1,2 +0,0 @@
javaDBUG = -g
javaOPT =

View File

@ -1,2 +0,0 @@
javaDBUG =
javaOPT = -O

View File

@ -1,4 +1,4 @@
.SUFFIXES: .c .cc .cxx .cpp .C .java .F .f .dep .SUFFIXES: .c .cc .cxx .cpp .C .F .f .dep
MKDEP = $(UTILBIN)/wmkdep -I$(*D) $(LIB_HEADER_DIRS) MKDEP = $(UTILBIN)/wmkdep -I$(*D) $(LIB_HEADER_DIRS)
@ -17,9 +17,6 @@ MKDEP = $(UTILBIN)/wmkdep -I$(*D) $(LIB_HEADER_DIRS)
.C.dep: .C.dep:
$(MAKE_DEP) $(MAKE_DEP)
.java.dep:
$(MAKE_DEP)
.F.dep: .F.dep:
$(MAKE_DEP) $(MAKE_DEP)

View File

@ -2,7 +2,6 @@ include $(GENERAL_RULES)/version
include $(GENERAL_RULES)/sourceToDep include $(GENERAL_RULES)/sourceToDep
include $(GENERAL_RULES)/java
include $(GENERAL_RULES)/flex include $(GENERAL_RULES)/flex
include $(GENERAL_RULES)/flex++ include $(GENERAL_RULES)/flex++
## include $(GENERAL_RULES)/byacc ## include $(GENERAL_RULES)/byacc

View File

@ -7,7 +7,6 @@ include $(RULES)/X
include $(GENERAL_RULES)/sourceToDep include $(GENERAL_RULES)/sourceToDep
include $(GENERAL_RULES)/java
include $(GENERAL_RULES)/flex include $(GENERAL_RULES)/flex
include $(GENERAL_RULES)/flex++ include $(GENERAL_RULES)/flex++
include $(GENERAL_RULES)/byacc include $(GENERAL_RULES)/byacc

View File

@ -53,30 +53,13 @@ else
cat > $depName cat > $depName
fi fi
sed -e s%".*.o.*:"%'$(OBJECTS_DIR)/'"$objectName\:"% \
-e s%$WM_PROJECT_DIR%'$(WM_PROJECT_DIR)'% \
>> $depName
if [ "$sub" = java ] echo '$(OBJECTS_DIR)/'$objectName': $(EXE_DEP)' >> $depName
then echo '$(OBJECTS_DIR)/'$objectName':' >> $depName
echo ' @SOURCE_DIR='$sourceDir >> $depName
sed -e s%"\(.*\).class.*:"%'$(CLASSES_DIR)/'"\1.class\:"% \ echo ' SOURCE='$1' ; $('$sub'too)' >> $depName
-e s%$WM_PROJECT_DIR%'$(WM_PROJECT_DIR)'% \
>> $depName
echo '$(CLASSES_DIR)/'$sourceDir/$className': $(EXE_DEP)' >> $depName
echo '$(CLASSES_DIR)/'$sourceDir/$className':' >> $depName
echo ' @SOURCE_DIR='$sourceDir '\' >> $depName
echo ' SOURCE='$1' ; $('$sub'toclass)' >> $depName
else
sed -e s%".*.o.*:"%'$(OBJECTS_DIR)/'"$objectName\:"% \
-e s%$WM_PROJECT_DIR%'$(WM_PROJECT_DIR)'% \
>> $depName
echo '$(OBJECTS_DIR)/'$objectName': $(EXE_DEP)' >> $depName
echo '$(OBJECTS_DIR)/'$objectName':' >> $depName
echo ' @SOURCE_DIR='$sourceDir >> $depName
echo ' SOURCE='$1' ; $('$sub'too)' >> $depName
fi
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------

View File

@ -39,7 +39,7 @@ then
exit 1 exit 1
fi fi
utilbin=$WM_DIR/utilbin/$WM_ARCH$WM_COMPILER bin=$WM_DIR/bin/$WM_ARCH$WM_COMPILER
[ -d Make ] || mkdir Make [ -d Make ] || mkdir Make
rm -f Make/files rm -f Make/files
@ -51,7 +51,7 @@ do
if [ $dir != . ] if [ $dir != . ]
then then
baseDir=`echo $dir | sed 's%^\./%%'` baseDir=`echo $dir | sed 's%^\./%%'`
baseDirName=`echo $baseDir | $utilbin/dirToString` baseDirName=`echo $baseDir | $bin/dirToString`
if [ $baseDirName != Make ] if [ $baseDirName != Make ]
then then
@ -66,7 +66,7 @@ files=`find . -name "*.[cCylfF]" -type f -print`
for file in $files for file in $files
do do
pathName=`echo ${file%/*} | sed 's%^\.%%' | sed 's%^/%%' | $utilbin/dirToString` pathName=`echo ${file%/*} | sed 's%^\.%%' | sed 's%^/%%' | $bin/dirToString`
fileName=`echo ${file##*/}` fileName=`echo ${file##*/}`
if [ "$pathName" != "" ] if [ "$pathName" != "" ]

View File

@ -43,22 +43,22 @@ SHELL = /bin/sh
.SUFFIXES: .SUFFIXES:
.SUFFIXES: .o .SUFFIXES: .o
UTILBIN = $(WM_DIR)/utilbin/$(WM_ARCH)$(WM_COMPILER) BIN = $(WM_DIR)/bin/$(WM_ARCH)$(WM_COMPILER)
all: $(UTILBIN)/dirToString $(UTILBIN)/wmkdep all: $(BIN)/dirToString $(BIN)/wmkdep
clean: clean:
rm -f $(UTILBIN)/dirToString $(UTILBIN)/wmkdep 2>/dev/null rm -f $(BIN)/dirToString $(BIN)/wmkdep 2>/dev/null
$(UTILBIN)/dirToString: dirToString.c $(BIN)/dirToString: dirToString.c
@mkdir -p $(UTILBIN) @mkdir -p $(BIN)
$(cc) $(cFLAGS) dirToString.c -o $(UTILBIN)/dirToString $(cc) $(cFLAGS) dirToString.c -o $(BIN)/dirToString
$(UTILBIN)/wmkdep: wmkdep.l $(BIN)/wmkdep: wmkdep.l
@mkdir -p $(UTILBIN) @mkdir -p $(BIN)
flex wmkdep.l flex wmkdep.l
$(cc) $(cFLAGS) lex.yy.c -o $(UTILBIN)/wmkdep $(cc) $(cFLAGS) lex.yy.c -o $(BIN)/wmkdep
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------

View File

@ -34,10 +34,10 @@ Usage
e.g. e.g.
using sh using sh
baseDirName=`echo $dir | sed 's%^\./%%' | $utilbin/dirToString` baseDirName=`echo $dir | sed 's%^\./%%' | $bin/dirToString`
using csh using csh
set baseDirName=`echo $dir | sed 's%^\./%%' | $utilbin/dirToString` set baseDirName=`echo $dir | sed 's%^\./%%' | $bin/dirToString`
\*----------------------------------------------------------------------------*/ \*----------------------------------------------------------------------------*/

View File

@ -53,9 +53,6 @@ grep -v "=" files > filesPlusBlank
# Add a newline to files to make sure the last line is followed by a newline # Add a newline to files to make sure the last line is followed by a newline
echo "" >> filesPlusBlank echo "" >> filesPlusBlank
# Search for java files in filesPlusBlank
nJava=`grep "\.java" filesPlusBlank | wc -l`
# Remove commented lines blank lines, and trailing blanks from files # Remove commented lines blank lines, and trailing blanks from files
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -81,17 +78,10 @@ rm tmpSourceFile
# make objectFiles # make objectFiles
# ~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~
if [ $nJava -ne 0 ] sed -e 's%.*/%%' \
then -e 's%^%$(OBJECTS_DIR)/%' \
sed -e 's%^%$(CLASSES_DIR)/%' \ -e 's%\.[a-zA-Z]*$%\.o%' \
-e 's%\.[a-zA-Z]*$%\.class%' \ files.$$ > tmpObjectFiles
files.$$ > tmpObjectFiles
else
sed -e 's%.*/%%' \
-e 's%^%$(OBJECTS_DIR)/%' \
-e 's%\.[a-zA-Z]*$%\.o%' \
files.$$ > tmpObjectFiles
fi
echo "OBJECTS = " > tmpObjectFiles2 echo "OBJECTS = " > tmpObjectFiles2
cat tmpObjectFiles >> tmpObjectFiles2 cat tmpObjectFiles >> tmpObjectFiles2