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"))
|
||||
);
|
||||
|
||||
|
||||
@ -340,7 +340,7 @@ endif
|
||||
# ~~~~~~~~~~~~~~
|
||||
|
||||
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 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
|
||||
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 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
|
||||
<< ": relTol " << residualControl_[i].relTol
|
||||
<< ", absTol " << residualControl_[i].absTol
|
||||
<< ", tolerance " << residualControl_[i].absTol
|
||||
<< nl;
|
||||
}
|
||||
Info<< endl;
|
||||
|
||||
@ -68,7 +68,7 @@ bool Foam::simpleControl::criteriaSatisfied()
|
||||
{
|
||||
Info<< algorithmName_ << " solution statistics:" << endl;
|
||||
|
||||
Info<< " " << variableName << ": abs tol = " << residual
|
||||
Info<< " " << variableName << ": tolerance = " << residual
|
||||
<< " (" << residualControl_[fieldI].absTol << ")"
|
||||
<< endl;
|
||||
}
|
||||
@ -96,7 +96,7 @@ Foam::simpleControl::simpleControl(fvMesh& mesh)
|
||||
forAll(residualControl_, i)
|
||||
{
|
||||
Info<< " field " << residualControl_[i].name << token::TAB
|
||||
<< " absTol " << residualControl_[i].absTol
|
||||
<< " tolerance " << residualControl_[i].absTol
|
||||
<< nl;
|
||||
}
|
||||
Info<< endl;
|
||||
|
||||
@ -68,7 +68,7 @@ void Foam::solutionControl::read(const bool absTolOnly)
|
||||
if (iter().isDict())
|
||||
{
|
||||
const dictionary& fieldDict(iter().dict());
|
||||
fd.absTol = readScalar(fieldDict.lookup("absTol"));
|
||||
fd.absTol = readScalar(fieldDict.lookup("tolerance"));
|
||||
fd.relTol = readScalar(fieldDict.lookup("relTol"));
|
||||
fd.initialResidual = 0.0;
|
||||
}
|
||||
|
||||
@ -367,7 +367,7 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calc
|
||||
d0,
|
||||
U0,
|
||||
rho0,
|
||||
0.5*(mass0 + mass1),
|
||||
mass0,
|
||||
Su,
|
||||
dUTrans,
|
||||
Spu
|
||||
@ -384,16 +384,18 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calc
|
||||
{
|
||||
scalar dm = np0*dMassGas[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().UTrans()[cellI] += dm*U0;
|
||||
td.cloud().hsTrans()[cellI] += dm*hs;
|
||||
}
|
||||
forAll(YLiquid_, i)
|
||||
{
|
||||
scalar dm = np0*dMassLiquid[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().UTrans()[cellI] += dm*U0;
|
||||
td.cloud().hsTrans()[cellI] += dm*hs;
|
||||
}
|
||||
/*
|
||||
@ -402,16 +404,18 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calc
|
||||
{
|
||||
scalar dm = np0*dMassSolid[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().UTrans()[cellI] += dm*U0;
|
||||
td.cloud().hsTrans()[cellI] += dm*hs;
|
||||
}
|
||||
*/
|
||||
forAll(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().UTrans()[cellI] += dm*U0;
|
||||
td.cloud().hsTrans()[cellI] += dm*hs;
|
||||
}
|
||||
|
||||
|
||||
@ -389,7 +389,7 @@ void Foam::ReactingParcel<ParcelType>::calc
|
||||
d0,
|
||||
U0,
|
||||
rho0,
|
||||
0.5*(mass0 + mass1),
|
||||
mass0,
|
||||
Su,
|
||||
dUTrans,
|
||||
Spu
|
||||
@ -405,9 +405,10 @@ void Foam::ReactingParcel<ParcelType>::calc
|
||||
{
|
||||
scalar dm = np0*dMass[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().UTrans()[cellI] += dm*U0;
|
||||
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;
|
||||
|
||||
//- 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;
|
||||
|
||||
|
||||
|
||||
@ -91,7 +91,7 @@ void phaseChangeModel::correct
|
||||
);
|
||||
|
||||
latestMassPC_ = sum(dMass.internalField());
|
||||
totalMassPC_ += latestMassPC_;
|
||||
totalMassPC_ += latestMassPC_;
|
||||
|
||||
availableMass -= dMass;
|
||||
dMass.correctBoundaryConditions();
|
||||
|
||||
@ -28,7 +28,9 @@ License
|
||||
#include "IOmanip.H"
|
||||
// For 'nearInfo' helper class only
|
||||
#include "directMappedPatchBase.H"
|
||||
#include "meshSearch.H"
|
||||
//#include "meshSearch.H"
|
||||
#include "treeBoundBox.H"
|
||||
#include "treeDataFace.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
@ -41,27 +43,116 @@ namespace Foam
|
||||
|
||||
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
|
||||
List<directMappedPatchBase::nearInfo> nearest(this->size());
|
||||
|
||||
// Octree based search engine
|
||||
meshSearch meshSearchEngine(mesh, false);
|
||||
const polyPatch& pp = bm[patchI];
|
||||
|
||||
forAll(*this, probeI)
|
||||
if (pp.size() > 0)
|
||||
{
|
||||
const vector& sample = operator[](probeI);
|
||||
label faceI = meshSearchEngine.findNearestBoundaryFace(sample);
|
||||
const point& fc = mesh.faceCentres()[faceI];
|
||||
nearest[probeI].first() = pointIndexHit
|
||||
labelList bndFaces(pp.size());
|
||||
forAll(bndFaces, i)
|
||||
{
|
||||
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,
|
||||
fc,
|
||||
faceI
|
||||
treeDataFace // all information needed to search faces
|
||||
(
|
||||
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();
|
||||
}
|
||||
|
||||
if (elementList_.empty())
|
||||
{
|
||||
elementList_.setSize(probeLocations().size());
|
||||
}
|
||||
|
||||
elementList_[sampleI] = localI;
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2010-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2010-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -58,6 +58,11 @@ class patchProbes
|
||||
:
|
||||
public probes
|
||||
{
|
||||
// Private data
|
||||
|
||||
//- Patch name
|
||||
word patchName_;
|
||||
|
||||
|
||||
// Private Member Functions
|
||||
|
||||
|
||||
@ -221,6 +221,10 @@ updateCoeffs()
|
||||
+ emissivity()()[faceI]*physicoChemical::sigma.value()
|
||||
* pow4(Tp[faceI])
|
||||
)/pi;
|
||||
|
||||
// Emmited heat flux from this ray direction
|
||||
ray.Qem().boundaryField()[patchI][faceI] =
|
||||
refValue()[faceI]*(n[faceI] & ray.dAve());
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -228,6 +232,10 @@ updateCoeffs()
|
||||
valueFraction()[faceI] = 0.0;
|
||||
refGrad()[faceI] = 0.0;
|
||||
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_,
|
||||
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_
|
||||
(
|
||||
IOobject
|
||||
@ -366,13 +392,16 @@ void Foam::radiation::fvDOM::updateG()
|
||||
{
|
||||
G_ = 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)
|
||||
{
|
||||
IRay_[rayI].addIntensity();
|
||||
G_ += IRay_[rayI].I()*IRay_[rayI].omega();
|
||||
//Qr_ += IRay_[rayI].Qr();
|
||||
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]
|
||||
volScalarField Qr_;
|
||||
|
||||
//- Emmited radiative heat flux [W/m2]
|
||||
volScalarField Qem_;
|
||||
|
||||
//- Incidet radiative heat flux [W/m2]
|
||||
volScalarField Qin_;
|
||||
|
||||
//- Total absorption coefficient [1/m]
|
||||
volScalarField a_;
|
||||
|
||||
@ -213,6 +219,12 @@ public:
|
||||
//- Const access to total radiative heat flux field
|
||||
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
|
||||
inline const blackBodyEmission& blackBody() const;
|
||||
};
|
||||
|
||||
@ -91,6 +91,16 @@ inline const Foam::volScalarField& Foam::radiation::fvDOM::Qr() const
|
||||
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&
|
||||
Foam::radiation::fvDOM::blackBody() const
|
||||
|
||||
@ -81,6 +81,32 @@ Foam::radiation::radiativeIntensityRay::radiativeIntensityRay
|
||||
mesh_,
|
||||
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),
|
||||
dAve_(vector::zero),
|
||||
theta_(theta),
|
||||
|
||||
@ -81,6 +81,12 @@ private:
|
||||
//- Total radiative heat flux on boundary
|
||||
volScalarField Qr_;
|
||||
|
||||
//- Incident radiative heat flux on boundary
|
||||
volScalarField Qin_;
|
||||
|
||||
//- Emitted radiative heat flux on boundary
|
||||
volScalarField Qem_;
|
||||
|
||||
//- Direction
|
||||
vector d_;
|
||||
|
||||
@ -171,6 +177,18 @@ public:
|
||||
//- Return non-const access to the boundary heat flux
|
||||
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
|
||||
inline const vector& d() const;
|
||||
|
||||
|
||||
@ -42,6 +42,31 @@ inline Foam::volScalarField& Foam::radiation::radiativeIntensityRay::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
|
||||
{
|
||||
|
||||
@ -15,7 +15,7 @@ oneEqEddy/oneEqEddy.C
|
||||
dynOneEqEddy/dynOneEqEddy.C
|
||||
locDynOneEqEddy/locDynOneEqEddy.C
|
||||
Smagorinsky/Smagorinsky.C
|
||||
dynSmagorinsky/dynSmagorinsky.C
|
||||
homogeneousDynSmagorinsky/homogeneousDynSmagorinsky.C
|
||||
LRRDiffStress/LRRDiffStress.C
|
||||
DeardorffDiffStress/DeardorffDiffStress.C
|
||||
spectEddyVisc/spectEddyVisc.C
|
||||
@ -23,7 +23,6 @@ dynLagrangian/dynLagrangian.C
|
||||
|
||||
scaleSimilarity/scaleSimilarity.C
|
||||
mixedSmagorinsky/mixedSmagorinsky.C
|
||||
dynMixedSmagorinsky/dynMixedSmagorinsky.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
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -23,7 +23,7 @@ License
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "dynSmagorinsky.H"
|
||||
#include "homogeneousDynSmagorinsky.H"
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
@ -37,19 +37,25 @@ namespace LESModels
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
defineTypeNameAndDebug(dynSmagorinsky, 0);
|
||||
addToRunTimeSelectionTable(LESModel, dynSmagorinsky, dictionary);
|
||||
defineTypeNameAndDebug(homogeneousDynSmagorinsky, 0);
|
||||
addToRunTimeSelectionTable(LESModel, homogeneousDynSmagorinsky, dictionary);
|
||||
|
||||
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
||||
|
||||
void dynSmagorinsky::updateSubGridScaleFields(const volSymmTensorField& D)
|
||||
void homogeneousDynSmagorinsky::updateSubGridScaleFields
|
||||
(
|
||||
const volSymmTensorField& D
|
||||
)
|
||||
{
|
||||
nuSgs_ = cD(D)*sqr(delta())*sqrt(magSqr(D));
|
||||
nuSgs_.correctBoundaryConditions();
|
||||
}
|
||||
|
||||
|
||||
dimensionedScalar dynSmagorinsky::cD(const volSymmTensorField& D) const
|
||||
dimensionedScalar homogeneousDynSmagorinsky::cD
|
||||
(
|
||||
const volSymmTensorField& D
|
||||
) const
|
||||
{
|
||||
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
|
||||
(
|
||||
@ -97,7 +106,7 @@ dimensionedScalar dynSmagorinsky::cI(const volSymmTensorField& D) const
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
dynSmagorinsky::dynSmagorinsky
|
||||
homogeneousDynSmagorinsky::homogeneousDynSmagorinsky
|
||||
(
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
@ -135,7 +144,7 @@ dynSmagorinsky::dynSmagorinsky
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
void dynSmagorinsky::correct(const tmp<volTensorField>& gradU)
|
||||
void homogeneousDynSmagorinsky::correct(const tmp<volTensorField>& gradU)
|
||||
{
|
||||
LESModel::correct(gradU);
|
||||
|
||||
@ -148,7 +157,7 @@ void dynSmagorinsky::correct(const tmp<volTensorField>& gradU)
|
||||
}
|
||||
|
||||
|
||||
bool dynSmagorinsky::read()
|
||||
bool homogeneousDynSmagorinsky::read()
|
||||
{
|
||||
if (GenEddyVisc::read())
|
||||
{
|
||||
@ -22,10 +22,11 @@ License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Class
|
||||
Foam::incompressible::LESModels::dynSmagorinsky
|
||||
Foam::incompressible::LESModels::homogeneousDynSmagorinsky
|
||||
|
||||
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
|
||||
local equilibrium prevails.
|
||||
@ -55,15 +56,18 @@ Description
|
||||
m = delta^2*(4*||F(D)||^2 - F(||D||^2))
|
||||
L = dev(F(U*U) - F(U)*F(U))
|
||||
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
|
||||
|
||||
SourceFiles
|
||||
dynSmagorinsky.C
|
||||
homogeneousDynSmagorinsky.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef dynSmagorinsky_H
|
||||
#define dynSmagorinsky_H
|
||||
#ifndef homogeneousDynSmagorinsky_H
|
||||
#define homogeneousDynSmagorinsky_H
|
||||
|
||||
#include "Smagorinsky.H"
|
||||
#include "LESfilter.H"
|
||||
@ -78,10 +82,10 @@ namespace LESModels
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class dynSmagorinsky Declaration
|
||||
Class homogeneousDynSmagorinsky Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
class dynSmagorinsky
|
||||
class homogeneousDynSmagorinsky
|
||||
:
|
||||
public GenEddyVisc
|
||||
{
|
||||
@ -103,19 +107,19 @@ class dynSmagorinsky
|
||||
dimensionedScalar cI(const volSymmTensorField& D) const;
|
||||
|
||||
// Disallow default bitwise copy construct and assignment
|
||||
dynSmagorinsky(const dynSmagorinsky&);
|
||||
dynSmagorinsky& operator=(const dynSmagorinsky&);
|
||||
homogeneousDynSmagorinsky(const homogeneousDynSmagorinsky&);
|
||||
homogeneousDynSmagorinsky& operator=(const homogeneousDynSmagorinsky&);
|
||||
|
||||
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
TypeName("dynSmagorinsky");
|
||||
TypeName("homogeneousDynSmagorinsky");
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from components
|
||||
dynSmagorinsky
|
||||
homogeneousDynSmagorinsky
|
||||
(
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
@ -126,7 +130,7 @@ public:
|
||||
|
||||
|
||||
//- Destructor
|
||||
virtual ~dynSmagorinsky()
|
||||
virtual ~homogeneousDynSmagorinsky()
|
||||
{}
|
||||
|
||||
|
||||
@ -8063,6 +8063,7 @@ boundaryField
|
||||
blockedFaces
|
||||
{
|
||||
type zeroGradient;
|
||||
value uniform 0;
|
||||
}
|
||||
baffleWall
|
||||
{
|
||||
|
||||
@ -8063,6 +8063,7 @@ boundaryField
|
||||
blockedFaces
|
||||
{
|
||||
type zeroGradient;
|
||||
value uniform ( 0 0 0 0 0 0 );
|
||||
}
|
||||
baffleWall
|
||||
{
|
||||
|
||||
@ -8063,6 +8063,7 @@ boundaryField
|
||||
blockedFaces
|
||||
{
|
||||
type zeroGradient;
|
||||
value uniform ( 0 0 0 0 0 0 );
|
||||
}
|
||||
baffleWall
|
||||
{
|
||||
|
||||
@ -8063,6 +8063,7 @@ boundaryField
|
||||
blockedFaces
|
||||
{
|
||||
type zeroGradient;
|
||||
value uniform ( 0 0 0 0 0 0 );
|
||||
}
|
||||
baffleWall
|
||||
{
|
||||
|
||||
@ -8063,6 +8063,7 @@ boundaryField
|
||||
blockedFaces
|
||||
{
|
||||
type zeroGradient;
|
||||
value uniform 0;
|
||||
}
|
||||
baffleWall
|
||||
{
|
||||
|
||||
@ -8063,6 +8063,7 @@ boundaryField
|
||||
blockedFaces
|
||||
{
|
||||
type zeroGradient;
|
||||
value uniform 0;
|
||||
}
|
||||
baffleWall
|
||||
{
|
||||
|
||||
@ -34,6 +34,7 @@ boundaryField
|
||||
blockedFaces
|
||||
{
|
||||
type zeroGradient;
|
||||
value uniform 300;
|
||||
}
|
||||
baffleWall
|
||||
{
|
||||
|
||||
@ -34,6 +34,7 @@ boundaryField
|
||||
blockedFaces
|
||||
{
|
||||
type zeroGradient;
|
||||
value uniform 300;
|
||||
}
|
||||
baffleWall
|
||||
{
|
||||
|
||||
@ -34,6 +34,7 @@ boundaryField
|
||||
blockedFaces
|
||||
{
|
||||
type zeroGradient;
|
||||
value uniform 1;
|
||||
}
|
||||
baffleWall
|
||||
{
|
||||
|
||||
@ -34,6 +34,7 @@ boundaryField
|
||||
blockedFaces
|
||||
{
|
||||
type zeroGradient;
|
||||
value uniform 1;
|
||||
}
|
||||
baffleWall
|
||||
{
|
||||
|
||||
@ -8063,6 +8063,7 @@ boundaryField
|
||||
blockedFaces
|
||||
{
|
||||
type zeroGradient;
|
||||
value uniform 0;
|
||||
}
|
||||
baffleWall
|
||||
{
|
||||
|
||||
@ -1,8 +1,5 @@
|
||||
PDR test case
|
||||
|
||||
The folder 0.org contains the initial fields for the original
|
||||
blockMesh.
|
||||
|
||||
Step to introduce the PDR fields:
|
||||
|
||||
1) Create zero-size patches for wall or/and coupled baffles in
|
||||
|
||||
@ -36,7 +36,6 @@ dictionaryReplacement
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -109,8 +108,8 @@ dictionaryReplacement
|
||||
}
|
||||
baffleWall
|
||||
{
|
||||
type compressible::kqRWallFunction;
|
||||
value uniform 1.5;
|
||||
type compressible::kqRWallFunction;
|
||||
value uniform 1.5;
|
||||
}
|
||||
baffleCyclic_half0
|
||||
{
|
||||
@ -153,6 +152,7 @@ dictionaryReplacement
|
||||
blockedFaces
|
||||
{
|
||||
type zeroGradient;
|
||||
value uniform 1;
|
||||
}
|
||||
baffleWall
|
||||
{
|
||||
@ -177,6 +177,7 @@ dictionaryReplacement
|
||||
blockedFaces
|
||||
{
|
||||
type zeroGradient;
|
||||
value uniform 300;
|
||||
}
|
||||
baffleWall
|
||||
{
|
||||
@ -201,6 +202,7 @@ dictionaryReplacement
|
||||
blockedFaces
|
||||
{
|
||||
type zeroGradient;
|
||||
value uniform 300;
|
||||
}
|
||||
baffleWall
|
||||
{
|
||||
@ -225,6 +227,7 @@ dictionaryReplacement
|
||||
blockedFaces
|
||||
{
|
||||
type zeroGradient;
|
||||
value uniform 1;
|
||||
}
|
||||
baffleWall
|
||||
{
|
||||
@ -273,8 +276,9 @@ dictionaryReplacement
|
||||
blockedFaces
|
||||
{
|
||||
type zeroGradient;
|
||||
value uniform 0.0;
|
||||
}
|
||||
baffleWall
|
||||
baffleWall
|
||||
{
|
||||
type zeroGradient;
|
||||
value uniform 0.0;
|
||||
@ -296,6 +300,7 @@ dictionaryReplacement
|
||||
blockedFaces
|
||||
{
|
||||
type zeroGradient;
|
||||
value uniform (0 0 0 0 0 0);
|
||||
}
|
||||
baffleWall
|
||||
{
|
||||
@ -319,6 +324,7 @@ dictionaryReplacement
|
||||
blockedFaces
|
||||
{
|
||||
type zeroGradient;
|
||||
value uniform 0;
|
||||
}
|
||||
baffleWall
|
||||
{
|
||||
@ -342,6 +348,7 @@ dictionaryReplacement
|
||||
blockedFaces
|
||||
{
|
||||
type zeroGradient;
|
||||
value uniform (0 0 0 0 0 0);
|
||||
}
|
||||
baffleWall
|
||||
{
|
||||
@ -365,6 +372,7 @@ dictionaryReplacement
|
||||
blockedFaces
|
||||
{
|
||||
type zeroGradient;
|
||||
value uniform (0 0 0 0 0 0);
|
||||
}
|
||||
baffleWall
|
||||
{
|
||||
@ -388,6 +396,7 @@ dictionaryReplacement
|
||||
blockedFaces
|
||||
{
|
||||
type zeroGradient;
|
||||
value uniform 0;
|
||||
}
|
||||
baffleWall
|
||||
{
|
||||
@ -411,6 +420,7 @@ dictionaryReplacement
|
||||
blockedFaces
|
||||
{
|
||||
type zeroGradient;
|
||||
value uniform (0 0 0 0 0 0);
|
||||
}
|
||||
baffleWall
|
||||
{
|
||||
@ -434,6 +444,7 @@ dictionaryReplacement
|
||||
blockedFaces
|
||||
{
|
||||
type zeroGradient;
|
||||
value uniform 0;
|
||||
}
|
||||
baffleWall
|
||||
{
|
||||
|
||||
@ -67,6 +67,7 @@ solvers
|
||||
PIMPLE
|
||||
{
|
||||
nCorrectors 2;
|
||||
nOuterCorrectors 1;
|
||||
nNonOrthogonalCorrectors 0;
|
||||
momentumPredictor true;
|
||||
}
|
||||
|
||||
@ -76,8 +76,8 @@ ignitionSites
|
||||
location (0.005 -0.02 0);
|
||||
diameter 0.003;
|
||||
start 0;
|
||||
duration 0.05;
|
||||
strength 20;
|
||||
duration 0.1;
|
||||
strength 100;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
@ -23,13 +23,13 @@ startTime 0;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime 0.5;
|
||||
endTime 3.0;//0.5;
|
||||
|
||||
deltaT 5e-06;
|
||||
|
||||
writeControl adjustableRunTime;
|
||||
|
||||
writeInterval 0.01;
|
||||
writeInterval 0.1;
|
||||
|
||||
purgeWrite 0;
|
||||
|
||||
|
||||
@ -36,7 +36,7 @@ solvers
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
tolerance 1e-06;
|
||||
relTol 0.1;
|
||||
}
|
||||
|
||||
|
||||
@ -17,7 +17,7 @@ FoamFile
|
||||
|
||||
psiChemistryModel ODEChemistryModel<gasThermoPhysics>;
|
||||
|
||||
chemistry off;
|
||||
chemistry on;
|
||||
|
||||
chemistrySolver ode;
|
||||
|
||||
|
||||
@ -19,7 +19,7 @@ Cmix Cmix [ 0 0 0 0 0 0 0 ] 1;
|
||||
|
||||
ignitionProperties1
|
||||
{
|
||||
ignite off;
|
||||
ignite on;
|
||||
ignitionPoint ignitionPoint [ 0 1 0 0 0 0 0 ] ( 0.2 0 0.02 );
|
||||
timing timing [ 0 0 1 0 0 0 0 ] 0;
|
||||
duration duration [ 0 0 1 0 0 0 0 ] 1;
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
format binary;
|
||||
class polyBoundaryMesh;
|
||||
location "constant/polyMesh";
|
||||
object boundary;
|
||||
|
||||
@ -70,6 +70,7 @@ solvers
|
||||
|
||||
PIMPLE
|
||||
{
|
||||
nOuterCorrectors 1;
|
||||
nCorrectors 2;
|
||||
nNonOrthogonalCorrectors 0;
|
||||
}
|
||||
|
||||
@ -47,14 +47,14 @@ solvers
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
"(U|ft|h|k|epsilon)"
|
||||
"(U|Xi|hu|ft|b|h|k|epsilon)"
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0.1;
|
||||
}
|
||||
"(U|ft|h|k|epsilon)Final"
|
||||
"(U|ft|Xi|hu|b|h|k|epsilon)Final"
|
||||
{
|
||||
$U;
|
||||
tolerance 1e-05;
|
||||
|
||||
@ -22,7 +22,7 @@ startTime 0.0;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime 6.0;
|
||||
endTime 2.75;
|
||||
|
||||
deltaT 0.001;
|
||||
|
||||
|
||||
@ -23,13 +23,13 @@ startTime 0;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime 1.0;
|
||||
endTime 0.3;
|
||||
|
||||
deltaT 1e-6;
|
||||
|
||||
writeControl adjustableRunTime;
|
||||
|
||||
writeInterval 0.1;
|
||||
writeInterval 0.05;
|
||||
|
||||
purgeWrite 0;
|
||||
|
||||
|
||||
@ -71,6 +71,8 @@ solvers
|
||||
|
||||
PIMPLE
|
||||
{
|
||||
momentumPredictor no;
|
||||
nOuterCorrectors 1;
|
||||
nCorrectors 2;
|
||||
nNonOrthogonalCorrectors 0;
|
||||
}
|
||||
|
||||
@ -63,7 +63,7 @@ PIMPLE
|
||||
"(U|k|epsilon)"
|
||||
{
|
||||
relTol 0;
|
||||
absTol 0.0001;
|
||||
tolerance 0.0001;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -23,7 +23,7 @@ startTime 0;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime 0.025;
|
||||
endTime 0.01;
|
||||
|
||||
deltaT 1e-6;
|
||||
|
||||
|
||||
@ -44,7 +44,7 @@ SIMPLE
|
||||
{
|
||||
p_rgh 1e-2;
|
||||
U 1e-4;
|
||||
T 1e-3;
|
||||
T 1e-2;
|
||||
|
||||
// possibly check turbulence fields
|
||||
"(k|epsilon|omega)" 1e-3;
|
||||
@ -54,7 +54,7 @@ SIMPLE
|
||||
relaxationFactors
|
||||
{
|
||||
p_rgh 0.7;
|
||||
U 0.2;
|
||||
U 0.3;
|
||||
T 0.5;
|
||||
"(k|epsilon|R)" 0.7;
|
||||
}
|
||||
|
||||
@ -21,55 +21,55 @@ FoamFile
|
||||
{
|
||||
type empty;
|
||||
nFaces 0;
|
||||
startFace 60336;
|
||||
startFace 61295;
|
||||
}
|
||||
minX
|
||||
{
|
||||
type empty;
|
||||
nFaces 0;
|
||||
startFace 60336;
|
||||
startFace 61295;
|
||||
}
|
||||
maxX
|
||||
{
|
||||
type empty;
|
||||
nFaces 0;
|
||||
startFace 60336;
|
||||
startFace 61295;
|
||||
}
|
||||
minY
|
||||
{
|
||||
type empty;
|
||||
nFaces 0;
|
||||
startFace 60336;
|
||||
startFace 61295;
|
||||
}
|
||||
ground
|
||||
{
|
||||
type wall;
|
||||
nFaces 590;
|
||||
startFace 60336;
|
||||
startFace 61295;
|
||||
}
|
||||
maxZ
|
||||
{
|
||||
type empty;
|
||||
nFaces 0;
|
||||
startFace 60926;
|
||||
startFace 61885;
|
||||
}
|
||||
igloo_region0
|
||||
{
|
||||
type wall;
|
||||
nFaces 2260;
|
||||
startFace 60926;
|
||||
startFace 61885;
|
||||
}
|
||||
twoFridgeFreezers_seal_0
|
||||
{
|
||||
type wall;
|
||||
nFaces 1344;
|
||||
startFace 63186;
|
||||
startFace 64145;
|
||||
}
|
||||
twoFridgeFreezers_herring_1
|
||||
{
|
||||
type wall;
|
||||
nFaces 1116;
|
||||
startFace 64530;
|
||||
startFace 65489;
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
@ -29,14 +29,14 @@ solvers
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
tolerance 1e-07;
|
||||
relTol 0.1;
|
||||
}
|
||||
}
|
||||
|
||||
SIMPLE
|
||||
{
|
||||
nNonOrthogonalCorrectors 0;
|
||||
nNonOrthogonalCorrectors 2;
|
||||
pRefCell 0;
|
||||
pRefValue 0;
|
||||
|
||||
|
||||
@ -23,7 +23,7 @@ cp -r 0.org 0
|
||||
runApplication mapFields ../wingMotion2D_simpleFoam -sourceTime latestTime -consistent
|
||||
mv 0/pointDisplacement.unmapped 0/pointDisplacement
|
||||
runApplication decomposePar
|
||||
runParallel `getApplication` 3
|
||||
runParallel `getApplication` 4
|
||||
runApplication reconstructPar
|
||||
|
||||
# ----------------------------------------------------------------- end-of-file
|
||||
|
||||
@ -35,7 +35,7 @@ boundaryField
|
||||
);
|
||||
velocity (0 0 0);
|
||||
acceleration (0 0 0);
|
||||
angularMomentum (0 0 -0.5);
|
||||
angularMomentum (0 0 -2.0);
|
||||
torque (0 0 0);
|
||||
rhoName rhoInf;
|
||||
rhoInf 1;
|
||||
|
||||
@ -20,38 +20,38 @@ FoamFile
|
||||
topAndBottom
|
||||
{
|
||||
type patch;
|
||||
nFaces 150;
|
||||
startFace 76473;
|
||||
nFaces 72;
|
||||
startFace 25168;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type patch;
|
||||
nFaces 48;
|
||||
startFace 76623;
|
||||
nFaces 40;
|
||||
startFace 25240;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type patch;
|
||||
nFaces 48;
|
||||
startFace 76671;
|
||||
nFaces 62;
|
||||
startFace 25280;
|
||||
}
|
||||
front
|
||||
{
|
||||
type empty;
|
||||
nFaces 38129;
|
||||
startFace 76719;
|
||||
nFaces 12559;
|
||||
startFace 25342;
|
||||
}
|
||||
back
|
||||
{
|
||||
type empty;
|
||||
nFaces 38129;
|
||||
startFace 114848;
|
||||
nFaces 12559;
|
||||
startFace 37901;
|
||||
}
|
||||
wing
|
||||
{
|
||||
type wall;
|
||||
nFaces 778;
|
||||
startFace 152977;
|
||||
nFaces 378;
|
||||
startFace 50460;
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
@ -23,7 +23,7 @@ startTime 0;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime 1;
|
||||
endTime 0.6;
|
||||
|
||||
deltaT 1e-5;
|
||||
|
||||
|
||||
@ -15,27 +15,22 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
numberOfSubdomains 3;
|
||||
numberOfSubdomains 4;
|
||||
|
||||
method simple;
|
||||
|
||||
simpleCoeffs
|
||||
{
|
||||
n ( 1 3 1 );
|
||||
n ( 2 2 1 );
|
||||
delta 0.001;
|
||||
}
|
||||
|
||||
hierarchicalCoeffs
|
||||
{
|
||||
n ( 3 2 1 );
|
||||
n ( 2 2 1 );
|
||||
delta 0.001;
|
||||
order xyz;
|
||||
}
|
||||
|
||||
manualCoeffs
|
||||
{
|
||||
dataFile "cellDecomposition";
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -20,38 +20,38 @@ FoamFile
|
||||
topAndBottom
|
||||
{
|
||||
type patch;
|
||||
nFaces 150;
|
||||
startFace 76473;
|
||||
nFaces 72;
|
||||
startFace 25168;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type patch;
|
||||
nFaces 48;
|
||||
startFace 76623;
|
||||
nFaces 40;
|
||||
startFace 25240;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type patch;
|
||||
nFaces 48;
|
||||
startFace 76671;
|
||||
nFaces 62;
|
||||
startFace 25280;
|
||||
}
|
||||
front
|
||||
{
|
||||
type empty;
|
||||
nFaces 38129;
|
||||
startFace 76719;
|
||||
nFaces 12559;
|
||||
startFace 25342;
|
||||
}
|
||||
back
|
||||
{
|
||||
type empty;
|
||||
nFaces 38129;
|
||||
startFace 114848;
|
||||
nFaces 12559;
|
||||
startFace 37901;
|
||||
}
|
||||
wing
|
||||
{
|
||||
type wall;
|
||||
nFaces 778;
|
||||
startFace 152977;
|
||||
nFaces 378;
|
||||
startFace 50460;
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
@ -19,19 +19,19 @@ convertToMeters 1;
|
||||
|
||||
vertices
|
||||
(
|
||||
(-2.5 -4.8 -0.1)
|
||||
( 10 -4.8 -0.1)
|
||||
( 10 4.8 -0.1)
|
||||
(-2.5 4.8 -0.1)
|
||||
(-2.5 -4.8 0.1)
|
||||
( 10 -4.8 0.1)
|
||||
( 10 4.8 0.1)
|
||||
(-2.5 4.8 0.1)
|
||||
(-1.2 -2.2 -0.1)
|
||||
( 5 -2.2 -0.1)
|
||||
( 5 2.2 -0.1)
|
||||
(-1.2 2.2 -0.1)
|
||||
(-1.2 -2.2 0.1)
|
||||
( 5 -2.2 0.1)
|
||||
( 5 2.2 0.1)
|
||||
(-1.2 2.2 0.1)
|
||||
);
|
||||
|
||||
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
|
||||
|
||||
@ -20,38 +20,38 @@ FoamFile
|
||||
topAndBottom
|
||||
{
|
||||
type patch;
|
||||
nFaces 150;
|
||||
startFace 2098769;
|
||||
nFaces 72;
|
||||
startFace 495985;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type patch;
|
||||
nFaces 48;
|
||||
startFace 2098919;
|
||||
nFaces 72;
|
||||
startFace 496057;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type patch;
|
||||
nFaces 48;
|
||||
startFace 2098967;
|
||||
nFaces 204;
|
||||
startFace 496129;
|
||||
}
|
||||
front
|
||||
{
|
||||
type empty;
|
||||
nFaces 38129;
|
||||
startFace 2099015;
|
||||
nFaces 12559;
|
||||
startFace 496333;
|
||||
}
|
||||
back
|
||||
{
|
||||
type empty;
|
||||
nFaces 38120;
|
||||
startFace 2137144;
|
||||
nFaces 12559;
|
||||
startFace 508892;
|
||||
}
|
||||
wing_5degrees.obj_WALL10
|
||||
{
|
||||
type wall;
|
||||
nFaces 49792;
|
||||
startFace 2175264;
|
||||
nFaces 12096;
|
||||
startFace 521451;
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
@ -62,10 +62,10 @@ castellatedMeshControls
|
||||
// actually be a lot less.
|
||||
maxGlobalCells 2000000;
|
||||
|
||||
// The surface refinement loop might spend lots of iterations refining just a
|
||||
// few cells. This setting will cause refinement to stop if <= minimumRefine
|
||||
// are selected for refinement. Note: it will at least do one iteration
|
||||
// (unless the number of cells to refine is 0)
|
||||
// The surface refinement loop might spend lots of iterations refining just
|
||||
// a few cells. This setting will cause refinement to stop if <=
|
||||
// minimumRefine are selected for refinement. Note: it will at least do one
|
||||
// iteration (unless the number of cells to refine is 0)
|
||||
minRefinementCells 100;
|
||||
|
||||
// Number of buffer layers between different levels.
|
||||
@ -98,7 +98,7 @@ castellatedMeshControls
|
||||
wing_5degrees.obj
|
||||
{
|
||||
// Surface-wise min and max refinement level
|
||||
level (6 6);
|
||||
level (5 5);
|
||||
}
|
||||
}
|
||||
|
||||
@ -124,7 +124,7 @@ castellatedMeshControls
|
||||
refinementBox
|
||||
{
|
||||
mode inside;
|
||||
levels ((1e15 3));
|
||||
levels ((1e15 2));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -17,7 +17,7 @@ FoamFile
|
||||
|
||||
dimensions [0 1 -1 0 0 0 0];
|
||||
|
||||
internalField uniform (0 0 0);
|
||||
internalField uniform (0 0 0);
|
||||
|
||||
boundaryField
|
||||
{
|
||||
|
||||
@ -17,7 +17,7 @@ FoamFile
|
||||
|
||||
dimensions [0 1 -1 0 0 0 0];
|
||||
|
||||
internalField uniform (0 0 0);
|
||||
internalField uniform (0 0 0);
|
||||
|
||||
boundaryField
|
||||
{
|
||||
|
||||
@ -17,7 +17,7 @@ FoamFile
|
||||
|
||||
dimensions [0 1 -1 0 0 0 0];
|
||||
|
||||
internalField uniform (0 0 0);
|
||||
internalField uniform (0 0 0);
|
||||
|
||||
boundaryField
|
||||
{
|
||||
|
||||
@ -17,7 +17,7 @@ FoamFile
|
||||
|
||||
dimensions [0 1 -1 0 0 0 0];
|
||||
|
||||
internalField uniform (0 0 0);
|
||||
internalField uniform (0 0 0);
|
||||
|
||||
boundaryField
|
||||
{
|
||||
|
||||
@ -11,4 +11,3 @@ cp -rf 0.org 0
|
||||
rm -f *.obj
|
||||
|
||||
#rm -rf VTK
|
||||
|
||||
|
||||
@ -8,4 +8,3 @@ cd ${0%/*} || exit 1 # run from this directory
|
||||
application=`getApplication`
|
||||
|
||||
runApplication $application
|
||||
|
||||
|
||||
@ -7,4 +7,3 @@ runApplication setSet -batch wallFilmRegion.setSet
|
||||
mv log.setSet log.wallFilmRegion.setSet
|
||||
|
||||
runApplication extrudeToRegionMesh -overwrite
|
||||
|
||||
|
||||
@ -8,4 +8,3 @@ species
|
||||
|
||||
reactions
|
||||
{}
|
||||
|
||||
|
||||
@ -31,7 +31,7 @@ FoamFile
|
||||
sampleMode nearestPatchFace;
|
||||
sampleRegion wallFilmRegion;
|
||||
samplePatch region0_to_wallFilmRegion_wallFilmFaces;
|
||||
offsets
|
||||
offsets
|
||||
200
|
||||
(
|
||||
(-4.33680869e-19 -4.33680869e-19 -0)
|
||||
|
||||
@ -20,7 +20,7 @@ FoamFile
|
||||
wallFilmFaces
|
||||
{
|
||||
type faceZone;
|
||||
faceLabels List<label>
|
||||
faceLabels List<label>
|
||||
200
|
||||
(
|
||||
12600
|
||||
|
||||
@ -18,206 +18,206 @@ FoamFile
|
||||
|
||||
200
|
||||
(
|
||||
12600
|
||||
12601
|
||||
12602
|
||||
12603
|
||||
12604
|
||||
12605
|
||||
12606
|
||||
12607
|
||||
12608
|
||||
12609
|
||||
12610
|
||||
12611
|
||||
12612
|
||||
12613
|
||||
12614
|
||||
12615
|
||||
12616
|
||||
12617
|
||||
12618
|
||||
12619
|
||||
12620
|
||||
12621
|
||||
12622
|
||||
12623
|
||||
12624
|
||||
12625
|
||||
12626
|
||||
12627
|
||||
12628
|
||||
12629
|
||||
12630
|
||||
12631
|
||||
12632
|
||||
12633
|
||||
12634
|
||||
12635
|
||||
12636
|
||||
12637
|
||||
12638
|
||||
12639
|
||||
12640
|
||||
12641
|
||||
12642
|
||||
12643
|
||||
12644
|
||||
12645
|
||||
12646
|
||||
12647
|
||||
12648
|
||||
12649
|
||||
12650
|
||||
12651
|
||||
12652
|
||||
12653
|
||||
12654
|
||||
12655
|
||||
12656
|
||||
12657
|
||||
12658
|
||||
12659
|
||||
12660
|
||||
12661
|
||||
12662
|
||||
12663
|
||||
12664
|
||||
12665
|
||||
12666
|
||||
12667
|
||||
12668
|
||||
12669
|
||||
12670
|
||||
12671
|
||||
12672
|
||||
12673
|
||||
12674
|
||||
12675
|
||||
12676
|
||||
12677
|
||||
12678
|
||||
12679
|
||||
12680
|
||||
12681
|
||||
12682
|
||||
12683
|
||||
12684
|
||||
12685
|
||||
12686
|
||||
12687
|
||||
12688
|
||||
12689
|
||||
12690
|
||||
12691
|
||||
12692
|
||||
12693
|
||||
12694
|
||||
12695
|
||||
12696
|
||||
12697
|
||||
12698
|
||||
12699
|
||||
12700
|
||||
12701
|
||||
12702
|
||||
12703
|
||||
12704
|
||||
12705
|
||||
12706
|
||||
12707
|
||||
12708
|
||||
12709
|
||||
12710
|
||||
12711
|
||||
12712
|
||||
12713
|
||||
12714
|
||||
12715
|
||||
12716
|
||||
12717
|
||||
12718
|
||||
12719
|
||||
12720
|
||||
12721
|
||||
12722
|
||||
12723
|
||||
12724
|
||||
12725
|
||||
12726
|
||||
12727
|
||||
12728
|
||||
12729
|
||||
12730
|
||||
12731
|
||||
12732
|
||||
12733
|
||||
12734
|
||||
12735
|
||||
12736
|
||||
12737
|
||||
12738
|
||||
12739
|
||||
12740
|
||||
12741
|
||||
12742
|
||||
12743
|
||||
12744
|
||||
12745
|
||||
12746
|
||||
12747
|
||||
12748
|
||||
12749
|
||||
12750
|
||||
12751
|
||||
12752
|
||||
12753
|
||||
12754
|
||||
12755
|
||||
12756
|
||||
12757
|
||||
12758
|
||||
12759
|
||||
12760
|
||||
12761
|
||||
12762
|
||||
12763
|
||||
12764
|
||||
12765
|
||||
12766
|
||||
12767
|
||||
12768
|
||||
12769
|
||||
12770
|
||||
12771
|
||||
12772
|
||||
12773
|
||||
12774
|
||||
12775
|
||||
12776
|
||||
12777
|
||||
12778
|
||||
12779
|
||||
12780
|
||||
12781
|
||||
12782
|
||||
12783
|
||||
12784
|
||||
12785
|
||||
12786
|
||||
12787
|
||||
12788
|
||||
12789
|
||||
12790
|
||||
12791
|
||||
12792
|
||||
12793
|
||||
12794
|
||||
12795
|
||||
12796
|
||||
12797
|
||||
12798
|
||||
12799
|
||||
12600
|
||||
12601
|
||||
12602
|
||||
12603
|
||||
12604
|
||||
12605
|
||||
12606
|
||||
12607
|
||||
12608
|
||||
12609
|
||||
12610
|
||||
12611
|
||||
12612
|
||||
12613
|
||||
12614
|
||||
12615
|
||||
12616
|
||||
12617
|
||||
12618
|
||||
12619
|
||||
12620
|
||||
12621
|
||||
12622
|
||||
12623
|
||||
12624
|
||||
12625
|
||||
12626
|
||||
12627
|
||||
12628
|
||||
12629
|
||||
12630
|
||||
12631
|
||||
12632
|
||||
12633
|
||||
12634
|
||||
12635
|
||||
12636
|
||||
12637
|
||||
12638
|
||||
12639
|
||||
12640
|
||||
12641
|
||||
12642
|
||||
12643
|
||||
12644
|
||||
12645
|
||||
12646
|
||||
12647
|
||||
12648
|
||||
12649
|
||||
12650
|
||||
12651
|
||||
12652
|
||||
12653
|
||||
12654
|
||||
12655
|
||||
12656
|
||||
12657
|
||||
12658
|
||||
12659
|
||||
12660
|
||||
12661
|
||||
12662
|
||||
12663
|
||||
12664
|
||||
12665
|
||||
12666
|
||||
12667
|
||||
12668
|
||||
12669
|
||||
12670
|
||||
12671
|
||||
12672
|
||||
12673
|
||||
12674
|
||||
12675
|
||||
12676
|
||||
12677
|
||||
12678
|
||||
12679
|
||||
12680
|
||||
12681
|
||||
12682
|
||||
12683
|
||||
12684
|
||||
12685
|
||||
12686
|
||||
12687
|
||||
12688
|
||||
12689
|
||||
12690
|
||||
12691
|
||||
12692
|
||||
12693
|
||||
12694
|
||||
12695
|
||||
12696
|
||||
12697
|
||||
12698
|
||||
12699
|
||||
12700
|
||||
12701
|
||||
12702
|
||||
12703
|
||||
12704
|
||||
12705
|
||||
12706
|
||||
12707
|
||||
12708
|
||||
12709
|
||||
12710
|
||||
12711
|
||||
12712
|
||||
12713
|
||||
12714
|
||||
12715
|
||||
12716
|
||||
12717
|
||||
12718
|
||||
12719
|
||||
12720
|
||||
12721
|
||||
12722
|
||||
12723
|
||||
12724
|
||||
12725
|
||||
12726
|
||||
12727
|
||||
12728
|
||||
12729
|
||||
12730
|
||||
12731
|
||||
12732
|
||||
12733
|
||||
12734
|
||||
12735
|
||||
12736
|
||||
12737
|
||||
12738
|
||||
12739
|
||||
12740
|
||||
12741
|
||||
12742
|
||||
12743
|
||||
12744
|
||||
12745
|
||||
12746
|
||||
12747
|
||||
12748
|
||||
12749
|
||||
12750
|
||||
12751
|
||||
12752
|
||||
12753
|
||||
12754
|
||||
12755
|
||||
12756
|
||||
12757
|
||||
12758
|
||||
12759
|
||||
12760
|
||||
12761
|
||||
12762
|
||||
12763
|
||||
12764
|
||||
12765
|
||||
12766
|
||||
12767
|
||||
12768
|
||||
12769
|
||||
12770
|
||||
12771
|
||||
12772
|
||||
12773
|
||||
12774
|
||||
12775
|
||||
12776
|
||||
12777
|
||||
12778
|
||||
12779
|
||||
12780
|
||||
12781
|
||||
12782
|
||||
12783
|
||||
12784
|
||||
12785
|
||||
12786
|
||||
12787
|
||||
12788
|
||||
12789
|
||||
12790
|
||||
12791
|
||||
12792
|
||||
12793
|
||||
12794
|
||||
12795
|
||||
12796
|
||||
12797
|
||||
12798
|
||||
12799
|
||||
)
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -38,7 +38,7 @@ FoamFile
|
||||
sampleRegion wallFilmRegion;
|
||||
samplePatch region0_to_wallFilmRegion_wallFilmFaces;
|
||||
offsetMode nonuniform;
|
||||
offsets
|
||||
offsets
|
||||
1100
|
||||
(
|
||||
(-1.110223025e-16 -0 -0)
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
# Create face set
|
||||
faceSet wallFilmFaces new patchToFace filmWalls
|
||||
faceZoneSet wallFilmFaces new setToFaceZone wallFilmFaces
|
||||
|
||||
|
||||
@ -30,4 +30,3 @@ cp -r system/wallFilmRegion.org system/wallFilmRegion
|
||||
|
||||
find ./0 -maxdepth 1 -type f -exec \
|
||||
sed -i "s/wallFilm/\"(region0_to.*)\"/g" {} \;
|
||||
|
||||
|
||||
@ -70,7 +70,7 @@ thermoSingleLayerCoeffs
|
||||
{
|
||||
cloudName reactingCloud1;
|
||||
deltaStable 0;
|
||||
|
||||
|
||||
particlesPerParcel 100.0;
|
||||
|
||||
parcelDistribution
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
#!/bin/bash
|
||||
#--------------------------------*- C++ -*----------------------------------
|
||||
# ========= |
|
||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
# \\ / O peration | Version: dev
|
||||
# \\ / A nd | Web: www.OpenFOAM.com
|
||||
# \\/ M anipulation |
|
||||
#---------------------------------------------------------------------------
|
||||
#--------------------------------*- C++ -*----------------------------------#
|
||||
# ========= | #
|
||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox #
|
||||
# \\ / O peration | Version: dev #
|
||||
# \\ / A nd | Web: www.OpenFOAM.com #
|
||||
# \\/ M anipulation | #
|
||||
#---------------------------------------------------------------------------#
|
||||
cd ${0%/*} || exit 1 # run from this directory
|
||||
|
||||
x0=0.4
|
||||
|
||||
@ -17,7 +17,7 @@ FoamFile
|
||||
|
||||
dimensions [0 1 -1 0 0 0 0];
|
||||
|
||||
internalField uniform (0 0 0);
|
||||
internalField uniform (0 0 0);
|
||||
|
||||
boundaryField
|
||||
{
|
||||
|
||||
@ -17,7 +17,7 @@ FoamFile
|
||||
|
||||
dimensions [0 1 -1 0 0 0 0];
|
||||
|
||||
internalField uniform (0 0 0);
|
||||
internalField uniform (0 0 0);
|
||||
|
||||
boundaryField
|
||||
{
|
||||
|
||||
@ -11,4 +11,3 @@ cp -rf 0.org 0
|
||||
rm -f *.obj
|
||||
|
||||
#rm -rf VTK
|
||||
|
||||
|
||||
@ -8,4 +8,3 @@ cd ${0%/*} || exit 1 # run from this directory
|
||||
application=`getApplication`
|
||||
|
||||
runApplication $application
|
||||
|
||||
|
||||
@ -12,4 +12,3 @@ runApplication setSet -region wallFilmRegion -batch createWallFilmRegionPatches.
|
||||
mv log.setSet log.createWallFilmRegionPatches.setSet
|
||||
|
||||
runApplication createPatch -region wallFilmRegion -overwrite
|
||||
|
||||
|
||||
@ -8,4 +8,3 @@ species
|
||||
|
||||
reactions
|
||||
{}
|
||||
|
||||
|
||||
@ -32,7 +32,7 @@ FoamFile
|
||||
sampleRegion wallFilmRegion;
|
||||
samplePatch region0_to_wallFilmRegion_wallFilmFaces;
|
||||
offsetMode nonuniform;
|
||||
offsets
|
||||
offsets
|
||||
200
|
||||
(
|
||||
(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 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)
|
||||
|
||||
|
||||
@ -25,9 +25,9 @@ pointSync false;
|
||||
// Patches to create.
|
||||
patches
|
||||
(
|
||||
{
|
||||
{
|
||||
// Name of new patch
|
||||
name side1;
|
||||
name side1;
|
||||
|
||||
// Type of new patch
|
||||
patchInfo
|
||||
|
||||
Reference in New Issue
Block a user