mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: foamyHexMesh: Update mixer vessel tutorial
This commit is contained in:
@ -30,7 +30,7 @@ runApplication setFields
|
|||||||
runApplication decomposePar -force
|
runApplication decomposePar -force
|
||||||
|
|
||||||
# Run
|
# Run
|
||||||
runParallel $application 6
|
runParallel $application 8
|
||||||
|
|
||||||
# Reconstruct
|
# Reconstruct
|
||||||
runApplication reconstructPar -noFunctionObjects
|
runApplication reconstructPar -noFunctionObjects
|
||||||
|
|||||||
@ -80,6 +80,7 @@ done
|
|||||||
|
|
||||||
# Meshing
|
# Meshing
|
||||||
\cp system/controlDict.mesh system/controlDict
|
\cp system/controlDict.mesh system/controlDict
|
||||||
|
\cp system/collapseDict.collapseFaces system/collapseDict
|
||||||
|
|
||||||
runApplication blockMesh -region backgroundMeshDecomposition
|
runApplication blockMesh -region backgroundMeshDecomposition
|
||||||
|
|
||||||
@ -92,6 +93,7 @@ runParallel foamyHexMesh $nProcs
|
|||||||
runParallel collapseEdges $nProcs -collapseFaces -latestTime
|
runParallel collapseEdges $nProcs -collapseFaces -latestTime
|
||||||
mv log.collapseEdges log.collapseFaces
|
mv log.collapseEdges log.collapseFaces
|
||||||
|
|
||||||
|
\cp system/collapseDict.indirectPatchFaces system/collapseDict
|
||||||
runParallel collapseEdges $nProcs -collapseFaceSet indirectPatchFaces -latestTime
|
runParallel collapseEdges $nProcs -collapseFaceSet indirectPatchFaces -latestTime
|
||||||
mv log.collapseEdges log.collapseFaceSet
|
mv log.collapseEdges log.collapseFaceSet
|
||||||
|
|
||||||
@ -99,5 +101,8 @@ runParallel checkMesh $nProcs -allTopology -allGeometry -latestTime
|
|||||||
|
|
||||||
runApplication reconstructParMesh -latestTime
|
runApplication reconstructParMesh -latestTime
|
||||||
|
|
||||||
|
# Copy the mesh into polyMesh
|
||||||
|
\cp -r 102/polyMesh constant
|
||||||
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------- end-of-file
|
# ----------------------------------------------------------------- end-of-file
|
||||||
|
|||||||
@ -0,0 +1,85 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
object collapseDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
// If on, after collapsing check the quality of the mesh. If bad faces are
|
||||||
|
// generated then redo the collapsing with stricter filtering.
|
||||||
|
controlMeshQuality on;
|
||||||
|
|
||||||
|
collapseEdgesCoeffs
|
||||||
|
{
|
||||||
|
// Edges shorter than this absolute value will be merged
|
||||||
|
minimumEdgeLength 1e-6;
|
||||||
|
|
||||||
|
// The maximum angle between two edges that share a point attached to
|
||||||
|
// no other edges
|
||||||
|
maximumMergeAngle 180;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
collapseFacesCoeffs
|
||||||
|
{
|
||||||
|
// The initial face length factor
|
||||||
|
initialFaceLengthFactor 0.35;
|
||||||
|
|
||||||
|
// If the face can't be collapsed to an edge, and it has a span less than
|
||||||
|
// the target face length multiplied by this coefficient, collapse it
|
||||||
|
// to a point.
|
||||||
|
maxCollapseFaceToPointSideLengthCoeff 0.3;
|
||||||
|
|
||||||
|
// Allow early collapse of edges to a point
|
||||||
|
allowEarlyCollapseToPoint on;
|
||||||
|
|
||||||
|
// Fraction to premultiply maxCollapseFaceToPointSideLengthCoeff by if
|
||||||
|
// allowEarlyCollapseToPoint is enabled
|
||||||
|
allowEarlyCollapseCoeff 0.2;
|
||||||
|
|
||||||
|
// Defining how close to the midpoint (M) of the projected
|
||||||
|
// vertices line a projected vertex (X) can be before making this
|
||||||
|
// an invalid edge collapse
|
||||||
|
//
|
||||||
|
// X---X-g----------------M----X-----------g----X--X
|
||||||
|
//
|
||||||
|
// Only allow a collapse if all projected vertices are outwith
|
||||||
|
// guardFraction (g) of the distance form the face centre to the
|
||||||
|
// furthest vertex in the considered direction
|
||||||
|
guardFraction 0.1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
controlMeshQualityCoeffs
|
||||||
|
{
|
||||||
|
// Name of the dictionary that has the mesh quality coefficients used
|
||||||
|
// by motionSmoother::checkMesh
|
||||||
|
#include "meshQualityDict";
|
||||||
|
|
||||||
|
// The amount that minimumEdgeLength will be reduced by for each
|
||||||
|
// edge if that edge's collapse generates a poor quality face
|
||||||
|
edgeReductionFactor 0.5;
|
||||||
|
|
||||||
|
// The amount that initialFaceLengthFactor will be reduced by for each
|
||||||
|
// face if its collapse generates a poor quality face
|
||||||
|
faceReductionFactor 0.5;
|
||||||
|
|
||||||
|
// Maximum number of outer iterations is mesh quality checking is enabled
|
||||||
|
maximumIterations 10;
|
||||||
|
|
||||||
|
maximumSmoothingIterations 1;
|
||||||
|
|
||||||
|
maxPointErrorCount 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,85 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
object collapseDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
// If on, after collapsing check the quality of the mesh. If bad faces are
|
||||||
|
// generated then redo the collapsing with stricter filtering.
|
||||||
|
controlMeshQuality on;
|
||||||
|
|
||||||
|
collapseEdgesCoeffs
|
||||||
|
{
|
||||||
|
// Edges shorter than this absolute value will be merged
|
||||||
|
minimumEdgeLength 1e-6;
|
||||||
|
|
||||||
|
// The maximum angle between two edges that share a point attached to
|
||||||
|
// no other edges
|
||||||
|
maximumMergeAngle 180;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
collapseFacesCoeffs
|
||||||
|
{
|
||||||
|
// The initial face length factor
|
||||||
|
initialFaceLengthFactor 1;
|
||||||
|
|
||||||
|
// If the face can't be collapsed to an edge, and it has a span less than
|
||||||
|
// the target face length multiplied by this coefficient, collapse it
|
||||||
|
// to a point.
|
||||||
|
maxCollapseFaceToPointSideLengthCoeff 0.3;
|
||||||
|
|
||||||
|
// Allow early collapse of edges to a point
|
||||||
|
allowEarlyCollapseToPoint on;
|
||||||
|
|
||||||
|
// Fraction to premultiply maxCollapseFaceToPointSideLengthCoeff by if
|
||||||
|
// allowEarlyCollapseToPoint is enabled
|
||||||
|
allowEarlyCollapseCoeff 0.2;
|
||||||
|
|
||||||
|
// Defining how close to the midpoint (M) of the projected
|
||||||
|
// vertices line a projected vertex (X) can be before making this
|
||||||
|
// an invalid edge collapse
|
||||||
|
//
|
||||||
|
// X---X-g----------------M----X-----------g----X--X
|
||||||
|
//
|
||||||
|
// Only allow a collapse if all projected vertices are outwith
|
||||||
|
// guardFraction (g) of the distance form the face centre to the
|
||||||
|
// furthest vertex in the considered direction
|
||||||
|
guardFraction 0.1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
controlMeshQualityCoeffs
|
||||||
|
{
|
||||||
|
// Name of the dictionary that has the mesh quality coefficients used
|
||||||
|
// by motionSmoother::checkMesh
|
||||||
|
#include "meshQualityDict";
|
||||||
|
|
||||||
|
// The amount that minimumEdgeLength will be reduced by for each
|
||||||
|
// edge if that edge's collapse generates a poor quality face
|
||||||
|
edgeReductionFactor 0.5;
|
||||||
|
|
||||||
|
// The amount that initialFaceLengthFactor will be reduced by for each
|
||||||
|
// face if its collapse generates a poor quality face
|
||||||
|
faceReductionFactor 0.5;
|
||||||
|
|
||||||
|
// Maximum number of outer iterations is mesh quality checking is enabled
|
||||||
|
maximumIterations 10;
|
||||||
|
|
||||||
|
maximumSmoothingIterations 1;
|
||||||
|
|
||||||
|
maxPointErrorCount 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
Reference in New Issue
Block a user