mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge branch 'master' into cvm
This commit is contained in:
@ -1,53 +0,0 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / 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::hashSetUnionEqOp
|
||||
|
||||
Description
|
||||
Union operation to combine hash sets
|
||||
Usage: combineReduce(myWordHashSet, unionEqOp<word>());
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
template<class Type>
|
||||
class hashSetUnionEqOp
|
||||
{
|
||||
public:
|
||||
void operator()(HashSet<Type>& x, const HashSet<Type>& y) const
|
||||
{
|
||||
forAllConstIter(typename HashSet<Type>, y, iter)
|
||||
{
|
||||
x.insert(iter.key());
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace Foam
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
@ -1,53 +0,0 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / 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::hashTableUnionEqOp
|
||||
|
||||
Description
|
||||
Union operation to combine hash sets
|
||||
Usage: combineReduce(myWordHashSet, unionEqOp<word>());
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
template<class Type>
|
||||
class hashTableUnionEqOp
|
||||
{
|
||||
public:
|
||||
void operator()(HashTable<Type>& x, const HashTable<Type>& y) const
|
||||
{
|
||||
forAllConstIter(typename HashTable<Type>, y, iter)
|
||||
{
|
||||
x.insert(iter.key(), iter());
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace Foam
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
28
bin/tools/inlineReplace
Executable file
28
bin/tools/inlineReplace
Executable file
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
|
||||
# $0 string1 string2 file1 .. filen
|
||||
#
|
||||
if [ $# -lt 3 ]; then
|
||||
echo "Usage: `basename $0` [-f] <string1> <string2> <file1> .. <filen>"
|
||||
echo ""
|
||||
echo "Replaces all occurrences of string1 by string2 in files."
|
||||
echo "(replacement of sed -i on those systems that don't support it)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
FROMSTRING=$1
|
||||
shift
|
||||
TOSTRING=$1
|
||||
shift
|
||||
|
||||
for f in $*
|
||||
do
|
||||
if grep "$FROMSTRING" "$f" >/dev/null
|
||||
then
|
||||
cp "$f" "${f}_bak"
|
||||
sed -e "s@$FROMSTRING@$TOSTRING@g" "${f}"_bak > "$f"
|
||||
rm -f "${f}"_bak
|
||||
#else
|
||||
# echo "String $FROMSTRING not present in $f"
|
||||
#fi
|
||||
done
|
||||
15
bin/tools/replaceAllShellSun
Executable file
15
bin/tools/replaceAllShellSun
Executable file
@ -0,0 +1,15 @@
|
||||
#!/usr/xpg4/bin/sh
|
||||
|
||||
# Replace all shell script headers with
|
||||
if [ $# -ne 1 -o ! -d "$1" ]; then
|
||||
echo "Usage: `basename $0` <dir>"
|
||||
echo ""
|
||||
echo "Replaces all occurrences of #!/bin/sh with #!/usr/xpg4/bin/sh inside a directory tree."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#- note that below does not work since {} does not get replaced
|
||||
#find $1 -type f -exec /usr/xpg4/bin/sh -c "grep '^#\!/bin/sh' {} >/dev/null && echo {} && mv {} {}_bak && sed -e 's@^#\!/bin/sh@#\!/usr/xpg4/bin/sh@' {}_bak > {}" ';'
|
||||
|
||||
find $1 -exec $WM_PROJECT_DIR/bin/tools/inlineReplace '^#\!/bin/sh' '#\!/usr/xpg4/bin/sh' {} \; -print
|
||||
|
||||
@ -610,20 +610,6 @@ Foam::Time& Foam::Time::operator+=(const dimensionedScalar& deltaT)
|
||||
|
||||
Foam::Time& Foam::Time::operator+=(const scalar deltaT)
|
||||
{
|
||||
readModifiedObjects();
|
||||
|
||||
if (!subCycling_)
|
||||
{
|
||||
if (timeIndex_ == startTimeIndex_)
|
||||
{
|
||||
functionObjects_.start();
|
||||
}
|
||||
else
|
||||
{
|
||||
functionObjects_.execute();
|
||||
}
|
||||
}
|
||||
|
||||
setDeltaT(deltaT);
|
||||
operator++();
|
||||
|
||||
|
||||
@ -79,12 +79,7 @@ bool Foam::dictionary::substituteKeyword(const word& keyword)
|
||||
{
|
||||
const dictionary& addDict = ePtr->dict();
|
||||
|
||||
for
|
||||
(
|
||||
IDLList<entry>::const_iterator iter = addDict.begin();
|
||||
iter != addDict.end();
|
||||
++iter
|
||||
)
|
||||
forAllConstIter(IDLList<entry>, addDict, iter)
|
||||
{
|
||||
add(iter());
|
||||
}
|
||||
@ -152,15 +147,22 @@ void Foam::dictionary::write(Ostream& os, bool subDict) const
|
||||
os << nl << indent << token::BEGIN_BLOCK << incrIndent << nl;
|
||||
}
|
||||
|
||||
for
|
||||
(
|
||||
IDLList<entry>::const_iterator iter = begin();
|
||||
iter != end();
|
||||
++iter
|
||||
)
|
||||
forAllConstIter(IDLList<entry>, *this, iter)
|
||||
{
|
||||
// Write entry & follow with carriage return.
|
||||
os << *iter;
|
||||
const entry& e = *iter;
|
||||
|
||||
// Write entry
|
||||
os << e;
|
||||
|
||||
// Add new line if applicable
|
||||
if
|
||||
(
|
||||
(e.isDict() || (!e.isDict() && parent()==dictionary::null))
|
||||
&& e != *last()
|
||||
)
|
||||
{
|
||||
os << nl;
|
||||
}
|
||||
|
||||
// Check stream before going to next entry.
|
||||
if (!os.good())
|
||||
|
||||
@ -102,7 +102,9 @@ void Foam::cyclicPolyPatch::calcTransforms()
|
||||
),
|
||||
points
|
||||
);
|
||||
|
||||
pointField half0Ctrs(calcFaceCentres(half0, half0.points()));
|
||||
|
||||
scalarField half0Tols(calcFaceTol(half0, half0.points(), half0Ctrs));
|
||||
|
||||
primitivePatch half1
|
||||
@ -740,9 +742,7 @@ Foam::cyclicPolyPatch::cyclicPolyPatch
|
||||
rotationAxis_(vector::zero),
|
||||
rotationCentre_(point::zero),
|
||||
separationVector_(vector::zero)
|
||||
{
|
||||
calcTransforms();
|
||||
}
|
||||
{}
|
||||
|
||||
|
||||
Foam::cyclicPolyPatch::cyclicPolyPatch
|
||||
@ -786,8 +786,6 @@ Foam::cyclicPolyPatch::cyclicPolyPatch
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
calcTransforms();
|
||||
}
|
||||
|
||||
|
||||
@ -805,9 +803,7 @@ Foam::cyclicPolyPatch::cyclicPolyPatch
|
||||
rotationAxis_(pp.rotationAxis_),
|
||||
rotationCentre_(pp.rotationCentre_),
|
||||
separationVector_(pp.separationVector_)
|
||||
{
|
||||
calcTransforms();
|
||||
}
|
||||
{}
|
||||
|
||||
|
||||
Foam::cyclicPolyPatch::cyclicPolyPatch
|
||||
@ -827,9 +823,7 @@ Foam::cyclicPolyPatch::cyclicPolyPatch
|
||||
rotationAxis_(pp.rotationAxis_),
|
||||
rotationCentre_(pp.rotationCentre_),
|
||||
separationVector_(pp.separationVector_)
|
||||
{
|
||||
calcTransforms();
|
||||
}
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
@ -852,6 +846,7 @@ void Foam::cyclicPolyPatch::initGeometry()
|
||||
void Foam::cyclicPolyPatch::calcGeometry()
|
||||
{
|
||||
polyPatch::calcGeometry();
|
||||
calcTransforms();
|
||||
}
|
||||
|
||||
void Foam::cyclicPolyPatch::initMovePoints(const pointField& p)
|
||||
|
||||
@ -97,6 +97,7 @@ $(derivedFvPatchFields)/fixedFluxBoussinesqBuoyantPressure/fixedFluxBoussinesqBu
|
||||
$(derivedFvPatchFields)/fixedFluxPressure/fixedFluxPressureFvPatchScalarField.C
|
||||
$(derivedFvPatchFields)/fixedInternalValueFvPatchField/fixedInternalValueFvPatchFields.C
|
||||
$(derivedFvPatchFields)/fixedNormalSlip/fixedNormalSlipFvPatchFields.C
|
||||
$(derivedFvPatchFields)/fixedPressureCompressibleDensity/fixedPressureCompressibleDensityFvPatchScalarField.C
|
||||
$(derivedFvPatchFields)/fluxCorrectedVelocity/fluxCorrectedVelocityFvPatchVectorField.C
|
||||
$(derivedFvPatchFields)/freestream/freestreamFvPatchFields.C
|
||||
$(derivedFvPatchFields)/freestreamPressure/freestreamPressureFvPatchScalarField.C
|
||||
|
||||
@ -0,0 +1,155 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / 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 "fixedPressureCompressibleDensityFvPatchScalarField.H"
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
#include "fvPatchFieldMapper.H"
|
||||
#include "surfaceFields.H"
|
||||
#include "volFields.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
fixedPressureCompressibleDensityFvPatchScalarField::
|
||||
fixedPressureCompressibleDensityFvPatchScalarField
|
||||
(
|
||||
const fvPatch& p,
|
||||
const DimensionedField<scalar, volMesh>& iF
|
||||
)
|
||||
:
|
||||
fixedValueFvPatchField<scalar>(p, iF),
|
||||
pName_("pNameIsUndefined")
|
||||
{}
|
||||
|
||||
|
||||
fixedPressureCompressibleDensityFvPatchScalarField::
|
||||
fixedPressureCompressibleDensityFvPatchScalarField
|
||||
(
|
||||
const fixedPressureCompressibleDensityFvPatchScalarField& ptf,
|
||||
const fvPatch& p,
|
||||
const DimensionedField<scalar, volMesh>& iF,
|
||||
const fvPatchFieldMapper& mapper
|
||||
)
|
||||
:
|
||||
fixedValueFvPatchField<scalar>(ptf, p, iF, mapper),
|
||||
pName_(ptf.pName_)
|
||||
{}
|
||||
|
||||
|
||||
fixedPressureCompressibleDensityFvPatchScalarField::
|
||||
fixedPressureCompressibleDensityFvPatchScalarField
|
||||
(
|
||||
const fvPatch& p,
|
||||
const DimensionedField<scalar, volMesh>& iF,
|
||||
const dictionary& dict
|
||||
)
|
||||
:
|
||||
fixedValueFvPatchField<scalar>(p, iF, dict),
|
||||
pName_(dict.lookup("p"))
|
||||
{}
|
||||
|
||||
|
||||
fixedPressureCompressibleDensityFvPatchScalarField::
|
||||
fixedPressureCompressibleDensityFvPatchScalarField
|
||||
(
|
||||
const fixedPressureCompressibleDensityFvPatchScalarField& ptf
|
||||
)
|
||||
:
|
||||
fixedValueFvPatchField<scalar>(ptf),
|
||||
pName_(ptf.pName_)
|
||||
{}
|
||||
|
||||
|
||||
fixedPressureCompressibleDensityFvPatchScalarField::
|
||||
fixedPressureCompressibleDensityFvPatchScalarField
|
||||
(
|
||||
const fixedPressureCompressibleDensityFvPatchScalarField& ptf,
|
||||
const DimensionedField<scalar, volMesh>& iF
|
||||
)
|
||||
:
|
||||
fixedValueFvPatchField<scalar>(ptf, iF),
|
||||
pName_(ptf.pName_)
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
void fixedPressureCompressibleDensityFvPatchScalarField::updateCoeffs()
|
||||
{
|
||||
if (updated())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
const fvPatchField<scalar>& pp =
|
||||
patch().lookupPatchField<volScalarField, scalar>(pName_);
|
||||
|
||||
const dictionary& thermoProps =
|
||||
db().lookupObject<IOdictionary>("thermodynamicProperties");
|
||||
|
||||
const scalar rholSat =
|
||||
dimensionedScalar(thermoProps.lookup("rholSat")).value();
|
||||
|
||||
const scalar pSat =
|
||||
dimensionedScalar(thermoProps.lookup("pSat")).value();
|
||||
|
||||
const scalar psil = dimensionedScalar(thermoProps.lookup("psil")).value();
|
||||
|
||||
operator==(rholSat + psil*(pp - pSat));
|
||||
|
||||
fixedValueFvPatchField<scalar>::updateCoeffs();
|
||||
}
|
||||
|
||||
|
||||
void fixedPressureCompressibleDensityFvPatchScalarField::write
|
||||
(
|
||||
Ostream& os
|
||||
) const
|
||||
{
|
||||
fvPatchField<scalar>::write(os);
|
||||
os.writeKeyword("p") << pName_ << token::END_STATEMENT << nl;
|
||||
writeEntry("value", os);
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
makePatchTypeField
|
||||
(
|
||||
fvPatchScalarField,
|
||||
fixedPressureCompressibleDensityFvPatchScalarField
|
||||
);
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace Foam
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,162 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / 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::fixedPressureCompressibleDensityFvPatchScalarField
|
||||
|
||||
Description
|
||||
Calculate compressible density as a function of pressure and fluid
|
||||
properties.
|
||||
|
||||
Example of the boundary condition specification:
|
||||
@verbatim
|
||||
inlet
|
||||
{
|
||||
type fixedPressureCompressibleDensity;
|
||||
p p; // Name of static pressure field
|
||||
value uniform 1; // Initial value
|
||||
}
|
||||
@endverbatim
|
||||
|
||||
SourceFiles
|
||||
fixedPressureCompressibleDensityFvPatchScalarField.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef fixedPressureCompressibleDensityFvPatchScalarField_H
|
||||
#define fixedPressureCompressibleDensityFvPatchScalarField_H
|
||||
|
||||
#include "fixedValueFvPatchFields.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class fixedPressureCompressibleDensityFvPatchScalarField Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
class fixedPressureCompressibleDensityFvPatchScalarField
|
||||
:
|
||||
public fixedValueFvPatchScalarField
|
||||
{
|
||||
// Private data
|
||||
|
||||
//- Name of static pressure field
|
||||
word pName_;
|
||||
|
||||
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
TypeName("fixedPressureCompressibleDensity");
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from patch and internal field
|
||||
fixedPressureCompressibleDensityFvPatchScalarField
|
||||
(
|
||||
const fvPatch&,
|
||||
const DimensionedField<scalar, volMesh>&
|
||||
);
|
||||
|
||||
//- Construct from patch, internal field and dictionary
|
||||
fixedPressureCompressibleDensityFvPatchScalarField
|
||||
(
|
||||
const fvPatch&,
|
||||
const DimensionedField<scalar, volMesh>&,
|
||||
const dictionary&
|
||||
);
|
||||
|
||||
//- Construct by mapping given
|
||||
// fixedPressureCompressibleDensityFvPatchScalarField
|
||||
// onto a new patch
|
||||
fixedPressureCompressibleDensityFvPatchScalarField
|
||||
(
|
||||
const fixedPressureCompressibleDensityFvPatchScalarField&,
|
||||
const fvPatch&,
|
||||
const DimensionedField<scalar, volMesh>&,
|
||||
const fvPatchFieldMapper&
|
||||
);
|
||||
|
||||
//- Construct as copy
|
||||
fixedPressureCompressibleDensityFvPatchScalarField
|
||||
(
|
||||
const fixedPressureCompressibleDensityFvPatchScalarField&
|
||||
);
|
||||
|
||||
//- Construct and return a clone
|
||||
virtual tmp<fvPatchScalarField> clone() const
|
||||
{
|
||||
return tmp<fvPatchScalarField>
|
||||
(
|
||||
new fixedPressureCompressibleDensityFvPatchScalarField(*this)
|
||||
);
|
||||
}
|
||||
|
||||
//- Construct as copy setting internal field reference
|
||||
fixedPressureCompressibleDensityFvPatchScalarField
|
||||
(
|
||||
const fixedPressureCompressibleDensityFvPatchScalarField&,
|
||||
const DimensionedField<scalar, volMesh>&
|
||||
);
|
||||
|
||||
//- Construct and return a clone setting internal field reference
|
||||
virtual tmp<fvPatchScalarField> clone
|
||||
(
|
||||
const DimensionedField<scalar, volMesh>& iF
|
||||
) const
|
||||
{
|
||||
return tmp<fvPatchScalarField>
|
||||
(
|
||||
new fixedPressureCompressibleDensityFvPatchScalarField
|
||||
(
|
||||
*this,
|
||||
iF
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
// Member functions
|
||||
|
||||
//- Update the coefficients associated with the patch field
|
||||
virtual void updateCoeffs();
|
||||
|
||||
//- Write
|
||||
virtual void write(Ostream&) const;
|
||||
};
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace Foam
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#endif
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -104,7 +104,7 @@ void pressureInletUniformVelocityFvPatchVectorField::updateCoeffs()
|
||||
|
||||
pressureInletVelocityFvPatchVectorField::updateCoeffs();
|
||||
|
||||
operator==(patch().nf()*sum(patch().Sf() & *this)/sum(patch().magSf()));
|
||||
operator==(patch().nf()*gSum(patch().Sf() & *this)/gSum(patch().magSf()));
|
||||
}
|
||||
|
||||
|
||||
@ -115,7 +115,7 @@ void pressureInletUniformVelocityFvPatchVectorField::operator=
|
||||
const fvPatchField<vector>& pvf
|
||||
)
|
||||
{
|
||||
operator==(patch().nf()*sum(patch().Sf() & pvf)/sum(patch().magSf()));
|
||||
operator==(patch().nf()*gSum(patch().Sf() & pvf)/gSum(patch().magSf()));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -297,7 +297,7 @@ bool Foam::parcel::move(spray& sDB)
|
||||
ms() -= ms()*(oTotMass-m())/oTotMass;
|
||||
|
||||
// remove parcel if it is 'small'
|
||||
if (m() < 1.0e-20)
|
||||
if (m() < 1.0e-12)
|
||||
{
|
||||
keepParcel = false;
|
||||
|
||||
@ -574,6 +574,56 @@ void Foam::parcel::updateParcelProperties
|
||||
// Prevent droplet temperature to go too low
|
||||
// Mainly a numerical stability issue
|
||||
Tnew = max(200.0, Tnew);
|
||||
scalar Td = Tnew;
|
||||
|
||||
scalar pAtSurface = fuels.pv(pg, Td, X());
|
||||
scalar pCompare = 0.999*pg;
|
||||
scalar boiling = pAtSurface >= pCompare;
|
||||
if (boiling)
|
||||
{
|
||||
// can not go above boiling temperature
|
||||
scalar Terr = 1.0e-3;
|
||||
label n=0;
|
||||
scalar dT = 1.0;
|
||||
scalar pOld = pAtSurface;
|
||||
while (dT > Terr)
|
||||
{
|
||||
n++;
|
||||
pAtSurface = fuels.pv(pg, Td, X());
|
||||
if ((pAtSurface < pCompare) && (pOld < pCompare))
|
||||
{
|
||||
Td += dT;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((pAtSurface > pCompare) && (pOld > pCompare))
|
||||
{
|
||||
Td -= dT;
|
||||
}
|
||||
else
|
||||
{
|
||||
dT *= 0.5;
|
||||
if ((pAtSurface > pCompare) && (pOld < pCompare))
|
||||
{
|
||||
Td -= dT;
|
||||
}
|
||||
else
|
||||
{
|
||||
Td += dT;
|
||||
}
|
||||
}
|
||||
}
|
||||
pOld = pAtSurface;
|
||||
if (debug)
|
||||
{
|
||||
if (n>100)
|
||||
{
|
||||
Info << "n = " << n << ", T = " << Td << ", pv = " << pAtSurface << endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
Tnew = Td;
|
||||
}
|
||||
}
|
||||
|
||||
// Evaporate droplet!
|
||||
|
||||
@ -85,6 +85,9 @@ Foam::spray::spray
|
||||
)
|
||||
),
|
||||
|
||||
ambientPressure_(p_.average().value()),
|
||||
ambientTemperature_(T_.average().value()),
|
||||
|
||||
injectors_
|
||||
(
|
||||
IOobject
|
||||
@ -204,10 +207,7 @@ Foam::spray::spray
|
||||
srhos_(fuels_->components().size()),
|
||||
|
||||
totalInjectedLiquidMass_(0.0),
|
||||
injectedLiquidKE_(0.0),
|
||||
|
||||
ambientPressure_(p_.average().value()),
|
||||
ambientTemperature_(T_.average().value())
|
||||
injectedLiquidKE_(0.0)
|
||||
|
||||
{
|
||||
// create the evaporation source fields
|
||||
|
||||
@ -92,8 +92,15 @@ class spray
|
||||
IOdictionary sprayProperties_;
|
||||
|
||||
|
||||
//- Ambient Pressure
|
||||
scalar ambientPressure_;
|
||||
|
||||
//- Ambient Temperature
|
||||
scalar ambientTemperature_;
|
||||
|
||||
|
||||
//- The injectors
|
||||
IOPtrList<injector> injectors_;
|
||||
IOPtrList<injector> injectors_;
|
||||
|
||||
|
||||
// References to the spray sub-models
|
||||
@ -164,12 +171,6 @@ class spray
|
||||
//- The (total added) injected kinetic energy of the liquid
|
||||
scalar injectedLiquidKE_;
|
||||
|
||||
//- Ambient Pressure
|
||||
scalar ambientPressure_;
|
||||
|
||||
//- Ambient Temperature
|
||||
scalar ambientTemperature_;
|
||||
|
||||
|
||||
// Private Member Functions
|
||||
|
||||
|
||||
@ -68,7 +68,7 @@ Foam::tmp<Foam::scalarField> Foam::cellQuality::nonOrthogonality() const
|
||||
scalar magS = mag(s);
|
||||
|
||||
scalar cosDDotS =
|
||||
Foam::acos((d & s)/(mag(d)*magS + VSMALL))
|
||||
Foam::acos(min(1.0, (d & s)/(mag(d)*magS + VSMALL)))
|
||||
*180.0/mathematicalConstant::pi;
|
||||
|
||||
result[own[faceI]] = max(cosDDotS, result[own[faceI]]);
|
||||
@ -94,7 +94,7 @@ Foam::tmp<Foam::scalarField> Foam::cellQuality::nonOrthogonality() const
|
||||
scalar magS = mag(s);
|
||||
|
||||
scalar cosDDotS =
|
||||
Foam::acos((d & s)/(mag(d)*magS + VSMALL))
|
||||
Foam::acos(min(1.0, (d & s)/(mag(d)*magS + VSMALL)))
|
||||
*180.0/mathematicalConstant::pi;
|
||||
|
||||
result[faceCells[faceI]] = max(cosDDotS, result[faceCells[faceI]]);
|
||||
@ -209,7 +209,7 @@ Foam::tmp<Foam::scalarField> Foam::cellQuality::faceNonOrthogonality() const
|
||||
scalar magS = mag(s);
|
||||
|
||||
scalar cosDDotS =
|
||||
Foam::acos((d & s)/(mag(d)*magS + VSMALL))
|
||||
Foam::acos(min(1.0, (d & s)/(mag(d)*magS + VSMALL)))
|
||||
*180.0/mathematicalConstant::pi;
|
||||
|
||||
result[faceI] = cosDDotS;
|
||||
@ -235,7 +235,7 @@ Foam::tmp<Foam::scalarField> Foam::cellQuality::faceNonOrthogonality() const
|
||||
scalar magS = mag(s);
|
||||
|
||||
scalar cosDDotS =
|
||||
Foam::acos((d & s)/(mag(d)*magS + VSMALL))
|
||||
Foam::acos(min(1.0, (d & s)/(mag(d)*magS + VSMALL)))
|
||||
*180.0/mathematicalConstant::pi;
|
||||
|
||||
result[globalFaceI++] = cosDDotS;
|
||||
|
||||
@ -26,10 +26,7 @@ License
|
||||
|
||||
#include "fieldAverage.H"
|
||||
#include "volFields.H"
|
||||
#include "dictionary.H"
|
||||
#include "Time.H"
|
||||
#include "IFstream.H"
|
||||
#include "OFstream.H"
|
||||
|
||||
#include "fieldAverageItem.H"
|
||||
|
||||
@ -46,26 +43,45 @@ const Foam::word Foam::fieldAverage::EXT_PRIME2MEAN = "Prime2Mean";
|
||||
|
||||
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
||||
|
||||
void Foam::fieldAverage::checkoutFields(const wordList& fieldNames) const
|
||||
{
|
||||
forAll(fieldNames, i)
|
||||
{
|
||||
if (fieldNames[i] != word::null)
|
||||
{
|
||||
obr_.checkOut(*obr_[fieldNames[i]]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Foam::fieldAverage::resetLists(const label nItems)
|
||||
{
|
||||
checkoutFields(meanScalarFields_);
|
||||
meanScalarFields_.clear();
|
||||
meanScalarFields_.setSize(nItems);
|
||||
|
||||
checkoutFields(meanVectorFields_);
|
||||
meanVectorFields_.clear();
|
||||
meanVectorFields_.setSize(nItems);
|
||||
|
||||
checkoutFields(meanSphericalTensorFields_);
|
||||
meanSphericalTensorFields_.clear();
|
||||
meanSphericalTensorFields_.setSize(nItems);
|
||||
|
||||
checkoutFields(meanSymmTensorFields_);
|
||||
meanSymmTensorFields_.clear();
|
||||
meanSymmTensorFields_.setSize(nItems);
|
||||
|
||||
checkoutFields(meanTensorFields_);
|
||||
meanTensorFields_.clear();
|
||||
meanTensorFields_.setSize(nItems);
|
||||
|
||||
checkoutFields(prime2MeanScalarFields_);
|
||||
prime2MeanScalarFields_.clear();
|
||||
prime2MeanScalarFields_.setSize(nItems);
|
||||
|
||||
checkoutFields(prime2MeanSymmTensorFields_);
|
||||
prime2MeanSymmTensorFields_.clear();
|
||||
prime2MeanSymmTensorFields_.setSize(nItems);
|
||||
|
||||
@ -128,7 +144,7 @@ void Foam::fieldAverage::initialise()
|
||||
|
||||
if (obr_.foundObject<volScalarField>(fieldName))
|
||||
{
|
||||
addPrime2MeanField<scalar>
|
||||
addPrime2MeanField<scalar, scalar>
|
||||
(
|
||||
i,
|
||||
meanScalarFields_,
|
||||
@ -137,7 +153,7 @@ void Foam::fieldAverage::initialise()
|
||||
}
|
||||
else if (obr_.foundObject<volVectorField>(fieldName))
|
||||
{
|
||||
addPrime2MeanField<vector>
|
||||
addPrime2MeanField<vector, symmTensor>
|
||||
(
|
||||
i,
|
||||
meanVectorFields_,
|
||||
@ -188,12 +204,12 @@ Foam::fieldAverage::fieldAverage
|
||||
active_ = false;
|
||||
WarningIn
|
||||
(
|
||||
"fieldAverage::fieldAverage"
|
||||
"("
|
||||
"const word&,"
|
||||
"const objectRegistry&,"
|
||||
"const dictionary&,"
|
||||
"const bool"
|
||||
"fieldAverage::fieldAverage\n"
|
||||
"(\n"
|
||||
"const word&,\n"
|
||||
"const objectRegistry&,\n"
|
||||
"const dictionary&,\n"
|
||||
"const bool\n"
|
||||
")"
|
||||
) << "No fvMesh available, deactivating."
|
||||
<< nl << endl;
|
||||
@ -255,12 +271,12 @@ void Foam::fieldAverage::calcAverages()
|
||||
totalTime_[i] += obr_.time().deltaT().value();
|
||||
}
|
||||
|
||||
addMeanSqrToPrime2Mean<scalar>
|
||||
addMeanSqrToPrime2Mean<scalar, scalar>
|
||||
(
|
||||
meanScalarFields_,
|
||||
prime2MeanScalarFields_
|
||||
);
|
||||
addMeanSqrToPrime2Mean<vector>
|
||||
addMeanSqrToPrime2Mean<vector, symmTensor>
|
||||
(
|
||||
meanVectorFields_,
|
||||
prime2MeanSymmTensorFields_
|
||||
@ -272,12 +288,12 @@ void Foam::fieldAverage::calcAverages()
|
||||
calculateMeanFields<symmTensor>(meanSymmTensorFields_);
|
||||
calculateMeanFields<tensor>(meanTensorFields_);
|
||||
|
||||
calculatePrime2MeanFields<scalar>
|
||||
calculatePrime2MeanFields<scalar, scalar>
|
||||
(
|
||||
meanScalarFields_,
|
||||
prime2MeanScalarFields_
|
||||
);
|
||||
calculatePrime2MeanFields<vector>
|
||||
calculatePrime2MeanFields<vector, symmTensor>
|
||||
(
|
||||
meanVectorFields_,
|
||||
prime2MeanSymmTensorFields_
|
||||
@ -309,13 +325,14 @@ void Foam::fieldAverage::writeAveragingProperties() const
|
||||
"uniform",
|
||||
obr_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
IOobject::NO_WRITE,
|
||||
false
|
||||
)
|
||||
);
|
||||
|
||||
forAll(faItems_, i)
|
||||
{
|
||||
const word fieldName = faItems_[i].fieldName();
|
||||
const word& fieldName = faItems_[i].fieldName();
|
||||
propsDict.add(fieldName, dictionary());
|
||||
propsDict.subDict(fieldName).add("totalIter", totalIter_[i]);
|
||||
propsDict.subDict(fieldName).add("totalTime", totalTime_[i]);
|
||||
@ -334,20 +351,25 @@ void Foam::fieldAverage::readAveragingProperties()
|
||||
}
|
||||
else
|
||||
{
|
||||
IFstream propsFile
|
||||
IOobject propsDictHeader
|
||||
(
|
||||
obr_.time().path()/obr_.time().timeName()
|
||||
/"uniform"/"fieldAveragingProperties"
|
||||
"fieldAveragingProperties",
|
||||
obr_.time().timeName(),
|
||||
"uniform",
|
||||
obr_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE,
|
||||
false
|
||||
);
|
||||
|
||||
if (!propsFile.good())
|
||||
if (!propsDictHeader.headerOk())
|
||||
{
|
||||
Info<< "fieldAverage: starting averaging at time "
|
||||
<< obr_.time().timeName() << nl << endl;
|
||||
return;
|
||||
}
|
||||
|
||||
dictionary propsDict(dictionary::null, propsFile);
|
||||
IOdictionary propsDict(propsDictHeader);
|
||||
|
||||
Info<< "fieldAverage: restarting averaging for fields:" << endl;
|
||||
forAll(faItems_, i)
|
||||
|
||||
@ -75,7 +75,6 @@ Description
|
||||
SourceFiles
|
||||
fieldAverage.C
|
||||
fieldAverageTemplates.C
|
||||
IOfieldAverage.H
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
@ -122,7 +121,7 @@ protected:
|
||||
//- Clean restart flag
|
||||
Switch cleanRestart_;
|
||||
|
||||
//- List of field average items, describing waht averages to be
|
||||
//- List of field average items, describing what averages to be
|
||||
// calculated and output
|
||||
List<fieldAverageItem> faItems_;
|
||||
|
||||
@ -138,15 +137,15 @@ protected:
|
||||
// Lists of averages
|
||||
|
||||
// Arithmetic mean fields
|
||||
PtrList<volScalarField> meanScalarFields_;
|
||||
PtrList<volVectorField> meanVectorFields_;
|
||||
PtrList<volSphericalTensorField> meanSphericalTensorFields_;
|
||||
PtrList<volSymmTensorField> meanSymmTensorFields_;
|
||||
PtrList<volTensorField> meanTensorFields_;
|
||||
wordList meanScalarFields_;
|
||||
wordList meanVectorFields_;
|
||||
wordList meanSphericalTensorFields_;
|
||||
wordList meanSymmTensorFields_;
|
||||
wordList meanTensorFields_;
|
||||
|
||||
// Prime-squared fields - applicable to volVectorFields only
|
||||
PtrList<volScalarField> prime2MeanScalarFields_;
|
||||
PtrList<volSymmTensorField> prime2MeanSymmTensorFields_;
|
||||
wordList prime2MeanScalarFields_;
|
||||
wordList prime2MeanSymmTensorFields_;
|
||||
|
||||
|
||||
// Counters
|
||||
@ -162,6 +161,9 @@ protected:
|
||||
|
||||
// Initialisation routines
|
||||
|
||||
//- Checkout fields (causes deletion) from the database
|
||||
void checkoutFields(const wordList&) const;
|
||||
|
||||
//- Reset size of lists (clear existing values)
|
||||
void resetLists(const label nItems);
|
||||
|
||||
@ -171,20 +173,16 @@ protected:
|
||||
|
||||
//- Add mean average field to PtrList
|
||||
template<class Type>
|
||||
void addMeanField
|
||||
(
|
||||
const label,
|
||||
PtrList<GeometricField<Type, fvPatchField, volMesh> >&
|
||||
);
|
||||
void addMeanField(const label, wordList&) const;
|
||||
|
||||
//- Add prime-squared average field to PtrList
|
||||
template<class Type1, class Type2>
|
||||
void addPrime2MeanField
|
||||
(
|
||||
const label,
|
||||
PtrList<GeometricField<Type1, fvPatchField, volMesh> >&,
|
||||
PtrList<GeometricField<Type2, fvPatchField, volMesh> >&
|
||||
);
|
||||
const wordList&,
|
||||
wordList&
|
||||
) const;
|
||||
|
||||
|
||||
// Calculation functions
|
||||
@ -194,26 +192,23 @@ protected:
|
||||
|
||||
//- Calculate mean average fields
|
||||
template<class Type>
|
||||
void calculateMeanFields
|
||||
(
|
||||
PtrList<GeometricField<Type, fvPatchField, volMesh> >&
|
||||
);
|
||||
void calculateMeanFields(const wordList&) const;
|
||||
|
||||
//- Add mean-squared field value to prime-squared mean field
|
||||
template<class Type1, class Type2>
|
||||
void addMeanSqrToPrime2Mean
|
||||
(
|
||||
PtrList<GeometricField<Type1, fvPatchField, volMesh> >&,
|
||||
PtrList<GeometricField<Type2, fvPatchField, volMesh> >&
|
||||
);
|
||||
const wordList&,
|
||||
const wordList&
|
||||
) const;
|
||||
|
||||
//- Calculate prime-squared average fields
|
||||
template<class Type1, class Type2>
|
||||
void calculatePrime2MeanFields
|
||||
(
|
||||
PtrList<GeometricField<Type1, fvPatchField, volMesh> >&,
|
||||
PtrList<GeometricField<Type2, fvPatchField, volMesh> >&
|
||||
);
|
||||
const wordList&,
|
||||
const wordList&
|
||||
) const;
|
||||
|
||||
|
||||
// I-O
|
||||
@ -223,11 +218,7 @@ protected:
|
||||
|
||||
//- Write fields
|
||||
template<class Type>
|
||||
void writeFieldList
|
||||
(
|
||||
const PtrList<GeometricField<Type, fvPatchField, volMesh> >&
|
||||
fieldList
|
||||
) const;
|
||||
void writeFieldList(const wordList&) const;
|
||||
|
||||
//- Write averaging properties - steps and time
|
||||
void writeAveragingProperties() const;
|
||||
|
||||
@ -34,22 +34,36 @@ template<class Type>
|
||||
void Foam::fieldAverage::addMeanField
|
||||
(
|
||||
const label fieldi,
|
||||
PtrList<GeometricField<Type, fvPatchField, volMesh> >& meanFieldList
|
||||
)
|
||||
wordList& meanFieldList
|
||||
) const
|
||||
{
|
||||
if (faItems_[fieldi].mean())
|
||||
{
|
||||
typedef GeometricField<Type, fvPatchField, volMesh> fieldType;
|
||||
|
||||
const word& fieldName = faItems_[fieldi].fieldName();
|
||||
const fieldType& baseField = obr_.lookupObject<fieldType>(fieldName);
|
||||
|
||||
const word meanFieldName = fieldName + EXT_MEAN;
|
||||
|
||||
Info<< "Reading/calculating field " << meanFieldName << nl << endl;
|
||||
meanFieldList.set
|
||||
(
|
||||
fieldi,
|
||||
new fieldType
|
||||
|
||||
if (obr_.foundObject<fieldType>(meanFieldName))
|
||||
{
|
||||
meanFieldList[fieldi] = meanFieldName;
|
||||
}
|
||||
else if (obr_.found(meanFieldName))
|
||||
{
|
||||
Info<< "Cannot allocate average field " << meanFieldName
|
||||
<< " since an object with that name already exists."
|
||||
<< " Disabling averaging." << nl << endl;
|
||||
meanFieldList[fieldi] = word::null;
|
||||
}
|
||||
else
|
||||
{
|
||||
const fieldType& baseField =
|
||||
obr_.lookupObject<fieldType>(fieldName);
|
||||
|
||||
fieldType* fPtr = new fieldType
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
@ -60,8 +74,13 @@ void Foam::fieldAverage::addMeanField
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
baseField
|
||||
)
|
||||
);
|
||||
);
|
||||
|
||||
// Store on registry
|
||||
fPtr->store();
|
||||
|
||||
meanFieldList[fieldi] = meanFieldName;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -70,25 +89,39 @@ template<class Type1, class Type2>
|
||||
void Foam::fieldAverage::addPrime2MeanField
|
||||
(
|
||||
const label fieldi,
|
||||
PtrList<GeometricField<Type1, fvPatchField, volMesh> >& meanFieldList,
|
||||
PtrList<GeometricField<Type2, fvPatchField, volMesh> >& prime2MeanFieldList
|
||||
)
|
||||
const wordList& meanFieldList,
|
||||
wordList& prime2MeanFieldList
|
||||
) const
|
||||
{
|
||||
if (faItems_[fieldi].mean() && meanFieldList.set(fieldi))
|
||||
if (faItems_[fieldi].mean() && meanFieldList[fieldi] != word::null)
|
||||
{
|
||||
typedef GeometricField<Type1, fvPatchField, volMesh> fieldType1;
|
||||
typedef GeometricField<Type2, fvPatchField, volMesh> fieldType2;
|
||||
|
||||
const word& fieldName = faItems_[fieldi].fieldName();
|
||||
const fieldType1& baseField = obr_.lookupObject<fieldType1>(fieldName);
|
||||
const fieldType1& meanField = meanFieldList[fieldi];
|
||||
|
||||
const word meanFieldName = fieldName + EXT_PRIME2MEAN;
|
||||
Info<< "Reading/calculating field " << meanFieldName << nl << endl;
|
||||
prime2MeanFieldList.set
|
||||
(
|
||||
fieldi,
|
||||
new fieldType2
|
||||
|
||||
if (obr_.foundObject<fieldType2>(meanFieldName))
|
||||
{
|
||||
prime2MeanFieldList[fieldi] = meanFieldName;
|
||||
}
|
||||
else if (obr_.found(meanFieldName))
|
||||
{
|
||||
Info<< "Cannot allocate average field " << meanFieldName
|
||||
<< " since an object with that name already exists."
|
||||
<< " Disabling averaging." << nl << endl;
|
||||
prime2MeanFieldList[fieldi] = word::null;
|
||||
}
|
||||
else
|
||||
{
|
||||
const fieldType1& baseField =
|
||||
obr_.lookupObject<fieldType1>(fieldName);
|
||||
const fieldType1& meanField =
|
||||
obr_.lookupObject<fieldType1>(meanFieldList[fieldi]);
|
||||
|
||||
fieldType2* fPtr = new fieldType2
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
@ -99,17 +132,20 @@ void Foam::fieldAverage::addPrime2MeanField
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
sqr(baseField) - sqr(meanField)
|
||||
)
|
||||
);
|
||||
);
|
||||
|
||||
// Store on registry
|
||||
fPtr->store();
|
||||
|
||||
prime2MeanFieldList[fieldi] = meanFieldName;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
template<class Type>
|
||||
void Foam::fieldAverage::calculateMeanFields
|
||||
(
|
||||
PtrList<GeometricField<Type, fvPatchField, volMesh> >& meanFieldList
|
||||
)
|
||||
void Foam::fieldAverage::calculateMeanFields(const wordList& meanFieldList)
|
||||
const
|
||||
{
|
||||
typedef GeometricField<Type, fvPatchField, volMesh> fieldType;
|
||||
|
||||
@ -117,12 +153,15 @@ void Foam::fieldAverage::calculateMeanFields
|
||||
|
||||
forAll(faItems_, i)
|
||||
{
|
||||
if (faItems_[i].mean() && meanFieldList.set(i))
|
||||
if (faItems_[i].mean() && meanFieldList[i] != word::null)
|
||||
{
|
||||
const word& fieldName = faItems_[i].fieldName();
|
||||
const fieldType& baseField =
|
||||
obr_.lookupObject<fieldType>(fieldName);
|
||||
fieldType& meanField = meanFieldList[i];
|
||||
fieldType& meanField = const_cast<fieldType&>
|
||||
(
|
||||
obr_.lookupObject<fieldType>(meanFieldList[i])
|
||||
);
|
||||
|
||||
scalar alpha = 0.0;
|
||||
scalar beta = 0.0;
|
||||
@ -146,9 +185,9 @@ void Foam::fieldAverage::calculateMeanFields
|
||||
template<class Type1, class Type2>
|
||||
void Foam::fieldAverage::calculatePrime2MeanFields
|
||||
(
|
||||
PtrList<GeometricField<Type1, fvPatchField, volMesh> >& meanFieldList,
|
||||
PtrList<GeometricField<Type2, fvPatchField, volMesh> >& prime2MeanFieldList
|
||||
)
|
||||
const wordList& meanFieldList,
|
||||
const wordList& prime2MeanFieldList
|
||||
) const
|
||||
{
|
||||
typedef GeometricField<Type1, fvPatchField, volMesh> fieldType1;
|
||||
typedef GeometricField<Type2, fvPatchField, volMesh> fieldType2;
|
||||
@ -160,15 +199,19 @@ void Foam::fieldAverage::calculatePrime2MeanFields
|
||||
if
|
||||
(
|
||||
faItems_[i].prime2Mean()
|
||||
&& meanFieldList.set(i)
|
||||
&& prime2MeanFieldList.set(i)
|
||||
&& meanFieldList[i] != word::null
|
||||
&& prime2MeanFieldList[i] != word::null
|
||||
)
|
||||
{
|
||||
const word& fieldName = faItems_[i].fieldName();
|
||||
const fieldType1& baseField =
|
||||
obr_.lookupObject<fieldType1>(fieldName);
|
||||
const fieldType1& meanField = meanFieldList[i];
|
||||
fieldType2& prime2MeanField = prime2MeanFieldList[i];
|
||||
const fieldType1& meanField =
|
||||
obr_.lookupObject<fieldType1>(meanFieldList[i]);
|
||||
fieldType2& prime2MeanField = const_cast<fieldType2&>
|
||||
(
|
||||
obr_.lookupObject<fieldType2>(prime2MeanFieldList[i])
|
||||
);
|
||||
|
||||
scalar alpha = 0.0;
|
||||
scalar beta = 0.0;
|
||||
@ -195,9 +238,9 @@ void Foam::fieldAverage::calculatePrime2MeanFields
|
||||
template<class Type1, class Type2>
|
||||
void Foam::fieldAverage::addMeanSqrToPrime2Mean
|
||||
(
|
||||
PtrList<GeometricField<Type1, fvPatchField, volMesh> >& meanFieldList,
|
||||
PtrList<GeometricField<Type2, fvPatchField, volMesh> >& prime2MeanFieldList
|
||||
)
|
||||
const wordList& meanFieldList,
|
||||
const wordList& prime2MeanFieldList
|
||||
) const
|
||||
{
|
||||
typedef GeometricField<Type1, fvPatchField, volMesh> fieldType1;
|
||||
typedef GeometricField<Type2, fvPatchField, volMesh> fieldType2;
|
||||
@ -207,12 +250,16 @@ void Foam::fieldAverage::addMeanSqrToPrime2Mean
|
||||
if
|
||||
(
|
||||
faItems_[i].prime2Mean()
|
||||
&& meanFieldList.set(i)
|
||||
&& prime2MeanFieldList.set(i)
|
||||
&& meanFieldList[i] != word::null
|
||||
&& prime2MeanFieldList[i] != word::null
|
||||
)
|
||||
{
|
||||
const fieldType1& meanField = meanFieldList[i];
|
||||
fieldType2& prime2MeanField = prime2MeanFieldList[i];
|
||||
const fieldType1& meanField =
|
||||
obr_.lookupObject<fieldType1>(meanFieldList[i]);
|
||||
fieldType2& prime2MeanField = const_cast<fieldType2&>
|
||||
(
|
||||
obr_.lookupObject<fieldType2>(prime2MeanFieldList[i])
|
||||
);
|
||||
|
||||
prime2MeanField += sqr(meanField);
|
||||
}
|
||||
@ -221,16 +268,16 @@ void Foam::fieldAverage::addMeanSqrToPrime2Mean
|
||||
|
||||
|
||||
template<class Type>
|
||||
void Foam::fieldAverage::writeFieldList
|
||||
(
|
||||
const PtrList<GeometricField<Type, fvPatchField, volMesh> >& fieldList
|
||||
) const
|
||||
void Foam::fieldAverage::writeFieldList(const wordList& fieldList) const
|
||||
{
|
||||
typedef GeometricField<Type, fvPatchField, volMesh> fieldType;
|
||||
|
||||
forAll(fieldList, i)
|
||||
{
|
||||
if (fieldList.set(i))
|
||||
if (fieldList[i] != word::null)
|
||||
{
|
||||
fieldList[i].write();
|
||||
const fieldType& f = obr_.lookupObject<fieldType>(fieldList[i]);
|
||||
f.write();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -90,16 +90,10 @@ public:
|
||||
:
|
||||
liquid(60.056, 705.0, 9.050e+6, 0.218, 0.337, 405.85, 9.3131e+1, 465.0, 1.52e-29, 0.3449, 4.7813e+4),
|
||||
rho_(1230.006936, 0, 0, 0, 0, 0),
|
||||
pv_(12.06, -3992.0, 0, 0, 0),
|
||||
// hl_(1463034.50113228, 0, 0, 0, 0, 0),
|
||||
// NN. we cant use constant heat of vapourisation, the below value is linear (sqrt) interpolation to critical temp
|
||||
pv_(3015.15611544, -185497.059684, -430.223621983, 0.00017405122622, 2.0),
|
||||
hl_(705.0, 2534249.0, 0.5, 0.0, 0.0, 0.0),
|
||||
cp_(2006.46063673904, 0, 0, 0, 0, 0),
|
||||
// NN: enthalpy, h_, is not used in the sprayModel.
|
||||
// For consistency, the enthalpy is derived from hlat and hl.
|
||||
// It is, however, convenient to have it available.
|
||||
h_(-6154107.41641135, 2006.46063673904, 0, 0, 0, 0),
|
||||
|
||||
cpg_(811.875582789397, 2099.04089516451, 1627.3, 1603.63660583455, 724.41),
|
||||
B_(-0.000383641934194752, 0.447249234048222, -469062.208605302, 5.5628080458239e+18, -2.3040162514986e+21),
|
||||
mu_(-51.964, 3670.6, 5.7331, -5.3495e-29, 10),
|
||||
@ -107,7 +101,7 @@ public:
|
||||
K_(-0.4267, 0.0056903, -8.0065e-06, 1.815e-09, 0, 0),
|
||||
Kg_(6.977e-05, 1.1243, 844.9, -148850),
|
||||
sigma_(705.0, 1.0, 0.0, 0.0, 0.0, 0), // set to constant
|
||||
D_(147.18, 20.1, 60.056, 28) // NN: Same as nHeptane
|
||||
D_(147.18, 20.1, 60.056, 28) // Same as nHeptane
|
||||
{}
|
||||
CH4N2O
|
||||
(
|
||||
|
||||
@ -337,7 +337,7 @@ void LRR::correct()
|
||||
RASModel::correct();
|
||||
|
||||
volSymmTensorField P = -twoSymm(R_ & fvc::grad(U_));
|
||||
volScalarField G("G", 0.5*tr(P));
|
||||
volScalarField G("G", 0.5*mag(tr(P)));
|
||||
|
||||
// Update espsilon and G at the wall
|
||||
epsilon_.boundaryField().updateCoeffs();
|
||||
@ -376,7 +376,7 @@ void LRR::correct()
|
||||
{
|
||||
label faceCelli = curPatch.faceCells()[facei];
|
||||
P[faceCelli]
|
||||
*= min(G[faceCelli]/(0.5*tr(P[faceCelli]) + SMALL), 100.0);
|
||||
*= min(G[faceCelli]/(0.5*mag(tr(P[faceCelli])) + SMALL), 100.0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -367,7 +367,7 @@ void LaunderGibsonRSTM::correct()
|
||||
}
|
||||
|
||||
volSymmTensorField P = -twoSymm(R_ & fvc::grad(U_));
|
||||
volScalarField G("G", 0.5*tr(P));
|
||||
volScalarField G("G", 0.5*mag(tr(P)));
|
||||
|
||||
// Update espsilon and G at the wall
|
||||
epsilon_.boundaryField().updateCoeffs();
|
||||
@ -406,7 +406,7 @@ void LaunderGibsonRSTM::correct()
|
||||
{
|
||||
label faceCelli = curPatch.faceCells()[facei];
|
||||
P[faceCelli] *=
|
||||
min(G[faceCelli]/(0.5*tr(P[faceCelli]) + SMALL), 100.0);
|
||||
min(G[faceCelli]/(0.5*mag(tr(P[faceCelli])) + SMALL), 100.0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -297,7 +297,7 @@ void LRR::correct()
|
||||
}
|
||||
|
||||
volSymmTensorField P = -twoSymm(R_ & fvc::grad(U_));
|
||||
volScalarField G("G", 0.5*tr(P));
|
||||
volScalarField G("G", 0.5*mag(tr(P)));
|
||||
|
||||
// Update espsilon and G at the wall
|
||||
epsilon_.boundaryField().updateCoeffs();
|
||||
@ -307,6 +307,7 @@ void LRR::correct()
|
||||
(
|
||||
fvm::ddt(epsilon_)
|
||||
+ fvm::div(phi_, epsilon_)
|
||||
- fvm::Sp(fvc::div(phi_), epsilon_)
|
||||
//- fvm::laplacian(Ceps*(K/epsilon_)*R, epsilon_)
|
||||
- fvm::laplacian(DepsilonEff(), epsilon_)
|
||||
==
|
||||
@ -336,7 +337,7 @@ void LRR::correct()
|
||||
{
|
||||
label faceCelli = curPatch.faceCells()[facei];
|
||||
P[faceCelli]
|
||||
*= min(G[faceCelli]/(0.5*tr(P[faceCelli]) + SMALL), 1.0);
|
||||
*= min(G[faceCelli]/(0.5*mag(tr(P[faceCelli])) + SMALL), 1.0);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -346,6 +347,7 @@ void LRR::correct()
|
||||
(
|
||||
fvm::ddt(R_)
|
||||
+ fvm::div(phi_, R_)
|
||||
- fvm::Sp(fvc::div(phi_), R_)
|
||||
//- fvm::laplacian(Cs*(k_/epsilon_)*R_, R_)
|
||||
- fvm::laplacian(DREff(), R_)
|
||||
+ fvm::Sp(Clrr1_*epsilon_/k_, R_)
|
||||
|
||||
@ -329,7 +329,7 @@ void LaunderGibsonRSTM::correct()
|
||||
}
|
||||
|
||||
volSymmTensorField P = -twoSymm(R_ & fvc::grad(U_));
|
||||
volScalarField G("G", 0.5*tr(P));
|
||||
volScalarField G("G", 0.5*mag(tr(P)));
|
||||
|
||||
// Update espsilon and G at the wall
|
||||
epsilon_.boundaryField().updateCoeffs();
|
||||
@ -339,6 +339,7 @@ void LaunderGibsonRSTM::correct()
|
||||
(
|
||||
fvm::ddt(epsilon_)
|
||||
+ fvm::div(phi_, epsilon_)
|
||||
- fvm::Sp(fvc::div(phi_), epsilon_)
|
||||
//- fvm::laplacian(Ceps*(k_/epsilon_)*R_, epsilon_)
|
||||
- fvm::laplacian(DepsilonEff(), epsilon_)
|
||||
==
|
||||
@ -368,7 +369,7 @@ void LaunderGibsonRSTM::correct()
|
||||
{
|
||||
label faceCelli = curPatch.faceCells()[facei];
|
||||
P[faceCelli] *=
|
||||
min(G[faceCelli]/(0.5*tr(P[faceCelli]) + SMALL), 1.0);
|
||||
min(G[faceCelli]/(0.5*mag(tr(P[faceCelli])) + SMALL), 1.0);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -379,6 +380,7 @@ void LaunderGibsonRSTM::correct()
|
||||
(
|
||||
fvm::ddt(R_)
|
||||
+ fvm::div(phi_, R_)
|
||||
- fvm::Sp(fvc::div(phi_), R_)
|
||||
//- fvm::laplacian(Cs*(k_/epsilon_)*R_, R_)
|
||||
- fvm::laplacian(DREff(), R_)
|
||||
+ fvm::Sp(Clg1_*epsilon_/k_, R_)
|
||||
|
||||
@ -249,7 +249,7 @@ tmp<volScalarField> SpalartAllmaras::epsilon() const
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"epslion",
|
||||
"epsilon",
|
||||
runTime_.timeName(),
|
||||
mesh_
|
||||
),
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: http://www.OpenFOAM.org |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
@ -10,6 +10,7 @@ FoamFile
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "constant";
|
||||
object boxTurbDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
@ -18,4 +19,5 @@ Ea 10;
|
||||
|
||||
k0 5;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
21
tutorials/DNS/dnsFoam/boxTurb16/constant/transportProperties
Normal file
21
tutorials/DNS/dnsFoam/boxTurb16/constant/transportProperties
Normal file
@ -0,0 +1,21 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "constant";
|
||||
object transportProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
nu nu [ 0 2 -1 0 0 0 0 ] 0.025;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -2,7 +2,7 @@
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: http://www.OpenFOAM.org |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
@ -10,16 +10,18 @@ FoamFile
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "constant";
|
||||
object turbulenceProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
UOsigma 0.090295049;
|
||||
UOsigma 0.090295;
|
||||
|
||||
UOalpha 0.81532036;
|
||||
UOalpha 0.81532;
|
||||
|
||||
UOKupper 10;
|
||||
|
||||
UOKlower 7;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -2,7 +2,7 @@
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: http://www.OpenFOAM.org |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
@ -10,11 +10,11 @@ FoamFile
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "system";
|
||||
object controlDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
startFrom startTime;
|
||||
|
||||
startTime 0;
|
||||
@ -45,4 +45,5 @@ runTimeModifiable yes;
|
||||
|
||||
graphFormat raw;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -2,7 +2,7 @@
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: http://www.OpenFOAM.org |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
@ -10,13 +10,14 @@ FoamFile
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "system";
|
||||
object fvSchemes;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
ddtSchemes
|
||||
{
|
||||
default Euler;
|
||||
default Euler;
|
||||
}
|
||||
|
||||
gradSchemes
|
||||
@ -53,7 +54,8 @@ snGradSchemes
|
||||
fluxRequired
|
||||
{
|
||||
default no;
|
||||
p;
|
||||
p ;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -2,7 +2,7 @@
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: http://www.OpenFOAM.org |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
@ -10,24 +10,28 @@ FoamFile
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "system";
|
||||
object fvSolution;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
solvers
|
||||
{
|
||||
p PCG
|
||||
p
|
||||
{
|
||||
preconditioner DIC;
|
||||
tolerance 1e-06;
|
||||
relTol 0;
|
||||
};
|
||||
U PBiCG
|
||||
solver PCG;
|
||||
preconditioner DIC;
|
||||
tolerance 1e-06;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
U
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
}
|
||||
}
|
||||
|
||||
PISO
|
||||
@ -36,4 +40,5 @@ PISO
|
||||
nNonOrthogonalCorrectors 0;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,3 @@
|
||||
rhoPisoTwinParcelFoam.C
|
||||
|
||||
EXE = $(FOAM_USER_APPBIN)/rhoPisoTwinParcelFoam
|
||||
@ -0,0 +1,20 @@
|
||||
Info<< "Constructing thermoCloud1" << endl;
|
||||
basicThermoCloud thermoCloud1
|
||||
(
|
||||
"thermoCloud1",
|
||||
rho,
|
||||
U,
|
||||
g,
|
||||
thermo()
|
||||
);
|
||||
|
||||
Info<< "Constructing kinematicCloud1" << endl;
|
||||
basicKinematicCloud kinematicCloud1
|
||||
(
|
||||
"kinematicCloud1",
|
||||
rho,
|
||||
U,
|
||||
thermo().mu(),
|
||||
g
|
||||
);
|
||||
|
||||
@ -43,30 +43,16 @@
|
||||
Info<< "Creating turbulence model\n" << endl;
|
||||
autoPtr<compressible::turbulenceModel> turbulence
|
||||
(
|
||||
compressible::turbulenceModel::New(rho, U, phi, thermo())
|
||||
compressible::turbulenceModel::New
|
||||
(
|
||||
rho,
|
||||
U,
|
||||
phi,
|
||||
thermo()
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
Info<< "Creating field DpDt\n" << endl;
|
||||
volScalarField DpDt =
|
||||
fvc::DDt(surfaceScalarField("phiU", phi/fvc::interpolate(rho)), p);
|
||||
|
||||
Info<< "Constructing thermoCloud1" << endl;
|
||||
basicThermoCloud thermoCloud1
|
||||
(
|
||||
"thermoCloud1",
|
||||
rho,
|
||||
U,
|
||||
g,
|
||||
thermo()
|
||||
);
|
||||
|
||||
Info<< "Constructing kinematicCloud1" << endl;
|
||||
basicKinematicCloud kinematicCloud1
|
||||
(
|
||||
"kinematicCloud1",
|
||||
rho,
|
||||
U,
|
||||
thermo().mu(),
|
||||
g
|
||||
);
|
||||
|
||||
@ -23,7 +23,7 @@ License
|
||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
Application
|
||||
rhoTurbFoam
|
||||
rhoPisoTwinParcelFoam
|
||||
|
||||
Description
|
||||
Transient solver for compressible, turbulent flow with two thermo-clouds.
|
||||
@ -48,6 +48,7 @@ int main(int argc, char *argv[])
|
||||
# include "createMesh.H"
|
||||
# include "readEnvironmentalProperties.H"
|
||||
# include "createFields.H"
|
||||
# include "createClouds.H"
|
||||
# include "readPISOControls.H"
|
||||
# include "initContinuityErrs.H"
|
||||
# include "readTimeControls.H"
|
||||
@ -0,0 +1,100 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "constant";
|
||||
object RASProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
RASModel kEpsilon;
|
||||
|
||||
turbulence on;
|
||||
|
||||
printCoeffs on;
|
||||
|
||||
laminarCoeffs
|
||||
{
|
||||
}
|
||||
|
||||
kEpsilonCoeffs
|
||||
{
|
||||
Cmu 0.09;
|
||||
C1 1.44;
|
||||
C2 1.92;
|
||||
C3 -0.33;
|
||||
alphah 1;
|
||||
alphak 1;
|
||||
alphaEps 0.76923;
|
||||
}
|
||||
|
||||
RNGkEpsilonCoeffs
|
||||
{
|
||||
Cmu 0.0845;
|
||||
C1 1.42;
|
||||
C2 1.68;
|
||||
C3 -0.33;
|
||||
alphah 1;
|
||||
alphak 1.39;
|
||||
alphaEps 1.39;
|
||||
eta0 4.38;
|
||||
beta 0.012;
|
||||
}
|
||||
|
||||
LaunderSharmaKECoeffs
|
||||
{
|
||||
Cmu 0.09;
|
||||
C1 1.44;
|
||||
C2 1.92;
|
||||
C3 -0.33;
|
||||
alphah 1;
|
||||
alphak 1;
|
||||
alphaEps 0.76923;
|
||||
}
|
||||
|
||||
LRRCoeffs
|
||||
{
|
||||
Cmu 0.09;
|
||||
Clrr1 1.8;
|
||||
Clrr2 0.6;
|
||||
C1 1.44;
|
||||
C2 1.92;
|
||||
Cs 0.25;
|
||||
Ceps 0.15;
|
||||
alphah 1;
|
||||
alphaEps 0.76923;
|
||||
alphaR 1.22;
|
||||
}
|
||||
|
||||
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;
|
||||
alphah 1;
|
||||
alphaEps 0.76923;
|
||||
alphaR 1.22;
|
||||
}
|
||||
|
||||
wallFunctionCoeffs
|
||||
{
|
||||
kappa 0.4187;
|
||||
E 9;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,21 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "constant";
|
||||
object environmentalProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
g g [ 0 1 -2 0 0 0 0 ] ( 0 -9.81 0 );
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,117 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "constant";
|
||||
object kinematicCloud1Properties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
InjectionModel ManualInjection;
|
||||
|
||||
DragModel SphereDrag;
|
||||
|
||||
DispersionModel StochasticDispersionRAS;
|
||||
|
||||
WallInteractionModel StandardWallInteraction;
|
||||
|
||||
minParticleMass minParticleMass [ 1 0 0 0 0 ] 1e-15;
|
||||
|
||||
rho0 rho0 [ 1 -3 0 0 0 ] 5000;
|
||||
|
||||
coupled true;
|
||||
|
||||
parcelTypeId 2;
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
rho cell;
|
||||
U cellPointFace;
|
||||
mu cell;
|
||||
}
|
||||
|
||||
integrationSchemes
|
||||
{
|
||||
U Euler;
|
||||
}
|
||||
|
||||
ManualInjectionCoeffs
|
||||
{
|
||||
parcelBasisType mass;
|
||||
massTotal massTotal [ 1 0 0 0 0 ] 0.0002;
|
||||
SOI 0;
|
||||
positionsFile kinematicCloud1Positions;
|
||||
U0 ( 0 0 0 );
|
||||
parcelPDF
|
||||
{
|
||||
pdfType RosinRammler;
|
||||
RosinRammlerPDF
|
||||
{
|
||||
minValue 5e-05;
|
||||
maxValue 0.0001;
|
||||
d ( 7.5e-05 );
|
||||
n ( 0.5 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ConeInjectionCoeffs
|
||||
{
|
||||
SOI 0.001;
|
||||
duration 0.005;
|
||||
position ( 0.25 0.25 0.05 );
|
||||
direction ( 0 -1 0 );
|
||||
parcelsPerSecond 10000;
|
||||
volumeFlowRate Constant;
|
||||
volumeFlowRateCoeffs
|
||||
{
|
||||
value 0.01;
|
||||
}
|
||||
|
||||
Umag Constant;
|
||||
UmagCoeffs
|
||||
{
|
||||
value 50;
|
||||
}
|
||||
|
||||
thetaInner Constant;
|
||||
thetaInnerCoeffs
|
||||
{
|
||||
value 0;
|
||||
}
|
||||
|
||||
thetaOuter Constant;
|
||||
thetaOuterCoeffs
|
||||
{
|
||||
value 30;
|
||||
}
|
||||
|
||||
parcelPDF
|
||||
{
|
||||
pdfType RosinRammler;
|
||||
RosinRammlerPDF
|
||||
{
|
||||
minValue 5e-05;
|
||||
maxValue 0.0001;
|
||||
d ( 7.5e-05 );
|
||||
n ( 0.5 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
StandardWallInteractionCoeffs
|
||||
{
|
||||
e e [ 0 0 0 0 0 ] 1;
|
||||
mu mu [ 0 0 0 0 0 ] 0;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,93 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "constant";
|
||||
object thermoCloud1Properties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
InjectionModel ManualInjection;
|
||||
|
||||
DragModel SphereDrag;
|
||||
|
||||
DispersionModel StochasticDispersionRAS;
|
||||
|
||||
WallInteractionModel StandardWallInteraction;
|
||||
|
||||
HeatTransferModel RanzMarshall;
|
||||
|
||||
radiation off;
|
||||
|
||||
minParticleMass minParticleMass [ 1 0 0 0 0 ] 1e-15;
|
||||
|
||||
rho0 rho0 [ 1 -3 0 0 0 ] 2500;
|
||||
|
||||
T0 T0 [ 0 0 0 1 0 ] 300;
|
||||
|
||||
cp0 cp0 [ 0 2 -2 -1 0 ] 900;
|
||||
|
||||
epsilon0 epsilon0 [ 0 0 0 0 0 ] 1;
|
||||
|
||||
f0 f0 [ 0 0 0 0 0 ] 0.5;
|
||||
|
||||
coupled true;
|
||||
|
||||
parcelTypeId 1;
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
rho cell;
|
||||
U cellPointFace;
|
||||
mu cell;
|
||||
T cell;
|
||||
Cp cell;
|
||||
}
|
||||
|
||||
integrationSchemes
|
||||
{
|
||||
U Euler;
|
||||
T Analytical;
|
||||
}
|
||||
|
||||
ManualInjectionCoeffs
|
||||
{
|
||||
massTotal massTotal [ 1 0 0 0 0 ] 0.0001;
|
||||
parcelBasisType mass;
|
||||
SOI 0;
|
||||
positionsFile thermoCloud1Positions;
|
||||
U0 ( 0 0 0 );
|
||||
parcelPDF
|
||||
{
|
||||
pdfType RosinRammler;
|
||||
RosinRammlerPDF
|
||||
{
|
||||
minValue 5e-06;
|
||||
maxValue 0.0005;
|
||||
d ( 5e-05 );
|
||||
n ( 0.5 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
StandardWallInteractionCoeffs
|
||||
{
|
||||
e e [ 0 0 0 0 0 ] 1;
|
||||
mu mu [ 0 0 0 0 0 ] 0;
|
||||
}
|
||||
|
||||
RanzMarshallCoeffs
|
||||
{
|
||||
Pr Pr [ 0 0 0 0 0 ] 0.7;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -2,7 +2,7 @@
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: http://www.OpenFOAM.org |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
@ -10,13 +10,14 @@ FoamFile
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "constant";
|
||||
object thermophysicalProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
// Thermophysical model
|
||||
thermoType hThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>>>;
|
||||
|
||||
mixture air 1 28.9 1007 0 1.84e-05 0.7;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,53 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "system";
|
||||
object controlDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
startFrom latestTime;
|
||||
|
||||
startTime 0;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime 0.5;
|
||||
|
||||
deltaT 0.0001;
|
||||
|
||||
writeControl adjustableRunTime;
|
||||
|
||||
writeInterval 0.01;
|
||||
|
||||
purgeWrite 0;
|
||||
|
||||
writeFormat ascii;
|
||||
|
||||
writePrecision 10;
|
||||
|
||||
writeCompression uncompressed;
|
||||
|
||||
timeFormat general;
|
||||
|
||||
timePrecision 6;
|
||||
|
||||
runTimeModifiable yes;
|
||||
|
||||
adjustTimeStep yes;
|
||||
|
||||
maxCo 0.2;
|
||||
|
||||
maxDeltaT 1;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -2,7 +2,7 @@
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: http://www.OpenFOAM.org |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
@ -10,6 +10,7 @@ FoamFile
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "system";
|
||||
object decomposeParDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
@ -20,26 +21,20 @@ method metis;
|
||||
|
||||
simpleCoeffs
|
||||
{
|
||||
n (2 2 1);
|
||||
n ( 2 2 1 );
|
||||
delta 0.001;
|
||||
}
|
||||
|
||||
hierarchicalCoeffs
|
||||
{
|
||||
n (1 1 1);
|
||||
n ( 1 1 1 );
|
||||
delta 0.001;
|
||||
order xyz;
|
||||
}
|
||||
|
||||
metisCoeffs
|
||||
{
|
||||
processorWeights
|
||||
(
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
);
|
||||
processorWeights ( 1 1 1 1 );
|
||||
}
|
||||
|
||||
manualCoeffs
|
||||
@ -49,8 +44,7 @@ manualCoeffs
|
||||
|
||||
distributed no;
|
||||
|
||||
roots
|
||||
(
|
||||
);
|
||||
roots ( );
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,72 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "system";
|
||||
object fvSchemes;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
ddtSchemes
|
||||
{
|
||||
default Euler;
|
||||
}
|
||||
|
||||
gradSchemes
|
||||
{
|
||||
default Gauss linear;
|
||||
grad(p) Gauss linear;
|
||||
}
|
||||
|
||||
divSchemes
|
||||
{
|
||||
default none;
|
||||
div(phi,U) Gauss upwind;
|
||||
div(phid,p) Gauss upwind;
|
||||
div(phiU,p) Gauss linear;
|
||||
div(phi,h) Gauss upwind;
|
||||
div(phi,k) Gauss upwind;
|
||||
div(phi,epsilon) Gauss upwind;
|
||||
div(U) Gauss linear;
|
||||
div((muEff*dev2(grad(U).T()))) Gauss linear;
|
||||
div(phi,Yi_h) Gauss upwind;
|
||||
}
|
||||
|
||||
laplacianSchemes
|
||||
{
|
||||
default Gauss linear corrected;
|
||||
laplacian(muEff,U) Gauss linear corrected;
|
||||
laplacian(mut,U) Gauss linear corrected;
|
||||
laplacian(DkEff,k) Gauss linear corrected;
|
||||
laplacian(DepsilonEff,epsilon) Gauss linear corrected;
|
||||
laplacian(DREff,R) Gauss linear corrected;
|
||||
laplacian((rho*(1|A(U))),p) Gauss linear corrected;
|
||||
laplacian(alphaEff,h) Gauss linear corrected;
|
||||
}
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
default linear;
|
||||
}
|
||||
|
||||
snGradSchemes
|
||||
{
|
||||
default corrected;
|
||||
}
|
||||
|
||||
fluxRequired
|
||||
{
|
||||
default no;
|
||||
p ;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,158 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "system";
|
||||
object fvSolution;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
solvers
|
||||
{
|
||||
rho
|
||||
{
|
||||
solver PCG;
|
||||
preconditioner DIC;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
U
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
p
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-06;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
G
|
||||
{
|
||||
solver PCG;
|
||||
preconditioner DIC;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
Yi
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-06;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
CO2
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-06;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
O2
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-06;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
N2
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-06;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
CH4
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-06;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
H2
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-06;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
H2O
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-06;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
CO
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-06;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
h
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
R
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
k
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
epsilon
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
}
|
||||
}
|
||||
|
||||
PISO
|
||||
{
|
||||
transonic yes;
|
||||
nCorrectors 2;
|
||||
nNonOrthogonalCorrectors 0;
|
||||
momentumPredictor yes;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -1,191 +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 dictionary;
|
||||
object RASProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
RASModel kEpsilon;
|
||||
|
||||
turbulence on;
|
||||
|
||||
printCoeffs on;
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -1,36 +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 dictionary;
|
||||
object cellSetDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
// Name of set to operate on
|
||||
name rotor;
|
||||
|
||||
// One of clear/new/invert/add/delete|subset/list
|
||||
action new;
|
||||
|
||||
// Actions to apply to cellSet. These are all the topoSetSource's ending
|
||||
// in ..ToCell (see the meshTools library).
|
||||
|
||||
topoSetSources
|
||||
(
|
||||
// Cells in cell zone
|
||||
zoneToCell
|
||||
{
|
||||
name rotor; // name of cellZone
|
||||
}
|
||||
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -1,33 +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 dictionary;
|
||||
object faceSetDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
// Name of set to operate on
|
||||
name rotor;
|
||||
|
||||
// One of clear/new/invert/add/delete|subset/list
|
||||
action delete;
|
||||
|
||||
// Actions to apply to pointSet. These are all the topoSetSource's ending
|
||||
// in ..ToFace (see the meshTools library).
|
||||
topoSetSources
|
||||
(
|
||||
// Select boundary faces
|
||||
boundaryToFace
|
||||
{
|
||||
}
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -1,33 +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 dictionary;
|
||||
object faceSetDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
// Name of set to operate on
|
||||
name rotor;
|
||||
|
||||
// One of clear/new/invert/add/delete|subset/list
|
||||
action delete;
|
||||
|
||||
// Actions to apply to pointSet. These are all the topoSetSource's ending
|
||||
// in ..ToFace (see the meshTools library).
|
||||
topoSetSources
|
||||
(
|
||||
// Select boundary faces
|
||||
boundaryToFace
|
||||
{
|
||||
}
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -1,35 +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 dictionary;
|
||||
object faceSetDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
// Name of set to operate on
|
||||
name rotor;
|
||||
|
||||
// One of clear/new/invert/add/delete|subset/list
|
||||
action new;
|
||||
|
||||
// Actions to apply to pointSet. These are all the topoSetSource's ending
|
||||
// in ..ToFace (see the meshTools library).
|
||||
topoSetSources
|
||||
(
|
||||
// Select based on cellSet
|
||||
cellToFace
|
||||
{
|
||||
set rotor;
|
||||
option all; // All faces of cells
|
||||
}
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -1,98 +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 dictionary;
|
||||
object RASProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
RASModel LaunderSharmaKE;
|
||||
|
||||
turbulence on;
|
||||
|
||||
printCoeffs on;
|
||||
|
||||
laminarCoeffs
|
||||
{
|
||||
}
|
||||
|
||||
kEpsilonCoeffs
|
||||
{
|
||||
Cmu 0.09;
|
||||
C1 1.44;
|
||||
C2 1.92;
|
||||
C3 0;
|
||||
alphah 1.111;
|
||||
alphak 1;
|
||||
alphaEps 0.76923;
|
||||
}
|
||||
|
||||
RNGkEpsilonCoeffs
|
||||
{
|
||||
Cmu 0.0845;
|
||||
C1 1.42;
|
||||
C2 1.68;
|
||||
C3 0;
|
||||
alphah 1.111;
|
||||
alphak 1.39;
|
||||
alphaEps 1.39;
|
||||
eta0 4.38;
|
||||
beta 0.012;
|
||||
}
|
||||
|
||||
LaunderSharmaKECoeffs
|
||||
{
|
||||
Cmu 0.09;
|
||||
C1 1.44;
|
||||
C2 1.92;
|
||||
C3 0;
|
||||
alphah 1.111;
|
||||
alphak 1;
|
||||
alphaEps 0.76923;
|
||||
}
|
||||
|
||||
LRRCoeffs
|
||||
{
|
||||
Cmu 0.09;
|
||||
Clrr1 1.8;
|
||||
Clrr2 0.6;
|
||||
C1 1.44;
|
||||
C2 1.92;
|
||||
Cs 0.25;
|
||||
Ceps 0.15;
|
||||
alphah 1;
|
||||
alphaEps 0.76923;
|
||||
alphaR 1.22;
|
||||
}
|
||||
|
||||
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;
|
||||
alphah 1;
|
||||
alphaEps 0.76923;
|
||||
alphaR 1.22;
|
||||
}
|
||||
|
||||
wallFunctionCoeffs
|
||||
{
|
||||
kappa 0.4187;
|
||||
E 9;
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -1,106 +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 dictionary;
|
||||
object fvSolution;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
solvers
|
||||
{
|
||||
rho PCG
|
||||
{
|
||||
preconditioner DIC;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
U PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
p PCG
|
||||
{
|
||||
preconditioner DIC;
|
||||
tolerance 1e-06;
|
||||
relTol 0;
|
||||
};
|
||||
ft PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
fu PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
b PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
Xi PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
Su PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
h PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
hu PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
R PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
k PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
epsilon PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
}
|
||||
|
||||
PISO
|
||||
{
|
||||
nCorrectors 2;
|
||||
nNonOrthogonalCorrectors 0;
|
||||
momentumPredictor yes;
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -1,105 +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 dictionary;
|
||||
object fvSolution;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
solvers
|
||||
{
|
||||
rho PCG
|
||||
{
|
||||
preconditioner DIC;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
U PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
p PCG
|
||||
{
|
||||
preconditioner DIC;
|
||||
tolerance 1e-06;
|
||||
relTol 0;
|
||||
};
|
||||
ft PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
fu PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
b PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
Xi PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
Su PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
h PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
hu PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
R PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
k PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
epsilon PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
}
|
||||
|
||||
PISO
|
||||
{
|
||||
nCorrectors 2;
|
||||
nNonOrthogonalCorrectors 0;
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -1,105 +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 dictionary;
|
||||
object fvSolution;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
solvers
|
||||
{
|
||||
rho PCG
|
||||
{
|
||||
preconditioner DIC;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
U PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
p PCG
|
||||
{
|
||||
preconditioner DIC;
|
||||
tolerance 1e-06;
|
||||
relTol 0;
|
||||
};
|
||||
ft PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
fu PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
b PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
Xi PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
Su PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
h PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
hu PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
R PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
k PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
epsilon PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
};
|
||||
}
|
||||
|
||||
PISO
|
||||
{
|
||||
nCorrectors 2;
|
||||
nNonOrthogonalCorrectors 0;
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,21 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "constant";
|
||||
object transportProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
DT DT [ 0 2 -1 0 0 0 0 ] 4e-05;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -2,7 +2,7 @@
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: http://www.OpenFOAM.org |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
@ -10,11 +10,11 @@ FoamFile
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "system";
|
||||
object controlDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
startFrom latestTime;
|
||||
|
||||
startTime 0;
|
||||
@ -43,4 +43,5 @@ timePrecision 6;
|
||||
|
||||
runTimeModifiable yes;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -2,7 +2,7 @@
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: http://www.OpenFOAM.org |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
@ -10,13 +10,14 @@ FoamFile
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "system";
|
||||
object fvSchemes;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
ddtSchemes
|
||||
{
|
||||
default Euler;
|
||||
default Euler;
|
||||
}
|
||||
|
||||
gradSchemes
|
||||
@ -33,7 +34,7 @@ divSchemes
|
||||
laplacianSchemes
|
||||
{
|
||||
default none;
|
||||
laplacian(DT,T) Gauss linear corrected;
|
||||
laplacian(DT,T) Gauss linear corrected;
|
||||
}
|
||||
|
||||
interpolationSchemes
|
||||
@ -49,7 +50,8 @@ snGradSchemes
|
||||
fluxRequired
|
||||
{
|
||||
default no;
|
||||
T;
|
||||
T ;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -2,7 +2,7 @@
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: http://www.OpenFOAM.org |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
@ -10,18 +10,20 @@ FoamFile
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "system";
|
||||
object fvSolution;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
solvers
|
||||
{
|
||||
T PCG
|
||||
T
|
||||
{
|
||||
preconditioner DIC;
|
||||
tolerance 1e-06;
|
||||
relTol 0;
|
||||
};
|
||||
solver PCG;
|
||||
preconditioner DIC;
|
||||
tolerance 1e-06;
|
||||
relTol 0;
|
||||
}
|
||||
}
|
||||
|
||||
SIMPLE
|
||||
@ -29,4 +31,5 @@ SIMPLE
|
||||
nNonOrthogonalCorrectors 2;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user