mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge branch 'master' of /home/noisy3/OpenFOAM/OpenFOAM-dev
This commit is contained in:
@ -4,4 +4,3 @@ scalar maxAcousticCo
|
|||||||
(
|
(
|
||||||
readScalar(runTime.controlDict().lookup("maxAcousticCo"))
|
readScalar(runTime.controlDict().lookup("maxAcousticCo"))
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@ -340,7 +340,7 @@ endif
|
|||||||
# ~~~~~~~~~~~~~~
|
# ~~~~~~~~~~~~~~
|
||||||
|
|
||||||
set boost_version=boost_1_45_0
|
set boost_version=boost_1_45_0
|
||||||
set cgal_version=CGAL-3.7
|
set cgal_version=CGAL-3.8
|
||||||
|
|
||||||
setenv BOOST_ARCH_PATH $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$boost_version
|
setenv BOOST_ARCH_PATH $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$boost_version
|
||||||
setenv CGAL_ARCH_PATH $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$cgal_version
|
setenv CGAL_ARCH_PATH $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$cgal_version
|
||||||
|
|||||||
@ -358,7 +358,7 @@ fi
|
|||||||
# ~~~~~~~~~~~~~~
|
# ~~~~~~~~~~~~~~
|
||||||
|
|
||||||
boost_version=boost_1_45_0
|
boost_version=boost_1_45_0
|
||||||
cgal_version=CGAL-3.7
|
cgal_version=CGAL-3.8
|
||||||
|
|
||||||
export BOOST_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$boost_version
|
export BOOST_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$boost_version
|
||||||
export CGAL_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$cgal_version
|
export CGAL_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$cgal_version
|
||||||
|
|||||||
@ -137,7 +137,7 @@ Foam::pimpleControl::pimpleControl(fvMesh& mesh)
|
|||||||
{
|
{
|
||||||
Info<< " field " << residualControl_[i].name << token::TAB
|
Info<< " field " << residualControl_[i].name << token::TAB
|
||||||
<< ": relTol " << residualControl_[i].relTol
|
<< ": relTol " << residualControl_[i].relTol
|
||||||
<< ", absTol " << residualControl_[i].absTol
|
<< ", tolerance " << residualControl_[i].absTol
|
||||||
<< nl;
|
<< nl;
|
||||||
}
|
}
|
||||||
Info<< endl;
|
Info<< endl;
|
||||||
|
|||||||
@ -68,7 +68,7 @@ bool Foam::simpleControl::criteriaSatisfied()
|
|||||||
{
|
{
|
||||||
Info<< algorithmName_ << " solution statistics:" << endl;
|
Info<< algorithmName_ << " solution statistics:" << endl;
|
||||||
|
|
||||||
Info<< " " << variableName << ": abs tol = " << residual
|
Info<< " " << variableName << ": tolerance = " << residual
|
||||||
<< " (" << residualControl_[fieldI].absTol << ")"
|
<< " (" << residualControl_[fieldI].absTol << ")"
|
||||||
<< endl;
|
<< endl;
|
||||||
}
|
}
|
||||||
@ -96,7 +96,7 @@ Foam::simpleControl::simpleControl(fvMesh& mesh)
|
|||||||
forAll(residualControl_, i)
|
forAll(residualControl_, i)
|
||||||
{
|
{
|
||||||
Info<< " field " << residualControl_[i].name << token::TAB
|
Info<< " field " << residualControl_[i].name << token::TAB
|
||||||
<< " absTol " << residualControl_[i].absTol
|
<< " tolerance " << residualControl_[i].absTol
|
||||||
<< nl;
|
<< nl;
|
||||||
}
|
}
|
||||||
Info<< endl;
|
Info<< endl;
|
||||||
|
|||||||
@ -68,7 +68,7 @@ void Foam::solutionControl::read(const bool absTolOnly)
|
|||||||
if (iter().isDict())
|
if (iter().isDict())
|
||||||
{
|
{
|
||||||
const dictionary& fieldDict(iter().dict());
|
const dictionary& fieldDict(iter().dict());
|
||||||
fd.absTol = readScalar(fieldDict.lookup("absTol"));
|
fd.absTol = readScalar(fieldDict.lookup("tolerance"));
|
||||||
fd.relTol = readScalar(fieldDict.lookup("relTol"));
|
fd.relTol = readScalar(fieldDict.lookup("relTol"));
|
||||||
fd.initialResidual = 0.0;
|
fd.initialResidual = 0.0;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -367,7 +367,7 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calc
|
|||||||
d0,
|
d0,
|
||||||
U0,
|
U0,
|
||||||
rho0,
|
rho0,
|
||||||
0.5*(mass0 + mass1),
|
mass0,
|
||||||
Su,
|
Su,
|
||||||
dUTrans,
|
dUTrans,
|
||||||
Spu
|
Spu
|
||||||
@ -384,16 +384,18 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calc
|
|||||||
{
|
{
|
||||||
scalar dm = np0*dMassGas[i];
|
scalar dm = np0*dMassGas[i];
|
||||||
label gid = composition.localToGlobalCarrierId(GAS, i);
|
label gid = composition.localToGlobalCarrierId(GAS, i);
|
||||||
scalar hs = composition.carrier().Hs(gid, 0.5*(T0 + T1));
|
scalar hs = composition.carrier().Hs(gid, T0);
|
||||||
td.cloud().rhoTrans(gid)[cellI] += dm;
|
td.cloud().rhoTrans(gid)[cellI] += dm;
|
||||||
|
td.cloud().UTrans()[cellI] += dm*U0;
|
||||||
td.cloud().hsTrans()[cellI] += dm*hs;
|
td.cloud().hsTrans()[cellI] += dm*hs;
|
||||||
}
|
}
|
||||||
forAll(YLiquid_, i)
|
forAll(YLiquid_, i)
|
||||||
{
|
{
|
||||||
scalar dm = np0*dMassLiquid[i];
|
scalar dm = np0*dMassLiquid[i];
|
||||||
label gid = composition.localToGlobalCarrierId(LIQ, i);
|
label gid = composition.localToGlobalCarrierId(LIQ, i);
|
||||||
scalar hs = composition.carrier().Hs(gid, 0.5*(T0 + T1));
|
scalar hs = composition.carrier().Hs(gid, T0);
|
||||||
td.cloud().rhoTrans(gid)[cellI] += dm;
|
td.cloud().rhoTrans(gid)[cellI] += dm;
|
||||||
|
td.cloud().UTrans()[cellI] += dm*U0;
|
||||||
td.cloud().hsTrans()[cellI] += dm*hs;
|
td.cloud().hsTrans()[cellI] += dm*hs;
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
@ -402,16 +404,18 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calc
|
|||||||
{
|
{
|
||||||
scalar dm = np0*dMassSolid[i];
|
scalar dm = np0*dMassSolid[i];
|
||||||
label gid = composition.localToGlobalCarrierId(SLD, i);
|
label gid = composition.localToGlobalCarrierId(SLD, i);
|
||||||
scalar hs = composition.carrier().Hs(gid, 0.5*(T0 + T1));
|
scalar hs = composition.carrier().Hs(gid, T0);
|
||||||
td.cloud().rhoTrans(gid)[cellI] += dm;
|
td.cloud().rhoTrans(gid)[cellI] += dm;
|
||||||
|
td.cloud().UTrans()[cellI] += dm*U0;
|
||||||
td.cloud().hsTrans()[cellI] += dm*hs;
|
td.cloud().hsTrans()[cellI] += dm*hs;
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
forAll(dMassSRCarrier, i)
|
forAll(dMassSRCarrier, i)
|
||||||
{
|
{
|
||||||
scalar dm = np0*dMassSRCarrier[i];
|
scalar dm = np0*dMassSRCarrier[i];
|
||||||
scalar hs = composition.carrier().Hs(i, 0.5*(T0 + T1));
|
scalar hs = composition.carrier().Hs(i, T0);
|
||||||
td.cloud().rhoTrans(i)[cellI] += dm;
|
td.cloud().rhoTrans(i)[cellI] += dm;
|
||||||
|
td.cloud().UTrans()[cellI] += dm*U0;
|
||||||
td.cloud().hsTrans()[cellI] += dm*hs;
|
td.cloud().hsTrans()[cellI] += dm*hs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -389,7 +389,7 @@ void Foam::ReactingParcel<ParcelType>::calc
|
|||||||
d0,
|
d0,
|
||||||
U0,
|
U0,
|
||||||
rho0,
|
rho0,
|
||||||
0.5*(mass0 + mass1),
|
mass0,
|
||||||
Su,
|
Su,
|
||||||
dUTrans,
|
dUTrans,
|
||||||
Spu
|
Spu
|
||||||
@ -405,9 +405,10 @@ void Foam::ReactingParcel<ParcelType>::calc
|
|||||||
{
|
{
|
||||||
scalar dm = np0*dMass[i];
|
scalar dm = np0*dMass[i];
|
||||||
label gid = composition.localToGlobalCarrierId(0, i);
|
label gid = composition.localToGlobalCarrierId(0, i);
|
||||||
scalar hs = composition.carrier().Hs(gid, 0.5*(T0 + T1));
|
scalar hs = composition.carrier().Hs(gid, T0);
|
||||||
|
|
||||||
td.cloud().rhoTrans(gid)[cellI] += dm;
|
td.cloud().rhoTrans(gid)[cellI] += dm;
|
||||||
|
td.cloud().UTrans()[cellI] += dm*U0;
|
||||||
td.cloud().hsTrans()[cellI] += dm*hs;
|
td.cloud().hsTrans()[cellI] += dm*hs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -107,7 +107,7 @@ protected:
|
|||||||
tmp<volScalarField> calcInvR1(const volVectorField& U) const;
|
tmp<volScalarField> calcInvR1(const volVectorField& U) const;
|
||||||
|
|
||||||
//- Calculate the cosine of the angle between gravity vector and
|
//- Calculate the cosine of the angle between gravity vector and
|
||||||
// cell out flow direction
|
// cell out flow direction
|
||||||
tmp<scalarField> calcCosAngle(const surfaceScalarField& phi) const;
|
tmp<scalarField> calcCosAngle(const surfaceScalarField& phi) const;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -91,7 +91,7 @@ void phaseChangeModel::correct
|
|||||||
);
|
);
|
||||||
|
|
||||||
latestMassPC_ = sum(dMass.internalField());
|
latestMassPC_ = sum(dMass.internalField());
|
||||||
totalMassPC_ += latestMassPC_;
|
totalMassPC_ += latestMassPC_;
|
||||||
|
|
||||||
availableMass -= dMass;
|
availableMass -= dMass;
|
||||||
dMass.correctBoundaryConditions();
|
dMass.correctBoundaryConditions();
|
||||||
|
|||||||
@ -28,7 +28,9 @@ License
|
|||||||
#include "IOmanip.H"
|
#include "IOmanip.H"
|
||||||
// For 'nearInfo' helper class only
|
// For 'nearInfo' helper class only
|
||||||
#include "directMappedPatchBase.H"
|
#include "directMappedPatchBase.H"
|
||||||
#include "meshSearch.H"
|
//#include "meshSearch.H"
|
||||||
|
#include "treeBoundBox.H"
|
||||||
|
#include "treeDataFace.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
@ -41,27 +43,116 @@ namespace Foam
|
|||||||
|
|
||||||
void Foam::patchProbes::findElements(const fvMesh& mesh)
|
void Foam::patchProbes::findElements(const fvMesh& mesh)
|
||||||
{
|
{
|
||||||
elementList_.clear();
|
|
||||||
elementList_.setSize(size());
|
const polyBoundaryMesh& bm = mesh.boundaryMesh();
|
||||||
|
|
||||||
|
label patchI = bm.findPatchID(patchName_);
|
||||||
|
|
||||||
|
if (patchI == -1)
|
||||||
|
{
|
||||||
|
FatalErrorIn
|
||||||
|
(
|
||||||
|
" Foam::patchProbes::findElements(const fvMesh&)"
|
||||||
|
) << " Unknown patch name "
|
||||||
|
<< patchName_ << endl
|
||||||
|
<< exit(FatalError);
|
||||||
|
}
|
||||||
|
|
||||||
// All the info for nearest. Construct to miss
|
// All the info for nearest. Construct to miss
|
||||||
List<directMappedPatchBase::nearInfo> nearest(this->size());
|
List<directMappedPatchBase::nearInfo> nearest(this->size());
|
||||||
|
|
||||||
// Octree based search engine
|
const polyPatch& pp = bm[patchI];
|
||||||
meshSearch meshSearchEngine(mesh, false);
|
|
||||||
|
|
||||||
forAll(*this, probeI)
|
if (pp.size() > 0)
|
||||||
{
|
{
|
||||||
const vector& sample = operator[](probeI);
|
labelList bndFaces(pp.size());
|
||||||
label faceI = meshSearchEngine.findNearestBoundaryFace(sample);
|
forAll(bndFaces, i)
|
||||||
const point& fc = mesh.faceCentres()[faceI];
|
{
|
||||||
nearest[probeI].first() = pointIndexHit
|
bndFaces[i] = pp.start() + i;
|
||||||
|
}
|
||||||
|
|
||||||
|
treeBoundBox overallBb(pp.points());
|
||||||
|
Random rndGen(123456);
|
||||||
|
overallBb = overallBb.extend(rndGen, 1E-4);
|
||||||
|
overallBb.min() -= point(ROOTVSMALL, ROOTVSMALL, ROOTVSMALL);
|
||||||
|
overallBb.max() += point(ROOTVSMALL, ROOTVSMALL, ROOTVSMALL);
|
||||||
|
|
||||||
|
const indexedOctree<treeDataFace> boundaryTree
|
||||||
(
|
(
|
||||||
true,
|
treeDataFace // all information needed to search faces
|
||||||
fc,
|
(
|
||||||
faceI
|
false, // do not cache bb
|
||||||
|
mesh,
|
||||||
|
bndFaces // patch faces only
|
||||||
|
),
|
||||||
|
overallBb, // overall search domain
|
||||||
|
8, // maxLevel
|
||||||
|
10, // leafsize
|
||||||
|
3.0 // duplicity
|
||||||
);
|
);
|
||||||
nearest[probeI].second().first() = magSqr(fc-sample);
|
|
||||||
nearest[probeI].second().second() = Pstream::myProcNo();
|
|
||||||
|
if (elementList_.empty())
|
||||||
|
{
|
||||||
|
elementList_.setSize(probeLocations().size());
|
||||||
|
|
||||||
|
forAll(probeLocations(), probeI)
|
||||||
|
{
|
||||||
|
const point sample = probeLocations()[probeI];
|
||||||
|
|
||||||
|
scalar span = boundaryTree.bb().mag();
|
||||||
|
|
||||||
|
pointIndexHit info = boundaryTree.findNearest
|
||||||
|
(
|
||||||
|
sample,
|
||||||
|
Foam::sqr(span)
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!info.hit())
|
||||||
|
{
|
||||||
|
info = boundaryTree.findNearest
|
||||||
|
(
|
||||||
|
sample,
|
||||||
|
Foam::sqr(GREAT)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
label faceI = boundaryTree.shapes().faceLabels()[info.index()];
|
||||||
|
|
||||||
|
const label patchi = bm.whichPatch(faceI);
|
||||||
|
|
||||||
|
if (isA<emptyPolyPatch>(bm[patchi]))
|
||||||
|
{
|
||||||
|
WarningIn
|
||||||
|
(
|
||||||
|
" Foam::patchProbes::findElements(const fvMesh&)"
|
||||||
|
)
|
||||||
|
<< " The sample point: " << sample
|
||||||
|
<< " belongs to " << patchi
|
||||||
|
<< " which is an empty patch. This is not permitted. "
|
||||||
|
<< " This sample will not be included "
|
||||||
|
<< endl;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
const point& fc = mesh.faceCentres()[faceI];
|
||||||
|
|
||||||
|
directMappedPatchBase::nearInfo sampleInfo;
|
||||||
|
|
||||||
|
sampleInfo.first() = pointIndexHit
|
||||||
|
(
|
||||||
|
true,
|
||||||
|
fc,
|
||||||
|
faceI
|
||||||
|
);
|
||||||
|
|
||||||
|
sampleInfo.second().first() = magSqr(fc-sample);
|
||||||
|
sampleInfo.second().second() = Pstream::myProcNo();
|
||||||
|
|
||||||
|
nearest[probeI]= sampleInfo;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -93,6 +184,11 @@ void Foam::patchProbes::findElements(const fvMesh& mesh)
|
|||||||
localI = nearest[sampleI].first().index();
|
localI = nearest[sampleI].first().index();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (elementList_.empty())
|
||||||
|
{
|
||||||
|
elementList_.setSize(probeLocations().size());
|
||||||
|
}
|
||||||
|
|
||||||
elementList_[sampleI] = localI;
|
elementList_[sampleI] = localI;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2010-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2010-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -58,6 +58,11 @@ class patchProbes
|
|||||||
:
|
:
|
||||||
public probes
|
public probes
|
||||||
{
|
{
|
||||||
|
// Private data
|
||||||
|
|
||||||
|
//- Patch name
|
||||||
|
word patchName_;
|
||||||
|
|
||||||
|
|
||||||
// Private Member Functions
|
// Private Member Functions
|
||||||
|
|
||||||
|
|||||||
@ -221,6 +221,10 @@ updateCoeffs()
|
|||||||
+ emissivity()()[faceI]*physicoChemical::sigma.value()
|
+ emissivity()()[faceI]*physicoChemical::sigma.value()
|
||||||
* pow4(Tp[faceI])
|
* pow4(Tp[faceI])
|
||||||
)/pi;
|
)/pi;
|
||||||
|
|
||||||
|
// Emmited heat flux from this ray direction
|
||||||
|
ray.Qem().boundaryField()[patchI][faceI] =
|
||||||
|
refValue()[faceI]*(n[faceI] & ray.dAve());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -228,6 +232,10 @@ updateCoeffs()
|
|||||||
valueFraction()[faceI] = 0.0;
|
valueFraction()[faceI] = 0.0;
|
||||||
refGrad()[faceI] = 0.0;
|
refGrad()[faceI] = 0.0;
|
||||||
refValue()[faceI] = 0.0; //not used
|
refValue()[faceI] = 0.0; //not used
|
||||||
|
|
||||||
|
// Incident heat flux on this ray direction
|
||||||
|
ray.Qin().boundaryField()[patchI][faceI] =
|
||||||
|
Iw[faceI]*(n[faceI] & ray.dAve());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -82,6 +82,32 @@ Foam::radiation::fvDOM::fvDOM(const volScalarField& T)
|
|||||||
mesh_,
|
mesh_,
|
||||||
dimensionedScalar("Qr", dimMass/pow3(dimTime), 0.0)
|
dimensionedScalar("Qr", dimMass/pow3(dimTime), 0.0)
|
||||||
),
|
),
|
||||||
|
Qem_
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
"Qem",
|
||||||
|
mesh_.time().timeName(),
|
||||||
|
mesh_,
|
||||||
|
IOobject::NO_READ,
|
||||||
|
IOobject::NO_WRITE
|
||||||
|
),
|
||||||
|
mesh_,
|
||||||
|
dimensionedScalar("Qem", dimMass/pow3(dimTime), 0.0)
|
||||||
|
),
|
||||||
|
Qin_
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
"Qin",
|
||||||
|
mesh_.time().timeName(),
|
||||||
|
mesh_,
|
||||||
|
IOobject::NO_READ,
|
||||||
|
IOobject::NO_WRITE
|
||||||
|
),
|
||||||
|
mesh_,
|
||||||
|
dimensionedScalar("Qin", dimMass/pow3(dimTime), 0.0)
|
||||||
|
),
|
||||||
a_
|
a_
|
||||||
(
|
(
|
||||||
IOobject
|
IOobject
|
||||||
@ -366,13 +392,16 @@ void Foam::radiation::fvDOM::updateG()
|
|||||||
{
|
{
|
||||||
G_ = dimensionedScalar("zero",dimMass/pow3(dimTime), 0.0);
|
G_ = dimensionedScalar("zero",dimMass/pow3(dimTime), 0.0);
|
||||||
Qr_ = dimensionedScalar("zero",dimMass/pow3(dimTime), 0.0);
|
Qr_ = dimensionedScalar("zero",dimMass/pow3(dimTime), 0.0);
|
||||||
|
Qem_ = dimensionedScalar("zero", dimMass/pow3(dimTime), 0.0);
|
||||||
|
Qin_ = dimensionedScalar("zero", dimMass/pow3(dimTime), 0.0);
|
||||||
|
|
||||||
forAll(IRay_, rayI)
|
forAll(IRay_, rayI)
|
||||||
{
|
{
|
||||||
IRay_[rayI].addIntensity();
|
IRay_[rayI].addIntensity();
|
||||||
G_ += IRay_[rayI].I()*IRay_[rayI].omega();
|
G_ += IRay_[rayI].I()*IRay_[rayI].omega();
|
||||||
//Qr_ += IRay_[rayI].Qr();
|
|
||||||
Qr_.boundaryField() += IRay_[rayI].Qr().boundaryField();
|
Qr_.boundaryField() += IRay_[rayI].Qr().boundaryField();
|
||||||
|
Qem_.boundaryField() += IRay_[rayI].Qem().boundaryField();
|
||||||
|
Qin_.boundaryField() += IRay_[rayI].Qin().boundaryField();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -83,6 +83,12 @@ class fvDOM
|
|||||||
//- Total radiative heat flux [W/m2]
|
//- Total radiative heat flux [W/m2]
|
||||||
volScalarField Qr_;
|
volScalarField Qr_;
|
||||||
|
|
||||||
|
//- Emmited radiative heat flux [W/m2]
|
||||||
|
volScalarField Qem_;
|
||||||
|
|
||||||
|
//- Incidet radiative heat flux [W/m2]
|
||||||
|
volScalarField Qin_;
|
||||||
|
|
||||||
//- Total absorption coefficient [1/m]
|
//- Total absorption coefficient [1/m]
|
||||||
volScalarField a_;
|
volScalarField a_;
|
||||||
|
|
||||||
@ -213,6 +219,12 @@ public:
|
|||||||
//- Const access to total radiative heat flux field
|
//- Const access to total radiative heat flux field
|
||||||
inline const volScalarField& Qr() const;
|
inline const volScalarField& Qr() const;
|
||||||
|
|
||||||
|
//- Const access to incident radiative heat flux field
|
||||||
|
inline const volScalarField& Qin() const;
|
||||||
|
|
||||||
|
//- Const access to emitted radiative heat flux field
|
||||||
|
inline const volScalarField& Qem() const;
|
||||||
|
|
||||||
//- Const access to black body
|
//- Const access to black body
|
||||||
inline const blackBodyEmission& blackBody() const;
|
inline const blackBodyEmission& blackBody() const;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -91,6 +91,16 @@ inline const Foam::volScalarField& Foam::radiation::fvDOM::Qr() const
|
|||||||
return Qr_;
|
return Qr_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline const Foam::volScalarField& Foam::radiation::fvDOM::Qin() const
|
||||||
|
{
|
||||||
|
return Qin_;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
inline const Foam::volScalarField& Foam::radiation::fvDOM::Qem() const
|
||||||
|
{
|
||||||
|
return Qem_;
|
||||||
|
}
|
||||||
|
|
||||||
inline const Foam::radiation::blackBodyEmission&
|
inline const Foam::radiation::blackBodyEmission&
|
||||||
Foam::radiation::fvDOM::blackBody() const
|
Foam::radiation::fvDOM::blackBody() const
|
||||||
|
|||||||
@ -81,6 +81,32 @@ Foam::radiation::radiativeIntensityRay::radiativeIntensityRay
|
|||||||
mesh_,
|
mesh_,
|
||||||
dimensionedScalar("Qr", dimMass/pow3(dimTime), 0.0)
|
dimensionedScalar("Qr", dimMass/pow3(dimTime), 0.0)
|
||||||
),
|
),
|
||||||
|
Qin_
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
"Qin" + name(rayId),
|
||||||
|
mesh_.time().timeName(),
|
||||||
|
mesh_,
|
||||||
|
IOobject::NO_READ,
|
||||||
|
IOobject::NO_WRITE
|
||||||
|
),
|
||||||
|
mesh_,
|
||||||
|
dimensionedScalar("Qin", dimMass/pow3(dimTime), 0.0)
|
||||||
|
),
|
||||||
|
Qem_
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
"Qem" + name(rayId),
|
||||||
|
mesh_.time().timeName(),
|
||||||
|
mesh_,
|
||||||
|
IOobject::NO_READ,
|
||||||
|
IOobject::NO_WRITE
|
||||||
|
),
|
||||||
|
mesh_,
|
||||||
|
dimensionedScalar("Qem", dimMass/pow3(dimTime), 0.0)
|
||||||
|
),
|
||||||
d_(vector::zero),
|
d_(vector::zero),
|
||||||
dAve_(vector::zero),
|
dAve_(vector::zero),
|
||||||
theta_(theta),
|
theta_(theta),
|
||||||
|
|||||||
@ -81,6 +81,12 @@ private:
|
|||||||
//- Total radiative heat flux on boundary
|
//- Total radiative heat flux on boundary
|
||||||
volScalarField Qr_;
|
volScalarField Qr_;
|
||||||
|
|
||||||
|
//- Incident radiative heat flux on boundary
|
||||||
|
volScalarField Qin_;
|
||||||
|
|
||||||
|
//- Emitted radiative heat flux on boundary
|
||||||
|
volScalarField Qem_;
|
||||||
|
|
||||||
//- Direction
|
//- Direction
|
||||||
vector d_;
|
vector d_;
|
||||||
|
|
||||||
@ -171,6 +177,18 @@ public:
|
|||||||
//- Return non-const access to the boundary heat flux
|
//- Return non-const access to the boundary heat flux
|
||||||
inline volScalarField& Qr();
|
inline volScalarField& Qr();
|
||||||
|
|
||||||
|
//- Return non-const access to the boundary incident heat flux
|
||||||
|
inline volScalarField& Qin();
|
||||||
|
|
||||||
|
//- Return non-const access to the boundary emmited heat flux
|
||||||
|
inline volScalarField& Qem();
|
||||||
|
|
||||||
|
//- Return const access to the boundary incident heat flux
|
||||||
|
inline const volScalarField& Qin() const;
|
||||||
|
|
||||||
|
//- Return const access to the boundary emmited heat flux
|
||||||
|
inline const volScalarField& Qem() const;
|
||||||
|
|
||||||
//- Return direction
|
//- Return direction
|
||||||
inline const vector& d() const;
|
inline const vector& d() const;
|
||||||
|
|
||||||
|
|||||||
@ -42,6 +42,31 @@ inline Foam::volScalarField& Foam::radiation::radiativeIntensityRay::Qr()
|
|||||||
return Qr_;
|
return Qr_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline const Foam::volScalarField& Foam::radiation::
|
||||||
|
radiativeIntensityRay::Qin() const
|
||||||
|
{
|
||||||
|
return Qin_;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
inline Foam::volScalarField& Foam::radiation::radiativeIntensityRay::Qin()
|
||||||
|
{
|
||||||
|
return Qin_;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
inline const Foam::volScalarField& Foam::radiation::
|
||||||
|
radiativeIntensityRay::Qem() const
|
||||||
|
{
|
||||||
|
return Qem_;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
inline Foam::volScalarField& Foam::radiation::radiativeIntensityRay::Qem()
|
||||||
|
{
|
||||||
|
return Qem_;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
inline const Foam::vector& Foam::radiation::radiativeIntensityRay::d() const
|
inline const Foam::vector& Foam::radiation::radiativeIntensityRay::d() const
|
||||||
{
|
{
|
||||||
|
|||||||
@ -15,7 +15,7 @@ oneEqEddy/oneEqEddy.C
|
|||||||
dynOneEqEddy/dynOneEqEddy.C
|
dynOneEqEddy/dynOneEqEddy.C
|
||||||
locDynOneEqEddy/locDynOneEqEddy.C
|
locDynOneEqEddy/locDynOneEqEddy.C
|
||||||
Smagorinsky/Smagorinsky.C
|
Smagorinsky/Smagorinsky.C
|
||||||
dynSmagorinsky/dynSmagorinsky.C
|
homogeneousDynSmagorinsky/homogeneousDynSmagorinsky.C
|
||||||
LRRDiffStress/LRRDiffStress.C
|
LRRDiffStress/LRRDiffStress.C
|
||||||
DeardorffDiffStress/DeardorffDiffStress.C
|
DeardorffDiffStress/DeardorffDiffStress.C
|
||||||
spectEddyVisc/spectEddyVisc.C
|
spectEddyVisc/spectEddyVisc.C
|
||||||
@ -23,7 +23,6 @@ dynLagrangian/dynLagrangian.C
|
|||||||
|
|
||||||
scaleSimilarity/scaleSimilarity.C
|
scaleSimilarity/scaleSimilarity.C
|
||||||
mixedSmagorinsky/mixedSmagorinsky.C
|
mixedSmagorinsky/mixedSmagorinsky.C
|
||||||
dynMixedSmagorinsky/dynMixedSmagorinsky.C
|
|
||||||
|
|
||||||
/*Smagorinsky2/Smagorinsky2.C*/
|
/*Smagorinsky2/Smagorinsky2.C*/
|
||||||
|
|
||||||
|
|||||||
@ -1,143 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2004-2010 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 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#include "dynMixedSmagorinsky.H"
|
|
||||||
#include "addToRunTimeSelectionTable.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace incompressible
|
|
||||||
{
|
|
||||||
namespace LESModels
|
|
||||||
{
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
defineTypeNameAndDebug(dynMixedSmagorinsky, 0);
|
|
||||||
addToRunTimeSelectionTable(LESModel, dynMixedSmagorinsky, dictionary);
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
dynMixedSmagorinsky::dynMixedSmagorinsky
|
|
||||||
(
|
|
||||||
const volVectorField& U,
|
|
||||||
const surfaceScalarField& phi,
|
|
||||||
transportModel& transport,
|
|
||||||
const word& turbulenceModelName,
|
|
||||||
const word& modelName
|
|
||||||
)
|
|
||||||
:
|
|
||||||
LESModel(modelName, U, phi, transport, turbulenceModelName),
|
|
||||||
scaleSimilarity(U, phi, transport),
|
|
||||||
dynSmagorinsky(U, phi, transport)
|
|
||||||
{
|
|
||||||
printCoeffs();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
tmp<volScalarField> dynMixedSmagorinsky::k() const
|
|
||||||
{
|
|
||||||
return
|
|
||||||
(
|
|
||||||
scaleSimilarity::k()
|
|
||||||
+ dynSmagorinsky::k()
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
tmp<volScalarField> dynMixedSmagorinsky::epsilon() const
|
|
||||||
{
|
|
||||||
return
|
|
||||||
(
|
|
||||||
scaleSimilarity::epsilon()
|
|
||||||
+ dynSmagorinsky::epsilon()
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
tmp<volSymmTensorField> dynMixedSmagorinsky::B() const
|
|
||||||
{
|
|
||||||
return
|
|
||||||
(
|
|
||||||
scaleSimilarity::B()
|
|
||||||
+ dynSmagorinsky::B()
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
tmp<volSymmTensorField> dynMixedSmagorinsky::devBeff() const
|
|
||||||
{
|
|
||||||
return
|
|
||||||
(
|
|
||||||
scaleSimilarity::devBeff()
|
|
||||||
+ dynSmagorinsky::devBeff()
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
tmp<fvVectorMatrix> dynMixedSmagorinsky::divDevBeff(volVectorField& U) const
|
|
||||||
{
|
|
||||||
return
|
|
||||||
(
|
|
||||||
scaleSimilarity::divDevBeff(U)
|
|
||||||
+ dynSmagorinsky::divDevBeff(U)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void dynMixedSmagorinsky::correct(const tmp<volTensorField>& gradU)
|
|
||||||
{
|
|
||||||
scaleSimilarity::correct(gradU);
|
|
||||||
dynSmagorinsky::correct(gradU());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool dynMixedSmagorinsky::read()
|
|
||||||
{
|
|
||||||
if (LESModel::read())
|
|
||||||
{
|
|
||||||
scaleSimilarity::read();
|
|
||||||
dynSmagorinsky::read();
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace LESModels
|
|
||||||
} // namespace incompressible
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,150 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2004-2011 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 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
Class
|
|
||||||
Foam::incompressible::LESModels::dynMixedSmagorinsky
|
|
||||||
|
|
||||||
Description
|
|
||||||
The Mixed Isochoric Smagorinsky Model for incompressible flows.
|
|
||||||
|
|
||||||
The mixed model is a linear combination of an eddy viscosity model
|
|
||||||
with a scale similarity model.
|
|
||||||
\verbatim
|
|
||||||
B = (L + C) + R = (F(v*v) - F(v)*F(v)) + R
|
|
||||||
\endverbatim
|
|
||||||
|
|
||||||
The algebraic eddy viscosity SGS model is founded on the assumption
|
|
||||||
that local equilibrium prevails, hence
|
|
||||||
\verbatim
|
|
||||||
R = 2/3*rho*k*I - 2*nuEff*dev(D)
|
|
||||||
where
|
|
||||||
k = cI*delta^2*||D||^2
|
|
||||||
nuEff = ck*sqrt(k)*delta + nu
|
|
||||||
\endverbatim
|
|
||||||
|
|
||||||
The Leonard and cross contributions are incorporated
|
|
||||||
by adding,
|
|
||||||
\verbatim
|
|
||||||
+ div(((filter(U*U) - filter(U)*filter(U)) -
|
|
||||||
0.333*I*tr(filter(U*U) - filter(U)*filter(U))))
|
|
||||||
+ div((filter(U*epsilon) - filter(U)*filter(epsilon)))
|
|
||||||
\endverbatim
|
|
||||||
to the rhs. of the equations. This version implements filtering to
|
|
||||||
evaluate the coefficients in the model.
|
|
||||||
|
|
||||||
SourceFiles
|
|
||||||
dynMixedSmagorinsky.C
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef dynMixedSmagorinsky_H
|
|
||||||
#define dynMixedSmagorinsky_H
|
|
||||||
|
|
||||||
#include "dynSmagorinsky.H"
|
|
||||||
#include "scaleSimilarity.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace incompressible
|
|
||||||
{
|
|
||||||
namespace LESModels
|
|
||||||
{
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
Class dynMixedSmagorinsky Declaration
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
class dynMixedSmagorinsky
|
|
||||||
:
|
|
||||||
public scaleSimilarity,
|
|
||||||
public dynSmagorinsky
|
|
||||||
{
|
|
||||||
// Private Member Functions
|
|
||||||
|
|
||||||
// Disallow default bitwise copy construct and assignment
|
|
||||||
dynMixedSmagorinsky(const dynMixedSmagorinsky&);
|
|
||||||
dynMixedSmagorinsky& operator=(const dynMixedSmagorinsky&);
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
//- Runtime type information
|
|
||||||
TypeName("dynMixedSmagorinsky");
|
|
||||||
|
|
||||||
// Constructors
|
|
||||||
|
|
||||||
//- Constructors from components
|
|
||||||
dynMixedSmagorinsky
|
|
||||||
(
|
|
||||||
const volVectorField& U,
|
|
||||||
const surfaceScalarField& phi,
|
|
||||||
transportModel& transport,
|
|
||||||
const word& turbulenceModelName = turbulenceModel::typeName,
|
|
||||||
const word& modelName = typeName
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
//- Destructor
|
|
||||||
~dynMixedSmagorinsky()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// Member Functions
|
|
||||||
|
|
||||||
//- Return SGS kinetic energy
|
|
||||||
tmp<volScalarField> k() const;
|
|
||||||
|
|
||||||
//- Return sub-grid disipation rate
|
|
||||||
tmp<volScalarField> epsilon() const;
|
|
||||||
|
|
||||||
//- Return the sub-grid stress tensor.
|
|
||||||
tmp<volSymmTensorField> B() const;
|
|
||||||
|
|
||||||
//- Return the effective sub-grid turbulence stress tensor
|
|
||||||
// including the laminar stress
|
|
||||||
tmp<volSymmTensorField> devBeff() const;
|
|
||||||
|
|
||||||
//- Returns div(B).
|
|
||||||
// This is the additional term due to the filtering of the NSE.
|
|
||||||
tmp<fvVectorMatrix> divDevBeff(volVectorField& U) const;
|
|
||||||
|
|
||||||
//- Correct Eddy-Viscosity and related properties
|
|
||||||
void correct(const tmp<volTensorField>& gradU);
|
|
||||||
|
|
||||||
//- Read LESProperties dictionary
|
|
||||||
bool read();
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace LESModels
|
|
||||||
} // End namespace incompressible
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -23,7 +23,7 @@ License
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "dynSmagorinsky.H"
|
#include "homogeneousDynSmagorinsky.H"
|
||||||
#include "addToRunTimeSelectionTable.H"
|
#include "addToRunTimeSelectionTable.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
@ -37,19 +37,25 @@ namespace LESModels
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
defineTypeNameAndDebug(dynSmagorinsky, 0);
|
defineTypeNameAndDebug(homogeneousDynSmagorinsky, 0);
|
||||||
addToRunTimeSelectionTable(LESModel, dynSmagorinsky, dictionary);
|
addToRunTimeSelectionTable(LESModel, homogeneousDynSmagorinsky, dictionary);
|
||||||
|
|
||||||
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
||||||
|
|
||||||
void dynSmagorinsky::updateSubGridScaleFields(const volSymmTensorField& D)
|
void homogeneousDynSmagorinsky::updateSubGridScaleFields
|
||||||
|
(
|
||||||
|
const volSymmTensorField& D
|
||||||
|
)
|
||||||
{
|
{
|
||||||
nuSgs_ = cD(D)*sqr(delta())*sqrt(magSqr(D));
|
nuSgs_ = cD(D)*sqr(delta())*sqrt(magSqr(D));
|
||||||
nuSgs_.correctBoundaryConditions();
|
nuSgs_.correctBoundaryConditions();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
dimensionedScalar dynSmagorinsky::cD(const volSymmTensorField& D) const
|
dimensionedScalar homogeneousDynSmagorinsky::cD
|
||||||
|
(
|
||||||
|
const volSymmTensorField& D
|
||||||
|
) const
|
||||||
{
|
{
|
||||||
const volSymmTensorField MM
|
const volSymmTensorField MM
|
||||||
(
|
(
|
||||||
@ -72,7 +78,10 @@ dimensionedScalar dynSmagorinsky::cD(const volSymmTensorField& D) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
dimensionedScalar dynSmagorinsky::cI(const volSymmTensorField& D) const
|
dimensionedScalar homogeneousDynSmagorinsky::cI
|
||||||
|
(
|
||||||
|
const volSymmTensorField& D
|
||||||
|
) const
|
||||||
{
|
{
|
||||||
const volScalarField mm
|
const volScalarField mm
|
||||||
(
|
(
|
||||||
@ -97,7 +106,7 @@ dimensionedScalar dynSmagorinsky::cI(const volSymmTensorField& D) const
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
dynSmagorinsky::dynSmagorinsky
|
homogeneousDynSmagorinsky::homogeneousDynSmagorinsky
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
@ -135,7 +144,7 @@ dynSmagorinsky::dynSmagorinsky
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
void dynSmagorinsky::correct(const tmp<volTensorField>& gradU)
|
void homogeneousDynSmagorinsky::correct(const tmp<volTensorField>& gradU)
|
||||||
{
|
{
|
||||||
LESModel::correct(gradU);
|
LESModel::correct(gradU);
|
||||||
|
|
||||||
@ -148,7 +157,7 @@ void dynSmagorinsky::correct(const tmp<volTensorField>& gradU)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool dynSmagorinsky::read()
|
bool homogeneousDynSmagorinsky::read()
|
||||||
{
|
{
|
||||||
if (GenEddyVisc::read())
|
if (GenEddyVisc::read())
|
||||||
{
|
{
|
||||||
@ -22,10 +22,11 @@ License
|
|||||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
Class
|
Class
|
||||||
Foam::incompressible::LESModels::dynSmagorinsky
|
Foam::incompressible::LESModels::homogeneousDynSmagorinsky
|
||||||
|
|
||||||
Description
|
Description
|
||||||
The Isochoric dynamic Smagorinsky Model for incompressible flows.
|
The Isochoric homogeneous dynamic Smagorinsky Model for
|
||||||
|
incompressible flows.
|
||||||
|
|
||||||
Algebraic eddy viscosity SGS model founded on the assumption that
|
Algebraic eddy viscosity SGS model founded on the assumption that
|
||||||
local equilibrium prevails.
|
local equilibrium prevails.
|
||||||
@ -55,15 +56,18 @@ Description
|
|||||||
m = delta^2*(4*||F(D)||^2 - F(||D||^2))
|
m = delta^2*(4*||F(D)||^2 - F(||D||^2))
|
||||||
L = dev(F(U*U) - F(U)*F(U))
|
L = dev(F(U*U) - F(U)*F(U))
|
||||||
M = delta^2*(F(||D||*dev(D)) - 4*||F(D)||*F(dev(D)))
|
M = delta^2*(F(||D||*dev(D)) - 4*||F(D)||*F(dev(D)))
|
||||||
|
|
||||||
|
The averaging <...> is over the whole domain, i.e. homogeneous turbulence
|
||||||
|
is assumed
|
||||||
\endverbatim
|
\endverbatim
|
||||||
|
|
||||||
SourceFiles
|
SourceFiles
|
||||||
dynSmagorinsky.C
|
homogeneousDynSmagorinsky.C
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#ifndef dynSmagorinsky_H
|
#ifndef homogeneousDynSmagorinsky_H
|
||||||
#define dynSmagorinsky_H
|
#define homogeneousDynSmagorinsky_H
|
||||||
|
|
||||||
#include "Smagorinsky.H"
|
#include "Smagorinsky.H"
|
||||||
#include "LESfilter.H"
|
#include "LESfilter.H"
|
||||||
@ -78,10 +82,10 @@ namespace LESModels
|
|||||||
{
|
{
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
Class dynSmagorinsky Declaration
|
Class homogeneousDynSmagorinsky Declaration
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
class dynSmagorinsky
|
class homogeneousDynSmagorinsky
|
||||||
:
|
:
|
||||||
public GenEddyVisc
|
public GenEddyVisc
|
||||||
{
|
{
|
||||||
@ -103,19 +107,19 @@ class dynSmagorinsky
|
|||||||
dimensionedScalar cI(const volSymmTensorField& D) const;
|
dimensionedScalar cI(const volSymmTensorField& D) const;
|
||||||
|
|
||||||
// Disallow default bitwise copy construct and assignment
|
// Disallow default bitwise copy construct and assignment
|
||||||
dynSmagorinsky(const dynSmagorinsky&);
|
homogeneousDynSmagorinsky(const homogeneousDynSmagorinsky&);
|
||||||
dynSmagorinsky& operator=(const dynSmagorinsky&);
|
homogeneousDynSmagorinsky& operator=(const homogeneousDynSmagorinsky&);
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
//- Runtime type information
|
//- Runtime type information
|
||||||
TypeName("dynSmagorinsky");
|
TypeName("homogeneousDynSmagorinsky");
|
||||||
|
|
||||||
// Constructors
|
// Constructors
|
||||||
|
|
||||||
//- Construct from components
|
//- Construct from components
|
||||||
dynSmagorinsky
|
homogeneousDynSmagorinsky
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
@ -126,7 +130,7 @@ public:
|
|||||||
|
|
||||||
|
|
||||||
//- Destructor
|
//- Destructor
|
||||||
virtual ~dynSmagorinsky()
|
virtual ~homogeneousDynSmagorinsky()
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
@ -8063,6 +8063,7 @@ boundaryField
|
|||||||
blockedFaces
|
blockedFaces
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
|
value uniform 0;
|
||||||
}
|
}
|
||||||
baffleWall
|
baffleWall
|
||||||
{
|
{
|
||||||
|
|||||||
@ -8063,6 +8063,7 @@ boundaryField
|
|||||||
blockedFaces
|
blockedFaces
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
|
value uniform ( 0 0 0 0 0 0 );
|
||||||
}
|
}
|
||||||
baffleWall
|
baffleWall
|
||||||
{
|
{
|
||||||
|
|||||||
@ -8063,6 +8063,7 @@ boundaryField
|
|||||||
blockedFaces
|
blockedFaces
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
|
value uniform ( 0 0 0 0 0 0 );
|
||||||
}
|
}
|
||||||
baffleWall
|
baffleWall
|
||||||
{
|
{
|
||||||
|
|||||||
@ -8063,6 +8063,7 @@ boundaryField
|
|||||||
blockedFaces
|
blockedFaces
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
|
value uniform ( 0 0 0 0 0 0 );
|
||||||
}
|
}
|
||||||
baffleWall
|
baffleWall
|
||||||
{
|
{
|
||||||
|
|||||||
@ -8063,6 +8063,7 @@ boundaryField
|
|||||||
blockedFaces
|
blockedFaces
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
|
value uniform 0;
|
||||||
}
|
}
|
||||||
baffleWall
|
baffleWall
|
||||||
{
|
{
|
||||||
|
|||||||
@ -8063,6 +8063,7 @@ boundaryField
|
|||||||
blockedFaces
|
blockedFaces
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
|
value uniform 0;
|
||||||
}
|
}
|
||||||
baffleWall
|
baffleWall
|
||||||
{
|
{
|
||||||
|
|||||||
@ -34,6 +34,7 @@ boundaryField
|
|||||||
blockedFaces
|
blockedFaces
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
|
value uniform 300;
|
||||||
}
|
}
|
||||||
baffleWall
|
baffleWall
|
||||||
{
|
{
|
||||||
|
|||||||
@ -34,6 +34,7 @@ boundaryField
|
|||||||
blockedFaces
|
blockedFaces
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
|
value uniform 300;
|
||||||
}
|
}
|
||||||
baffleWall
|
baffleWall
|
||||||
{
|
{
|
||||||
|
|||||||
@ -34,6 +34,7 @@ boundaryField
|
|||||||
blockedFaces
|
blockedFaces
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
|
value uniform 1;
|
||||||
}
|
}
|
||||||
baffleWall
|
baffleWall
|
||||||
{
|
{
|
||||||
|
|||||||
@ -34,6 +34,7 @@ boundaryField
|
|||||||
blockedFaces
|
blockedFaces
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
|
value uniform 1;
|
||||||
}
|
}
|
||||||
baffleWall
|
baffleWall
|
||||||
{
|
{
|
||||||
|
|||||||
@ -8063,6 +8063,7 @@ boundaryField
|
|||||||
blockedFaces
|
blockedFaces
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
|
value uniform 0;
|
||||||
}
|
}
|
||||||
baffleWall
|
baffleWall
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,8 +1,5 @@
|
|||||||
PDR test case
|
PDR test case
|
||||||
|
|
||||||
The folder 0.org contains the initial fields for the original
|
|
||||||
blockMesh.
|
|
||||||
|
|
||||||
Step to introduce the PDR fields:
|
Step to introduce the PDR fields:
|
||||||
|
|
||||||
1) Create zero-size patches for wall or/and coupled baffles in
|
1) Create zero-size patches for wall or/and coupled baffles in
|
||||||
|
|||||||
@ -36,7 +36,6 @@ dictionaryReplacement
|
|||||||
{
|
{
|
||||||
type cyclic;
|
type cyclic;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -109,8 +108,8 @@ dictionaryReplacement
|
|||||||
}
|
}
|
||||||
baffleWall
|
baffleWall
|
||||||
{
|
{
|
||||||
type compressible::kqRWallFunction;
|
type compressible::kqRWallFunction;
|
||||||
value uniform 1.5;
|
value uniform 1.5;
|
||||||
}
|
}
|
||||||
baffleCyclic_half0
|
baffleCyclic_half0
|
||||||
{
|
{
|
||||||
@ -153,6 +152,7 @@ dictionaryReplacement
|
|||||||
blockedFaces
|
blockedFaces
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
|
value uniform 1;
|
||||||
}
|
}
|
||||||
baffleWall
|
baffleWall
|
||||||
{
|
{
|
||||||
@ -177,6 +177,7 @@ dictionaryReplacement
|
|||||||
blockedFaces
|
blockedFaces
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
|
value uniform 300;
|
||||||
}
|
}
|
||||||
baffleWall
|
baffleWall
|
||||||
{
|
{
|
||||||
@ -201,6 +202,7 @@ dictionaryReplacement
|
|||||||
blockedFaces
|
blockedFaces
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
|
value uniform 300;
|
||||||
}
|
}
|
||||||
baffleWall
|
baffleWall
|
||||||
{
|
{
|
||||||
@ -225,6 +227,7 @@ dictionaryReplacement
|
|||||||
blockedFaces
|
blockedFaces
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
|
value uniform 1;
|
||||||
}
|
}
|
||||||
baffleWall
|
baffleWall
|
||||||
{
|
{
|
||||||
@ -273,8 +276,9 @@ dictionaryReplacement
|
|||||||
blockedFaces
|
blockedFaces
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
|
value uniform 0.0;
|
||||||
}
|
}
|
||||||
baffleWall
|
baffleWall
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
value uniform 0.0;
|
value uniform 0.0;
|
||||||
@ -296,6 +300,7 @@ dictionaryReplacement
|
|||||||
blockedFaces
|
blockedFaces
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
|
value uniform (0 0 0 0 0 0);
|
||||||
}
|
}
|
||||||
baffleWall
|
baffleWall
|
||||||
{
|
{
|
||||||
@ -319,6 +324,7 @@ dictionaryReplacement
|
|||||||
blockedFaces
|
blockedFaces
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
|
value uniform 0;
|
||||||
}
|
}
|
||||||
baffleWall
|
baffleWall
|
||||||
{
|
{
|
||||||
@ -342,6 +348,7 @@ dictionaryReplacement
|
|||||||
blockedFaces
|
blockedFaces
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
|
value uniform (0 0 0 0 0 0);
|
||||||
}
|
}
|
||||||
baffleWall
|
baffleWall
|
||||||
{
|
{
|
||||||
@ -365,6 +372,7 @@ dictionaryReplacement
|
|||||||
blockedFaces
|
blockedFaces
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
|
value uniform (0 0 0 0 0 0);
|
||||||
}
|
}
|
||||||
baffleWall
|
baffleWall
|
||||||
{
|
{
|
||||||
@ -388,6 +396,7 @@ dictionaryReplacement
|
|||||||
blockedFaces
|
blockedFaces
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
|
value uniform 0;
|
||||||
}
|
}
|
||||||
baffleWall
|
baffleWall
|
||||||
{
|
{
|
||||||
@ -411,6 +420,7 @@ dictionaryReplacement
|
|||||||
blockedFaces
|
blockedFaces
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
|
value uniform (0 0 0 0 0 0);
|
||||||
}
|
}
|
||||||
baffleWall
|
baffleWall
|
||||||
{
|
{
|
||||||
@ -434,6 +444,7 @@ dictionaryReplacement
|
|||||||
blockedFaces
|
blockedFaces
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
|
value uniform 0;
|
||||||
}
|
}
|
||||||
baffleWall
|
baffleWall
|
||||||
{
|
{
|
||||||
|
|||||||
@ -67,6 +67,7 @@ solvers
|
|||||||
PIMPLE
|
PIMPLE
|
||||||
{
|
{
|
||||||
nCorrectors 2;
|
nCorrectors 2;
|
||||||
|
nOuterCorrectors 1;
|
||||||
nNonOrthogonalCorrectors 0;
|
nNonOrthogonalCorrectors 0;
|
||||||
momentumPredictor true;
|
momentumPredictor true;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -76,8 +76,8 @@ ignitionSites
|
|||||||
location (0.005 -0.02 0);
|
location (0.005 -0.02 0);
|
||||||
diameter 0.003;
|
diameter 0.003;
|
||||||
start 0;
|
start 0;
|
||||||
duration 0.05;
|
duration 0.1;
|
||||||
strength 20;
|
strength 100;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@ -23,13 +23,13 @@ startTime 0;
|
|||||||
|
|
||||||
stopAt endTime;
|
stopAt endTime;
|
||||||
|
|
||||||
endTime 0.5;
|
endTime 3.0;//0.5;
|
||||||
|
|
||||||
deltaT 5e-06;
|
deltaT 5e-06;
|
||||||
|
|
||||||
writeControl adjustableRunTime;
|
writeControl adjustableRunTime;
|
||||||
|
|
||||||
writeInterval 0.01;
|
writeInterval 0.1;
|
||||||
|
|
||||||
purgeWrite 0;
|
purgeWrite 0;
|
||||||
|
|
||||||
|
|||||||
@ -36,7 +36,7 @@ solvers
|
|||||||
{
|
{
|
||||||
solver PBiCG;
|
solver PBiCG;
|
||||||
preconditioner DILU;
|
preconditioner DILU;
|
||||||
tolerance 1e-05;
|
tolerance 1e-06;
|
||||||
relTol 0.1;
|
relTol 0.1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -17,7 +17,7 @@ FoamFile
|
|||||||
|
|
||||||
psiChemistryModel ODEChemistryModel<gasThermoPhysics>;
|
psiChemistryModel ODEChemistryModel<gasThermoPhysics>;
|
||||||
|
|
||||||
chemistry off;
|
chemistry on;
|
||||||
|
|
||||||
chemistrySolver ode;
|
chemistrySolver ode;
|
||||||
|
|
||||||
|
|||||||
@ -19,7 +19,7 @@ Cmix Cmix [ 0 0 0 0 0 0 0 ] 1;
|
|||||||
|
|
||||||
ignitionProperties1
|
ignitionProperties1
|
||||||
{
|
{
|
||||||
ignite off;
|
ignite on;
|
||||||
ignitionPoint ignitionPoint [ 0 1 0 0 0 0 0 ] ( 0.2 0 0.02 );
|
ignitionPoint ignitionPoint [ 0 1 0 0 0 0 0 ] ( 0.2 0 0.02 );
|
||||||
timing timing [ 0 0 1 0 0 0 0 ] 0;
|
timing timing [ 0 0 1 0 0 0 0 ] 0;
|
||||||
duration duration [ 0 0 1 0 0 0 0 ] 1;
|
duration duration [ 0 0 1 0 0 0 0 ] 1;
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
FoamFile
|
FoamFile
|
||||||
{
|
{
|
||||||
version 2.0;
|
version 2.0;
|
||||||
format ascii;
|
format binary;
|
||||||
class polyBoundaryMesh;
|
class polyBoundaryMesh;
|
||||||
location "constant/polyMesh";
|
location "constant/polyMesh";
|
||||||
object boundary;
|
object boundary;
|
||||||
|
|||||||
@ -70,6 +70,7 @@ solvers
|
|||||||
|
|
||||||
PIMPLE
|
PIMPLE
|
||||||
{
|
{
|
||||||
|
nOuterCorrectors 1;
|
||||||
nCorrectors 2;
|
nCorrectors 2;
|
||||||
nNonOrthogonalCorrectors 0;
|
nNonOrthogonalCorrectors 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -47,14 +47,14 @@ solvers
|
|||||||
relTol 0;
|
relTol 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
"(U|ft|h|k|epsilon)"
|
"(U|Xi|hu|ft|b|h|k|epsilon)"
|
||||||
{
|
{
|
||||||
solver PBiCG;
|
solver PBiCG;
|
||||||
preconditioner DILU;
|
preconditioner DILU;
|
||||||
tolerance 1e-05;
|
tolerance 1e-05;
|
||||||
relTol 0.1;
|
relTol 0.1;
|
||||||
}
|
}
|
||||||
"(U|ft|h|k|epsilon)Final"
|
"(U|ft|Xi|hu|b|h|k|epsilon)Final"
|
||||||
{
|
{
|
||||||
$U;
|
$U;
|
||||||
tolerance 1e-05;
|
tolerance 1e-05;
|
||||||
|
|||||||
@ -22,7 +22,7 @@ startTime 0.0;
|
|||||||
|
|
||||||
stopAt endTime;
|
stopAt endTime;
|
||||||
|
|
||||||
endTime 6.0;
|
endTime 2.75;
|
||||||
|
|
||||||
deltaT 0.001;
|
deltaT 0.001;
|
||||||
|
|
||||||
|
|||||||
@ -23,13 +23,13 @@ startTime 0;
|
|||||||
|
|
||||||
stopAt endTime;
|
stopAt endTime;
|
||||||
|
|
||||||
endTime 1.0;
|
endTime 0.3;
|
||||||
|
|
||||||
deltaT 1e-6;
|
deltaT 1e-6;
|
||||||
|
|
||||||
writeControl adjustableRunTime;
|
writeControl adjustableRunTime;
|
||||||
|
|
||||||
writeInterval 0.1;
|
writeInterval 0.05;
|
||||||
|
|
||||||
purgeWrite 0;
|
purgeWrite 0;
|
||||||
|
|
||||||
|
|||||||
@ -71,6 +71,8 @@ solvers
|
|||||||
|
|
||||||
PIMPLE
|
PIMPLE
|
||||||
{
|
{
|
||||||
|
momentumPredictor no;
|
||||||
|
nOuterCorrectors 1;
|
||||||
nCorrectors 2;
|
nCorrectors 2;
|
||||||
nNonOrthogonalCorrectors 0;
|
nNonOrthogonalCorrectors 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -63,7 +63,7 @@ PIMPLE
|
|||||||
"(U|k|epsilon)"
|
"(U|k|epsilon)"
|
||||||
{
|
{
|
||||||
relTol 0;
|
relTol 0;
|
||||||
absTol 0.0001;
|
tolerance 0.0001;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,7 +23,7 @@ startTime 0;
|
|||||||
|
|
||||||
stopAt endTime;
|
stopAt endTime;
|
||||||
|
|
||||||
endTime 0.025;
|
endTime 0.01;
|
||||||
|
|
||||||
deltaT 1e-6;
|
deltaT 1e-6;
|
||||||
|
|
||||||
|
|||||||
@ -44,7 +44,7 @@ SIMPLE
|
|||||||
{
|
{
|
||||||
p_rgh 1e-2;
|
p_rgh 1e-2;
|
||||||
U 1e-4;
|
U 1e-4;
|
||||||
T 1e-3;
|
T 1e-2;
|
||||||
|
|
||||||
// possibly check turbulence fields
|
// possibly check turbulence fields
|
||||||
"(k|epsilon|omega)" 1e-3;
|
"(k|epsilon|omega)" 1e-3;
|
||||||
@ -54,7 +54,7 @@ SIMPLE
|
|||||||
relaxationFactors
|
relaxationFactors
|
||||||
{
|
{
|
||||||
p_rgh 0.7;
|
p_rgh 0.7;
|
||||||
U 0.2;
|
U 0.3;
|
||||||
T 0.5;
|
T 0.5;
|
||||||
"(k|epsilon|R)" 0.7;
|
"(k|epsilon|R)" 0.7;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -21,55 +21,55 @@ FoamFile
|
|||||||
{
|
{
|
||||||
type empty;
|
type empty;
|
||||||
nFaces 0;
|
nFaces 0;
|
||||||
startFace 60336;
|
startFace 61295;
|
||||||
}
|
}
|
||||||
minX
|
minX
|
||||||
{
|
{
|
||||||
type empty;
|
type empty;
|
||||||
nFaces 0;
|
nFaces 0;
|
||||||
startFace 60336;
|
startFace 61295;
|
||||||
}
|
}
|
||||||
maxX
|
maxX
|
||||||
{
|
{
|
||||||
type empty;
|
type empty;
|
||||||
nFaces 0;
|
nFaces 0;
|
||||||
startFace 60336;
|
startFace 61295;
|
||||||
}
|
}
|
||||||
minY
|
minY
|
||||||
{
|
{
|
||||||
type empty;
|
type empty;
|
||||||
nFaces 0;
|
nFaces 0;
|
||||||
startFace 60336;
|
startFace 61295;
|
||||||
}
|
}
|
||||||
ground
|
ground
|
||||||
{
|
{
|
||||||
type wall;
|
type wall;
|
||||||
nFaces 590;
|
nFaces 590;
|
||||||
startFace 60336;
|
startFace 61295;
|
||||||
}
|
}
|
||||||
maxZ
|
maxZ
|
||||||
{
|
{
|
||||||
type empty;
|
type empty;
|
||||||
nFaces 0;
|
nFaces 0;
|
||||||
startFace 60926;
|
startFace 61885;
|
||||||
}
|
}
|
||||||
igloo_region0
|
igloo_region0
|
||||||
{
|
{
|
||||||
type wall;
|
type wall;
|
||||||
nFaces 2260;
|
nFaces 2260;
|
||||||
startFace 60926;
|
startFace 61885;
|
||||||
}
|
}
|
||||||
twoFridgeFreezers_seal_0
|
twoFridgeFreezers_seal_0
|
||||||
{
|
{
|
||||||
type wall;
|
type wall;
|
||||||
nFaces 1344;
|
nFaces 1344;
|
||||||
startFace 63186;
|
startFace 64145;
|
||||||
}
|
}
|
||||||
twoFridgeFreezers_herring_1
|
twoFridgeFreezers_herring_1
|
||||||
{
|
{
|
||||||
type wall;
|
type wall;
|
||||||
nFaces 1116;
|
nFaces 1116;
|
||||||
startFace 64530;
|
startFace 65489;
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@ -29,14 +29,14 @@ solvers
|
|||||||
{
|
{
|
||||||
solver PBiCG;
|
solver PBiCG;
|
||||||
preconditioner DILU;
|
preconditioner DILU;
|
||||||
tolerance 1e-05;
|
tolerance 1e-07;
|
||||||
relTol 0.1;
|
relTol 0.1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SIMPLE
|
SIMPLE
|
||||||
{
|
{
|
||||||
nNonOrthogonalCorrectors 0;
|
nNonOrthogonalCorrectors 2;
|
||||||
pRefCell 0;
|
pRefCell 0;
|
||||||
pRefValue 0;
|
pRefValue 0;
|
||||||
|
|
||||||
|
|||||||
@ -23,7 +23,7 @@ cp -r 0.org 0
|
|||||||
runApplication mapFields ../wingMotion2D_simpleFoam -sourceTime latestTime -consistent
|
runApplication mapFields ../wingMotion2D_simpleFoam -sourceTime latestTime -consistent
|
||||||
mv 0/pointDisplacement.unmapped 0/pointDisplacement
|
mv 0/pointDisplacement.unmapped 0/pointDisplacement
|
||||||
runApplication decomposePar
|
runApplication decomposePar
|
||||||
runParallel `getApplication` 3
|
runParallel `getApplication` 4
|
||||||
runApplication reconstructPar
|
runApplication reconstructPar
|
||||||
|
|
||||||
# ----------------------------------------------------------------- end-of-file
|
# ----------------------------------------------------------------- end-of-file
|
||||||
|
|||||||
@ -35,7 +35,7 @@ boundaryField
|
|||||||
);
|
);
|
||||||
velocity (0 0 0);
|
velocity (0 0 0);
|
||||||
acceleration (0 0 0);
|
acceleration (0 0 0);
|
||||||
angularMomentum (0 0 -0.5);
|
angularMomentum (0 0 -2.0);
|
||||||
torque (0 0 0);
|
torque (0 0 0);
|
||||||
rhoName rhoInf;
|
rhoName rhoInf;
|
||||||
rhoInf 1;
|
rhoInf 1;
|
||||||
|
|||||||
@ -20,38 +20,38 @@ FoamFile
|
|||||||
topAndBottom
|
topAndBottom
|
||||||
{
|
{
|
||||||
type patch;
|
type patch;
|
||||||
nFaces 150;
|
nFaces 72;
|
||||||
startFace 76473;
|
startFace 25168;
|
||||||
}
|
}
|
||||||
inlet
|
inlet
|
||||||
{
|
{
|
||||||
type patch;
|
type patch;
|
||||||
nFaces 48;
|
nFaces 40;
|
||||||
startFace 76623;
|
startFace 25240;
|
||||||
}
|
}
|
||||||
outlet
|
outlet
|
||||||
{
|
{
|
||||||
type patch;
|
type patch;
|
||||||
nFaces 48;
|
nFaces 62;
|
||||||
startFace 76671;
|
startFace 25280;
|
||||||
}
|
}
|
||||||
front
|
front
|
||||||
{
|
{
|
||||||
type empty;
|
type empty;
|
||||||
nFaces 38129;
|
nFaces 12559;
|
||||||
startFace 76719;
|
startFace 25342;
|
||||||
}
|
}
|
||||||
back
|
back
|
||||||
{
|
{
|
||||||
type empty;
|
type empty;
|
||||||
nFaces 38129;
|
nFaces 12559;
|
||||||
startFace 114848;
|
startFace 37901;
|
||||||
}
|
}
|
||||||
wing
|
wing
|
||||||
{
|
{
|
||||||
type wall;
|
type wall;
|
||||||
nFaces 778;
|
nFaces 378;
|
||||||
startFace 152977;
|
startFace 50460;
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@ -23,7 +23,7 @@ startTime 0;
|
|||||||
|
|
||||||
stopAt endTime;
|
stopAt endTime;
|
||||||
|
|
||||||
endTime 1;
|
endTime 0.6;
|
||||||
|
|
||||||
deltaT 1e-5;
|
deltaT 1e-5;
|
||||||
|
|
||||||
|
|||||||
@ -15,27 +15,22 @@ FoamFile
|
|||||||
}
|
}
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
numberOfSubdomains 3;
|
numberOfSubdomains 4;
|
||||||
|
|
||||||
method simple;
|
method simple;
|
||||||
|
|
||||||
simpleCoeffs
|
simpleCoeffs
|
||||||
{
|
{
|
||||||
n ( 1 3 1 );
|
n ( 2 2 1 );
|
||||||
delta 0.001;
|
delta 0.001;
|
||||||
}
|
}
|
||||||
|
|
||||||
hierarchicalCoeffs
|
hierarchicalCoeffs
|
||||||
{
|
{
|
||||||
n ( 3 2 1 );
|
n ( 2 2 1 );
|
||||||
delta 0.001;
|
delta 0.001;
|
||||||
order xyz;
|
order xyz;
|
||||||
}
|
}
|
||||||
|
|
||||||
manualCoeffs
|
|
||||||
{
|
|
||||||
dataFile "cellDecomposition";
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -20,38 +20,38 @@ FoamFile
|
|||||||
topAndBottom
|
topAndBottom
|
||||||
{
|
{
|
||||||
type patch;
|
type patch;
|
||||||
nFaces 150;
|
nFaces 72;
|
||||||
startFace 76473;
|
startFace 25168;
|
||||||
}
|
}
|
||||||
inlet
|
inlet
|
||||||
{
|
{
|
||||||
type patch;
|
type patch;
|
||||||
nFaces 48;
|
nFaces 40;
|
||||||
startFace 76623;
|
startFace 25240;
|
||||||
}
|
}
|
||||||
outlet
|
outlet
|
||||||
{
|
{
|
||||||
type patch;
|
type patch;
|
||||||
nFaces 48;
|
nFaces 62;
|
||||||
startFace 76671;
|
startFace 25280;
|
||||||
}
|
}
|
||||||
front
|
front
|
||||||
{
|
{
|
||||||
type empty;
|
type empty;
|
||||||
nFaces 38129;
|
nFaces 12559;
|
||||||
startFace 76719;
|
startFace 25342;
|
||||||
}
|
}
|
||||||
back
|
back
|
||||||
{
|
{
|
||||||
type empty;
|
type empty;
|
||||||
nFaces 38129;
|
nFaces 12559;
|
||||||
startFace 114848;
|
startFace 37901;
|
||||||
}
|
}
|
||||||
wing
|
wing
|
||||||
{
|
{
|
||||||
type wall;
|
type wall;
|
||||||
nFaces 778;
|
nFaces 378;
|
||||||
startFace 152977;
|
startFace 50460;
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@ -19,19 +19,19 @@ convertToMeters 1;
|
|||||||
|
|
||||||
vertices
|
vertices
|
||||||
(
|
(
|
||||||
(-2.5 -4.8 -0.1)
|
(-1.2 -2.2 -0.1)
|
||||||
( 10 -4.8 -0.1)
|
( 5 -2.2 -0.1)
|
||||||
( 10 4.8 -0.1)
|
( 5 2.2 -0.1)
|
||||||
(-2.5 4.8 -0.1)
|
(-1.2 2.2 -0.1)
|
||||||
(-2.5 -4.8 0.1)
|
(-1.2 -2.2 0.1)
|
||||||
( 10 -4.8 0.1)
|
( 5 -2.2 0.1)
|
||||||
( 10 4.8 0.1)
|
( 5 2.2 0.1)
|
||||||
(-2.5 4.8 0.1)
|
(-1.2 2.2 0.1)
|
||||||
);
|
);
|
||||||
|
|
||||||
blocks
|
blocks
|
||||||
(
|
(
|
||||||
hex (0 1 2 3 4 5 6 7) (75 48 1) simpleGrading (1 1 1)
|
hex (0 1 2 3 4 5 6 7) (36 24 1) simpleGrading (1 1 1)
|
||||||
);
|
);
|
||||||
|
|
||||||
edges
|
edges
|
||||||
|
|||||||
@ -20,38 +20,38 @@ FoamFile
|
|||||||
topAndBottom
|
topAndBottom
|
||||||
{
|
{
|
||||||
type patch;
|
type patch;
|
||||||
nFaces 150;
|
nFaces 72;
|
||||||
startFace 2098769;
|
startFace 495985;
|
||||||
}
|
}
|
||||||
inlet
|
inlet
|
||||||
{
|
{
|
||||||
type patch;
|
type patch;
|
||||||
nFaces 48;
|
nFaces 72;
|
||||||
startFace 2098919;
|
startFace 496057;
|
||||||
}
|
}
|
||||||
outlet
|
outlet
|
||||||
{
|
{
|
||||||
type patch;
|
type patch;
|
||||||
nFaces 48;
|
nFaces 204;
|
||||||
startFace 2098967;
|
startFace 496129;
|
||||||
}
|
}
|
||||||
front
|
front
|
||||||
{
|
{
|
||||||
type empty;
|
type empty;
|
||||||
nFaces 38129;
|
nFaces 12559;
|
||||||
startFace 2099015;
|
startFace 496333;
|
||||||
}
|
}
|
||||||
back
|
back
|
||||||
{
|
{
|
||||||
type empty;
|
type empty;
|
||||||
nFaces 38120;
|
nFaces 12559;
|
||||||
startFace 2137144;
|
startFace 508892;
|
||||||
}
|
}
|
||||||
wing_5degrees.obj_WALL10
|
wing_5degrees.obj_WALL10
|
||||||
{
|
{
|
||||||
type wall;
|
type wall;
|
||||||
nFaces 49792;
|
nFaces 12096;
|
||||||
startFace 2175264;
|
startFace 521451;
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@ -62,10 +62,10 @@ castellatedMeshControls
|
|||||||
// actually be a lot less.
|
// actually be a lot less.
|
||||||
maxGlobalCells 2000000;
|
maxGlobalCells 2000000;
|
||||||
|
|
||||||
// The surface refinement loop might spend lots of iterations refining just a
|
// The surface refinement loop might spend lots of iterations refining just
|
||||||
// few cells. This setting will cause refinement to stop if <= minimumRefine
|
// a few cells. This setting will cause refinement to stop if <=
|
||||||
// are selected for refinement. Note: it will at least do one iteration
|
// minimumRefine are selected for refinement. Note: it will at least do one
|
||||||
// (unless the number of cells to refine is 0)
|
// iteration (unless the number of cells to refine is 0)
|
||||||
minRefinementCells 100;
|
minRefinementCells 100;
|
||||||
|
|
||||||
// Number of buffer layers between different levels.
|
// Number of buffer layers between different levels.
|
||||||
@ -98,7 +98,7 @@ castellatedMeshControls
|
|||||||
wing_5degrees.obj
|
wing_5degrees.obj
|
||||||
{
|
{
|
||||||
// Surface-wise min and max refinement level
|
// Surface-wise min and max refinement level
|
||||||
level (6 6);
|
level (5 5);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -124,7 +124,7 @@ castellatedMeshControls
|
|||||||
refinementBox
|
refinementBox
|
||||||
{
|
{
|
||||||
mode inside;
|
mode inside;
|
||||||
levels ((1e15 3));
|
levels ((1e15 2));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -17,7 +17,7 @@ FoamFile
|
|||||||
|
|
||||||
dimensions [0 1 -1 0 0 0 0];
|
dimensions [0 1 -1 0 0 0 0];
|
||||||
|
|
||||||
internalField uniform (0 0 0);
|
internalField uniform (0 0 0);
|
||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
|
|||||||
@ -17,7 +17,7 @@ FoamFile
|
|||||||
|
|
||||||
dimensions [0 1 -1 0 0 0 0];
|
dimensions [0 1 -1 0 0 0 0];
|
||||||
|
|
||||||
internalField uniform (0 0 0);
|
internalField uniform (0 0 0);
|
||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
|
|||||||
@ -17,7 +17,7 @@ FoamFile
|
|||||||
|
|
||||||
dimensions [0 1 -1 0 0 0 0];
|
dimensions [0 1 -1 0 0 0 0];
|
||||||
|
|
||||||
internalField uniform (0 0 0);
|
internalField uniform (0 0 0);
|
||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
|
|||||||
@ -17,7 +17,7 @@ FoamFile
|
|||||||
|
|
||||||
dimensions [0 1 -1 0 0 0 0];
|
dimensions [0 1 -1 0 0 0 0];
|
||||||
|
|
||||||
internalField uniform (0 0 0);
|
internalField uniform (0 0 0);
|
||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
|
|||||||
@ -11,4 +11,3 @@ cp -rf 0.org 0
|
|||||||
rm -f *.obj
|
rm -f *.obj
|
||||||
|
|
||||||
#rm -rf VTK
|
#rm -rf VTK
|
||||||
|
|
||||||
|
|||||||
@ -8,4 +8,3 @@ cd ${0%/*} || exit 1 # run from this directory
|
|||||||
application=`getApplication`
|
application=`getApplication`
|
||||||
|
|
||||||
runApplication $application
|
runApplication $application
|
||||||
|
|
||||||
|
|||||||
@ -7,4 +7,3 @@ runApplication setSet -batch wallFilmRegion.setSet
|
|||||||
mv log.setSet log.wallFilmRegion.setSet
|
mv log.setSet log.wallFilmRegion.setSet
|
||||||
|
|
||||||
runApplication extrudeToRegionMesh -overwrite
|
runApplication extrudeToRegionMesh -overwrite
|
||||||
|
|
||||||
|
|||||||
@ -8,4 +8,3 @@ species
|
|||||||
|
|
||||||
reactions
|
reactions
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|||||||
@ -31,7 +31,7 @@ FoamFile
|
|||||||
sampleMode nearestPatchFace;
|
sampleMode nearestPatchFace;
|
||||||
sampleRegion wallFilmRegion;
|
sampleRegion wallFilmRegion;
|
||||||
samplePatch region0_to_wallFilmRegion_wallFilmFaces;
|
samplePatch region0_to_wallFilmRegion_wallFilmFaces;
|
||||||
offsets
|
offsets
|
||||||
200
|
200
|
||||||
(
|
(
|
||||||
(-4.33680869e-19 -4.33680869e-19 -0)
|
(-4.33680869e-19 -4.33680869e-19 -0)
|
||||||
|
|||||||
@ -20,7 +20,7 @@ FoamFile
|
|||||||
wallFilmFaces
|
wallFilmFaces
|
||||||
{
|
{
|
||||||
type faceZone;
|
type faceZone;
|
||||||
faceLabels List<label>
|
faceLabels List<label>
|
||||||
200
|
200
|
||||||
(
|
(
|
||||||
12600
|
12600
|
||||||
|
|||||||
@ -18,206 +18,206 @@ FoamFile
|
|||||||
|
|
||||||
200
|
200
|
||||||
(
|
(
|
||||||
12600
|
12600
|
||||||
12601
|
12601
|
||||||
12602
|
12602
|
||||||
12603
|
12603
|
||||||
12604
|
12604
|
||||||
12605
|
12605
|
||||||
12606
|
12606
|
||||||
12607
|
12607
|
||||||
12608
|
12608
|
||||||
12609
|
12609
|
||||||
12610
|
12610
|
||||||
12611
|
12611
|
||||||
12612
|
12612
|
||||||
12613
|
12613
|
||||||
12614
|
12614
|
||||||
12615
|
12615
|
||||||
12616
|
12616
|
||||||
12617
|
12617
|
||||||
12618
|
12618
|
||||||
12619
|
12619
|
||||||
12620
|
12620
|
||||||
12621
|
12621
|
||||||
12622
|
12622
|
||||||
12623
|
12623
|
||||||
12624
|
12624
|
||||||
12625
|
12625
|
||||||
12626
|
12626
|
||||||
12627
|
12627
|
||||||
12628
|
12628
|
||||||
12629
|
12629
|
||||||
12630
|
12630
|
||||||
12631
|
12631
|
||||||
12632
|
12632
|
||||||
12633
|
12633
|
||||||
12634
|
12634
|
||||||
12635
|
12635
|
||||||
12636
|
12636
|
||||||
12637
|
12637
|
||||||
12638
|
12638
|
||||||
12639
|
12639
|
||||||
12640
|
12640
|
||||||
12641
|
12641
|
||||||
12642
|
12642
|
||||||
12643
|
12643
|
||||||
12644
|
12644
|
||||||
12645
|
12645
|
||||||
12646
|
12646
|
||||||
12647
|
12647
|
||||||
12648
|
12648
|
||||||
12649
|
12649
|
||||||
12650
|
12650
|
||||||
12651
|
12651
|
||||||
12652
|
12652
|
||||||
12653
|
12653
|
||||||
12654
|
12654
|
||||||
12655
|
12655
|
||||||
12656
|
12656
|
||||||
12657
|
12657
|
||||||
12658
|
12658
|
||||||
12659
|
12659
|
||||||
12660
|
12660
|
||||||
12661
|
12661
|
||||||
12662
|
12662
|
||||||
12663
|
12663
|
||||||
12664
|
12664
|
||||||
12665
|
12665
|
||||||
12666
|
12666
|
||||||
12667
|
12667
|
||||||
12668
|
12668
|
||||||
12669
|
12669
|
||||||
12670
|
12670
|
||||||
12671
|
12671
|
||||||
12672
|
12672
|
||||||
12673
|
12673
|
||||||
12674
|
12674
|
||||||
12675
|
12675
|
||||||
12676
|
12676
|
||||||
12677
|
12677
|
||||||
12678
|
12678
|
||||||
12679
|
12679
|
||||||
12680
|
12680
|
||||||
12681
|
12681
|
||||||
12682
|
12682
|
||||||
12683
|
12683
|
||||||
12684
|
12684
|
||||||
12685
|
12685
|
||||||
12686
|
12686
|
||||||
12687
|
12687
|
||||||
12688
|
12688
|
||||||
12689
|
12689
|
||||||
12690
|
12690
|
||||||
12691
|
12691
|
||||||
12692
|
12692
|
||||||
12693
|
12693
|
||||||
12694
|
12694
|
||||||
12695
|
12695
|
||||||
12696
|
12696
|
||||||
12697
|
12697
|
||||||
12698
|
12698
|
||||||
12699
|
12699
|
||||||
12700
|
12700
|
||||||
12701
|
12701
|
||||||
12702
|
12702
|
||||||
12703
|
12703
|
||||||
12704
|
12704
|
||||||
12705
|
12705
|
||||||
12706
|
12706
|
||||||
12707
|
12707
|
||||||
12708
|
12708
|
||||||
12709
|
12709
|
||||||
12710
|
12710
|
||||||
12711
|
12711
|
||||||
12712
|
12712
|
||||||
12713
|
12713
|
||||||
12714
|
12714
|
||||||
12715
|
12715
|
||||||
12716
|
12716
|
||||||
12717
|
12717
|
||||||
12718
|
12718
|
||||||
12719
|
12719
|
||||||
12720
|
12720
|
||||||
12721
|
12721
|
||||||
12722
|
12722
|
||||||
12723
|
12723
|
||||||
12724
|
12724
|
||||||
12725
|
12725
|
||||||
12726
|
12726
|
||||||
12727
|
12727
|
||||||
12728
|
12728
|
||||||
12729
|
12729
|
||||||
12730
|
12730
|
||||||
12731
|
12731
|
||||||
12732
|
12732
|
||||||
12733
|
12733
|
||||||
12734
|
12734
|
||||||
12735
|
12735
|
||||||
12736
|
12736
|
||||||
12737
|
12737
|
||||||
12738
|
12738
|
||||||
12739
|
12739
|
||||||
12740
|
12740
|
||||||
12741
|
12741
|
||||||
12742
|
12742
|
||||||
12743
|
12743
|
||||||
12744
|
12744
|
||||||
12745
|
12745
|
||||||
12746
|
12746
|
||||||
12747
|
12747
|
||||||
12748
|
12748
|
||||||
12749
|
12749
|
||||||
12750
|
12750
|
||||||
12751
|
12751
|
||||||
12752
|
12752
|
||||||
12753
|
12753
|
||||||
12754
|
12754
|
||||||
12755
|
12755
|
||||||
12756
|
12756
|
||||||
12757
|
12757
|
||||||
12758
|
12758
|
||||||
12759
|
12759
|
||||||
12760
|
12760
|
||||||
12761
|
12761
|
||||||
12762
|
12762
|
||||||
12763
|
12763
|
||||||
12764
|
12764
|
||||||
12765
|
12765
|
||||||
12766
|
12766
|
||||||
12767
|
12767
|
||||||
12768
|
12768
|
||||||
12769
|
12769
|
||||||
12770
|
12770
|
||||||
12771
|
12771
|
||||||
12772
|
12772
|
||||||
12773
|
12773
|
||||||
12774
|
12774
|
||||||
12775
|
12775
|
||||||
12776
|
12776
|
||||||
12777
|
12777
|
||||||
12778
|
12778
|
||||||
12779
|
12779
|
||||||
12780
|
12780
|
||||||
12781
|
12781
|
||||||
12782
|
12782
|
||||||
12783
|
12783
|
||||||
12784
|
12784
|
||||||
12785
|
12785
|
||||||
12786
|
12786
|
||||||
12787
|
12787
|
||||||
12788
|
12788
|
||||||
12789
|
12789
|
||||||
12790
|
12790
|
||||||
12791
|
12791
|
||||||
12792
|
12792
|
||||||
12793
|
12793
|
||||||
12794
|
12794
|
||||||
12795
|
12795
|
||||||
12796
|
12796
|
||||||
12797
|
12797
|
||||||
12798
|
12798
|
||||||
12799
|
12799
|
||||||
)
|
)
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -38,7 +38,7 @@ FoamFile
|
|||||||
sampleRegion wallFilmRegion;
|
sampleRegion wallFilmRegion;
|
||||||
samplePatch region0_to_wallFilmRegion_wallFilmFaces;
|
samplePatch region0_to_wallFilmRegion_wallFilmFaces;
|
||||||
offsetMode nonuniform;
|
offsetMode nonuniform;
|
||||||
offsets
|
offsets
|
||||||
1100
|
1100
|
||||||
(
|
(
|
||||||
(-1.110223025e-16 -0 -0)
|
(-1.110223025e-16 -0 -0)
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
# Create face set
|
# Create face set
|
||||||
faceSet wallFilmFaces new patchToFace filmWalls
|
faceSet wallFilmFaces new patchToFace filmWalls
|
||||||
faceZoneSet wallFilmFaces new setToFaceZone wallFilmFaces
|
faceZoneSet wallFilmFaces new setToFaceZone wallFilmFaces
|
||||||
|
|
||||||
|
|||||||
@ -30,4 +30,3 @@ cp -r system/wallFilmRegion.org system/wallFilmRegion
|
|||||||
|
|
||||||
find ./0 -maxdepth 1 -type f -exec \
|
find ./0 -maxdepth 1 -type f -exec \
|
||||||
sed -i "s/wallFilm/\"(region0_to.*)\"/g" {} \;
|
sed -i "s/wallFilm/\"(region0_to.*)\"/g" {} \;
|
||||||
|
|
||||||
|
|||||||
@ -70,7 +70,7 @@ thermoSingleLayerCoeffs
|
|||||||
{
|
{
|
||||||
cloudName reactingCloud1;
|
cloudName reactingCloud1;
|
||||||
deltaStable 0;
|
deltaStable 0;
|
||||||
|
|
||||||
particlesPerParcel 100.0;
|
particlesPerParcel 100.0;
|
||||||
|
|
||||||
parcelDistribution
|
parcelDistribution
|
||||||
|
|||||||
@ -1,11 +1,11 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#--------------------------------*- C++ -*----------------------------------
|
#--------------------------------*- C++ -*----------------------------------#
|
||||||
# ========= |
|
# ========= | #
|
||||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox #
|
||||||
# \\ / O peration | Version: dev
|
# \\ / O peration | Version: dev #
|
||||||
# \\ / A nd | Web: www.OpenFOAM.com
|
# \\ / A nd | Web: www.OpenFOAM.com #
|
||||||
# \\/ M anipulation |
|
# \\/ M anipulation | #
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------#
|
||||||
cd ${0%/*} || exit 1 # run from this directory
|
cd ${0%/*} || exit 1 # run from this directory
|
||||||
|
|
||||||
x0=0.4
|
x0=0.4
|
||||||
|
|||||||
@ -17,7 +17,7 @@ FoamFile
|
|||||||
|
|
||||||
dimensions [0 1 -1 0 0 0 0];
|
dimensions [0 1 -1 0 0 0 0];
|
||||||
|
|
||||||
internalField uniform (0 0 0);
|
internalField uniform (0 0 0);
|
||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
|
|||||||
@ -17,7 +17,7 @@ FoamFile
|
|||||||
|
|
||||||
dimensions [0 1 -1 0 0 0 0];
|
dimensions [0 1 -1 0 0 0 0];
|
||||||
|
|
||||||
internalField uniform (0 0 0);
|
internalField uniform (0 0 0);
|
||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
|
|||||||
@ -11,4 +11,3 @@ cp -rf 0.org 0
|
|||||||
rm -f *.obj
|
rm -f *.obj
|
||||||
|
|
||||||
#rm -rf VTK
|
#rm -rf VTK
|
||||||
|
|
||||||
|
|||||||
@ -8,4 +8,3 @@ cd ${0%/*} || exit 1 # run from this directory
|
|||||||
application=`getApplication`
|
application=`getApplication`
|
||||||
|
|
||||||
runApplication $application
|
runApplication $application
|
||||||
|
|
||||||
|
|||||||
@ -12,4 +12,3 @@ runApplication setSet -region wallFilmRegion -batch createWallFilmRegionPatches.
|
|||||||
mv log.setSet log.createWallFilmRegionPatches.setSet
|
mv log.setSet log.createWallFilmRegionPatches.setSet
|
||||||
|
|
||||||
runApplication createPatch -region wallFilmRegion -overwrite
|
runApplication createPatch -region wallFilmRegion -overwrite
|
||||||
|
|
||||||
|
|||||||
@ -8,4 +8,3 @@ species
|
|||||||
|
|
||||||
reactions
|
reactions
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|||||||
@ -32,7 +32,7 @@ FoamFile
|
|||||||
sampleRegion wallFilmRegion;
|
sampleRegion wallFilmRegion;
|
||||||
samplePatch region0_to_wallFilmRegion_wallFilmFaces;
|
samplePatch region0_to_wallFilmRegion_wallFilmFaces;
|
||||||
offsetMode nonuniform;
|
offsetMode nonuniform;
|
||||||
offsets
|
offsets
|
||||||
200
|
200
|
||||||
(
|
(
|
||||||
(4.33680869e-19 4.33680869e-19 -0)
|
(4.33680869e-19 4.33680869e-19 -0)
|
||||||
|
|||||||
@ -3,4 +3,3 @@ faceSet sideFaces1 new boxToFace (-0.00001 -0.00001 -1) (0.10001 0.00001 1)
|
|||||||
faceSet sideFaces2 new boxToFace ( 0.09999 -0.00001 -1) (0.10001 0.05001 1)
|
faceSet sideFaces2 new boxToFace ( 0.09999 -0.00001 -1) (0.10001 0.05001 1)
|
||||||
faceSet sideFaces3 new boxToFace (-0.00001 0.04999 -1) (1.00001 0.05001 1)
|
faceSet sideFaces3 new boxToFace (-0.00001 0.04999 -1) (1.00001 0.05001 1)
|
||||||
faceSet sideFaces4 new boxToFace (-0.00001 -0.00001 -1) (0.00001 0.05001 1)
|
faceSet sideFaces4 new boxToFace (-0.00001 -0.00001 -1) (0.00001 0.05001 1)
|
||||||
|
|
||||||
|
|||||||
@ -25,9 +25,9 @@ pointSync false;
|
|||||||
// Patches to create.
|
// Patches to create.
|
||||||
patches
|
patches
|
||||||
(
|
(
|
||||||
{
|
{
|
||||||
// Name of new patch
|
// Name of new patch
|
||||||
name side1;
|
name side1;
|
||||||
|
|
||||||
// Type of new patch
|
// Type of new patch
|
||||||
patchInfo
|
patchInfo
|
||||||
|
|||||||
Reference in New Issue
Block a user