mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge branch 'master' of ssh://noisy/home/noisy3/OpenFOAM/OpenFOAM-dev
This commit is contained in:
@ -93,9 +93,9 @@ void readAndRotateFields
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void rotateFields(const Time& runTime, const tensor& T)
|
void rotateFields(const argList& args, const Time& runTime, const tensor& T)
|
||||||
{
|
{
|
||||||
# include "createMesh.H"
|
# include "createNamedMesh.H"
|
||||||
|
|
||||||
// Read objects in time directory
|
// Read objects in time directory
|
||||||
IOobjectList objects(mesh, runTime.timeName());
|
IOobjectList objects(mesh, runTime.timeName());
|
||||||
@ -142,6 +142,7 @@ void rotateFields(const Time& runTime, const tensor& T)
|
|||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
|
# include "addRegionOption.H"
|
||||||
argList::addOption("translate", "vector");
|
argList::addOption("translate", "vector");
|
||||||
argList::addOption("rotate", "(vector vector)");
|
argList::addOption("rotate", "(vector vector)");
|
||||||
argList::addOption("rollPitchYaw", "(roll pitch yaw)");
|
argList::addOption("rollPitchYaw", "(roll pitch yaw)");
|
||||||
@ -152,13 +153,25 @@ int main(int argc, char *argv[])
|
|||||||
# include "setRootCase.H"
|
# include "setRootCase.H"
|
||||||
# include "createTime.H"
|
# include "createTime.H"
|
||||||
|
|
||||||
|
word regionName = polyMesh::defaultRegion;
|
||||||
|
fileName meshDir;
|
||||||
|
|
||||||
|
if (args.optionReadIfPresent("region", regionName))
|
||||||
|
{
|
||||||
|
meshDir = regionName/polyMesh::meshSubDir;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
meshDir = polyMesh::meshSubDir;
|
||||||
|
}
|
||||||
|
|
||||||
pointIOField points
|
pointIOField points
|
||||||
(
|
(
|
||||||
IOobject
|
IOobject
|
||||||
(
|
(
|
||||||
"points",
|
"points",
|
||||||
runTime.findInstance(polyMesh::meshSubDir, "points"),
|
runTime.findInstance(meshDir, "points"),
|
||||||
polyMesh::meshSubDir,
|
meshDir,
|
||||||
runTime,
|
runTime,
|
||||||
IOobject::MUST_READ,
|
IOobject::MUST_READ,
|
||||||
IOobject::NO_WRITE,
|
IOobject::NO_WRITE,
|
||||||
@ -197,7 +210,7 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
if (args.optionFound("rotateFields"))
|
if (args.optionFound("rotateFields"))
|
||||||
{
|
{
|
||||||
rotateFields(runTime, T);
|
rotateFields(args, runTime, T);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (args.optionFound("rollPitchYaw"))
|
else if (args.optionFound("rollPitchYaw"))
|
||||||
@ -220,7 +233,7 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
if (args.optionFound("rotateFields"))
|
if (args.optionFound("rotateFields"))
|
||||||
{
|
{
|
||||||
rotateFields(runTime, R.R());
|
rotateFields(args, runTime, R.R());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (args.optionFound("yawPitchRoll"))
|
else if (args.optionFound("yawPitchRoll"))
|
||||||
@ -249,7 +262,7 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
if (args.optionFound("rotateFields"))
|
if (args.optionFound("rotateFields"))
|
||||||
{
|
{
|
||||||
rotateFields(runTime, R.R());
|
rotateFields(args, runTime, R.R());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -9,4 +9,5 @@ EXE_LIBS = \
|
|||||||
-ltecio \
|
-ltecio \
|
||||||
-llagrangian \
|
-llagrangian \
|
||||||
-lfiniteVolume \
|
-lfiniteVolume \
|
||||||
|
-lgenericPatchFields \
|
||||||
-lmeshTools
|
-lmeshTools
|
||||||
|
|||||||
@ -909,106 +909,115 @@ int main(int argc, char *argv[])
|
|||||||
const polyPatch& pp = patches[patchID];
|
const polyPatch& pp = patches[patchID];
|
||||||
//INTEGER4 strandID = 1 + i;
|
//INTEGER4 strandID = 1 + i;
|
||||||
|
|
||||||
Info<< " Writing patch " << patchID << "\t" << pp.name()
|
if (pp.size() > 0)
|
||||||
<< "\tstrand:" << strandID << nl << endl;
|
|
||||||
|
|
||||||
const indirectPrimitivePatch ipp
|
|
||||||
(
|
|
||||||
IndirectList<face>(pp, identity(pp.size())),
|
|
||||||
pp.points()
|
|
||||||
);
|
|
||||||
|
|
||||||
writer.writePolygonalZone
|
|
||||||
(
|
|
||||||
pp.name(),
|
|
||||||
strandID++, //strandID,
|
|
||||||
ipp,
|
|
||||||
allVarLocation
|
|
||||||
);
|
|
||||||
|
|
||||||
// Write coordinates
|
|
||||||
writer.writeField(ipp.localPoints().component(0)());
|
|
||||||
writer.writeField(ipp.localPoints().component(1)());
|
|
||||||
writer.writeField(ipp.localPoints().component(2)());
|
|
||||||
|
|
||||||
// Write all fields
|
|
||||||
forAll(vsf, i)
|
|
||||||
{
|
{
|
||||||
writer.writeField
|
Info<< " Writing patch " << patchID << "\t" << pp.name()
|
||||||
|
<< "\tstrand:" << strandID << nl << endl;
|
||||||
|
|
||||||
|
const indirectPrimitivePatch ipp
|
||||||
(
|
(
|
||||||
writer.getPatchField
|
IndirectList<face>(pp, identity(pp.size())),
|
||||||
|
pp.points()
|
||||||
|
);
|
||||||
|
|
||||||
|
writer.writePolygonalZone
|
||||||
|
(
|
||||||
|
pp.name(),
|
||||||
|
strandID++, //strandID,
|
||||||
|
ipp,
|
||||||
|
allVarLocation
|
||||||
|
);
|
||||||
|
|
||||||
|
// Write coordinates
|
||||||
|
writer.writeField(ipp.localPoints().component(0)());
|
||||||
|
writer.writeField(ipp.localPoints().component(1)());
|
||||||
|
writer.writeField(ipp.localPoints().component(2)());
|
||||||
|
|
||||||
|
// Write all fields
|
||||||
|
forAll(vsf, i)
|
||||||
|
{
|
||||||
|
writer.writeField
|
||||||
(
|
(
|
||||||
nearCellValue,
|
writer.getPatchField
|
||||||
vsf[i],
|
(
|
||||||
patchID
|
nearCellValue,
|
||||||
)()
|
vsf[i],
|
||||||
);
|
patchID
|
||||||
}
|
)()
|
||||||
forAll(vvf, i)
|
);
|
||||||
{
|
}
|
||||||
writer.writeField
|
forAll(vvf, i)
|
||||||
(
|
{
|
||||||
writer.getPatchField
|
writer.writeField
|
||||||
(
|
(
|
||||||
nearCellValue,
|
writer.getPatchField
|
||||||
vvf[i],
|
(
|
||||||
patchID
|
nearCellValue,
|
||||||
)()
|
vvf[i],
|
||||||
);
|
patchID
|
||||||
}
|
)()
|
||||||
forAll(vSpheretf, i)
|
);
|
||||||
{
|
}
|
||||||
writer.writeField
|
forAll(vSpheretf, i)
|
||||||
(
|
{
|
||||||
writer.getPatchField
|
writer.writeField
|
||||||
(
|
(
|
||||||
nearCellValue,
|
writer.getPatchField
|
||||||
vSpheretf[i],
|
(
|
||||||
patchID
|
nearCellValue,
|
||||||
)()
|
vSpheretf[i],
|
||||||
);
|
patchID
|
||||||
}
|
)()
|
||||||
forAll(vSymmtf, i)
|
);
|
||||||
{
|
}
|
||||||
writer.writeField
|
forAll(vSymmtf, i)
|
||||||
(
|
{
|
||||||
writer.getPatchField
|
writer.writeField
|
||||||
(
|
(
|
||||||
nearCellValue,
|
writer.getPatchField
|
||||||
vSymmtf[i],
|
(
|
||||||
patchID
|
nearCellValue,
|
||||||
)()
|
vSymmtf[i],
|
||||||
);
|
patchID
|
||||||
}
|
)()
|
||||||
forAll(vtf, i)
|
);
|
||||||
{
|
}
|
||||||
writer.writeField
|
forAll(vtf, i)
|
||||||
(
|
{
|
||||||
writer.getPatchField
|
writer.writeField
|
||||||
(
|
(
|
||||||
nearCellValue,
|
writer.getPatchField
|
||||||
vtf[i],
|
(
|
||||||
patchID
|
nearCellValue,
|
||||||
)()
|
vtf[i],
|
||||||
);
|
patchID
|
||||||
}
|
)()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
forAll(psf, i)
|
forAll(psf, i)
|
||||||
{
|
{
|
||||||
writer.writeField
|
writer.writeField
|
||||||
(
|
(
|
||||||
psf[i].boundaryField()[patchID].patchInternalField()()
|
psf[i].boundaryField()[patchID].patchInternalField()()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
forAll(pvf, i)
|
forAll(pvf, i)
|
||||||
{
|
{
|
||||||
writer.writeField
|
writer.writeField
|
||||||
(
|
(
|
||||||
pvf[i].boundaryField()[patchID].patchInternalField()()
|
pvf[i].boundaryField()[patchID].patchInternalField()()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
writer.writeConnectivity(ipp);
|
writer.writeConnectivity(ipp);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Info<< " Skipping zero sized patch " << patchID
|
||||||
|
<< "\t" << pp.name()
|
||||||
|
<< nl << endl;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
writer.writeEnd();
|
writer.writeEnd();
|
||||||
|
|
||||||
|
|||||||
@ -122,7 +122,7 @@ Foam::dictionary::dictionary
|
|||||||
const dictionary& dict
|
const dictionary& dict
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
dictionaryName(parentDict.name() + "::" + dict.name()),
|
dictionaryName(dict.name()),
|
||||||
IDLList<entry>(dict, *this),
|
IDLList<entry>(dict, *this),
|
||||||
parent_(parentDict)
|
parent_(parentDict)
|
||||||
{
|
{
|
||||||
@ -489,7 +489,7 @@ Foam::dictionary Foam::dictionary::subOrEmptyDict
|
|||||||
|
|
||||||
if (entryPtr == NULL)
|
if (entryPtr == NULL)
|
||||||
{
|
{
|
||||||
return dictionary(*this, dictionary(keyword));
|
return dictionary(*this, dictionary(name() + "::" + keyword));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -2207,6 +2207,7 @@ void Foam::polyTopoChange::addMesh
|
|||||||
// Extend
|
// Extend
|
||||||
points_.setCapacity(points_.size() + points.size());
|
points_.setCapacity(points_.size() + points.size());
|
||||||
pointMap_.setCapacity(pointMap_.size() + points.size());
|
pointMap_.setCapacity(pointMap_.size() + points.size());
|
||||||
|
reversePointMap_.setCapacity(reversePointMap_.size() + points.size());
|
||||||
pointZone_.resize(pointZone_.size() + points.size()/100);
|
pointZone_.resize(pointZone_.size() + points.size()/100);
|
||||||
|
|
||||||
// Precalc offset zones
|
// Precalc offset zones
|
||||||
@ -2246,6 +2247,7 @@ void Foam::polyTopoChange::addMesh
|
|||||||
label nAllCells = mesh.nCells();
|
label nAllCells = mesh.nCells();
|
||||||
|
|
||||||
cellMap_.setCapacity(cellMap_.size() + nAllCells);
|
cellMap_.setCapacity(cellMap_.size() + nAllCells);
|
||||||
|
reverseCellMap_.setCapacity(reverseCellMap_.size() + nAllCells);
|
||||||
cellFromPoint_.resize(cellFromPoint_.size() + nAllCells/100);
|
cellFromPoint_.resize(cellFromPoint_.size() + nAllCells/100);
|
||||||
cellFromEdge_.resize(cellFromEdge_.size() + nAllCells/100);
|
cellFromEdge_.resize(cellFromEdge_.size() + nAllCells/100);
|
||||||
cellFromFace_.resize(cellFromFace_.size() + nAllCells/100);
|
cellFromFace_.resize(cellFromFace_.size() + nAllCells/100);
|
||||||
@ -2310,6 +2312,7 @@ void Foam::polyTopoChange::addMesh
|
|||||||
faceOwner_.setCapacity(faceOwner_.size() + nAllFaces);
|
faceOwner_.setCapacity(faceOwner_.size() + nAllFaces);
|
||||||
faceNeighbour_.setCapacity(faceNeighbour_.size() + nAllFaces);
|
faceNeighbour_.setCapacity(faceNeighbour_.size() + nAllFaces);
|
||||||
faceMap_.setCapacity(faceMap_.size() + nAllFaces);
|
faceMap_.setCapacity(faceMap_.size() + nAllFaces);
|
||||||
|
reverseFaceMap_.setCapacity(reverseFaceMap_.size() + nAllFaces);
|
||||||
faceFromPoint_.resize(faceFromPoint_.size() + nAllFaces/100);
|
faceFromPoint_.resize(faceFromPoint_.size() + nAllFaces/100);
|
||||||
faceFromEdge_.resize(faceFromEdge_.size() + nAllFaces/100);
|
faceFromEdge_.resize(faceFromEdge_.size() + nAllFaces/100);
|
||||||
flipFaceFlux_.setCapacity(faces_.size() + nAllFaces);
|
flipFaceFlux_.setCapacity(faces_.size() + nAllFaces);
|
||||||
@ -2394,6 +2397,39 @@ void Foam::polyTopoChange::addMesh
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Foam::polyTopoChange::setCapacity
|
||||||
|
(
|
||||||
|
const label nPoints,
|
||||||
|
const label nFaces,
|
||||||
|
const label nCells
|
||||||
|
)
|
||||||
|
{
|
||||||
|
points_.setCapacity(nPoints);
|
||||||
|
pointMap_.setCapacity(nPoints);
|
||||||
|
reversePointMap_.setCapacity(nPoints);
|
||||||
|
pointZone_.resize(pointZone_.size() + nPoints/100);
|
||||||
|
|
||||||
|
faces_.setCapacity(nFaces);
|
||||||
|
region_.setCapacity(nFaces);
|
||||||
|
faceOwner_.setCapacity(nFaces);
|
||||||
|
faceNeighbour_.setCapacity(nFaces);
|
||||||
|
faceMap_.setCapacity(nFaces);
|
||||||
|
reverseFaceMap_.setCapacity(nFaces);
|
||||||
|
faceFromPoint_.resize(faceFromPoint_.size() + nFaces/100);
|
||||||
|
faceFromEdge_.resize(faceFromEdge_.size() + nFaces/100);
|
||||||
|
flipFaceFlux_.setCapacity(nFaces);
|
||||||
|
faceZone_.resize(faceZone_.size() + nFaces/100);
|
||||||
|
faceZoneFlip_.setCapacity(nFaces);
|
||||||
|
|
||||||
|
cellMap_.setCapacity(nCells);
|
||||||
|
reverseCellMap_.setCapacity(nCells);
|
||||||
|
cellFromPoint_.resize(cellFromPoint_.size() + nCells/100);
|
||||||
|
cellFromEdge_.resize(cellFromEdge_.size() + nCells/100);
|
||||||
|
cellFromFace_.resize(cellFromFace_.size() + nCells/100);
|
||||||
|
cellZone_.setCapacity(nCells);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Foam::label Foam::polyTopoChange::setAction(const topoAction& action)
|
Foam::label Foam::polyTopoChange::setAction(const topoAction& action)
|
||||||
{
|
{
|
||||||
if (isType<polyAddPoint>(action))
|
if (isType<polyAddPoint>(action))
|
||||||
|
|||||||
@ -472,6 +472,15 @@ public:
|
|||||||
const labelList& cellZoneMap
|
const labelList& cellZoneMap
|
||||||
);
|
);
|
||||||
|
|
||||||
|
//- Explicitly pre-size the dynamic storage for expected mesh
|
||||||
|
// size for if construct-without-mesh
|
||||||
|
void setCapacity
|
||||||
|
(
|
||||||
|
const label nPoints,
|
||||||
|
const label nFaces,
|
||||||
|
const label nCells
|
||||||
|
);
|
||||||
|
|
||||||
//- Move all points. Incompatible with other topology changes.
|
//- Move all points. Incompatible with other topology changes.
|
||||||
void movePoints(const pointField& newPoints);
|
void movePoints(const pointField& newPoints);
|
||||||
|
|
||||||
|
|||||||
@ -176,7 +176,7 @@ void surfaceSlipDisplacementPointPatchVectorField::calcProjection
|
|||||||
|
|
||||||
// Knock out any wedge component
|
// Knock out any wedge component
|
||||||
scalarField offset(start.size(), 0.0);
|
scalarField offset(start.size(), 0.0);
|
||||||
if (wedgePlane_ >= 0 && wedgePlane_ <= vector::nComponents)
|
if (wedgePlane_ >= 0 && wedgePlane_ < vector::nComponents)
|
||||||
{
|
{
|
||||||
forAll(offset, i)
|
forAll(offset, i)
|
||||||
{
|
{
|
||||||
@ -262,7 +262,7 @@ void surfaceSlipDisplacementPointPatchVectorField::calcProjection
|
|||||||
|
|
||||||
if (interPt.hit())
|
if (interPt.hit())
|
||||||
{
|
{
|
||||||
if (wedgePlane_ >= 0 && wedgePlane_ <= vector::nComponents)
|
if (wedgePlane_ >= 0 && wedgePlane_ < vector::nComponents)
|
||||||
{
|
{
|
||||||
interPt.rawPoint()[wedgePlane_] += offset[i];
|
interPt.rawPoint()[wedgePlane_] += offset[i];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -218,6 +218,69 @@ bool Foam::triSurfaceMesh::isSurfaceClosed() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Gets all intersections after initial one. Adds smallVec and starts tracking
|
||||||
|
// from there.
|
||||||
|
void Foam::triSurfaceMesh::getNextIntersections
|
||||||
|
(
|
||||||
|
const indexedOctree<treeDataTriSurface>& octree,
|
||||||
|
const point& start,
|
||||||
|
const point& end,
|
||||||
|
const vector& smallVec,
|
||||||
|
DynamicList<pointIndexHit, 1, 1>& hits
|
||||||
|
)
|
||||||
|
{
|
||||||
|
const vector dirVec(end-start);
|
||||||
|
const scalar magSqrDirVec(magSqr(dirVec));
|
||||||
|
|
||||||
|
// Initial perturbation amount
|
||||||
|
vector perturbVec(smallVec);
|
||||||
|
|
||||||
|
while (true)
|
||||||
|
{
|
||||||
|
// Start tracking from last hit.
|
||||||
|
point pt = hits[hits.size()-1].hitPoint() + perturbVec;
|
||||||
|
|
||||||
|
if (((pt-start)&dirVec) > magSqrDirVec)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// See if any intersection between pt and end
|
||||||
|
pointIndexHit inter = octree.findLine(pt, end);
|
||||||
|
|
||||||
|
if (!inter.hit())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check if already found this intersection
|
||||||
|
bool duplicateHit = false;
|
||||||
|
forAllReverse(hits, i)
|
||||||
|
{
|
||||||
|
if (hits[i].index() == inter.index())
|
||||||
|
{
|
||||||
|
duplicateHit = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (duplicateHit)
|
||||||
|
{
|
||||||
|
// Hit same triangle again. Increase perturbVec and try again.
|
||||||
|
perturbVec *= 2;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Proper hit
|
||||||
|
hits.append(inter);
|
||||||
|
// Restore perturbVec
|
||||||
|
perturbVec = smallVec;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
Foam::triSurfaceMesh::triSurfaceMesh(const IOobject& io, const triSurface& s)
|
Foam::triSurfaceMesh::triSurfaceMesh(const IOobject& io, const triSurface& s)
|
||||||
@ -620,27 +683,14 @@ void Foam::triSurfaceMesh::findLineAll
|
|||||||
hits.clear();
|
hits.clear();
|
||||||
hits.append(inter);
|
hits.append(inter);
|
||||||
|
|
||||||
point pt = inter.hitPoint() + smallVec[pointI];
|
getNextIntersections
|
||||||
|
(
|
||||||
while (((pt-start[pointI])&dirVec[pointI]) <= magSqrDirVec[pointI])
|
octree,
|
||||||
{
|
start[pointI],
|
||||||
// See if any intersection between pt and end
|
end[pointI],
|
||||||
pointIndexHit inter = octree.findLine(pt, end[pointI]);
|
smallVec[pointI],
|
||||||
|
hits
|
||||||
// Check for not hit or hit same triangle as before (can happen
|
);
|
||||||
// if vector along surface of triangle)
|
|
||||||
if
|
|
||||||
(
|
|
||||||
!inter.hit()
|
|
||||||
|| (inter.index() == hits.last().index())
|
|
||||||
)
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
hits.append(inter);
|
|
||||||
|
|
||||||
pt = inter.hitPoint() + smallVec[pointI];
|
|
||||||
}
|
|
||||||
|
|
||||||
info[pointI].transfer(hits);
|
info[pointI].transfer(hits);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -111,6 +111,17 @@ private:
|
|||||||
// addressing.
|
// addressing.
|
||||||
bool isSurfaceClosed() const;
|
bool isSurfaceClosed() const;
|
||||||
|
|
||||||
|
//- Steps to next intersection. Adds smallVec and starts tracking
|
||||||
|
// from there.
|
||||||
|
static void getNextIntersections
|
||||||
|
(
|
||||||
|
const indexedOctree<treeDataTriSurface>& octree,
|
||||||
|
const point& start,
|
||||||
|
const point& end,
|
||||||
|
const vector& smallVec,
|
||||||
|
DynamicList<pointIndexHit, 1, 1>& hits
|
||||||
|
);
|
||||||
|
|
||||||
//- Disallow default bitwise copy construct
|
//- Disallow default bitwise copy construct
|
||||||
triSurfaceMesh(const triSurfaceMesh&);
|
triSurfaceMesh(const triSurfaceMesh&);
|
||||||
|
|
||||||
|
|||||||
@ -20,31 +20,9 @@ internalField uniform 80;
|
|||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
minX
|
".*"
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type calculated;
|
||||||
}
|
|
||||||
maxX
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
|
|
||||||
minY
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
maxY
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
|
|
||||||
minZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
maxZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -20,32 +20,9 @@ internalField uniform 300;
|
|||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
minX
|
".*"
|
||||||
{
|
{
|
||||||
type fixedValue;
|
type calculated;
|
||||||
value uniform 300;
|
|
||||||
}
|
|
||||||
maxX
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
|
|
||||||
minY
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
maxY
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
|
|
||||||
minZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
maxZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -20,37 +20,9 @@ internalField uniform (0.01 0 0);
|
|||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
minX
|
".*"
|
||||||
{
|
{
|
||||||
type fixedValue;
|
type calculated;
|
||||||
value uniform (0.01 0 0);
|
|
||||||
}
|
|
||||||
maxX
|
|
||||||
{
|
|
||||||
type inletOutlet;
|
|
||||||
inletValue uniform (0 0 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
minY
|
|
||||||
{
|
|
||||||
type fixedValue;
|
|
||||||
value uniform (0 0 0);
|
|
||||||
}
|
|
||||||
maxY
|
|
||||||
{
|
|
||||||
type fixedValue;
|
|
||||||
value uniform (0 0 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
minZ
|
|
||||||
{
|
|
||||||
type fixedValue;
|
|
||||||
value uniform (0 0 0);
|
|
||||||
}
|
|
||||||
maxZ
|
|
||||||
{
|
|
||||||
type fixedValue;
|
|
||||||
value uniform (0 0 0);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -20,31 +20,9 @@ internalField uniform 450;
|
|||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
minX
|
".*"
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type calculated;
|
||||||
}
|
|
||||||
maxX
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
|
|
||||||
minY
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
maxY
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
|
|
||||||
minZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
maxZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -21,46 +21,9 @@ internalField uniform 0.01;
|
|||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
minY
|
".*"
|
||||||
{
|
{
|
||||||
type epsilonWallFunction;
|
type calculated;
|
||||||
value uniform 0.01;
|
|
||||||
}
|
|
||||||
maxY
|
|
||||||
{
|
|
||||||
type epsilonWallFunction;
|
|
||||||
value uniform 0.01;
|
|
||||||
}
|
|
||||||
minX
|
|
||||||
{
|
|
||||||
type fixedValue;
|
|
||||||
value uniform 0.01;
|
|
||||||
}
|
|
||||||
maxX
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
minZ
|
|
||||||
{
|
|
||||||
type epsilonWallFunction;
|
|
||||||
value uniform 0.01;
|
|
||||||
}
|
|
||||||
maxZ
|
|
||||||
{
|
|
||||||
type epsilonWallFunction;
|
|
||||||
value uniform 0.01;
|
|
||||||
}
|
|
||||||
topAir_to_leftSolid
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
topAir_to_heater
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
topAir_to_rightSolid
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -21,46 +21,9 @@ internalField uniform 0.1;
|
|||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
minY
|
".*"
|
||||||
{
|
{
|
||||||
type kqRWallFunction;
|
type calculated;
|
||||||
value uniform 0.1;
|
|
||||||
}
|
|
||||||
maxY
|
|
||||||
{
|
|
||||||
type kqRWallFunction;
|
|
||||||
value uniform 0.1;
|
|
||||||
}
|
|
||||||
minX
|
|
||||||
{
|
|
||||||
type fixedValue;
|
|
||||||
value uniform 0.1;
|
|
||||||
}
|
|
||||||
maxX
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
minZ
|
|
||||||
{
|
|
||||||
type kqRWallFunction;
|
|
||||||
value uniform 0.1;
|
|
||||||
}
|
|
||||||
maxZ
|
|
||||||
{
|
|
||||||
type kqRWallFunction;
|
|
||||||
value uniform 0.1;
|
|
||||||
}
|
|
||||||
topAir_to_leftSolid
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
topAir_to_heater
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
topAir_to_rightSolid
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -20,36 +20,9 @@ internalField uniform 1e5;
|
|||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
minX
|
".*"
|
||||||
{
|
{
|
||||||
type buoyantPressure;
|
type calculated;
|
||||||
value 1e5;
|
|
||||||
}
|
|
||||||
maxX
|
|
||||||
{
|
|
||||||
type buoyantPressure;
|
|
||||||
value 1e5;
|
|
||||||
}
|
|
||||||
|
|
||||||
minY
|
|
||||||
{
|
|
||||||
type buoyantPressure;
|
|
||||||
value 1e5;
|
|
||||||
}
|
|
||||||
maxY
|
|
||||||
{
|
|
||||||
type buoyantPressure;
|
|
||||||
value 1e5;
|
|
||||||
}
|
|
||||||
minZ
|
|
||||||
{
|
|
||||||
type buoyantPressure;
|
|
||||||
value 1e5;
|
|
||||||
}
|
|
||||||
maxZ
|
|
||||||
{
|
|
||||||
type buoyantPressure;
|
|
||||||
value 1e5;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -20,31 +20,9 @@ internalField uniform 8000;
|
|||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
minX
|
".*"
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type calculated;
|
||||||
}
|
|
||||||
maxX
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
|
|
||||||
minY
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
maxY
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
|
|
||||||
minZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
maxZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -13,11 +13,6 @@ rm -f constant/polyMesh/sets/*_old
|
|||||||
runApplication setsToZones -noFlipMap
|
runApplication setsToZones -noFlipMap
|
||||||
runApplication splitMeshRegions -cellZones
|
runApplication splitMeshRegions -cellZones
|
||||||
|
|
||||||
for i in bottomAir topAir heater leftSolid rightSolid
|
|
||||||
do
|
|
||||||
changeDictionary -region $i >& log.changeDictionary.$i
|
|
||||||
done
|
|
||||||
|
|
||||||
# remove fluid fields from solid regions (important for post-processing)
|
# remove fluid fields from solid regions (important for post-processing)
|
||||||
for i in heater leftSolid rightSolid
|
for i in heater leftSolid rightSolid
|
||||||
do
|
do
|
||||||
@ -27,7 +22,12 @@ done
|
|||||||
# remove solid fields from fluid regions (important for post-processing)
|
# remove solid fields from fluid regions (important for post-processing)
|
||||||
for i in bottomAir topAir
|
for i in bottomAir topAir
|
||||||
do
|
do
|
||||||
rm -f 0*/$i/{cp,K}
|
rm -f 0*/$i/{cp,K,rho}
|
||||||
|
done
|
||||||
|
|
||||||
|
for i in bottomAir topAir heater leftSolid rightSolid
|
||||||
|
do
|
||||||
|
changeDictionary -region $i >& log.changeDictionary.$i
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,2 @@
|
|||||||
|
The 0/ field files contain nonsense patchFields. All interesting
|
||||||
|
work is done using the changeDictionaryDicts.
|
||||||
@ -14,9 +14,9 @@ FoamFile
|
|||||||
}
|
}
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
RASModel kEpsilon;
|
RASModel laminar;
|
||||||
|
|
||||||
turbulence off;
|
turbulence on;
|
||||||
|
|
||||||
printCoeffs on;
|
printCoeffs on;
|
||||||
|
|
||||||
|
|||||||
@ -10,13 +10,11 @@ FoamFile
|
|||||||
version 2.0;
|
version 2.0;
|
||||||
format ascii;
|
format ascii;
|
||||||
class uniformDimensionedVectorField;
|
class uniformDimensionedVectorField;
|
||||||
location "constant";
|
|
||||||
object g;
|
object g;
|
||||||
}
|
}
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
dimensions [0 1 -2 0 0 0 0];
|
dimensions [0 1 -2 0 0 0 0];
|
||||||
value ( 0 -9.81 0 );
|
value (0 -9.81 0);
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -14,9 +14,9 @@ FoamFile
|
|||||||
}
|
}
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
RASModel kEpsilon;
|
RASModel laminar;
|
||||||
|
|
||||||
turbulence off;
|
turbulence on;
|
||||||
|
|
||||||
printCoeffs on;
|
printCoeffs on;
|
||||||
|
|
||||||
|
|||||||
@ -10,13 +10,11 @@ FoamFile
|
|||||||
version 2.0;
|
version 2.0;
|
||||||
format ascii;
|
format ascii;
|
||||||
class uniformDimensionedVectorField;
|
class uniformDimensionedVectorField;
|
||||||
location "constant";
|
|
||||||
object g;
|
object g;
|
||||||
}
|
}
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
dimensions [0 1 -2 0 0 0 0];
|
dimensions [0 1 -2 0 0 0 0];
|
||||||
value ( 0 -9.81 0 );
|
value (0 -9.81 0);
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -18,6 +18,10 @@ dictionaryReplacement
|
|||||||
{
|
{
|
||||||
boundary
|
boundary
|
||||||
{
|
{
|
||||||
|
".*"
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
}
|
||||||
bottomAir_to_leftSolid
|
bottomAir_to_leftSolid
|
||||||
{
|
{
|
||||||
offset ( 0 0 0 );
|
offset ( 0 0 0 );
|
||||||
@ -43,32 +47,11 @@ dictionaryReplacement
|
|||||||
|
|
||||||
U
|
U
|
||||||
{
|
{
|
||||||
internalField uniform (0 0 0);
|
internalField uniform (0.01 0 0);
|
||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
minX
|
".*"
|
||||||
{
|
|
||||||
type fixedValue;
|
|
||||||
value uniform (0 0 0);
|
|
||||||
}
|
|
||||||
maxX
|
|
||||||
{
|
|
||||||
type fixedValue;
|
|
||||||
value uniform (0 0 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
bottomAir_to_leftSolid
|
|
||||||
{
|
|
||||||
type fixedValue;
|
|
||||||
value uniform (0 0 0);
|
|
||||||
|
|
||||||
}
|
|
||||||
bottomAir_to_heater
|
|
||||||
{
|
|
||||||
type fixedValue;
|
|
||||||
value uniform (0 0 0);
|
|
||||||
}
|
|
||||||
bottomAir_to_rightSolid
|
|
||||||
{
|
{
|
||||||
type fixedValue;
|
type fixedValue;
|
||||||
value uniform (0 0 0);
|
value uniform (0 0 0);
|
||||||
@ -78,28 +61,16 @@ dictionaryReplacement
|
|||||||
|
|
||||||
T
|
T
|
||||||
{
|
{
|
||||||
|
internalField uniform 300;
|
||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
minX
|
".*"
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
}
|
}
|
||||||
bottomAir_to_leftSolid
|
|
||||||
{
|
|
||||||
type compressible::turbulentTemperatureCoupledBaffle;
|
|
||||||
neighbourFieldName T;
|
|
||||||
K K;
|
|
||||||
value uniform 300;
|
|
||||||
|
|
||||||
}
|
"bottomAir_to_.*"
|
||||||
bottomAir_to_heater
|
|
||||||
{
|
|
||||||
type compressible::turbulentTemperatureCoupledBaffle;
|
|
||||||
neighbourFieldName T;
|
|
||||||
K K;
|
|
||||||
value uniform 300;
|
|
||||||
}
|
|
||||||
bottomAir_to_rightSolid
|
|
||||||
{
|
{
|
||||||
type compressible::turbulentTemperatureCoupledBaffle;
|
type compressible::turbulentTemperatureCoupledBaffle;
|
||||||
neighbourFieldName T;
|
neighbourFieldName T;
|
||||||
@ -111,58 +82,13 @@ dictionaryReplacement
|
|||||||
|
|
||||||
epsilon
|
epsilon
|
||||||
{
|
{
|
||||||
// Set the value on all bc to non-zero. Not used in simulation
|
|
||||||
// since zeroGradient; only used in initialisation.
|
|
||||||
internalField uniform 0.01;
|
internalField uniform 0.01;
|
||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
minX
|
".*"
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type compressible::epsilonWallFunction;
|
||||||
value uniform 0.01;
|
|
||||||
}
|
|
||||||
maxX
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
value uniform 0.01;
|
|
||||||
}
|
|
||||||
|
|
||||||
minY
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
value uniform 0.01;
|
|
||||||
}
|
|
||||||
maxY
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
value uniform 0.01;
|
|
||||||
}
|
|
||||||
|
|
||||||
minZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
value uniform 0.01;
|
|
||||||
}
|
|
||||||
maxZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
value uniform 0.01;
|
|
||||||
}
|
|
||||||
|
|
||||||
bottomAir_to_leftSolid
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
value uniform 0.01;
|
|
||||||
}
|
|
||||||
bottomAir_to_heater
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
value uniform 0.01;
|
|
||||||
}
|
|
||||||
bottomAir_to_rightSolid
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
value uniform 0.01;
|
value uniform 0.01;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -171,54 +97,12 @@ dictionaryReplacement
|
|||||||
k
|
k
|
||||||
{
|
{
|
||||||
internalField uniform 0.1;
|
internalField uniform 0.1;
|
||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
minX
|
".*"
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type compressible::kqRWallFunction;
|
||||||
value uniform 0.1;
|
|
||||||
}
|
|
||||||
maxX
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
value uniform 0.1;
|
|
||||||
}
|
|
||||||
|
|
||||||
minY
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
value uniform 0.1;
|
|
||||||
}
|
|
||||||
maxY
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
value uniform 0.1;
|
|
||||||
}
|
|
||||||
|
|
||||||
minZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
value uniform 0.1;
|
|
||||||
}
|
|
||||||
maxZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
value uniform 0.1;
|
|
||||||
}
|
|
||||||
|
|
||||||
bottomAir_to_leftSolid
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
value uniform 0.1;
|
|
||||||
}
|
|
||||||
bottomAir_to_heater
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
value uniform 0.1;
|
|
||||||
}
|
|
||||||
bottomAir_to_rightSolid
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
value uniform 0.1;
|
value uniform 0.1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -226,53 +110,17 @@ dictionaryReplacement
|
|||||||
|
|
||||||
p
|
p
|
||||||
{
|
{
|
||||||
internalField uniform 1E5;
|
internalField uniform 100000;
|
||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
minX
|
".*"
|
||||||
{
|
|
||||||
type buoyantPressure;
|
|
||||||
value 1e5;
|
|
||||||
}
|
|
||||||
maxX
|
|
||||||
{
|
|
||||||
type buoyantPressure;
|
|
||||||
value 1e5;
|
|
||||||
}
|
|
||||||
minY
|
|
||||||
{
|
|
||||||
type buoyantPressure;
|
|
||||||
value 1e5;
|
|
||||||
}
|
|
||||||
minZ
|
|
||||||
{
|
|
||||||
type buoyantPressure;
|
|
||||||
value 1e5;
|
|
||||||
}
|
|
||||||
maxZ
|
|
||||||
{
|
|
||||||
type buoyantPressure;
|
|
||||||
value 1e5;
|
|
||||||
}
|
|
||||||
bottomAir_to_leftSolid
|
|
||||||
{
|
|
||||||
type buoyantPressure;
|
|
||||||
value 1e5;
|
|
||||||
}
|
|
||||||
bottomAir_to_heater
|
|
||||||
{
|
|
||||||
type buoyantPressure;
|
|
||||||
value 1e5;
|
|
||||||
}
|
|
||||||
bottomAir_to_rightSolid
|
|
||||||
{
|
{
|
||||||
type buoyantPressure;
|
type buoyantPressure;
|
||||||
value 1e5;
|
value 1e5;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -18,6 +18,10 @@ dictionaryReplacement
|
|||||||
{
|
{
|
||||||
boundary
|
boundary
|
||||||
{
|
{
|
||||||
|
".*"
|
||||||
|
{
|
||||||
|
type patch;
|
||||||
|
}
|
||||||
heater_to_bottomAir
|
heater_to_bottomAir
|
||||||
{
|
{
|
||||||
offset ( 0 0 0 );
|
offset ( 0 0 0 );
|
||||||
@ -54,50 +58,23 @@ dictionaryReplacement
|
|||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
|
".*"
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
value uniform 300;
|
||||||
|
}
|
||||||
|
"heater_to_.*"
|
||||||
|
{
|
||||||
|
type compressible::turbulentTemperatureCoupledBaffle;
|
||||||
|
neighbourFieldName T;
|
||||||
|
K K;
|
||||||
|
value uniform 300;
|
||||||
|
}
|
||||||
minY
|
minY
|
||||||
{
|
{
|
||||||
type fixedValue;
|
type fixedValue;
|
||||||
value uniform 500;
|
value uniform 500;
|
||||||
}
|
}
|
||||||
|
|
||||||
minZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
maxZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
|
|
||||||
heater_to_bottomAir
|
|
||||||
{
|
|
||||||
type compressible::turbulentTemperatureCoupledBaffle;
|
|
||||||
neighbourFieldName T;
|
|
||||||
K K;
|
|
||||||
value uniform 300;
|
|
||||||
|
|
||||||
}
|
|
||||||
heater_to_leftSolid
|
|
||||||
{
|
|
||||||
type compressible::turbulentTemperatureCoupledBaffle;
|
|
||||||
neighbourFieldName T;
|
|
||||||
K K;
|
|
||||||
value uniform 300;
|
|
||||||
}
|
|
||||||
heater_to_rightSolid
|
|
||||||
{
|
|
||||||
type compressible::turbulentTemperatureCoupledBaffle;
|
|
||||||
neighbourFieldName T;
|
|
||||||
K K;
|
|
||||||
value uniform 300;
|
|
||||||
}
|
|
||||||
heater_to_topAir
|
|
||||||
{
|
|
||||||
type compressible::turbulentTemperatureCoupledBaffle;
|
|
||||||
neighbourFieldName T;
|
|
||||||
K K;
|
|
||||||
value uniform 300;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -107,33 +84,9 @@ dictionaryReplacement
|
|||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
minY
|
".*"
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type calculated;
|
||||||
}
|
|
||||||
minZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
maxZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
heater_to_bottomAir
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
heater_to_leftSolid
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
heater_to_rightSolid
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
heater_to_topAir
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -144,31 +97,7 @@ dictionaryReplacement
|
|||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
minY
|
".*"
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
minZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
maxZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
heater_to_bottomAir
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
heater_to_leftSolid
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
heater_to_rightSolid
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
heater_to_topAir
|
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
}
|
}
|
||||||
@ -181,31 +110,7 @@ dictionaryReplacement
|
|||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
minY
|
".*"
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
minZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
maxZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
heater_to_bottomAir
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
heater_to_leftSolid
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
heater_to_rightSolid
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
heater_to_topAir
|
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,6 +18,10 @@ dictionaryReplacement
|
|||||||
{
|
{
|
||||||
boundary
|
boundary
|
||||||
{
|
{
|
||||||
|
".*"
|
||||||
|
{
|
||||||
|
type patch;
|
||||||
|
}
|
||||||
leftSolid_to_bottomAir
|
leftSolid_to_bottomAir
|
||||||
{
|
{
|
||||||
offset ( 0 0 0 );
|
offset ( 0 0 0 );
|
||||||
@ -47,34 +51,12 @@ dictionaryReplacement
|
|||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
minX
|
".*"
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
}
|
|
||||||
minZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
maxZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
leftSolid_to_bottomAir
|
|
||||||
{
|
|
||||||
type compressible::turbulentTemperatureCoupledBaffle;
|
|
||||||
neighbourFieldName T;
|
|
||||||
K K;
|
|
||||||
value uniform 300;
|
|
||||||
|
|
||||||
}
|
|
||||||
leftSolid_to_heater
|
|
||||||
{
|
|
||||||
type compressible::turbulentTemperatureCoupledBaffle;
|
|
||||||
neighbourFieldName T;
|
|
||||||
K K;
|
|
||||||
value uniform 300;
|
value uniform 300;
|
||||||
}
|
}
|
||||||
leftSolid_to_topAir
|
"leftSolid_to_.*"
|
||||||
{
|
{
|
||||||
type compressible::turbulentTemperatureCoupledBaffle;
|
type compressible::turbulentTemperatureCoupledBaffle;
|
||||||
neighbourFieldName T;
|
neighbourFieldName T;
|
||||||
@ -90,29 +72,9 @@ dictionaryReplacement
|
|||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
minX
|
".*"
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type calculated;
|
||||||
}
|
|
||||||
minZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
maxZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
leftSolid_to_bottomAir
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
leftSolid_to_heater
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
leftSolid_to_topAir
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -123,27 +85,7 @@ dictionaryReplacement
|
|||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
minX
|
".*"
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
minZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
maxZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
leftSolid_to_bottomAir
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
leftSolid_to_heater
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
leftSolid_to_topAir
|
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
}
|
}
|
||||||
@ -156,27 +98,7 @@ dictionaryReplacement
|
|||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
minX
|
".*"
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
minZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
maxZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
leftSolid_to_bottomAir
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
leftSolid_to_heater
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
leftSolid_to_topAir
|
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,6 +18,10 @@ dictionaryReplacement
|
|||||||
{
|
{
|
||||||
boundary
|
boundary
|
||||||
{
|
{
|
||||||
|
".*"
|
||||||
|
{
|
||||||
|
type patch;
|
||||||
|
}
|
||||||
rightSolid_to_heater
|
rightSolid_to_heater
|
||||||
{
|
{
|
||||||
offset ( 0 0 0 );
|
offset ( 0 0 0 );
|
||||||
@ -47,33 +51,12 @@ dictionaryReplacement
|
|||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
maxX
|
".*"
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
}
|
|
||||||
minZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
maxZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
rightSolid_to_heater
|
|
||||||
{
|
|
||||||
type compressible::turbulentTemperatureCoupledBaffle;
|
|
||||||
neighbourFieldName T;
|
|
||||||
K K;
|
|
||||||
value uniform 300;
|
value uniform 300;
|
||||||
}
|
}
|
||||||
rightSolid_to_bottomAir
|
"rightSolid_to_.*"
|
||||||
{
|
|
||||||
type compressible::turbulentTemperatureCoupledBaffle;
|
|
||||||
neighbourFieldName T;
|
|
||||||
K K;
|
|
||||||
value uniform 300;
|
|
||||||
}
|
|
||||||
rightSolid_to_topAir
|
|
||||||
{
|
{
|
||||||
type compressible::turbulentTemperatureCoupledBaffle;
|
type compressible::turbulentTemperatureCoupledBaffle;
|
||||||
neighbourFieldName T;
|
neighbourFieldName T;
|
||||||
@ -89,29 +72,9 @@ dictionaryReplacement
|
|||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
maxX
|
".*"
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type calculated;
|
||||||
}
|
|
||||||
minZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
maxZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
rightSolid_to_bottomAir
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
rightSolid_to_heater
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
rightSolid_to_topAir
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -122,27 +85,7 @@ dictionaryReplacement
|
|||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
maxX
|
".*"
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
minZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
maxZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
rightSolid_to_bottomAir
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
rightSolid_to_heater
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
rightSolid_to_topAir
|
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
}
|
}
|
||||||
@ -155,27 +98,7 @@ dictionaryReplacement
|
|||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
maxX
|
".*"
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
minZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
maxZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
rightSolid_to_bottomAir
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
rightSolid_to_heater
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
rightSolid_to_topAir
|
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,6 +18,18 @@ dictionaryReplacement
|
|||||||
{
|
{
|
||||||
boundary
|
boundary
|
||||||
{
|
{
|
||||||
|
".*"
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
}
|
||||||
|
minX
|
||||||
|
{
|
||||||
|
type patch;
|
||||||
|
}
|
||||||
|
maxX
|
||||||
|
{
|
||||||
|
type patch;
|
||||||
|
}
|
||||||
topAir_to_leftSolid
|
topAir_to_leftSolid
|
||||||
{
|
{
|
||||||
offset ( 0 0 0 );
|
offset ( 0 0 0 );
|
||||||
@ -43,64 +55,53 @@ dictionaryReplacement
|
|||||||
|
|
||||||
U
|
U
|
||||||
{
|
{
|
||||||
internalField uniform ( 0.01 0 0 );
|
internalField uniform (0.01 0 0);
|
||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
|
".*"
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform (0 0 0);
|
||||||
|
}
|
||||||
minX
|
minX
|
||||||
{
|
{
|
||||||
type fixedValue;
|
type fixedValue;
|
||||||
value uniform (0.01 0 0);
|
value uniform ( 0.01 0 0 );
|
||||||
}
|
}
|
||||||
maxX
|
maxX
|
||||||
{
|
{
|
||||||
type inletOutlet;
|
type inletOutlet;
|
||||||
inletValue uniform (0 0 0);
|
inletValue uniform ( 0 0 0 );
|
||||||
}
|
value uniform ( 0 0 0 );
|
||||||
|
|
||||||
topAir_to_leftSolid
|
|
||||||
{
|
|
||||||
type fixedValue;
|
|
||||||
value uniform (0 0 0);
|
|
||||||
|
|
||||||
}
|
|
||||||
topAir_to_heater
|
|
||||||
{
|
|
||||||
type fixedValue;
|
|
||||||
value uniform (0 0 0);
|
|
||||||
}
|
|
||||||
topAir_to_rightSolid
|
|
||||||
{
|
|
||||||
type fixedValue;
|
|
||||||
value uniform (0 0 0);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
T
|
T
|
||||||
{
|
{
|
||||||
|
internalField uniform 300;
|
||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
|
".*"
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
minX
|
minX
|
||||||
{
|
{
|
||||||
type fixedValue;
|
type fixedValue;
|
||||||
value uniform 300;
|
value uniform 300;
|
||||||
}
|
}
|
||||||
topAir_to_leftSolid
|
maxX
|
||||||
{
|
{
|
||||||
type compressible::turbulentTemperatureCoupledBaffle;
|
type inletOutlet;
|
||||||
neighbourFieldName T;
|
inletValue uniform 300;
|
||||||
K K;
|
|
||||||
value uniform 300;
|
value uniform 300;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
"topAir_to_.*"
|
||||||
topAir_to_heater
|
|
||||||
{
|
|
||||||
type compressible::turbulentTemperatureCoupledBaffle;
|
|
||||||
neighbourFieldName T;
|
|
||||||
K K;
|
|
||||||
value uniform 300;
|
|
||||||
}
|
|
||||||
topAir_to_rightSolid
|
|
||||||
{
|
{
|
||||||
type compressible::turbulentTemperatureCoupledBaffle;
|
type compressible::turbulentTemperatureCoupledBaffle;
|
||||||
neighbourFieldName T;
|
neighbourFieldName T;
|
||||||
@ -112,10 +113,16 @@ dictionaryReplacement
|
|||||||
|
|
||||||
epsilon
|
epsilon
|
||||||
{
|
{
|
||||||
// Set the value on all bc to non-zero. Not used in simulation
|
internalField uniform 0.01;
|
||||||
// since zeroGradient; only used in initialisation.
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
|
".*"
|
||||||
|
{
|
||||||
|
type compressible::epsilonWallFunction;
|
||||||
|
value uniform 0.01;
|
||||||
|
}
|
||||||
|
|
||||||
minX
|
minX
|
||||||
{
|
{
|
||||||
type fixedValue;
|
type fixedValue;
|
||||||
@ -123,44 +130,8 @@ dictionaryReplacement
|
|||||||
}
|
}
|
||||||
maxX
|
maxX
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type inletOutlet;
|
||||||
value uniform 0.01;
|
inletValue uniform 0.01;
|
||||||
}
|
|
||||||
|
|
||||||
minY
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
value uniform 0.01;
|
|
||||||
}
|
|
||||||
maxY
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
value uniform 0.01;
|
|
||||||
}
|
|
||||||
|
|
||||||
minZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
value uniform 0.01;
|
|
||||||
}
|
|
||||||
maxZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
value uniform 0.01;
|
|
||||||
}
|
|
||||||
topAir_to_leftSolid
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
value uniform 0.01;
|
|
||||||
}
|
|
||||||
topAir_to_heater
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
value uniform 0.01;
|
|
||||||
}
|
|
||||||
topAir_to_rightSolid
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
value uniform 0.01;
|
value uniform 0.01;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -169,55 +140,24 @@ dictionaryReplacement
|
|||||||
k
|
k
|
||||||
{
|
{
|
||||||
internalField uniform 0.1;
|
internalField uniform 0.1;
|
||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
|
".*"
|
||||||
|
{
|
||||||
|
type compressible::kqRWallFunction;
|
||||||
|
value uniform 0.1;
|
||||||
|
}
|
||||||
|
|
||||||
minX
|
minX
|
||||||
{
|
{
|
||||||
type fixedValue;
|
type fixedValue;
|
||||||
value uniform 0.1;
|
value uniform 0.1;
|
||||||
}
|
}
|
||||||
|
|
||||||
maxX
|
maxX
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type inletOutlet;
|
||||||
value uniform 0.1;
|
inletValue uniform 0.1;
|
||||||
}
|
|
||||||
|
|
||||||
minY
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
value uniform 0.1;
|
|
||||||
}
|
|
||||||
maxY
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
value uniform 0.1;
|
|
||||||
}
|
|
||||||
|
|
||||||
minZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
value uniform 0.1;
|
|
||||||
}
|
|
||||||
maxZ
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
value uniform 0.1;
|
|
||||||
}
|
|
||||||
|
|
||||||
topAir_to_leftSolid
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
value uniform 0.1;
|
|
||||||
}
|
|
||||||
topAir_to_heater
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
value uniform 0.1;
|
|
||||||
}
|
|
||||||
topAir_to_rightSolid
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
value uniform 0.1;
|
value uniform 0.1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -225,59 +165,23 @@ dictionaryReplacement
|
|||||||
|
|
||||||
p
|
p
|
||||||
{
|
{
|
||||||
internalField uniform 1E5;
|
internalField uniform 100000;
|
||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
minX
|
".*"
|
||||||
{
|
{
|
||||||
type buoyantPressure;
|
type buoyantPressure;
|
||||||
value 1e5;
|
value 1e5;
|
||||||
}
|
}
|
||||||
|
|
||||||
maxX
|
maxX
|
||||||
{
|
{
|
||||||
type waveTransmissive;
|
type waveTransmissive;
|
||||||
//field p;
|
gamma 1.4;
|
||||||
phi phi;
|
fieldInf 100000;
|
||||||
rho rho;
|
lInf 0.4;
|
||||||
psi psi;
|
value uniform 100000;
|
||||||
gamma 1.4; // cp/cv
|
|
||||||
fieldInf 1e5;
|
|
||||||
lInf 0.40; // double length of domain
|
|
||||||
value uniform 1e5;
|
|
||||||
}
|
|
||||||
|
|
||||||
minY
|
|
||||||
{
|
|
||||||
type buoyantPressure;
|
|
||||||
value 1e5;
|
|
||||||
}
|
|
||||||
|
|
||||||
minZ
|
|
||||||
{
|
|
||||||
type buoyantPressure;
|
|
||||||
value 1e5;
|
|
||||||
}
|
|
||||||
maxZ
|
|
||||||
{
|
|
||||||
type buoyantPressure;
|
|
||||||
value 1e5;
|
|
||||||
}
|
|
||||||
|
|
||||||
topAir_to_leftSolid
|
|
||||||
{
|
|
||||||
type buoyantPressure;
|
|
||||||
value 1e5;
|
|
||||||
}
|
|
||||||
topAir_to_heater
|
|
||||||
{
|
|
||||||
type buoyantPressure;
|
|
||||||
value 1e5;
|
|
||||||
}
|
|
||||||
topAir_to_rightSolid
|
|
||||||
{
|
|
||||||
type buoyantPressure;
|
|
||||||
value 1e5;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -27,33 +27,7 @@ boundaryField
|
|||||||
}
|
}
|
||||||
farFieldMoving
|
farFieldMoving
|
||||||
{
|
{
|
||||||
//type slip;
|
type slip;
|
||||||
type surfaceSlipDisplacement;
|
|
||||||
geometry
|
|
||||||
{
|
|
||||||
top
|
|
||||||
{
|
|
||||||
type searchablePlane;
|
|
||||||
planeType pointAndNormal;
|
|
||||||
basePoint (0 0.0025 0);
|
|
||||||
normalVector (0 1 0);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// Find projection with surface:
|
|
||||||
// fixedNormal : intersections along prespecified direction
|
|
||||||
// pointNormal : intersections along current pointNormal of patch
|
|
||||||
// nearest : nearest point on surface
|
|
||||||
followMode fixedNormal;
|
|
||||||
|
|
||||||
// if fixedNormal : normal
|
|
||||||
projectDirection (0 1 0);
|
|
||||||
|
|
||||||
//- -1 or component to knock out before doing projection
|
|
||||||
//wedgePlane -1;
|
|
||||||
|
|
||||||
//- Points that should remain fixed
|
|
||||||
//frozenPointsZone fixedPointsZone;
|
|
||||||
}
|
}
|
||||||
fixedWall
|
fixedWall
|
||||||
{
|
{
|
||||||
@ -71,28 +45,7 @@ boundaryField
|
|||||||
}
|
}
|
||||||
farField
|
farField
|
||||||
{
|
{
|
||||||
//type slip;
|
type slip;
|
||||||
type surfaceSlipDisplacement;
|
|
||||||
geometry
|
|
||||||
{
|
|
||||||
top
|
|
||||||
{
|
|
||||||
type searchablePlane;
|
|
||||||
planeType pointAndNormal;
|
|
||||||
basePoint (0 0.0025 0);
|
|
||||||
normalVector (0 1 0);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
followMode fixedNormal;
|
|
||||||
|
|
||||||
projectDirection (0 1 0);
|
|
||||||
|
|
||||||
//- -1 or component to knock out before doing projection
|
|
||||||
wedgePlane -1;
|
|
||||||
|
|
||||||
//- Points that should remain fixed
|
|
||||||
//frozenPointsZone fixedPointsZone;
|
|
||||||
}
|
}
|
||||||
back
|
back
|
||||||
{
|
{
|
||||||
|
|||||||
@ -17,9 +17,6 @@ FoamFile
|
|||||||
|
|
||||||
application pimpleDyMFoam;
|
application pimpleDyMFoam;
|
||||||
|
|
||||||
// For surfaceSlip boundary conditions
|
|
||||||
libs ("libfvMotionSolvers.so");
|
|
||||||
|
|
||||||
startFrom startTime;
|
startFrom startTime;
|
||||||
|
|
||||||
startTime 0;
|
startTime 0;
|
||||||
|
|||||||
3
wmake/rules/SiCortex64Gcc/tecio
Normal file
3
wmake/rules/SiCortex64Gcc/tecio
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
TECIOFLAGS =-DMAKEARCHIVE -DLINUX -DLINUX64 -DUSEENUM -DTHREED -U_WIN32
|
||||||
|
TECIOINC =
|
||||||
|
TECIOLIBS =
|
||||||
3
wmake/rules/linux64Gcc/tecio
Normal file
3
wmake/rules/linux64Gcc/tecio
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
TECIOFLAGS =-DMAKEARCHIVE -DLINUX -DLINUX64 -DUSEENUM -DTHREED -U_WIN32
|
||||||
|
TECIOINC =
|
||||||
|
TECIOLIBS =
|
||||||
3
wmake/rules/linux64Gcc42/tecio
Normal file
3
wmake/rules/linux64Gcc42/tecio
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
TECIOFLAGS =-DMAKEARCHIVE -DLINUX -DLINUX64 -DUSEENUM -DTHREED -U_WIN32
|
||||||
|
TECIOINC =
|
||||||
|
TECIOLIBS =
|
||||||
3
wmake/rules/linux64Gcc43/tecio
Normal file
3
wmake/rules/linux64Gcc43/tecio
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
TECIOFLAGS =-DMAKEARCHIVE -DLINUX -DLINUX64 -DUSEENUM -DTHREED -U_WIN32
|
||||||
|
TECIOINC =
|
||||||
|
TECIOLIBS =
|
||||||
3
wmake/rules/linux64Gcc44/tecio
Normal file
3
wmake/rules/linux64Gcc44/tecio
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
TECIOFLAGS =-DMAKEARCHIVE -DLINUX -DLINUX64 -DUSEENUM -DTHREED -U_WIN32
|
||||||
|
TECIOINC =
|
||||||
|
TECIOLIBS =
|
||||||
3
wmake/rules/linux64Icc/tecio
Normal file
3
wmake/rules/linux64Icc/tecio
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
TECIOFLAGS =-DMAKEARCHIVE -DLINUX -DLINUX64 -DUSEENUM -DTHREED -U_WIN32
|
||||||
|
TECIOINC =
|
||||||
|
TECIOLIBS =
|
||||||
3
wmake/rules/linuxGcc/tecio
Normal file
3
wmake/rules/linuxGcc/tecio
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
TECIOFLAGS =-DMAKEARCHIVE -DLINUX -DUSEENUM -DTHREED -U_WIN32
|
||||||
|
TECIOINC =
|
||||||
|
TECIOLIBS =
|
||||||
3
wmake/rules/linuxGcc42/tecio
Normal file
3
wmake/rules/linuxGcc42/tecio
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
TECIOFLAGS =-DMAKEARCHIVE -DLINUX -DUSEENUM -DTHREED -U_WIN32
|
||||||
|
TECIOINC =
|
||||||
|
TECIOLIBS =
|
||||||
3
wmake/rules/linuxGcc43/tecio
Normal file
3
wmake/rules/linuxGcc43/tecio
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
TECIOFLAGS =-DMAKEARCHIVE -DLINUX -DUSEENUM -DTHREED -U_WIN32
|
||||||
|
TECIOINC =
|
||||||
|
TECIOLIBS =
|
||||||
3
wmake/rules/linuxGcc44/tecio
Normal file
3
wmake/rules/linuxGcc44/tecio
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
TECIOFLAGS =-DMAKEARCHIVE -DLINUX -DUSEENUM -DTHREED -U_WIN32
|
||||||
|
TECIOINC =
|
||||||
|
TECIOLIBS =
|
||||||
3
wmake/rules/linuxIA64Gcc/tecio
Normal file
3
wmake/rules/linuxIA64Gcc/tecio
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
TECIOFLAGS =-DMAKEARCHIVE -DLINUX -DLINUXI64 -DUSEENUM -DTHREED -U_WIN32
|
||||||
|
TECIOINC =
|
||||||
|
TECIOLIBS =
|
||||||
3
wmake/rules/linuxIA64Icc/tecio
Normal file
3
wmake/rules/linuxIA64Icc/tecio
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
TECIOFLAGS =-DMAKEARCHIVE -DLINUX -DLINUXI64 -DUSEENUM -DTHREED -U_WIN32
|
||||||
|
TECIOINC =
|
||||||
|
TECIOLIBS =
|
||||||
3
wmake/rules/linuxIcc/tecio
Normal file
3
wmake/rules/linuxIcc/tecio
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
TECIOFLAGS =-DMAKEARCHIVE -DLINUX -DUSEENUM -DTHREED -U_WIN32
|
||||||
|
TECIOINC =
|
||||||
|
TECIOLIBS =
|
||||||
Reference in New Issue
Block a user