ENH: foamyHexMesh: Set no refinement iterations in global dictionary

ENH: foamyHexMesh: Made default region volume type that of it's parent

Foamy surface conformation entries have a "meshableSide" entry which
controls which side of the surface is to be meshed. Typically this is
set "inside" for boundaries and "both" for baffles. A sub-region's
default entry is now taken from it's parent, rather than a specific
value (it was "inside"). This is consistent with how other entries are
handled.

surfaceConformation
{
    locationInMesh      (0 0 0);

    geometryToConformTo
    {
        baffle
        {
            featureMethod           extractFeatures;
            includedAngle           120;
            meshableSide            both; // <-- per-surface setting

            regions
            {
                disk
                {
                    meshableSide    both; // <-- per-region setting*

                    // *in this example, this entry is not needed, as it
                    // is taken from the per-surface setting above
                }
            }
        }

        // ...
    }
}

ENH: foamyHexMesh: Added (reinstated) baffle patches

A patch can now be assigned to a baffle surface. This assignment will
take precedence over any face-zones.

surfaceConformation
{
    locationInMesh      (0 0 0);

    geometryToConformTo
    {
        disk
        {
            featureMethod           extractFeatures;
            includedAngle           120;
            meshableSide            both; // <-- baffle
            patchInfo
            {
                type wall;
                inGroups (walls);
            }
        }

        // ...
    }
}

STYLE: foamyHexMesh: Switched off output of all the secondary meshes
This commit is contained in:
Will Bainbridge
2017-09-15 15:04:16 +01:00
committed by Andrew Heather
parent 4ee0af6b08
commit 66b3934ab6
3 changed files with 55 additions and 44 deletions

View File

@ -2227,47 +2227,52 @@ void Foam::conformalVoronoiMesh::createFacesOwnerNeighbourAndPatches
}
else
{
// if
// (
// ptPairs_.isPointPair(vA, vB)
// || ftPtConformer_.featurePointPairs().isPointPair(vA, vB)
// )
// {
patchIndex = geometryToConformTo_.findPatch(ptA, ptB);
// }
if (patchIndex != -1)
if
(
!vA->boundaryPoint()
|| !vB->boundaryPoint()
|| ptPairs_.isPointPair(vA, vB)
|| ftPtConformer_.featurePointPairs().isPointPair(vA, vB)
)
{
// if
// (
// vA->boundaryPoint() && vB->boundaryPoint()
// && !ptPairs_.isPointPair(vA, vB)
// )
// {
// indirectPatchFace[patchIndex].append(true);
// }
// else
// {
// indirectPatchFace[patchIndex].append(false);
// }
// patchFaces[patchIndex].append(newDualFace);
// patchOwners[patchIndex].append(own);
// indirectPatchFace[patchIndex].append(false);
//
// if
// (
// labelPair(vB->index(), vB->procIndex())
// < labelPair(vA->index(), vA->procIndex())
// )
// {
// patchPPSlaves[patchIndex].append(vB->index());
// }
// else
// {
// patchPPSlaves[patchIndex].append(vA->index());
// }
patchIndex = geometryToConformTo_.findPatch(ptA, ptB);
}
// else
if
(
patchIndex != -1
&& geometryToConformTo_.patchInfo().set(patchIndex)
)
{
// baffle faces
patchFaces[patchIndex].append(newDualFace);
patchOwners[patchIndex].append(own);
indirectPatchFace[patchIndex].append(false);
reverse(newDualFace);
patchFaces[patchIndex].append(newDualFace);
patchOwners[patchIndex].append(nei);
indirectPatchFace[patchIndex].append(false);
if
(
labelPair(vB->index(), vB->procIndex())
< labelPair(vA->index(), vA->procIndex())
)
{
patchPPSlaves[patchIndex].append(vB->index());
patchPPSlaves[patchIndex].append(vB->index());
}
else
{
patchPPSlaves[patchIndex].append(vA->index());
patchPPSlaves[patchIndex].append(vA->index());
}
}
else
{
// internal face
faces[dualFacei] = newDualFace;

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2012-2016 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2012-2017 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -443,7 +443,11 @@ Foam::conformationSurfaces::conformationSurfaces
regionDict.lookupOrDefault<word>
(
"meshableSide",
"inside"
extendedFeatureEdgeMesh::
sideVolumeTypeNames_
[
globalVolumeTypes[surfI]
]
)
]
);

View File

@ -68,6 +68,8 @@ motionControl
{
maxSmoothingIterations 100;
maxRefinementIterations 0;
cellAspectRatioControl
{
aspectRatio 1.0;
@ -114,9 +116,9 @@ polyMeshFiltering
{
filterEdges on;
filterFaces off;
writeTetDualMesh true;
writeCellShapeControlMesh true;
writeBackgroundMeshDecomposition true;
writeTetDualMesh false;
writeCellShapeControlMesh false;
writeBackgroundMeshDecomposition false;
}