ENH: foamyHexMesh: Add mixerVessel tutorial
This commit is contained in:
parent
1639a16bb7
commit
7c00bbe7fa
11
tutorials/mesh/foamyHexMesh/mixerVessel/Allclean
Executable file
11
tutorials/mesh/foamyHexMesh/mixerVessel/Allclean
Executable file
@ -0,0 +1,11 @@
|
||||
#!/bin/sh
|
||||
cd ${0%/*} || exit 1 # run from this directory
|
||||
|
||||
# Source tutorial run functions
|
||||
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
|
||||
|
||||
rm -r constant/internalDelaunayVertices constant/targetCellSize > /dev/null 2>&1
|
||||
|
||||
cleanCase
|
||||
|
||||
# ----------------------------------------------------------------- end-of-file
|
56
tutorials/mesh/foamyHexMesh/mixerVessel/Allrun
Executable file
56
tutorials/mesh/foamyHexMesh/mixerVessel/Allrun
Executable file
@ -0,0 +1,56 @@
|
||||
#!/bin/sh
|
||||
cd ${0%/*} || exit 1 # run from this directory
|
||||
|
||||
# Source tutorial run functions
|
||||
. $WM_PROJECT_DIR/bin/tools/RunFunctions
|
||||
|
||||
nProcs=$(getNumberOfProcessors)
|
||||
|
||||
# copy flange surface from resources folder
|
||||
cp $FOAM_TUTORIALS/resources/geometry/mixerVessel.tar.gz constant/triSurface/
|
||||
tar zxf constant/triSurface/mixerVessel.tar.gz -C constant/triSurface/rawSurfaces
|
||||
|
||||
# Run the surface preparation script
|
||||
./constant/triSurface/surfaceProcess.sh > log.surfaceProcess 2>&1
|
||||
|
||||
runApplication surfaceBooleanFeatures \
|
||||
intersection \
|
||||
constant/triSurface/vessel.stl \
|
||||
constant/triSurface/spargerShaft.stl -perturb
|
||||
|
||||
mv log.surfaceBooleanFeatures log.surfaceBooleanFeatures.vessel_spargerShaft
|
||||
|
||||
runApplication surfaceBooleanFeatures \
|
||||
intersection \
|
||||
constant/triSurface/vessel.stl \
|
||||
constant/triSurface/shaftStatic.stl -perturb
|
||||
|
||||
mv log.surfaceBooleanFeatures log.surfaceBooleanFeatures.vessel_shaftStatic
|
||||
|
||||
runApplication surfaceBooleanFeatures \
|
||||
intersection \
|
||||
constant/triSurface/spargerShaft.stl \
|
||||
constant/triSurface/spargerInlet.stl -perturb
|
||||
|
||||
mv log.surfaceBooleanFeatures log.surfaceBooleanFeatures.spargerShaft_spargerInlet
|
||||
|
||||
runApplication surfaceBooleanFeatures \
|
||||
intersection \
|
||||
constant/triSurface/stirrer.stl \
|
||||
constant/triSurface/shaftRotating.stl -perturb
|
||||
|
||||
mv log.surfaceBooleanFeatures log.surfaceBooleanFeatures.stirrer_shaftRotating
|
||||
|
||||
runApplication surfaceFeatureExtract
|
||||
|
||||
runApplication blockMesh
|
||||
runApplication decomposePar
|
||||
|
||||
runParallel foamyHexMesh $nProcs
|
||||
|
||||
runParallel collapseEdges $nProcs -collapseFaces -latestTime
|
||||
|
||||
runParallel checkMesh $nProcs -latestTime -allTopology -allGeometry
|
||||
|
||||
|
||||
# ----------------------------------------------------------------- end-of-file
|
@ -0,0 +1,58 @@
|
||||
/*--------------------------------*- 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 blockMeshDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
convertToMeters 1;
|
||||
|
||||
vertices
|
||||
(
|
||||
( -300 -300 -250)
|
||||
( 300 -300 -250)
|
||||
( 300 300 -250)
|
||||
( -300 300 -250)
|
||||
( -300 -300 1500)
|
||||
( 300 -300 1500)
|
||||
( 300 300 1500)
|
||||
( -300 300 1500)
|
||||
);
|
||||
|
||||
blocks
|
||||
(
|
||||
hex (0 1 2 3 4 5 6 7) (30 30 67) simpleGrading (1 1 1)
|
||||
);
|
||||
|
||||
edges
|
||||
(
|
||||
);
|
||||
|
||||
boundary
|
||||
(
|
||||
allBoundary
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
(
|
||||
(3 7 6 2)
|
||||
(0 4 7 3)
|
||||
(2 6 5 1)
|
||||
(1 5 4 0)
|
||||
(0 3 2 1)
|
||||
(4 5 6 7)
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
// ************************************************************************* //
|
@ -0,0 +1,4 @@
|
||||
Folder to house tri-surfaces
|
||||
|
||||
The Allrun script copies the surface from the $FOAM_TUTORIALS/resources/geometry
|
||||
folder
|
@ -0,0 +1,36 @@
|
||||
#!/bin/bash
|
||||
|
||||
cd ${0%/*} || exit 1 # run from this directory
|
||||
|
||||
#cp rawSurfaces/MRF.stl MRF.stl
|
||||
#cp rawSurfaces/baffles.stl baffles.stl
|
||||
|
||||
cp rawSurfaces/vessel.stl vessel.stl
|
||||
cp rawSurfaces/sparger.stl sparger.stl
|
||||
cp rawSurfaces/shaftRotating.stl shaftRotating.stl
|
||||
cp rawSurfaces/shaftStatic.stl shaftStatic.stl
|
||||
cp rawSurfaces/gasInlet.stl gasInlet.stl
|
||||
cp rawSurfaces/stirrer.stl stirrer.stl
|
||||
|
||||
# Vessel surface
|
||||
surfaceAutoPatch vessel.stl vessel.stl 120
|
||||
|
||||
# Sparger
|
||||
surfaceCheck sparger.stl
|
||||
surfaceAdd gasInlet.stl sparger_0.obj spargerInlet.stl
|
||||
surfaceConvert sparger_1.obj spargerShaft.stl
|
||||
surfaceOrient -inside spargerInlet.stl "(-100 -50 500)" spargerInlet.stl
|
||||
surfaceOrient -inside spargerShaft.stl "(-50 -20 -100)" spargerShaft.stl
|
||||
|
||||
# Rotating shaft
|
||||
surfaceOrient -inside shaftRotating.stl "(-100 -50 500)" shaftRotating.stl
|
||||
|
||||
# Static shaft
|
||||
surfaceOrient -inside shaftStatic.stl "(15 -200 1000)" shaftStatic.stl
|
||||
|
||||
# Stirrer
|
||||
surfaceSplitByTopology stirrer.stl stirrer.stl
|
||||
surfaceOrient -inside stirrer.stl "(15 -200 1000)" stirrer.stl
|
||||
|
||||
|
||||
# ----------------------------------------------------------------- end-of-file
|
85
tutorials/mesh/foamyHexMesh/mixerVessel/system/collapseDict
Normal file
85
tutorials/mesh/foamyHexMesh/mixerVessel/system/collapseDict
Normal 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.3;
|
||||
|
||||
// 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 2;
|
||||
|
||||
maxPointErrorCount 3;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
49
tutorials/mesh/foamyHexMesh/mixerVessel/system/controlDict
Normal file
49
tutorials/mesh/foamyHexMesh/mixerVessel/system/controlDict
Normal file
@ -0,0 +1,49 @@
|
||||
/*--------------------------------*- 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;
|
||||
location "system";
|
||||
object controlDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
application icoFoam;
|
||||
|
||||
startFrom startTime;
|
||||
|
||||
startTime 0;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime 100;
|
||||
|
||||
deltaT 1;
|
||||
|
||||
writeControl timeStep;
|
||||
|
||||
writeInterval 100;
|
||||
|
||||
purgeWrite 0;
|
||||
|
||||
writeFormat binary;
|
||||
|
||||
writePrecision 10;
|
||||
|
||||
writeCompression uncompressed;
|
||||
|
||||
timeFormat general;
|
||||
|
||||
timePrecision 6;
|
||||
|
||||
runTimeModifiable yes;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
@ -0,0 +1,47 @@
|
||||
/*--------------------------------*- 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;
|
||||
location "system";
|
||||
object decomposeParDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
numberOfSubdomains 8;
|
||||
|
||||
//method ptscotch;
|
||||
//method hierarchical;
|
||||
method scotch;
|
||||
|
||||
simpleCoeffs
|
||||
{
|
||||
n ( 2 2 1 );
|
||||
delta 0.001;
|
||||
}
|
||||
|
||||
hierarchicalCoeffs
|
||||
{
|
||||
n ( 2 2 2 );
|
||||
delta 0.001;
|
||||
order xyz;
|
||||
}
|
||||
|
||||
manualCoeffs
|
||||
{
|
||||
dataFile "";
|
||||
}
|
||||
|
||||
distributed no;
|
||||
|
||||
roots ( );
|
||||
|
||||
|
||||
// ************************************************************************* //
|
278
tutorials/mesh/foamyHexMesh/mixerVessel/system/foamyHexMeshDict
Normal file
278
tutorials/mesh/foamyHexMesh/mixerVessel/system/foamyHexMeshDict
Normal file
@ -0,0 +1,278 @@
|
||||
/*--------------------------------*- 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 foamyHexMeshDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#include "$WM_PROJECT_DIR/etc/caseDicts/foamyHexMeshDict"
|
||||
|
||||
geometry
|
||||
{
|
||||
#include "meshDict.geometry"
|
||||
}
|
||||
|
||||
|
||||
initialPoints
|
||||
{
|
||||
initialPointsMethod autoDensity;
|
||||
|
||||
autoDensityCoeffs
|
||||
{
|
||||
minLevels 2;
|
||||
maxSizeRatio 2.0;
|
||||
sampleResolution 5;
|
||||
surfaceSampleResolution 5;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
surfaceConformation
|
||||
{
|
||||
locationInMesh (200 0 10);
|
||||
|
||||
geometryToConformTo
|
||||
{
|
||||
spargerInlet
|
||||
{
|
||||
featureMethod extendedFeatureEdgeMesh;
|
||||
extendedFeatureEdgeMesh "spargerInlet.extendedFeatureEdgeMesh";
|
||||
}
|
||||
|
||||
spargerShaft
|
||||
{
|
||||
featureMethod none;
|
||||
}
|
||||
|
||||
vessel
|
||||
{
|
||||
featureMethod extendedFeatureEdgeMesh;
|
||||
extendedFeatureEdgeMesh "vessel.extendedFeatureEdgeMesh";
|
||||
regions
|
||||
{
|
||||
vessel_wall {}
|
||||
vessel_outletPipe {}
|
||||
vessel_outlet {}
|
||||
}
|
||||
}
|
||||
|
||||
shaftRotating
|
||||
{
|
||||
featureMethod extendedFeatureEdgeMesh;
|
||||
extendedFeatureEdgeMesh "shaftRotating.extendedFeatureEdgeMesh";
|
||||
}
|
||||
|
||||
shaftStatic
|
||||
{
|
||||
featureMethod none;
|
||||
}
|
||||
|
||||
stirrer
|
||||
{
|
||||
featureMethod extendedFeatureEdgeMesh;
|
||||
extendedFeatureEdgeMesh "stirrer.extendedFeatureEdgeMesh";
|
||||
}
|
||||
}
|
||||
|
||||
additionalFeatures
|
||||
{
|
||||
spargerShaft_spargerInlet_intersection
|
||||
{
|
||||
featureMethod extendedFeatureEdgeMesh;
|
||||
extendedFeatureEdgeMesh "spargerShaft_spargerInlet_intersection.extendedFeatureEdgeMesh";
|
||||
}
|
||||
|
||||
vessel_shaftStatic_intersection
|
||||
{
|
||||
featureMethod extendedFeatureEdgeMesh;
|
||||
extendedFeatureEdgeMesh "vessel_shaftStatic_intersection.extendedFeatureEdgeMesh";
|
||||
}
|
||||
|
||||
vessel_spargerShaft_intersection
|
||||
{
|
||||
featureMethod extendedFeatureEdgeMesh;
|
||||
extendedFeatureEdgeMesh "vessel_spargerShaft_intersection.extendedFeatureEdgeMesh";
|
||||
}
|
||||
|
||||
stirrer_shaftRotating_intersection
|
||||
{
|
||||
featureMethod extendedFeatureEdgeMesh;
|
||||
extendedFeatureEdgeMesh "stirrer_shaftRotating_intersection.extendedFeatureEdgeMesh";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
motionControl
|
||||
{
|
||||
defaultCellSize 10;
|
||||
|
||||
minimumCellSizeCoeff 0.1;
|
||||
|
||||
maxRefinementIterations 0;
|
||||
|
||||
maxSmoothingIterations 100;
|
||||
|
||||
shapeControlFunctions
|
||||
{
|
||||
vessel
|
||||
{
|
||||
type searchableSurfaceControl;
|
||||
priority 1;
|
||||
mode inside;
|
||||
forceInitialPointInsertion off;
|
||||
|
||||
surfaceCellSizeFunction uniformValue;
|
||||
uniformValueCoeffs
|
||||
{
|
||||
surfaceCellSizeCoeff 1;
|
||||
}
|
||||
|
||||
cellSizeFunction uniform;
|
||||
uniformCoeffs{}
|
||||
|
||||
regions
|
||||
{
|
||||
vessel_wall
|
||||
{
|
||||
surfaceCellSizeFunction uniformValue;
|
||||
uniformValueCoeffs
|
||||
{
|
||||
surfaceCellSizeCoeff 1;
|
||||
}
|
||||
|
||||
cellSizeFunction uniform;
|
||||
uniformCoeffs{}
|
||||
}
|
||||
|
||||
vessel_outletPipe
|
||||
{
|
||||
priority 2;
|
||||
surfaceCellSizeFunction uniformValue;
|
||||
uniformValueCoeffs
|
||||
{
|
||||
surfaceCellSizeCoeff 0.5;
|
||||
}
|
||||
|
||||
cellSizeFunction uniformDistance;
|
||||
uniformDistanceCoeffs
|
||||
{
|
||||
distanceCoeff 5;
|
||||
}
|
||||
}
|
||||
|
||||
vessel_outlet
|
||||
{
|
||||
priority 2;
|
||||
surfaceCellSizeFunction uniformValue;
|
||||
uniformValueCoeffs
|
||||
{
|
||||
surfaceCellSizeCoeff 0.5;
|
||||
}
|
||||
|
||||
cellSizeFunction uniformDistance;
|
||||
uniformDistanceCoeffs
|
||||
{
|
||||
distanceCoeff 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
shaftRotating
|
||||
{
|
||||
type searchableSurfaceControl;
|
||||
priority 2;
|
||||
mode inside;
|
||||
forceInitialPointInsertion off;
|
||||
|
||||
surfaceCellSizeFunction uniformValue;
|
||||
uniformValueCoeffs
|
||||
{
|
||||
surfaceCellSizeCoeff 0.25;
|
||||
}
|
||||
|
||||
cellSizeFunction linearDistance;
|
||||
linearDistanceCoeffs
|
||||
{
|
||||
distanceCellSizeCoeff 1;
|
||||
distanceCoeff 4;
|
||||
}
|
||||
}
|
||||
|
||||
shaftStatic
|
||||
{
|
||||
${shaftRotating};
|
||||
}
|
||||
|
||||
stirrer
|
||||
{
|
||||
${shaftRotating};
|
||||
}
|
||||
|
||||
spargerInlet
|
||||
{
|
||||
type searchableSurfaceControl;
|
||||
priority 2;
|
||||
mode inside;
|
||||
forceInitialPointInsertion off;
|
||||
|
||||
surfaceCellSizeFunction uniformValue;
|
||||
uniformValueCoeffs
|
||||
{
|
||||
surfaceCellSizeCoeff 0.25;
|
||||
}
|
||||
|
||||
cellSizeFunction linearDistance;
|
||||
linearDistanceCoeffs
|
||||
{
|
||||
distanceCellSizeCoeff 1;
|
||||
distanceCoeff 4;
|
||||
}
|
||||
}
|
||||
|
||||
spargerShaft
|
||||
{
|
||||
${spargerInlet}
|
||||
}
|
||||
}
|
||||
|
||||
objOutput no;
|
||||
|
||||
timeChecks no;
|
||||
}
|
||||
|
||||
|
||||
backgroundMeshDecomposition
|
||||
{
|
||||
minLevels 1;
|
||||
sampleResolution 4;
|
||||
spanScale 20;
|
||||
maxCellWeightCoeff 20;
|
||||
}
|
||||
|
||||
|
||||
polyMeshFiltering
|
||||
{
|
||||
writeTetDualMesh false;
|
||||
filterEdges on;
|
||||
filterFaces off;
|
||||
}
|
||||
|
||||
|
||||
meshQualityControls
|
||||
{
|
||||
#include "meshQualityDict"
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
30
tutorials/mesh/foamyHexMesh/mixerVessel/system/fvSchemes
Normal file
30
tutorials/mesh/foamyHexMesh/mixerVessel/system/fvSchemes
Normal file
@ -0,0 +1,30 @@
|
||||
/*--------------------------------*- 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;
|
||||
location "system";
|
||||
object fvSchemes;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
gradSchemes
|
||||
{
|
||||
}
|
||||
|
||||
divSchemes
|
||||
{
|
||||
}
|
||||
|
||||
laplacianSchemes
|
||||
{
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
18
tutorials/mesh/foamyHexMesh/mixerVessel/system/fvSolution
Normal file
18
tutorials/mesh/foamyHexMesh/mixerVessel/system/fvSolution
Normal file
@ -0,0 +1,18 @@
|
||||
/*--------------------------------*- 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;
|
||||
location "system";
|
||||
object fvSolution;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
// ************************************************************************* //
|
@ -0,0 +1,66 @@
|
||||
/*--------------------------------*- 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 meshDict.geometry;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
vessel.stl
|
||||
{
|
||||
name vessel;
|
||||
type triSurfaceMesh;
|
||||
|
||||
regions
|
||||
{
|
||||
patch0 {name vessel_wall;}
|
||||
patch1 {name vessel_outletPipe;}
|
||||
patch2 {name vessel_outlet;}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
spargerInlet.stl
|
||||
{
|
||||
name spargerInlet;
|
||||
type triSurfaceMesh;
|
||||
}
|
||||
|
||||
|
||||
spargerShaft.stl
|
||||
{
|
||||
name spargerShaft;
|
||||
type triSurfaceMesh;
|
||||
}
|
||||
|
||||
|
||||
shaftRotating.stl
|
||||
{
|
||||
name shaftRotating;
|
||||
type triSurfaceMesh;
|
||||
}
|
||||
|
||||
|
||||
shaftStatic.stl
|
||||
{
|
||||
name shaftStatic;
|
||||
type triSurfaceMesh;
|
||||
}
|
||||
|
||||
|
||||
stirrer.stl
|
||||
{
|
||||
name stirrer;
|
||||
type triSurfaceMesh;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
@ -0,0 +1,30 @@
|
||||
/*--------------------------------*- 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 meshQualityControls;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
maxNonOrtho 60;
|
||||
maxBoundarySkewness 50;
|
||||
maxInternalSkewness 10;
|
||||
maxConcave 80;
|
||||
minVol 1e-20;
|
||||
minTetQuality 1e-30;
|
||||
minArea -1;
|
||||
minTwist 0.0;
|
||||
minDeterminant 0.001;
|
||||
minFaceWeight 0.02;
|
||||
minVolRatio 0.01;
|
||||
minTriangleTwist -1;
|
||||
|
||||
// ************************************************************************* //
|
@ -0,0 +1,113 @@
|
||||
/*--------------------------------*- 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 surfaceFeatureExtractDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
shaftRotating.stl
|
||||
{
|
||||
extractionMethod extractFromSurface;
|
||||
|
||||
extractFromSurfaceCoeffs
|
||||
{
|
||||
// Mark edges whose adjacent surface normals are at an angle less
|
||||
// than includedAngle as features
|
||||
// - 0 : selects no edges
|
||||
// - 180: selects all edges
|
||||
includedAngle 100;
|
||||
}
|
||||
|
||||
subsetFeatures
|
||||
{
|
||||
// Remove the top feature
|
||||
insideBox (-100 -100 -100)(100 100 100);
|
||||
}
|
||||
|
||||
// Write options
|
||||
|
||||
// Write features to obj format for postprocessing
|
||||
writeObj no;
|
||||
}
|
||||
|
||||
|
||||
vessel.stl
|
||||
{
|
||||
extractionMethod extractFromSurface;
|
||||
|
||||
extractFromSurfaceCoeffs
|
||||
{
|
||||
// Mark edges whose adjacent surface normals are at an angle less
|
||||
// than includedAngle as features
|
||||
// - 0 : selects no edges
|
||||
// - 180: selects all edges
|
||||
includedAngle 120;
|
||||
}
|
||||
|
||||
subsetFeatures
|
||||
{
|
||||
// Keep nonManifold edges (edges with >2 connected faces where
|
||||
// the faces form more than two different normal planes)
|
||||
nonManifoldEdges no;
|
||||
|
||||
// Keep open edges (edges with 1 connected face)
|
||||
openEdges no;
|
||||
}
|
||||
|
||||
// Write options
|
||||
|
||||
// Write features to obj format for postprocessing
|
||||
writeObj no;
|
||||
}
|
||||
|
||||
|
||||
spargerInlet.stl
|
||||
{
|
||||
extractionMethod extractFromSurface;
|
||||
|
||||
extractFromSurfaceCoeffs
|
||||
{
|
||||
// Mark edges whose adjacent surface normals are at an angle less
|
||||
// than includedAngle as features
|
||||
// - 0 : selects no edges
|
||||
// - 180: selects all edges
|
||||
includedAngle 120;
|
||||
}
|
||||
|
||||
// Write options
|
||||
|
||||
// Write features to obj format for postprocessing
|
||||
writeObj no;
|
||||
}
|
||||
|
||||
|
||||
stirrer.stl
|
||||
{
|
||||
extractionMethod extractFromSurface;
|
||||
|
||||
extractFromSurfaceCoeffs
|
||||
{
|
||||
// Mark edges whose adjacent surface normals are at an angle less
|
||||
// than includedAngle as features
|
||||
// - 0 : selects no edges
|
||||
// - 180: selects all edges
|
||||
includedAngle 120;
|
||||
}
|
||||
|
||||
// Write options
|
||||
|
||||
// Write features to obj format for postprocessing
|
||||
writeObj no;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
BIN
tutorials/resources/geometry/mixerVessel.tar.gz
Normal file
BIN
tutorials/resources/geometry/mixerVessel.tar.gz
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user