mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: snappyHexMesh: add buffer layers before snapping
This commit is contained in:
78
tutorials/mesh/blockMesh/pipe/0.orig/pointDisplacement
Normal file
78
tutorials/mesh/blockMesh/pipe/0.orig/pointDisplacement
Normal file
@ -0,0 +1,78 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 2309 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
arch "LSB;label=32;scalar=64";
|
||||
class pointVectorField;
|
||||
location "0";
|
||||
object pointDisplacement;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 1 0 0 0 0 0];
|
||||
|
||||
internalField uniform (0 0 0);
|
||||
|
||||
|
||||
// Some macros
|
||||
__surfaceSlipDisplacement
|
||||
{
|
||||
type surfaceSlipDisplacement;
|
||||
value uniform (0 0 0);
|
||||
geometry
|
||||
{
|
||||
box
|
||||
{
|
||||
type triSurfaceMesh;
|
||||
file blockMesh.obj;
|
||||
}
|
||||
}
|
||||
projectMode nearest;
|
||||
}
|
||||
|
||||
__edgeSlipDisplacement
|
||||
{
|
||||
type edgeSlipDisplacement;
|
||||
file "blockMesh.eMesh";
|
||||
// Underrelax the displacement on edges since conflicts with
|
||||
// smoothing. TBD.
|
||||
velocity (1 1 1);
|
||||
}
|
||||
|
||||
|
||||
boundaryField
|
||||
{
|
||||
// Attract to feature lines
|
||||
wallsEdges
|
||||
{
|
||||
${__edgeSlipDisplacement};
|
||||
}
|
||||
|
||||
// Attract to feature lines
|
||||
boundaryEdges
|
||||
{
|
||||
${__edgeSlipDisplacement};
|
||||
}
|
||||
|
||||
// Attract to feature lines
|
||||
sideEdges
|
||||
{
|
||||
${__edgeSlipDisplacement};
|
||||
}
|
||||
|
||||
// Default is to attract to surface
|
||||
".*"
|
||||
{
|
||||
${__surfaceSlipDisplacement};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -6,5 +6,11 @@ cd "${0%/*}" || exit # Run from this directory
|
||||
cleanCase0
|
||||
|
||||
rm -rf constant/geometry
|
||||
rm -rf constant/extendedFeatureEdgeMesh
|
||||
rm -rf constant/geometry
|
||||
|
||||
#- From pointMesh generation
|
||||
rm -rf constant/pointMesh
|
||||
rm -rf constant/triSurface
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
@ -11,8 +11,29 @@ cp -f \
|
||||
|
||||
runApplication blockMesh
|
||||
|
||||
# See if we can improve the mesh with a bit of smoothing (whilst freezing
|
||||
# the features)
|
||||
# - feature-edge attraction conflicts with mesh smoothing so faces with
|
||||
# three vertices on feature edge get distorted.
|
||||
|
||||
#- Analyse mesh and
|
||||
# - generate pointMesh with additional feature patches
|
||||
# (in constant/pointMesh/boundary).
|
||||
# - write .obj file with outside of mesh
|
||||
mkdir -p constant/triSurface
|
||||
runApplication surfaceMeshExtract -featureAngle 50 \
|
||||
constant/triSurface/blockMesh.obj
|
||||
|
||||
#- Extract features from surface (original of blockMesh). Writes .eMesh.
|
||||
runApplication surfaceFeatureExtract
|
||||
|
||||
#- Set the initial field
|
||||
restore0Dir
|
||||
|
||||
runApplication $(getApplication)
|
||||
#- Run mesh smoother
|
||||
runApplication moveDynamicMesh
|
||||
|
||||
#- Check mesh, generate postprocessing fields
|
||||
runApplication checkMesh -writeFields '(nonOrthoAngle)'
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
12
tutorials/mesh/blockMesh/pipe/README.txt
Normal file
12
tutorials/mesh/blockMesh/pipe/README.txt
Normal file
@ -0,0 +1,12 @@
|
||||
Demos:
|
||||
|
||||
- blockMesh:
|
||||
- snapping to surface
|
||||
- surface defined by extrusion of line
|
||||
|
||||
- surfaceMeshExtract
|
||||
- generation of additional pointPatches to handle features
|
||||
|
||||
- moveDynamicMesh
|
||||
- point-based smoothers
|
||||
- feature-attraction through boundary conditions
|
||||
29
tutorials/mesh/blockMesh/pipe/constant/dynamicMeshDict
Normal file
29
tutorials/mesh/blockMesh/pipe/constant/dynamicMeshDict
Normal file
@ -0,0 +1,29 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2312 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object dynamicMeshDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dynamicFvMesh dynamicMotionSolverFvMesh;
|
||||
|
||||
motionSolverLibs (fvMotionSolvers);
|
||||
|
||||
motionSolver displacementPointSmoothing;
|
||||
displacementPointSmoothingCoeffs
|
||||
{
|
||||
pointSmoother geometricElementTransform;
|
||||
transformationParameter 0.667;
|
||||
nPointSmootherIter 1;
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -14,17 +14,7 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
libs (blockMesh);
|
||||
|
||||
DebugSwitches
|
||||
{
|
||||
//project 1;
|
||||
//searchableExtrudedCircle 1;
|
||||
//projectCurve 1;
|
||||
solution 1;
|
||||
}
|
||||
|
||||
application simpleFoam;
|
||||
application moveDynamicMesh;
|
||||
|
||||
startFrom startTime;
|
||||
|
||||
@ -32,7 +22,7 @@ startTime 0;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime 100;
|
||||
endTime 10;
|
||||
|
||||
deltaT 1;
|
||||
|
||||
|
||||
@ -0,0 +1,33 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2312 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object surfaceFeatureExtractDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
blockMesh.obj
|
||||
{
|
||||
// How to obtain raw features (extractFromFile || extractFromSurface)
|
||||
extractionMethod extractFromSurface;
|
||||
|
||||
// Mark edges whose adjacent surface normals are at an angle less
|
||||
// than includedAngle as features
|
||||
// - 0 : selects no edges
|
||||
// - 180: selects all edges
|
||||
includedAngle 130;
|
||||
|
||||
// Write features to obj format for postprocessing
|
||||
writeObj yes;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
58
tutorials/mesh/blockMesh/sphere7/0.orig/cellDisplacement
Normal file
58
tutorials/mesh/blockMesh/sphere7/0.orig/cellDisplacement
Normal file
@ -0,0 +1,58 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 2312 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
arch "LSB;label=32;scalar=64";
|
||||
class volVectorField;
|
||||
location "1";
|
||||
object cellDisplacement;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 1 0 0 0 0 0];
|
||||
|
||||
internalField uniform (0 0 0);
|
||||
|
||||
boundaryField
|
||||
{
|
||||
minX
|
||||
{
|
||||
type cellMotion;
|
||||
value uniform (0 0 0);
|
||||
}
|
||||
maxX
|
||||
{
|
||||
type cellMotion;
|
||||
value uniform (0 0 0);
|
||||
}
|
||||
minY
|
||||
{
|
||||
type cellMotion;
|
||||
value uniform (0 0 0);
|
||||
}
|
||||
maxY
|
||||
{
|
||||
type cellMotion;
|
||||
value uniform (0 0 0);
|
||||
}
|
||||
minZ
|
||||
{
|
||||
type cellMotion;
|
||||
value uniform (0 0 0);
|
||||
}
|
||||
maxZ
|
||||
{
|
||||
type cellMotion;
|
||||
value uniform (0 0 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
81
tutorials/mesh/blockMesh/sphere7/0.orig/pointDisplacement
Normal file
81
tutorials/mesh/blockMesh/sphere7/0.orig/pointDisplacement
Normal file
@ -0,0 +1,81 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 2309 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
arch "LSB;label=32;scalar=64";
|
||||
class pointVectorField;
|
||||
location "0";
|
||||
object pointDisplacement;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 1 0 0 0 0 0];
|
||||
|
||||
internalField uniform (0 0 0);
|
||||
|
||||
boundaryField
|
||||
{
|
||||
minX
|
||||
{
|
||||
type surfaceSlipDisplacement;
|
||||
value uniform (0 0 0);
|
||||
velocity (0.1 0.1 0.1);
|
||||
//velocity (100 100 100);
|
||||
geometry
|
||||
{
|
||||
box
|
||||
{
|
||||
type triSurfaceMesh;
|
||||
file box222.obj;
|
||||
}
|
||||
}
|
||||
projectMode nearest;
|
||||
}
|
||||
maxX
|
||||
{
|
||||
$minX
|
||||
}
|
||||
minY
|
||||
{
|
||||
$minX
|
||||
}
|
||||
maxY
|
||||
{
|
||||
$minX
|
||||
}
|
||||
minZ
|
||||
{
|
||||
$minX
|
||||
}
|
||||
maxZ
|
||||
{
|
||||
$minX
|
||||
}
|
||||
boundaryEdges
|
||||
{
|
||||
type edgeSlipDisplacement;
|
||||
file "box222.eMesh";
|
||||
//file "box222.extendedFeatureEdgeMesh";
|
||||
//- Underrelax motion by limiting displacement velocity
|
||||
velocity (0.1 0.1 0.1);
|
||||
//velocity (100 100 100);
|
||||
}
|
||||
boundaryPoints
|
||||
{
|
||||
type pointAttraction;
|
||||
file "box222.eMesh";
|
||||
//- Underrelax motion by limiting displacement velocity
|
||||
velocity (0.1 0.1 0.1);
|
||||
//velocity (100 100 100);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -5,6 +5,14 @@ cd "${0%/*}" || exit # Run from this directory
|
||||
|
||||
cleanCase0
|
||||
|
||||
rm -rf constant
|
||||
rm -rf constant/extendedFeatureEdgeMesh
|
||||
|
||||
#- From pointMesh generation
|
||||
rm -rf constant/pointMesh
|
||||
rm -f constant/triSurface/blockMesh.obj
|
||||
rm -f constant/triSurface/outside.obj
|
||||
|
||||
#- From surfaceFeatureExtract
|
||||
rm -f constant/triSurface/box222.eMesh
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
@ -3,6 +3,44 @@ cd "${0%/*}" || exit # Run from this directory
|
||||
. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
#- Run blockMesh with projection
|
||||
runApplication blockMesh
|
||||
|
||||
# Optional
|
||||
|
||||
##- Extrude very thin cells to make it harder. Note: requires a
|
||||
##- pointSmoother first before doing the displacementLaplacian
|
||||
#runApplication extrudeMesh
|
||||
|
||||
#- Refine some cells
|
||||
runApplication topoSet
|
||||
runApplication refineHexMesh c0 -overwrite
|
||||
|
||||
|
||||
#- Generate pointMesh with additional feature patches
|
||||
# (in constant/pointMesh/boundary). Extracted outside of mesh is not used.
|
||||
runApplication surfaceMeshExtract -featureAngle 45 \
|
||||
constant/triSurface/blockMesh.obj
|
||||
|
||||
#- Set the initial field
|
||||
restore0Dir
|
||||
|
||||
#- TBD. move triSurfaces to resources
|
||||
#mkdir -p constant/triSurface
|
||||
#cp -f \
|
||||
# "$FOAM_TUTORIALS"/resources/geometry/box222.obj \
|
||||
# constant/triSurface/
|
||||
|
||||
#- Extract features from surface. Writes .eMesh
|
||||
runApplication surfaceFeatureExtract
|
||||
|
||||
##- Morph mesh to the surface (.obj file) and feature-edges (.eMesh file)
|
||||
#runApplication moveDynamicMesh
|
||||
|
||||
runApplication decomposePar
|
||||
|
||||
runParallel moveDynamicMesh
|
||||
|
||||
runApplication reconstructPar
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
53
tutorials/mesh/blockMesh/sphere7/constant/dynamicMeshDict
Normal file
53
tutorials/mesh/blockMesh/sphere7/constant/dynamicMeshDict
Normal file
@ -0,0 +1,53 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2312 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object dynamicMeshDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dynamicFvMesh dynamicMotionSolverFvMesh;
|
||||
|
||||
motionSolverLibs (fvMotionSolvers);
|
||||
|
||||
//motionSolver displacementPointSmoothing;
|
||||
//displacementPointSmoothingCoeffs
|
||||
//{
|
||||
// //pointSmoother geometricElementTransform;
|
||||
// //transformationParameter 0.667;
|
||||
// pointSmoother laplacian;
|
||||
//
|
||||
// nPointSmootherIter 10;
|
||||
//
|
||||
// //relaxationFactors (1);
|
||||
// //meshQuality {}
|
||||
// //moveInternalFaces true;
|
||||
//}
|
||||
|
||||
motionSolver multiDisplacement;
|
||||
solvers
|
||||
{
|
||||
displacementLaplacian
|
||||
{
|
||||
motionSolver displacementLaplacian;
|
||||
diffusivity uniform;
|
||||
}
|
||||
|
||||
displacementPointSmoothing
|
||||
{
|
||||
motionSolver displacementPointSmoothing;
|
||||
pointSmoother laplacian;
|
||||
nPointSmootherIter 10;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,79 @@
|
||||
# Generated by Visualization Toolkit
|
||||
v -1 -1 -1
|
||||
v -1 -1 1
|
||||
v -1 1 -1
|
||||
v -1 1 1
|
||||
v 1 -1 -1
|
||||
v 1 -1 1
|
||||
v 1 1 -1
|
||||
v 1 1 1
|
||||
v -1 -1 -1
|
||||
v -1 -1 1
|
||||
v 1 -1 -1
|
||||
v 1 -1 1
|
||||
v -1 1 -1
|
||||
v -1 1 1
|
||||
v 1 1 -1
|
||||
v 1 1 1
|
||||
v -1 -1 -1
|
||||
v 1 -1 -1
|
||||
v -1 1 -1
|
||||
v 1 1 -1
|
||||
v -1 -1 1
|
||||
v 1 -1 1
|
||||
v -1 1 1
|
||||
v 1 1 1
|
||||
vn -1 0 0
|
||||
vn -1 0 0
|
||||
vn -1 0 0
|
||||
vn -1 0 0
|
||||
vn 1 0 0
|
||||
vn 1 0 0
|
||||
vn 1 0 0
|
||||
vn 1 0 0
|
||||
vn 0 -1 0
|
||||
vn 0 -1 0
|
||||
vn 0 -1 0
|
||||
vn 0 -1 0
|
||||
vn 0 1 0
|
||||
vn 0 1 0
|
||||
vn 0 1 0
|
||||
vn 0 1 0
|
||||
vn 0 0 -1
|
||||
vn 0 0 -1
|
||||
vn 0 0 -1
|
||||
vn 0 0 -1
|
||||
vn 0 0 1
|
||||
vn 0 0 1
|
||||
vn 0 0 1
|
||||
vn 0 0 1
|
||||
vt -0.5 -0.5
|
||||
vt 1.5 -0.5
|
||||
vt -0.5 1.5
|
||||
vt 1.5 1.5
|
||||
vt 0.5 -0.5
|
||||
vt -1.5 -0.5
|
||||
vt 0.5 1.5
|
||||
vt -1.5 1.5
|
||||
vt 0.5 0.5
|
||||
vt 0.5 -1.5
|
||||
vt -1.5 0.5
|
||||
vt -1.5 -1.5
|
||||
vt -0.5 0.5
|
||||
vt -0.5 -1.5
|
||||
vt 1.5 0.5
|
||||
vt 1.5 -1.5
|
||||
vt 0.5 -0.5
|
||||
vt -1.5 -0.5
|
||||
vt 0.5 1.5
|
||||
vt -1.5 1.5
|
||||
vt -0.5 -0.5
|
||||
vt 1.5 -0.5
|
||||
vt -0.5 1.5
|
||||
vt 1.5 1.5
|
||||
f 1/1/1 2/2/2 4/4/4 3/3/3
|
||||
f 5/5/5 7/7/7 8/8/8 6/6/6
|
||||
f 9/9/9 11/11/11 12/12/12 10/10/10
|
||||
f 13/13/13 14/14/14 16/16/16 15/15/15
|
||||
f 17/17/17 19/19/19 20/20/20 18/18/18
|
||||
f 21/21/21 22/22/22 24/24/24 23/23/23
|
||||
@ -0,0 +1,79 @@
|
||||
# Generated by Visualization Toolkit
|
||||
v -2 -1 -1
|
||||
v -2 -1 1
|
||||
v -2 1 -1
|
||||
v -2 1 1
|
||||
v 2 -1 -1
|
||||
v 2 -1 1
|
||||
v 2 1 -1
|
||||
v 2 1 1
|
||||
v -2 -1 -1
|
||||
v -2 -1 1
|
||||
v 2 -1 -1
|
||||
v 2 -1 1
|
||||
v -2 1 -1
|
||||
v -2 1 1
|
||||
v 2 1 -1
|
||||
v 2 1 1
|
||||
v -2 -1 -1
|
||||
v 2 -1 -1
|
||||
v -2 1 -1
|
||||
v 2 1 -1
|
||||
v -2 -1 1
|
||||
v 2 -1 1
|
||||
v -2 1 1
|
||||
v 2 1 1
|
||||
vn -1 0 0
|
||||
vn -1 0 0
|
||||
vn -1 0 0
|
||||
vn -1 0 0
|
||||
vn 1 0 0
|
||||
vn 1 0 0
|
||||
vn 1 0 0
|
||||
vn 1 0 0
|
||||
vn 0 -1 0
|
||||
vn 0 -1 0
|
||||
vn 0 -1 0
|
||||
vn 0 -1 0
|
||||
vn 0 1 0
|
||||
vn 0 1 0
|
||||
vn 0 1 0
|
||||
vn 0 1 0
|
||||
vn 0 0 -1
|
||||
vn 0 0 -1
|
||||
vn 0 0 -1
|
||||
vn 0 0 -1
|
||||
vn 0 0 1
|
||||
vn 0 0 1
|
||||
vn 0 0 1
|
||||
vn 0 0 1
|
||||
vt -0.5 -0.5
|
||||
vt 1.5 -0.5
|
||||
vt -0.5 1.5
|
||||
vt 1.5 1.5
|
||||
vt 0.5 -0.5
|
||||
vt -1.5 -0.5
|
||||
vt 0.5 1.5
|
||||
vt -1.5 1.5
|
||||
vt 1.5 0.5
|
||||
vt 1.5 -1.5
|
||||
vt -2.5 0.5
|
||||
vt -2.5 -1.5
|
||||
vt -1.5 0.5
|
||||
vt -1.5 -1.5
|
||||
vt 2.5 0.5
|
||||
vt 2.5 -1.5
|
||||
vt 1.5 -0.5
|
||||
vt -2.5 -0.5
|
||||
vt 1.5 1.5
|
||||
vt -2.5 1.5
|
||||
vt -1.5 -0.5
|
||||
vt 2.5 -0.5
|
||||
vt -1.5 1.5
|
||||
vt 2.5 1.5
|
||||
f 1/1/1 2/2/2 4/4/4 3/3/3
|
||||
f 5/5/5 7/7/7 8/8/8 6/6/6
|
||||
f 9/9/9 11/11/11 12/12/12 10/10/10
|
||||
f 13/13/13 14/14/14 16/16/16 15/15/15
|
||||
f 17/17/17 19/19/19 20/20/20 18/18/18
|
||||
f 21/21/21 22/22/22 24/24/24 23/23/23
|
||||
@ -127,16 +127,56 @@ faces
|
||||
|
||||
boundary
|
||||
(
|
||||
walls
|
||||
minX
|
||||
{
|
||||
type wall;
|
||||
type patch;
|
||||
faces
|
||||
(
|
||||
(1 0) // block 1: x-min
|
||||
);
|
||||
}
|
||||
|
||||
maxX
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
(
|
||||
(2 1) // block 2: x-max
|
||||
);
|
||||
}
|
||||
|
||||
minY
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
(
|
||||
(3 2) // block 3: y-min
|
||||
);
|
||||
}
|
||||
|
||||
maxY
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
(
|
||||
(4 3) // block 4: y-max
|
||||
);
|
||||
}
|
||||
|
||||
minZ
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
(
|
||||
(5 4) // block 5: z-min
|
||||
);
|
||||
}
|
||||
|
||||
maxZ
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
(
|
||||
(6 5) // block 6: z-max
|
||||
);
|
||||
}
|
||||
|
||||
@ -14,6 +14,11 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
DebugSwitches
|
||||
{
|
||||
pointBoundaryMesh 1;
|
||||
}
|
||||
|
||||
application blockMesh;
|
||||
|
||||
startFrom startTime;
|
||||
@ -22,9 +27,9 @@ startTime 0;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime 0;
|
||||
endTime 20;
|
||||
|
||||
deltaT 0;
|
||||
deltaT 1;
|
||||
|
||||
writeControl timeStep;
|
||||
|
||||
|
||||
24
tutorials/mesh/blockMesh/sphere7/system/decomposeParDict
Normal file
24
tutorials/mesh/blockMesh/sphere7/system/decomposeParDict
Normal file
@ -0,0 +1,24 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2312 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
note "mesh decomposition control dictionary";
|
||||
object decomposeParDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
//- The total number of domains (mandatory)
|
||||
numberOfSubdomains 2;
|
||||
|
||||
//- The decomposition method (mandatory)
|
||||
method scotch;
|
||||
|
||||
// ************************************************************************* //
|
||||
55
tutorials/mesh/blockMesh/sphere7/system/extrudeMeshDict
Normal file
55
tutorials/mesh/blockMesh/sphere7/system/extrudeMeshDict
Normal file
@ -0,0 +1,55 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2312 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object extrudeMeshDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
// What to extrude:
|
||||
// patch : from patch of another case ('sourceCase')
|
||||
// mesh : as above but with original case included
|
||||
// surface : from externally read surface
|
||||
|
||||
constructFrom mesh;
|
||||
|
||||
// If construct from patch/mesh:
|
||||
sourceCase "<case>";
|
||||
|
||||
// and one of sourcePatches or sourceFaceZones (but not both):
|
||||
//sourceFaceZones (someFacesZone);
|
||||
sourcePatches (".*");
|
||||
|
||||
// Flip surface normals before usage. Valid only for extrude from surface or
|
||||
// patch.
|
||||
flipNormals false;
|
||||
|
||||
//- Linear extrusion in point-normal direction
|
||||
extrudeModel linearNormal;
|
||||
|
||||
nLayers 1;
|
||||
|
||||
expansionRatio 1.0;
|
||||
|
||||
linearNormalCoeffs
|
||||
{
|
||||
thickness 1e-6;
|
||||
}
|
||||
|
||||
// Do front and back need to be merged? Usually only makes sense for 360
|
||||
// degree wedges.
|
||||
mergeFaces false;
|
||||
|
||||
// Merge small edges. Fraction of bounding box.
|
||||
mergeTol 0;
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
@ -18,19 +18,27 @@ ddtSchemes
|
||||
{}
|
||||
|
||||
gradSchemes
|
||||
{}
|
||||
{
|
||||
default Gauss linear;
|
||||
}
|
||||
|
||||
divSchemes
|
||||
{}
|
||||
|
||||
laplacianSchemes
|
||||
{}
|
||||
{
|
||||
default Gauss linear corrected;
|
||||
}
|
||||
|
||||
interpolationSchemes
|
||||
{}
|
||||
{
|
||||
default linear;
|
||||
}
|
||||
|
||||
snGradSchemes
|
||||
{}
|
||||
{
|
||||
default corrected;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -14,5 +14,20 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
solvers
|
||||
{
|
||||
"cellDisplacement.*"
|
||||
{
|
||||
solver GAMG;
|
||||
tolerance 1e-08;
|
||||
relTol 0;
|
||||
smoother GaussSeidel;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
PIMPLE
|
||||
{}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -0,0 +1,33 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2312 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object surfaceFeatureExtractDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
box222.obj
|
||||
{
|
||||
// How to obtain raw features (extractFromFile || extractFromSurface)
|
||||
extractionMethod extractFromSurface;
|
||||
|
||||
// Mark edges whose adjacent surface normals are at an angle less
|
||||
// than includedAngle as features
|
||||
// - 0 : selects no edges
|
||||
// - 180: selects all edges
|
||||
includedAngle 135;
|
||||
|
||||
// Write features to obj format for postprocessing
|
||||
writeObj yes;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
47
tutorials/mesh/blockMesh/sphere7/system/topoSetDict
Normal file
47
tutorials/mesh/blockMesh/sphere7/system/topoSetDict
Normal file
@ -0,0 +1,47 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2312 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object topoSetDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
actions
|
||||
(
|
||||
{
|
||||
name c0;
|
||||
type cellSet;
|
||||
action new;
|
||||
source boundaryToCell;
|
||||
}
|
||||
{
|
||||
name c0;
|
||||
type cellSet;
|
||||
action subset;
|
||||
source boxToCell;
|
||||
sourceInfo
|
||||
{
|
||||
box (-100 -100 -100) (0 100 100);
|
||||
}
|
||||
}
|
||||
{
|
||||
name c0;
|
||||
type cellSet;
|
||||
action add;
|
||||
source boxToCell;
|
||||
sourceInfo
|
||||
{
|
||||
box (-0.3 -0.3 -0.3) (0 0 0);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
||||
62
tutorials/mesh/moveDynamicMesh/badMove/0/pointDisplacement
Normal file
62
tutorials/mesh/moveDynamicMesh/badMove/0/pointDisplacement
Normal file
@ -0,0 +1,62 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 2309 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
arch "LSB;label=32;scalar=64";
|
||||
class pointVectorField;
|
||||
location "0";
|
||||
object pointDisplacement;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 1 0 0 0 0 0];
|
||||
|
||||
internalField uniform (0 0 0);
|
||||
|
||||
boundaryField
|
||||
{
|
||||
minX
|
||||
{
|
||||
type slip;
|
||||
}
|
||||
maxX
|
||||
{
|
||||
$minX
|
||||
}
|
||||
minY
|
||||
{
|
||||
$minX
|
||||
}
|
||||
maxY
|
||||
{
|
||||
$minX
|
||||
}
|
||||
minZ
|
||||
{
|
||||
$minX
|
||||
}
|
||||
maxZ
|
||||
{
|
||||
$minX
|
||||
}
|
||||
boundaryEdges
|
||||
{
|
||||
type uniformFixedValue;
|
||||
uniformValue table
|
||||
(
|
||||
( 0.0 (0 0 0))
|
||||
( 1.0 (1.0 -1.0 0))
|
||||
//(10.0 (0 0 0))
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
17
tutorials/mesh/moveDynamicMesh/badMove/Allclean
Executable file
17
tutorials/mesh/moveDynamicMesh/badMove/Allclean
Executable file
@ -0,0 +1,17 @@
|
||||
#!/bin/sh
|
||||
cd "${0%/*}" || exit # Run from this directory
|
||||
. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
cleanCase
|
||||
|
||||
rm -rf constant/extendedFeatureEdgeMesh
|
||||
|
||||
#- From pointMesh generation
|
||||
rm -rf constant/pointMesh
|
||||
rm -f constant/triSurface/blockMesh.obj
|
||||
|
||||
#- From surfaceFeatureExtract
|
||||
rm -f constant/triSurface/box222.eMesh
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
23
tutorials/mesh/moveDynamicMesh/badMove/Allrun
Executable file
23
tutorials/mesh/moveDynamicMesh/badMove/Allrun
Executable file
@ -0,0 +1,23 @@
|
||||
#!/bin/sh
|
||||
cd "${0%/*}" || exit # Run from this directory
|
||||
. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
#- Generate mesh
|
||||
runApplication blockMesh
|
||||
|
||||
runApplication surfaceMeshExtract \
|
||||
-featureAngle 45 \
|
||||
-patches '(minX maxY)' \
|
||||
constant/triSurface/blockMesh.obj
|
||||
|
||||
#- For postprocessing: extract new pointPatches as vtk files
|
||||
setSet <<EOF
|
||||
pointSet p0 new patchToPoint boundaryEdges
|
||||
EOF
|
||||
|
||||
#- Morph mesh to the surface (.obj file) and feature-edges (.eMesh file)
|
||||
#- Note: needs point-based motion solver
|
||||
runApplication moveDynamicMesh
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
1
tutorials/mesh/moveDynamicMesh/badMove/README.txt
Normal file
1
tutorials/mesh/moveDynamicMesh/badMove/README.txt
Normal file
@ -0,0 +1 @@
|
||||
Testing relaxation of mesh motion
|
||||
@ -0,0 +1,39 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2312 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object dynamicMeshDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dynamicFvMesh dynamicMotionSolverFvMesh;
|
||||
|
||||
// For point-bcs
|
||||
motionSolverLibs (fvMotionSolvers);
|
||||
|
||||
motionSolver displacementPointSmoothing;
|
||||
displacementPointSmoothingCoeffs
|
||||
{
|
||||
// Use geometricElementTransform to maintain relative sizes
|
||||
//pointSmoother geometricElementTransform;
|
||||
//transformationParameter 0.667;
|
||||
//nPointSmootherIter 10;
|
||||
|
||||
pointSmoother laplacian;
|
||||
nPointSmootherIter 10;
|
||||
relaxationFactors (1.0 0.8 0.6 0.4 0.2 0.0);
|
||||
meshQuality
|
||||
{
|
||||
#includeEtc "caseDicts/meshQualityDict"
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
95
tutorials/mesh/moveDynamicMesh/badMove/system/blockMeshDict
Normal file
95
tutorials/mesh/moveDynamicMesh/badMove/system/blockMeshDict
Normal file
@ -0,0 +1,95 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2312 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object blockMeshDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
scale 1;
|
||||
|
||||
vertices
|
||||
(
|
||||
// Inner block
|
||||
(-2 -2 -2)
|
||||
( 2 -2 -2)
|
||||
( 2 2 -2)
|
||||
(-2 2 -2)
|
||||
(-2 -2 2)
|
||||
( 2 -2 2)
|
||||
( 2 2 2)
|
||||
(-2 2 2)
|
||||
);
|
||||
|
||||
blocks
|
||||
(
|
||||
hex (0 1 2 3 4 5 6 7) (5 5 4) grading (1 1 1) // Inner block
|
||||
);
|
||||
|
||||
boundary
|
||||
(
|
||||
minX
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
(
|
||||
(0 0) // block 0: x-min
|
||||
);
|
||||
}
|
||||
|
||||
maxX
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
(
|
||||
(0 1) // block 0: x-max
|
||||
);
|
||||
}
|
||||
|
||||
minY
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
(
|
||||
(0 2) // block 0: y-min
|
||||
);
|
||||
}
|
||||
|
||||
maxY
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
(
|
||||
(0 3) // block 0: y-max
|
||||
);
|
||||
}
|
||||
|
||||
minZ
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
(
|
||||
(0 4) // block 0: z-min
|
||||
);
|
||||
}
|
||||
|
||||
maxZ
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
(
|
||||
(0 5) // block 0: z-max
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
53
tutorials/mesh/moveDynamicMesh/badMove/system/controlDict
Normal file
53
tutorials/mesh/moveDynamicMesh/badMove/system/controlDict
Normal file
@ -0,0 +1,53 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2312 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object controlDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
DebugSwitches
|
||||
{
|
||||
pointBoundaryMesh 1;
|
||||
}
|
||||
|
||||
application moveDynamicMesh;
|
||||
|
||||
startFrom startTime;
|
||||
|
||||
startTime 0;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime 10;
|
||||
|
||||
deltaT 1;
|
||||
|
||||
writeControl timeStep;
|
||||
|
||||
writeInterval 1;
|
||||
|
||||
purgeWrite 0;
|
||||
|
||||
writeFormat ascii;
|
||||
|
||||
writePrecision 6;
|
||||
|
||||
writeCompression off;
|
||||
|
||||
timeFormat general;
|
||||
|
||||
timePrecision 6;
|
||||
|
||||
runTimeModifiable true;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
44
tutorials/mesh/moveDynamicMesh/badMove/system/fvSchemes
Normal file
44
tutorials/mesh/moveDynamicMesh/badMove/system/fvSchemes
Normal file
@ -0,0 +1,44 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2312 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object fvSchemes;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
ddtSchemes
|
||||
{}
|
||||
|
||||
gradSchemes
|
||||
{
|
||||
default Gauss linear;
|
||||
}
|
||||
|
||||
divSchemes
|
||||
{}
|
||||
|
||||
laplacianSchemes
|
||||
{
|
||||
default Gauss linear corrected;
|
||||
}
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
default linear;
|
||||
}
|
||||
|
||||
snGradSchemes
|
||||
{
|
||||
default corrected;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
33
tutorials/mesh/moveDynamicMesh/badMove/system/fvSolution
Normal file
33
tutorials/mesh/moveDynamicMesh/badMove/system/fvSolution
Normal file
@ -0,0 +1,33 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2312 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object fvSolution;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
solvers
|
||||
{
|
||||
"cellDisplacement.*"
|
||||
{
|
||||
solver GAMG;
|
||||
tolerance 1e-08;
|
||||
relTol 0;
|
||||
smoother GaussSeidel;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
PIMPLE
|
||||
{}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
130
tutorials/mesh/moveDynamicMesh/bendJunction/0/pointDisplacement
Normal file
130
tutorials/mesh/moveDynamicMesh/bendJunction/0/pointDisplacement
Normal file
@ -0,0 +1,130 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v1812 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class pointVectorField;
|
||||
location "0";
|
||||
object pointDisplacement;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 1 0 0 0 0 0];
|
||||
|
||||
internalField uniform (0 0 0);
|
||||
|
||||
_surfaceDisplacement
|
||||
{
|
||||
type surfaceSlipDisplacement;
|
||||
value $internalField;
|
||||
projectMode nearest;
|
||||
// // if fixedNormal : normal
|
||||
// projectDirection (0 0 1);
|
||||
// //- -1 or component to knock out before doing projection
|
||||
// wedgePlane -1;
|
||||
// relax 0.5;
|
||||
//- Underrelax motion by limiting displacement velocity
|
||||
velocity (100 100 100);
|
||||
}
|
||||
|
||||
|
||||
boundaryField
|
||||
{
|
||||
//#includeEtc "caseDicts/setConstraintTypes"
|
||||
|
||||
InletSmall
|
||||
{
|
||||
${^_surfaceDisplacement}
|
||||
geometry
|
||||
{
|
||||
InletSmall
|
||||
{
|
||||
type triSurfaceMesh;
|
||||
file "InletSmall.obj";
|
||||
}
|
||||
}
|
||||
}
|
||||
Outlet
|
||||
{
|
||||
${^_surfaceDisplacement}
|
||||
geometry
|
||||
{
|
||||
Outlet
|
||||
{
|
||||
type triSurfaceMesh;
|
||||
file "Outlet.obj";
|
||||
}
|
||||
}
|
||||
}
|
||||
SmallPipe
|
||||
{
|
||||
${^_surfaceDisplacement}
|
||||
geometry
|
||||
{
|
||||
SmallPipe
|
||||
{
|
||||
type triSurfaceMesh;
|
||||
file "SmallPipe.obj";
|
||||
}
|
||||
}
|
||||
}
|
||||
Inlet
|
||||
{
|
||||
${^_surfaceDisplacement}
|
||||
geometry
|
||||
{
|
||||
Inlet
|
||||
{
|
||||
type triSurfaceMesh;
|
||||
file "Inlet.obj";
|
||||
}
|
||||
}
|
||||
}
|
||||
BigPipe
|
||||
{
|
||||
${^_surfaceDisplacement}
|
||||
geometry
|
||||
{
|
||||
BigPipe
|
||||
{
|
||||
type triSurfaceMesh;
|
||||
file "BigPipe.obj";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Per-patch feature-edges
|
||||
SmallPipeEdges
|
||||
{
|
||||
type edgeSlipDisplacement;
|
||||
file "SmallPipe.eMesh";
|
||||
//file "box222.extendedFeatureEdgeMesh";
|
||||
//- Underrelax motion by limiting displacement velocity
|
||||
velocity (100 100 100);
|
||||
}
|
||||
BigPipeEdges
|
||||
{
|
||||
type edgeSlipDisplacement;
|
||||
file "BigPipe.eMesh";
|
||||
//file "box222.extendedFeatureEdgeMesh";
|
||||
//- Underrelax motion by limiting displacement velocity
|
||||
velocity (100 100 100);
|
||||
}
|
||||
// Inter-patch feature-edges
|
||||
boundaryEdges
|
||||
{
|
||||
type edgeSlipDisplacement;
|
||||
file "geometry.eMesh";
|
||||
//file "box222.extendedFeatureEdgeMesh";
|
||||
//- Underrelax motion by limiting displacement velocity
|
||||
velocity (100 100 100);
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
16
tutorials/mesh/moveDynamicMesh/bendJunction/Allclean
Executable file
16
tutorials/mesh/moveDynamicMesh/bendJunction/Allclean
Executable file
@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
cd "${0%/*}" || exit # Run from this directory
|
||||
. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
#cleanCase0
|
||||
cleanCase
|
||||
|
||||
rm -f constant/triSurface/boundary.obj
|
||||
rm -f constant/triSurface/geometry.eMesh
|
||||
rm -f constant/triSurface/geometry.obj
|
||||
rm -f constant/triSurface/blockMesh.obj
|
||||
rm -f constant/triSurface/outside*.obj
|
||||
rm -rf constant/extendedFeatureEdgeMesh
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
54
tutorials/mesh/moveDynamicMesh/bendJunction/Allrun
Executable file
54
tutorials/mesh/moveDynamicMesh/bendJunction/Allrun
Executable file
@ -0,0 +1,54 @@
|
||||
#!/bin/sh
|
||||
cd "${0%/*}" || exit # Run from this directory
|
||||
. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
|
||||
# Add bit of preprocessing of the surface
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
# Add all surfaces
|
||||
runApplication -s BigPipeInlet surfaceAdd \
|
||||
constant/triSurface/BigPipe.obj constant/triSurface/Inlet.obj \
|
||||
constant/triSurface/geometry.obj
|
||||
runApplication -s InletSmall surfaceAdd \
|
||||
constant/triSurface/geometry.obj constant/triSurface/InletSmall.obj \
|
||||
constant/triSurface/geometry.obj
|
||||
runApplication -s Outlet surfaceAdd \
|
||||
constant/triSurface/geometry.obj constant/triSurface/Outlet.obj \
|
||||
constant/triSurface/geometry.obj
|
||||
runApplication -s SmallPipe surfaceAdd \
|
||||
constant/triSurface/geometry.obj constant/triSurface/SmallPipe.obj \
|
||||
constant/triSurface/geometry.obj
|
||||
|
||||
# Extract features from surface
|
||||
runApplication surfaceFeatureExtract
|
||||
|
||||
|
||||
|
||||
# Generate mesh and features
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
runApplication blockMesh
|
||||
runApplication -s presmooth checkMesh
|
||||
|
||||
# Detect feature edges on mesh and generate new point patches from these.
|
||||
# Note we only are interested in inter-patch features for this particular
|
||||
# geometry.
|
||||
runApplication surfaceMeshExtract \
|
||||
-featureAngle 180 constant/triSurface/blockMesh.obj
|
||||
|
||||
# Generate some VTK files for the added point patches
|
||||
setSet <<POINTPATCH
|
||||
#pointSet SmallPipeEdges new patchToPoint SmallPipeEdges
|
||||
#pointSet BigPipeEdges new patchToPoint BigPipeEdges
|
||||
pointSet boundaryEdges new patchToPoint boundaryEdges
|
||||
POINTPATCH
|
||||
|
||||
# Do mesh motion to conform to surface
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
runApplication moveDynamicMesh
|
||||
runApplication -s postsmooth checkMesh
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
4
tutorials/mesh/moveDynamicMesh/bendJunction/README.txt
Normal file
4
tutorials/mesh/moveDynamicMesh/bendJunction/README.txt
Normal file
@ -0,0 +1,4 @@
|
||||
Copy of extBlockMesh/tutorial/bendJunction from
|
||||
https://github.com/Etudes-NG/extBlockMesh
|
||||
|
||||
Adapted to use simple OpenFOAM mesh motion solver
|
||||
@ -0,0 +1,38 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2406 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "constant";
|
||||
object dynamicMeshDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dynamicFvMesh dynamicMotionSolverFvMesh;
|
||||
|
||||
motionSolverLibs (fvMotionSolvers);
|
||||
|
||||
//motionSolver displacementSBRStress;
|
||||
//diffusivity uniform;
|
||||
|
||||
motionSolver displacementPointSmoothing;
|
||||
displacementPointSmoothingCoeffs
|
||||
{
|
||||
// Use geometricElementTransform to maintain relative sizes
|
||||
//pointSmoother geometricElementTransform;
|
||||
//transformationParameter 0.667;
|
||||
//nPointSmootherIter 10;
|
||||
|
||||
pointSmoother laplacian;
|
||||
nPointSmootherIter 10;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,382 @@
|
||||
# Wavefront OBJ file
|
||||
# Regions:
|
||||
# 0 CATIASTL
|
||||
#
|
||||
# points : 188
|
||||
# triangles : 186
|
||||
#
|
||||
v -117.911 9.79717e-15 31.5765
|
||||
v -117.926 2.6732 31.6185
|
||||
v -117.926 -2.6732 31.6185
|
||||
v -117.972 5.34341 31.7443
|
||||
v -117.972 -5.34341 31.7443
|
||||
v -118.048 8.00766 31.954
|
||||
v -118.048 -8.00766 31.954
|
||||
v -118.155 10.663 32.2472
|
||||
v -118.155 -10.663 32.2472
|
||||
v -118.292 13.3063 32.6236
|
||||
v -118.292 -13.3063 32.6236
|
||||
v -118.459 15.9349 33.0829
|
||||
v -118.459 -15.9349 33.0829
|
||||
v -118.656 18.5456 33.6244
|
||||
v -118.656 -18.5456 33.6244
|
||||
v -118.883 21.1356 34.2475
|
||||
v -118.883 -21.1356 34.2475
|
||||
v -119.139 23.702 34.9517
|
||||
v -119.139 -23.702 34.9517
|
||||
v -119.425 26.242 35.736
|
||||
v -119.425 -26.242 35.736
|
||||
v -119.739 28.7526 36.5996
|
||||
v -119.739 -28.7526 36.5996
|
||||
v -120.082 31.2311 37.5416
|
||||
v -120.082 -31.2311 37.5416
|
||||
v -120.453 33.6748 38.561
|
||||
v -120.453 -33.6748 38.561
|
||||
v -120.852 36.0808 39.6564
|
||||
v -120.852 -36.0808 39.6564
|
||||
v -121.277 38.4465 40.8268
|
||||
v -121.277 -38.4465 40.8268
|
||||
v -121.73 40.7693 42.0708
|
||||
v -121.73 -40.7693 42.0708
|
||||
v -122.209 43.0466 43.3871
|
||||
v -122.209 -43.0466 43.3871
|
||||
v -122.714 45.2758 44.7742
|
||||
v -122.714 -45.2758 44.7742
|
||||
v -123.244 47.4544 46.2304
|
||||
v -123.244 -47.4544 46.2304
|
||||
v -123.799 49.58 47.7543
|
||||
v -123.799 -49.58 47.7543
|
||||
v -124.378 51.6502 49.344
|
||||
v -124.378 -51.6502 49.344
|
||||
v -124.979 53.6628 50.9979
|
||||
v -124.979 -53.6628 50.9979
|
||||
v -125.604 55.6154 52.714
|
||||
v -125.604 -55.6154 52.714
|
||||
v -126.251 57.5059 54.4905
|
||||
v -126.251 -57.5059 54.4905
|
||||
v -126.919 59.3322 56.3254
|
||||
v -126.919 -59.3322 56.3254
|
||||
v -127.607 61.0922 58.2165
|
||||
v -127.607 -61.0922 58.2165
|
||||
v -128.315 62.784 60.1619
|
||||
v -128.315 -62.784 60.1619
|
||||
v -129.042 64.4056 62.1594
|
||||
v -129.042 -64.4056 62.1594
|
||||
v -129.787 65.9553 64.2066
|
||||
v -129.787 -65.9553 64.2066
|
||||
v -130.549 67.4314 66.3013
|
||||
v -130.549 -67.4314 66.3013
|
||||
v -131.328 68.8321 68.4412
|
||||
v -131.328 -68.8321 68.4412
|
||||
v -132.123 70.156 70.6239
|
||||
v -132.123 -70.156 70.6239
|
||||
v -132.932 71.4015 72.847
|
||||
v -132.932 -71.4015 72.847
|
||||
v -133.755 72.5673 75.1079
|
||||
v -133.755 -72.5673 75.1079
|
||||
v -134.591 73.652 77.4042
|
||||
v -134.591 -73.652 77.4042
|
||||
v -135.438 74.6544 79.7333
|
||||
v -135.438 -74.6544 79.7333
|
||||
v -136.297 75.5735 82.0925
|
||||
v -136.297 -75.5735 82.0925
|
||||
v -137.166 76.4082 84.4792
|
||||
v -137.166 -76.4082 84.4792
|
||||
v -138.044 77.1575 86.8909
|
||||
v -138.044 -77.1575 86.8909
|
||||
v -138.929 77.8207 89.3247
|
||||
v -138.929 -77.8207 89.3247
|
||||
v -139.822 78.3969 91.778
|
||||
v -139.822 -78.3969 91.778
|
||||
v -140.721 78.8856 94.248
|
||||
v -140.721 -78.8856 94.248
|
||||
v -141.625 79.2862 96.732
|
||||
v -141.625 -79.2862 96.732
|
||||
v -142.533 79.5982 99.2271
|
||||
v -142.533 -79.5982 99.2271
|
||||
v -143.445 79.8214 101.731
|
||||
v -143.445 -79.8214 101.731
|
||||
v -144.358 79.9553 104.24
|
||||
v -144.358 -79.9553 104.24
|
||||
v -145.272 80 106.752
|
||||
v -145.272 -80 106.752
|
||||
v -146.187 79.9553 109.264
|
||||
v -146.187 -79.9553 109.264
|
||||
v -147.1 79.8214 111.773
|
||||
v -147.1 -79.8214 111.773
|
||||
v -148.011 79.5982 114.277
|
||||
v -148.011 -79.5982 114.277
|
||||
v -148.919 79.2862 116.772
|
||||
v -148.919 -79.2862 116.772
|
||||
v -149.823 78.8856 119.256
|
||||
v -149.823 -78.8856 119.256
|
||||
v -150.722 78.3969 121.726
|
||||
v -150.722 -78.3969 121.726
|
||||
v -151.615 77.8207 124.179
|
||||
v -151.615 -77.8207 124.179
|
||||
v -152.501 77.1575 126.613
|
||||
v -152.501 -77.1575 126.613
|
||||
v -153.379 76.4082 129.025
|
||||
v -153.379 -76.4082 129.025
|
||||
v -154.248 75.5735 131.411
|
||||
v -154.248 -75.5735 131.411
|
||||
v -155.106 74.6544 133.77
|
||||
v -155.106 -74.6544 133.77
|
||||
v -155.954 73.652 136.1
|
||||
v -155.954 -73.652 136.1
|
||||
v -156.79 72.5673 138.396
|
||||
v -156.79 -72.5673 138.396
|
||||
v -157.613 71.4015 140.657
|
||||
v -157.613 -71.4015 140.657
|
||||
v -158.422 70.156 142.88
|
||||
v -158.422 -70.156 142.88
|
||||
v -159.216 68.8321 145.062
|
||||
v -159.216 -68.8321 145.062
|
||||
v -159.995 67.4314 147.202
|
||||
v -159.995 -67.4314 147.202
|
||||
v -160.758 65.9553 149.297
|
||||
v -160.758 -65.9553 149.297
|
||||
v -161.503 64.4056 151.344
|
||||
v -161.503 -64.4056 151.344
|
||||
v -162.23 62.784 153.342
|
||||
v -162.23 -62.784 153.342
|
||||
v -162.938 61.0922 155.287
|
||||
v -162.938 -61.0922 155.287
|
||||
v -163.626 59.3322 157.178
|
||||
v -163.626 -59.3322 157.178
|
||||
v -164.294 57.5059 159.013
|
||||
v -164.294 -57.5059 159.013
|
||||
v -164.941 55.6154 160.79
|
||||
v -164.941 -55.6154 160.79
|
||||
v -165.565 53.6628 162.506
|
||||
v -165.565 -53.6628 162.506
|
||||
v -166.167 51.6502 164.16
|
||||
v -166.167 -51.6502 164.16
|
||||
v -166.746 49.58 165.749
|
||||
v -166.746 -49.58 165.749
|
||||
v -167.3 47.4544 167.273
|
||||
v -167.3 -47.4544 167.273
|
||||
v -167.83 45.2758 168.73
|
||||
v -167.83 -45.2758 168.73
|
||||
v -168.335 43.0466 170.117
|
||||
v -168.335 -43.0466 170.117
|
||||
v -168.814 40.7693 171.433
|
||||
v -168.814 -40.7693 171.433
|
||||
v -169.267 38.4465 172.677
|
||||
v -169.267 -38.4465 172.677
|
||||
v -169.693 36.0808 173.847
|
||||
v -169.693 -36.0808 173.847
|
||||
v -170.092 33.6748 174.943
|
||||
v -170.092 -33.6748 174.943
|
||||
v -170.463 31.2311 175.962
|
||||
v -170.463 -31.2311 175.962
|
||||
v -170.806 28.7526 176.904
|
||||
v -170.806 -28.7526 176.904
|
||||
v -171.12 26.242 177.768
|
||||
v -171.12 -26.242 177.768
|
||||
v -171.405 23.702 178.552
|
||||
v -171.405 -23.702 178.552
|
||||
v -171.662 21.1356 179.256
|
||||
v -171.662 -21.1356 179.256
|
||||
v -171.889 18.5456 179.879
|
||||
v -171.889 -18.5456 179.879
|
||||
v -172.086 15.9349 180.421
|
||||
v -172.086 -15.9349 180.421
|
||||
v -172.253 13.3063 180.88
|
||||
v -172.253 -13.3063 180.88
|
||||
v -172.39 10.663 181.257
|
||||
v -172.39 -10.663 181.257
|
||||
v -172.497 8.00766 181.55
|
||||
v -172.497 -8.00766 181.55
|
||||
v -172.573 5.34341 181.759
|
||||
v -172.573 -5.34341 181.759
|
||||
v -172.619 2.6732 181.885
|
||||
v -172.619 -2.6732 181.885
|
||||
v -172.634 0 181.927
|
||||
g CATIASTL
|
||||
f 92 96 94
|
||||
f 96 92 98
|
||||
f 98 92 90
|
||||
f 98 90 100
|
||||
f 100 90 88
|
||||
f 100 88 102
|
||||
f 102 88 86
|
||||
f 102 86 104
|
||||
f 104 86 84
|
||||
f 104 84 106
|
||||
f 106 84 82
|
||||
f 106 82 108
|
||||
f 108 82 80
|
||||
f 108 80 110
|
||||
f 110 80 78
|
||||
f 110 78 112
|
||||
f 112 78 76
|
||||
f 112 76 114
|
||||
f 114 76 74
|
||||
f 114 74 116
|
||||
f 116 74 72
|
||||
f 116 72 118
|
||||
f 118 72 70
|
||||
f 118 70 120
|
||||
f 120 70 68
|
||||
f 120 68 122
|
||||
f 122 68 66
|
||||
f 122 66 124
|
||||
f 124 66 64
|
||||
f 124 64 126
|
||||
f 126 64 62
|
||||
f 126 62 128
|
||||
f 128 62 60
|
||||
f 128 60 130
|
||||
f 130 60 58
|
||||
f 130 58 132
|
||||
f 132 58 56
|
||||
f 132 56 134
|
||||
f 134 56 54
|
||||
f 134 54 136
|
||||
f 136 54 52
|
||||
f 136 52 138
|
||||
f 138 52 50
|
||||
f 138 50 140
|
||||
f 140 50 48
|
||||
f 140 48 142
|
||||
f 142 48 46
|
||||
f 142 46 144
|
||||
f 144 46 44
|
||||
f 144 44 146
|
||||
f 146 44 42
|
||||
f 146 42 148
|
||||
f 148 42 40
|
||||
f 148 40 150
|
||||
f 150 40 38
|
||||
f 150 38 152
|
||||
f 152 38 36
|
||||
f 152 36 154
|
||||
f 154 36 34
|
||||
f 154 34 156
|
||||
f 156 34 32
|
||||
f 156 32 158
|
||||
f 158 32 30
|
||||
f 158 30 160
|
||||
f 160 30 28
|
||||
f 160 28 162
|
||||
f 162 28 26
|
||||
f 162 26 164
|
||||
f 164 26 24
|
||||
f 164 24 166
|
||||
f 166 24 22
|
||||
f 166 22 168
|
||||
f 168 22 20
|
||||
f 168 20 170
|
||||
f 170 20 18
|
||||
f 170 18 172
|
||||
f 172 18 16
|
||||
f 172 16 174
|
||||
f 174 16 14
|
||||
f 174 14 176
|
||||
f 176 14 12
|
||||
f 176 12 178
|
||||
f 178 12 10
|
||||
f 178 10 180
|
||||
f 180 10 8
|
||||
f 180 8 182
|
||||
f 182 8 6
|
||||
f 182 6 184
|
||||
f 184 6 4
|
||||
f 184 4 186
|
||||
f 186 4 2
|
||||
f 186 2 188
|
||||
f 188 2 1
|
||||
f 188 1 187
|
||||
f 187 1 3
|
||||
f 187 3 185
|
||||
f 185 3 5
|
||||
f 185 5 183
|
||||
f 183 5 7
|
||||
f 183 7 181
|
||||
f 181 7 9
|
||||
f 181 9 179
|
||||
f 179 9 11
|
||||
f 179 11 177
|
||||
f 177 11 13
|
||||
f 177 13 175
|
||||
f 175 13 15
|
||||
f 175 15 173
|
||||
f 173 15 17
|
||||
f 173 17 171
|
||||
f 171 17 19
|
||||
f 171 19 169
|
||||
f 169 19 21
|
||||
f 169 21 167
|
||||
f 167 21 23
|
||||
f 167 23 165
|
||||
f 165 23 25
|
||||
f 165 25 163
|
||||
f 163 25 27
|
||||
f 163 27 161
|
||||
f 161 27 29
|
||||
f 161 29 159
|
||||
f 159 29 31
|
||||
f 159 31 157
|
||||
f 157 31 33
|
||||
f 157 33 155
|
||||
f 155 33 35
|
||||
f 155 35 153
|
||||
f 153 35 37
|
||||
f 153 37 151
|
||||
f 151 37 39
|
||||
f 151 39 149
|
||||
f 149 39 41
|
||||
f 149 41 147
|
||||
f 147 41 43
|
||||
f 147 43 145
|
||||
f 145 43 45
|
||||
f 145 45 143
|
||||
f 143 45 47
|
||||
f 143 47 141
|
||||
f 141 47 49
|
||||
f 141 49 139
|
||||
f 139 49 51
|
||||
f 139 51 137
|
||||
f 137 51 53
|
||||
f 137 53 135
|
||||
f 135 53 55
|
||||
f 135 55 133
|
||||
f 133 55 57
|
||||
f 133 57 131
|
||||
f 131 57 59
|
||||
f 131 59 129
|
||||
f 129 59 61
|
||||
f 129 61 127
|
||||
f 127 61 63
|
||||
f 127 63 125
|
||||
f 125 63 65
|
||||
f 125 65 123
|
||||
f 123 65 67
|
||||
f 123 67 121
|
||||
f 121 67 69
|
||||
f 121 69 119
|
||||
f 119 69 71
|
||||
f 119 71 117
|
||||
f 117 71 73
|
||||
f 117 73 115
|
||||
f 115 73 75
|
||||
f 115 75 113
|
||||
f 113 75 77
|
||||
f 113 77 111
|
||||
f 111 77 79
|
||||
f 111 79 109
|
||||
f 109 79 81
|
||||
f 109 81 107
|
||||
f 107 81 83
|
||||
f 107 83 105
|
||||
f 105 83 85
|
||||
f 105 85 103
|
||||
f 103 85 87
|
||||
f 103 87 101
|
||||
f 101 87 89
|
||||
f 101 89 99
|
||||
f 99 89 91
|
||||
f 99 91 97
|
||||
f 97 91 93
|
||||
f 97 93 95
|
||||
@ -0,0 +1,250 @@
|
||||
# Wavefront OBJ file
|
||||
# Regions:
|
||||
# 0 CATIASTL
|
||||
#
|
||||
# points : 122
|
||||
# triangles : 120
|
||||
#
|
||||
v 174.966 29.7913 243.719
|
||||
v 149.662 -12.308 261.438
|
||||
v 175.49 -29.7086 243.353
|
||||
v 170.439 -29.9337 246.889
|
||||
v 150.21 -13.7001 261.054
|
||||
v 181.086 27.9095 239.435
|
||||
v 186.01 -24.7091 235.987
|
||||
v 196.6 1.86591 228.572
|
||||
v 148.377 -7.95114 262.337
|
||||
v 187.612 23.2414 234.865
|
||||
v 180.395 -28.2272 239.918
|
||||
v 149.975 13.124 261.219
|
||||
v 192.949 -15.8282 231.128
|
||||
v 177.46 29.2702 241.973
|
||||
v 184.497 25.8838 237.046
|
||||
v 193.329 15.0559 230.862
|
||||
v 159.649 -25.8838 254.445
|
||||
v 194.171 -13.124 230.272
|
||||
v 196.072 6.45146 228.941
|
||||
v 148.073 -6.45146 262.55
|
||||
v 193.589 -14.4953 230.68
|
||||
v 148.243 7.32825 262.432
|
||||
v 150.817 -15.0559 260.629
|
||||
v 189.487 21.1678 233.552
|
||||
v 157.535 -24.1871 255.925
|
||||
v 164.249 -28.4389 251.224
|
||||
v 147.546 -1.86591 262.92
|
||||
v 174.232 -29.8839 244.234
|
||||
v 151.48 -16.3717 260.165
|
||||
v 166.686 -29.2702 249.518
|
||||
v 193.935 13.7001 230.437
|
||||
v 182.251 27.306 238.619
|
||||
v 157.113 23.8005 256.221
|
||||
v 195.16 -10.2806 229.58
|
||||
v 195.903 -7.32825 229.06
|
||||
v 188.017 -22.8288 234.581
|
||||
v 179.194 -28.7128 240.759
|
||||
v 195.562 -8.81611 229.298
|
||||
v 167.927 -29.57 248.649
|
||||
v 147.833 -4.93468 262.719
|
||||
v 147.603 2.7641 262.88
|
||||
v 158.136 24.7091 255.504
|
||||
v 173.706 29.9337 244.602
|
||||
v 149.451 11.7178 261.586
|
||||
v 196.18 -5.82096 228.865
|
||||
v 161.417 27.033 253.207
|
||||
v 151.197 15.8282 260.363
|
||||
v 160.757 -26.6302 253.669
|
||||
v 156.534 -23.2414 256.626
|
||||
v 147.519 1.22264 262.939
|
||||
v 196.489 3.40481 228.65
|
||||
v 191.505 -18.3647 232.139
|
||||
v 171.704 -29.9966 246.004
|
||||
v 150.557 14.4953 260.811
|
||||
v 163.75 28.2272 251.573
|
||||
v 160.291 26.3275 253.995
|
||||
v 163.06 -27.9095 252.057
|
||||
v 147.5 -0.322061 262.952
|
||||
v 191.948 17.6441 231.829
|
||||
v 167.408 29.4545 249.012
|
||||
v 183.855 -26.3275 237.496
|
||||
v 155.575 -22.2341 257.298
|
||||
v 168.656 29.7086 248.138
|
||||
v 147.965 5.82096 262.626
|
||||
v 171.176 29.98 246.373
|
||||
v 195.402 9.42973 229.411
|
||||
v 154.659 -21.1678 257.939
|
||||
v 188.571 22.2341 234.193
|
||||
v 162.571 27.6668 252.399
|
||||
v 187.033 -23.8005 235.27
|
||||
v 196.627 -1.22264 228.553
|
||||
v 190.356 20.0453 232.943
|
||||
v 176.738 -29.4545 242.479
|
||||
v 169.179 -29.7913 247.772
|
||||
v 155.187 21.7965 257.569
|
||||
v 166.172 29.1223 249.878
|
||||
v 148.583 8.81611 262.193
|
||||
v 181.575 -27.6668 239.092
|
||||
v 152.198 -17.6441 259.662
|
||||
v 194.695 -11.7178 229.905
|
||||
v 147.657 -3.40481 262.842
|
||||
v 177.974 -29.1223 241.614
|
||||
v 172.969 -29.98 245.118
|
||||
v 183.389 26.6302 237.822
|
||||
v 196.543 -2.7641 228.611
|
||||
v 147.752 4.29823 262.775
|
||||
v 182.729 -27.033 238.284
|
||||
v 161.895 -27.306 252.872
|
||||
v 196.646 0.322061 228.539
|
||||
v 188.958 -21.7965 233.922
|
||||
v 164.952 28.7128 250.732
|
||||
v 156.129 22.8288 256.91
|
||||
v 186.611 24.1871 235.566
|
||||
v 179.897 28.4389 240.267
|
||||
v 148.986 10.2806 261.911
|
||||
v 149.173 -10.8833 261.781
|
||||
v 158.574 -25.0687 255.198
|
||||
v 176.219 29.57 242.843
|
||||
v 148.744 -9.42973 262.081
|
||||
v 154.291 20.7065 258.197
|
||||
v 153.789 -20.0453 258.548
|
||||
v 196.313 4.93468 228.773
|
||||
v 169.913 29.8839 247.258
|
||||
v 172.442 29.9966 245.487
|
||||
v 192.666 16.3717 231.327
|
||||
v 152.641 18.3647 259.352
|
||||
v 192.254 -17.1191 231.615
|
||||
v 184.949 -25.5522 236.73
|
||||
v 165.458 -28.8929 250.377
|
||||
v 152.968 -18.8697 259.123
|
||||
v 195.769 7.95114 229.154
|
||||
v 153.441 19.5615 258.792
|
||||
v 190.705 -19.5615 232.699
|
||||
v 191.178 18.8697 232.368
|
||||
v 159.197 25.5522 254.762
|
||||
v 194.484 12.308 230.053
|
||||
v 178.688 28.8929 241.114
|
||||
v 189.855 -20.7065 233.294
|
||||
v 185.572 25.0687 236.294
|
||||
v 151.892 17.1191 259.876
|
||||
v 194.973 10.8833 229.711
|
||||
v 196.394 -4.29823 228.716
|
||||
g CATIASTL
|
||||
f 104 65 43
|
||||
f 43 65 103
|
||||
f 43 103 1
|
||||
f 1 103 63
|
||||
f 1 63 98
|
||||
f 98 63 60
|
||||
f 98 60 14
|
||||
f 14 60 76
|
||||
f 14 76 117
|
||||
f 117 76 91
|
||||
f 117 91 94
|
||||
f 94 91 55
|
||||
f 94 55 6
|
||||
f 6 55 69
|
||||
f 6 69 32
|
||||
f 32 69 46
|
||||
f 32 46 84
|
||||
f 84 46 56
|
||||
f 84 56 15
|
||||
f 15 56 115
|
||||
f 15 115 119
|
||||
f 119 115 42
|
||||
f 119 42 93
|
||||
f 93 42 33
|
||||
f 93 33 10
|
||||
f 10 33 92
|
||||
f 10 92 68
|
||||
f 68 92 75
|
||||
f 68 75 24
|
||||
f 24 75 100
|
||||
f 24 100 72
|
||||
f 72 100 112
|
||||
f 72 112 114
|
||||
f 114 112 106
|
||||
f 114 106 59
|
||||
f 59 106 120
|
||||
f 59 120 105
|
||||
f 105 120 47
|
||||
f 105 47 16
|
||||
f 16 47 54
|
||||
f 16 54 31
|
||||
f 31 54 12
|
||||
f 31 12 116
|
||||
f 116 12 44
|
||||
f 116 44 121
|
||||
f 121 44 95
|
||||
f 121 95 66
|
||||
f 66 95 77
|
||||
f 66 77 111
|
||||
f 111 77 22
|
||||
f 111 22 19
|
||||
f 19 22 64
|
||||
f 19 64 102
|
||||
f 102 64 86
|
||||
f 102 86 51
|
||||
f 51 86 41
|
||||
f 51 41 8
|
||||
f 8 41 50
|
||||
f 8 50 89
|
||||
f 89 50 58
|
||||
f 89 58 71
|
||||
f 71 58 27
|
||||
f 71 27 85
|
||||
f 85 27 81
|
||||
f 85 81 122
|
||||
f 122 81 40
|
||||
f 122 40 45
|
||||
f 45 40 20
|
||||
f 45 20 35
|
||||
f 35 20 9
|
||||
f 35 9 38
|
||||
f 38 9 99
|
||||
f 38 99 34
|
||||
f 34 99 96
|
||||
f 34 96 80
|
||||
f 80 96 2
|
||||
f 80 2 18
|
||||
f 18 2 5
|
||||
f 18 5 21
|
||||
f 21 5 23
|
||||
f 21 23 13
|
||||
f 13 23 29
|
||||
f 13 29 107
|
||||
f 107 29 79
|
||||
f 107 79 52
|
||||
f 52 79 110
|
||||
f 52 110 113
|
||||
f 113 110 101
|
||||
f 113 101 118
|
||||
f 118 101 67
|
||||
f 118 67 90
|
||||
f 90 67 62
|
||||
f 90 62 36
|
||||
f 36 62 49
|
||||
f 36 49 70
|
||||
f 70 49 25
|
||||
f 70 25 7
|
||||
f 7 25 97
|
||||
f 7 97 108
|
||||
f 108 97 17
|
||||
f 108 17 61
|
||||
f 61 17 48
|
||||
f 61 48 87
|
||||
f 87 48 88
|
||||
f 87 88 78
|
||||
f 78 88 57
|
||||
f 78 57 11
|
||||
f 11 57 26
|
||||
f 11 26 37
|
||||
f 37 26 109
|
||||
f 37 109 82
|
||||
f 82 109 30
|
||||
f 82 30 73
|
||||
f 73 30 39
|
||||
f 73 39 3
|
||||
f 3 39 74
|
||||
f 3 74 28
|
||||
f 28 74 4
|
||||
f 28 4 83
|
||||
f 83 4 53
|
||||
@ -0,0 +1,382 @@
|
||||
# Wavefront OBJ file
|
||||
# Regions:
|
||||
# 0 CATIASTL
|
||||
#
|
||||
# points : 188
|
||||
# triangles : 186
|
||||
#
|
||||
v 70 9.79717e-15 -100
|
||||
v 70.0447 -2.6732 -100
|
||||
v 70.0447 2.6732 -100
|
||||
v 70.1786 -5.34341 -100
|
||||
v 70.1786 5.34341 -100
|
||||
v 70.4018 -8.00766 -100
|
||||
v 70.4018 8.00766 -100
|
||||
v 70.7138 -10.663 -100
|
||||
v 70.7138 10.663 -100
|
||||
v 71.1144 -13.3063 -100
|
||||
v 71.1144 13.3063 -100
|
||||
v 71.6031 -15.9349 -100
|
||||
v 71.6031 15.9349 -100
|
||||
v 72.1793 -18.5456 -100
|
||||
v 72.1793 18.5456 -100
|
||||
v 72.8425 -21.1356 -100
|
||||
v 72.8425 21.1356 -100
|
||||
v 73.5918 -23.702 -100
|
||||
v 73.5918 23.702 -100
|
||||
v 74.4265 -26.242 -100
|
||||
v 74.4265 26.242 -100
|
||||
v 75.3456 -28.7526 -100
|
||||
v 75.3456 28.7526 -100
|
||||
v 76.348 -31.2311 -100
|
||||
v 76.348 31.2311 -100
|
||||
v 77.4327 -33.6748 -100
|
||||
v 77.4327 33.6748 -100
|
||||
v 78.5985 -36.0808 -100
|
||||
v 78.5985 36.0808 -100
|
||||
v 79.844 -38.4465 -100
|
||||
v 79.844 38.4465 -100
|
||||
v 81.1679 -40.7693 -100
|
||||
v 81.1679 40.7693 -100
|
||||
v 82.5686 -43.0466 -100
|
||||
v 82.5686 43.0466 -100
|
||||
v 84.0447 -45.2758 -100
|
||||
v 84.0447 45.2758 -100
|
||||
v 85.5944 -47.4544 -100
|
||||
v 85.5944 47.4544 -100
|
||||
v 87.216 -49.58 -100
|
||||
v 87.216 49.58 -100
|
||||
v 88.9078 -51.6502 -100
|
||||
v 88.9078 51.6502 -100
|
||||
v 90.6678 -53.6628 -100
|
||||
v 90.6678 53.6628 -100
|
||||
v 92.4941 -55.6154 -100
|
||||
v 92.4941 55.6154 -100
|
||||
v 94.3846 -57.5059 -100
|
||||
v 94.3846 57.5059 -100
|
||||
v 96.3372 -59.3322 -100
|
||||
v 96.3372 59.3322 -100
|
||||
v 98.3498 -61.0922 -100
|
||||
v 98.3498 61.0922 -100
|
||||
v 100.42 -62.784 -100
|
||||
v 100.42 62.784 -100
|
||||
v 102.546 -64.4056 -100
|
||||
v 102.546 64.4056 -100
|
||||
v 104.724 -65.9553 -100
|
||||
v 104.724 65.9553 -100
|
||||
v 106.953 -67.4314 -100
|
||||
v 106.953 67.4314 -100
|
||||
v 109.231 -68.8321 -100
|
||||
v 109.231 68.8321 -100
|
||||
v 111.553 -70.156 -100
|
||||
v 111.553 70.156 -100
|
||||
v 113.919 -71.4015 -100
|
||||
v 113.919 71.4015 -100
|
||||
v 116.325 -72.5673 -100
|
||||
v 116.325 72.5673 -100
|
||||
v 118.769 -73.652 -100
|
||||
v 118.769 73.652 -100
|
||||
v 121.247 -74.6544 -100
|
||||
v 121.247 74.6544 -100
|
||||
v 123.758 -75.5735 -100
|
||||
v 123.758 75.5735 -100
|
||||
v 126.298 -76.4082 -100
|
||||
v 126.298 76.4082 -100
|
||||
v 128.864 -77.1575 -100
|
||||
v 128.864 77.1575 -100
|
||||
v 131.454 -77.8207 -100
|
||||
v 131.454 77.8207 -100
|
||||
v 134.065 -78.3969 -100
|
||||
v 134.065 78.3969 -100
|
||||
v 136.694 -78.8856 -100
|
||||
v 136.694 78.8856 -100
|
||||
v 139.337 -79.2862 -100
|
||||
v 139.337 79.2862 -100
|
||||
v 141.992 -79.5982 -100
|
||||
v 141.992 79.5982 -100
|
||||
v 144.657 -79.8214 -100
|
||||
v 144.657 79.8214 -100
|
||||
v 147.327 79.9553 -100
|
||||
v 147.327 -79.9553 -100
|
||||
v 150 80 -100
|
||||
v 150 -80 -100
|
||||
v 152.673 79.9553 -100
|
||||
v 152.673 -79.9553 -100
|
||||
v 155.343 -79.8214 -100
|
||||
v 155.343 79.8214 -100
|
||||
v 158.008 -79.5982 -100
|
||||
v 158.008 79.5982 -100
|
||||
v 160.663 -79.2862 -100
|
||||
v 160.663 79.2862 -100
|
||||
v 163.306 -78.8856 -100
|
||||
v 163.306 78.8856 -100
|
||||
v 165.935 -78.3969 -100
|
||||
v 165.935 78.3969 -100
|
||||
v 168.546 -77.8207 -100
|
||||
v 168.546 77.8207 -100
|
||||
v 171.136 -77.1575 -100
|
||||
v 171.136 77.1575 -100
|
||||
v 173.702 -76.4082 -100
|
||||
v 173.702 76.4082 -100
|
||||
v 176.242 -75.5735 -100
|
||||
v 176.242 75.5735 -100
|
||||
v 178.753 -74.6544 -100
|
||||
v 178.753 74.6544 -100
|
||||
v 181.231 -73.652 -100
|
||||
v 181.231 73.652 -100
|
||||
v 183.675 -72.5673 -100
|
||||
v 183.675 72.5673 -100
|
||||
v 186.081 -71.4015 -100
|
||||
v 186.081 71.4015 -100
|
||||
v 188.447 -70.156 -100
|
||||
v 188.447 70.156 -100
|
||||
v 190.769 -68.8321 -100
|
||||
v 190.769 68.8321 -100
|
||||
v 193.047 -67.4314 -100
|
||||
v 193.047 67.4314 -100
|
||||
v 195.276 -65.9553 -100
|
||||
v 195.276 65.9553 -100
|
||||
v 197.454 -64.4056 -100
|
||||
v 197.454 64.4056 -100
|
||||
v 199.58 -62.784 -100
|
||||
v 199.58 62.784 -100
|
||||
v 201.65 -61.0922 -100
|
||||
v 201.65 61.0922 -100
|
||||
v 203.663 -59.3322 -100
|
||||
v 203.663 59.3322 -100
|
||||
v 205.615 -57.5059 -100
|
||||
v 205.615 57.5059 -100
|
||||
v 207.506 -55.6154 -100
|
||||
v 207.506 55.6154 -100
|
||||
v 209.332 -53.6628 -100
|
||||
v 209.332 53.6628 -100
|
||||
v 211.092 -51.6502 -100
|
||||
v 211.092 51.6502 -100
|
||||
v 212.784 -49.58 -100
|
||||
v 212.784 49.58 -100
|
||||
v 214.406 -47.4544 -100
|
||||
v 214.406 47.4544 -100
|
||||
v 215.955 -45.2758 -100
|
||||
v 215.955 45.2758 -100
|
||||
v 217.431 -43.0466 -100
|
||||
v 217.431 43.0466 -100
|
||||
v 218.832 -40.7693 -100
|
||||
v 218.832 40.7693 -100
|
||||
v 220.156 -38.4465 -100
|
||||
v 220.156 38.4465 -100
|
||||
v 221.402 -36.0808 -100
|
||||
v 221.402 36.0808 -100
|
||||
v 222.567 -33.6748 -100
|
||||
v 222.567 33.6748 -100
|
||||
v 223.652 -31.2311 -100
|
||||
v 223.652 31.2311 -100
|
||||
v 224.654 -28.7526 -100
|
||||
v 224.654 28.7526 -100
|
||||
v 225.574 -26.242 -100
|
||||
v 225.574 26.242 -100
|
||||
v 226.408 -23.702 -100
|
||||
v 226.408 23.702 -100
|
||||
v 227.158 -21.1356 -100
|
||||
v 227.158 21.1356 -100
|
||||
v 227.821 -18.5456 -100
|
||||
v 227.821 18.5456 -100
|
||||
v 228.397 -15.9349 -100
|
||||
v 228.397 15.9349 -100
|
||||
v 228.886 -13.3063 -100
|
||||
v 228.886 13.3063 -100
|
||||
v 229.286 -10.663 -100
|
||||
v 229.286 10.663 -100
|
||||
v 229.598 -8.00766 -100
|
||||
v 229.598 8.00766 -100
|
||||
v 229.821 -5.34341 -100
|
||||
v 229.821 5.34341 -100
|
||||
v 229.955 -2.6732 -100
|
||||
v 229.955 2.6732 -100
|
||||
v 230 0 -100
|
||||
g CATIASTL
|
||||
f 94 96 92
|
||||
f 95 93 97
|
||||
f 97 93 90
|
||||
f 97 90 98
|
||||
f 98 90 88
|
||||
f 98 88 100
|
||||
f 100 88 86
|
||||
f 100 86 102
|
||||
f 102 86 84
|
||||
f 102 84 104
|
||||
f 104 84 82
|
||||
f 104 82 106
|
||||
f 106 82 80
|
||||
f 106 80 108
|
||||
f 108 80 78
|
||||
f 108 78 110
|
||||
f 110 78 76
|
||||
f 110 76 112
|
||||
f 112 76 74
|
||||
f 112 74 114
|
||||
f 114 74 72
|
||||
f 114 72 116
|
||||
f 116 72 70
|
||||
f 116 70 118
|
||||
f 118 70 68
|
||||
f 118 68 120
|
||||
f 120 68 66
|
||||
f 120 66 122
|
||||
f 122 66 64
|
||||
f 122 64 124
|
||||
f 124 64 62
|
||||
f 124 62 126
|
||||
f 126 62 60
|
||||
f 126 60 128
|
||||
f 128 60 58
|
||||
f 128 58 130
|
||||
f 130 58 56
|
||||
f 130 56 132
|
||||
f 132 56 54
|
||||
f 132 54 134
|
||||
f 134 54 52
|
||||
f 134 52 136
|
||||
f 136 52 50
|
||||
f 136 50 138
|
||||
f 138 50 48
|
||||
f 138 48 140
|
||||
f 140 48 46
|
||||
f 140 46 142
|
||||
f 142 46 44
|
||||
f 142 44 144
|
||||
f 144 44 42
|
||||
f 144 42 146
|
||||
f 146 42 40
|
||||
f 146 40 148
|
||||
f 148 40 38
|
||||
f 148 38 150
|
||||
f 150 38 36
|
||||
f 150 36 152
|
||||
f 152 36 34
|
||||
f 152 34 154
|
||||
f 154 34 32
|
||||
f 154 32 156
|
||||
f 156 32 30
|
||||
f 156 30 158
|
||||
f 158 30 28
|
||||
f 158 28 160
|
||||
f 160 28 26
|
||||
f 160 26 162
|
||||
f 162 26 24
|
||||
f 162 24 164
|
||||
f 164 24 22
|
||||
f 164 22 166
|
||||
f 166 22 20
|
||||
f 166 20 168
|
||||
f 168 20 18
|
||||
f 168 18 170
|
||||
f 170 18 16
|
||||
f 170 16 172
|
||||
f 172 16 14
|
||||
f 172 14 174
|
||||
f 174 14 12
|
||||
f 174 12 176
|
||||
f 176 12 10
|
||||
f 176 10 178
|
||||
f 178 10 8
|
||||
f 178 8 180
|
||||
f 180 8 6
|
||||
f 180 6 182
|
||||
f 182 6 4
|
||||
f 182 4 184
|
||||
f 184 4 2
|
||||
f 184 2 186
|
||||
f 186 2 1
|
||||
f 186 1 188
|
||||
f 188 1 3
|
||||
f 188 3 187
|
||||
f 187 3 5
|
||||
f 187 5 185
|
||||
f 185 5 7
|
||||
f 185 7 183
|
||||
f 183 7 9
|
||||
f 183 9 181
|
||||
f 181 9 11
|
||||
f 181 11 179
|
||||
f 179 11 13
|
||||
f 179 13 177
|
||||
f 177 13 15
|
||||
f 177 15 175
|
||||
f 175 15 17
|
||||
f 175 17 173
|
||||
f 173 17 19
|
||||
f 173 19 171
|
||||
f 171 19 21
|
||||
f 171 21 169
|
||||
f 169 21 23
|
||||
f 169 23 167
|
||||
f 167 23 25
|
||||
f 167 25 165
|
||||
f 165 25 27
|
||||
f 165 27 163
|
||||
f 163 27 29
|
||||
f 163 29 161
|
||||
f 161 29 31
|
||||
f 161 31 159
|
||||
f 159 31 33
|
||||
f 159 33 157
|
||||
f 157 33 35
|
||||
f 157 35 155
|
||||
f 155 35 37
|
||||
f 155 37 153
|
||||
f 153 37 39
|
||||
f 153 39 151
|
||||
f 151 39 41
|
||||
f 151 41 149
|
||||
f 149 41 43
|
||||
f 149 43 147
|
||||
f 147 43 45
|
||||
f 147 45 145
|
||||
f 145 45 47
|
||||
f 145 47 143
|
||||
f 143 47 49
|
||||
f 143 49 141
|
||||
f 141 49 51
|
||||
f 141 51 139
|
||||
f 139 51 53
|
||||
f 139 53 137
|
||||
f 137 53 55
|
||||
f 137 55 135
|
||||
f 135 55 57
|
||||
f 135 57 133
|
||||
f 133 57 59
|
||||
f 133 59 131
|
||||
f 131 59 61
|
||||
f 131 61 129
|
||||
f 129 61 63
|
||||
f 129 63 127
|
||||
f 127 63 65
|
||||
f 127 65 125
|
||||
f 125 65 67
|
||||
f 125 67 123
|
||||
f 123 67 69
|
||||
f 123 69 121
|
||||
f 121 69 71
|
||||
f 121 71 119
|
||||
f 119 71 73
|
||||
f 119 73 117
|
||||
f 117 73 75
|
||||
f 117 75 115
|
||||
f 115 75 77
|
||||
f 115 77 113
|
||||
f 113 77 79
|
||||
f 113 79 111
|
||||
f 111 79 81
|
||||
f 111 81 109
|
||||
f 109 81 83
|
||||
f 109 83 107
|
||||
f 107 83 85
|
||||
f 107 85 105
|
||||
f 105 85 87
|
||||
f 105 87 103
|
||||
f 103 87 89
|
||||
f 103 89 101
|
||||
f 101 89 91
|
||||
f 101 91 99
|
||||
f 99 91 92
|
||||
f 99 92 96
|
||||
@ -0,0 +1,536 @@
|
||||
# Wavefront OBJ file
|
||||
# Regions:
|
||||
# 0 CATIASTL
|
||||
#
|
||||
# points : 264
|
||||
# triangles : 264
|
||||
#
|
||||
v 129.002 -29.9955 183.325
|
||||
v 128.148 29.9955 183.923
|
||||
v 129.334 29.9857 183.096
|
||||
v 127.819 -29.9857 184.156
|
||||
v 130.194 -29.9355 182.51
|
||||
v 126.974 29.9355 184.764
|
||||
v 130.287 29.9279 182.447
|
||||
v 126.883 -29.9279 184.831
|
||||
v 125.958 -29.826 185.512
|
||||
v 131.244 29.826 181.811
|
||||
v 131.391 -29.8064 181.714
|
||||
v 125.816 29.8064 185.617
|
||||
v 125.045 -29.6803 186.199
|
||||
v 132.202 29.6803 181.188
|
||||
v 124.679 29.6089 186.478
|
||||
v 132.59 -29.6089 180.939
|
||||
v 133.158 29.4915 180.58
|
||||
v 124.147 -29.4915 186.889
|
||||
v 123.565 29.3443 187.344
|
||||
v 133.784 -29.3443 180.188
|
||||
v 133.793 29.3421 180.183
|
||||
v 123.556 -29.3421 187.351
|
||||
v 134.427 29.1741 179.793
|
||||
v 122.974 -29.1741 187.813
|
||||
v 134.972 -29.0143 179.462
|
||||
v 122.477 29.0143 188.212
|
||||
v 121.832 -28.7837 188.736
|
||||
v 135.685 28.7837 179.036
|
||||
v 121.374 28.6035 189.113
|
||||
v 136.195 -28.6035 178.735
|
||||
v 120.948 -28.423 189.467
|
||||
v 136.674 28.423 178.456
|
||||
v 120.306 28.1266 190.008
|
||||
v 137.402 -28.1266 178.037
|
||||
v 120.088 -28.0192 190.194
|
||||
v 137.651 28.0192 177.896
|
||||
v 119.273 27.5863 190.895
|
||||
v 138.588 -27.5863 177.37
|
||||
v 138.614 27.5739 177.356
|
||||
v 119.252 -27.5739 190.914
|
||||
v 118.44 -27.0887 191.626
|
||||
v 139.561 27.0887 176.837
|
||||
v 139.751 -26.9856 176.734
|
||||
v 118.278 26.9856 191.769
|
||||
v 117.914 -26.7451 192.094
|
||||
v 140.18 26.7451 176.503
|
||||
v 140.791 26.385 176.179
|
||||
v 117.401 -26.385 192.557
|
||||
v 117.322 26.3275 192.628
|
||||
v 140.885 -26.3275 176.129
|
||||
v 141.397 26.0063 175.861
|
||||
v 116.895 -26.0063 193.018
|
||||
v 116.411 25.6208 193.463
|
||||
v 141.98 -25.6208 175.559
|
||||
v 116.401 -25.6118 193.473
|
||||
v 141.994 25.6118 175.553
|
||||
v 143.043 -24.8634 175.02
|
||||
v 115.541 24.8634 194.277
|
||||
v 115.517 -24.8419 194.299
|
||||
v 143.072 24.8419 175.005
|
||||
v 114.71 24.0583 195.069
|
||||
v 144.072 -24.0583 174.51
|
||||
v 144.115 24.0228 174.488
|
||||
v 114.675 -24.0228 195.102
|
||||
v 113.919 23.2083 195.836
|
||||
v 145.063 -23.2083 174.029
|
||||
v 113.874 -23.1575 195.88
|
||||
v 145.12 23.1575 174.002
|
||||
v 113.168 22.3161 196.576
|
||||
v 146.016 -22.3161 173.576
|
||||
v 146.084 22.2488 173.544
|
||||
v 113.114 -22.2488 196.63
|
||||
v 112.457 21.3845 197.288
|
||||
v 146.928 -21.3845 173.152
|
||||
v 112.396 -21.2997 197.35
|
||||
v 147.007 21.2997 173.115
|
||||
v 147.887 20.3127 172.714
|
||||
v 111.718 -20.3127 198.04
|
||||
v 111.695 20.2771 198.064
|
||||
v 147.917 -20.2771 172.701
|
||||
v 148.368 19.7356 172.499
|
||||
v 111.351 -19.7356 198.418
|
||||
v 110.997 -19.1474 198.785
|
||||
v 148.834 19.1474 172.292
|
||||
v 148.851 -19.1253 172.284
|
||||
v 110.984 19.1253 198.798
|
||||
v 149.289 18.5427 172.091
|
||||
v 110.653 -18.5427 199.145
|
||||
v 110.324 17.9325 199.49
|
||||
v 149.726 -17.9325 171.9
|
||||
v 110.322 -17.9277 199.493
|
||||
v 149.73 17.9277 171.899
|
||||
v 150.542 -16.7021 171.549
|
||||
v 109.715 16.7021 200.137
|
||||
v 109.702 -16.675 200.15
|
||||
v 150.56 16.675 171.542
|
||||
v 109.156 15.4374 200.738
|
||||
v 151.298 -15.4374 171.229
|
||||
v 109.135 -15.3868 200.76
|
||||
v 151.327 15.3868 171.217
|
||||
v 151.992 -14.1415 170.94
|
||||
v 108.646 14.1415 201.291
|
||||
v 152.03 14.0664 170.924
|
||||
v 108.619 -14.0664 201.321
|
||||
v 108.186 12.8177 201.795
|
||||
v 152.624 -12.8177 170.68
|
||||
v 108.154 -12.7171 201.831
|
||||
v 152.669 12.7171 170.662
|
||||
v 153.191 -11.4687 170.449
|
||||
v 107.775 11.4687 202.25
|
||||
v 107.74 -11.3421 202.29
|
||||
v 153.241 11.3421 170.429
|
||||
v 153.699 -10.0842 170.245
|
||||
v 107.41 10.0842 202.657
|
||||
v 153.746 9.94438 170.226
|
||||
v 107.376 -9.94438 202.695
|
||||
v 154.141 -8.67993 170.069
|
||||
v 107.094 8.67993 203.012
|
||||
v 154.176 8.55855 170.056
|
||||
v 107.069 -8.55855 203.04
|
||||
v 154.515 -7.25883 169.921
|
||||
v 106.827 7.25883 203.314
|
||||
v 106.809 -7.15661 203.333
|
||||
v 154.54 7.15661 169.912
|
||||
v 154.822 -5.82374 169.801
|
||||
v 106.608 5.82374 203.561
|
||||
v 154.838 5.74127 169.795
|
||||
v 106.597 -5.74127 203.574
|
||||
v 106.439 4.37752 203.754
|
||||
v 155.062 -4.37752 169.708
|
||||
v 155.071 4.31526 169.704
|
||||
v 106.433 -4.31526 203.761
|
||||
v 106.318 2.92296 203.892
|
||||
v 155.233 -2.92296 169.641
|
||||
v 155.237 2.88126 169.64
|
||||
v 106.315 -2.88126 203.895
|
||||
v 155.336 -1.46286 169.601
|
||||
v 106.245 1.46286 203.975
|
||||
v 106.244 -1.44195 203.976
|
||||
v 155.337 1.44195 169.601
|
||||
v 155.37 1.95944e-14 169.588
|
||||
v 106.221 1.95944e-14 204.003
|
||||
v 174.966 29.7913 243.719
|
||||
v 149.662 -12.308 261.438
|
||||
v 175.49 -29.7086 243.353
|
||||
v 170.439 -29.9337 246.889
|
||||
v 150.21 -13.7001 261.054
|
||||
v 181.086 27.9095 239.435
|
||||
v 186.01 -24.7091 235.987
|
||||
v 196.6 1.86591 228.572
|
||||
v 148.377 -7.95114 262.337
|
||||
v 187.612 23.2414 234.865
|
||||
v 180.395 -28.2272 239.918
|
||||
v 149.975 13.124 261.219
|
||||
v 192.949 -15.8282 231.128
|
||||
v 177.46 29.2702 241.973
|
||||
v 159.649 -25.8838 254.445
|
||||
v 184.497 25.8838 237.046
|
||||
v 193.329 15.0559 230.862
|
||||
v 194.171 -13.124 230.272
|
||||
v 148.073 -6.45146 262.55
|
||||
v 196.072 6.45146 228.941
|
||||
v 193.589 -14.4953 230.68
|
||||
v 148.243 7.32825 262.432
|
||||
v 150.817 -15.0559 260.629
|
||||
v 189.487 21.1678 233.552
|
||||
v 157.535 -24.1871 255.925
|
||||
v 164.249 -28.4389 251.224
|
||||
v 147.546 -1.86591 262.92
|
||||
v 174.232 -29.8839 244.234
|
||||
v 151.48 -16.3717 260.165
|
||||
v 166.686 -29.2702 249.518
|
||||
v 193.935 13.7001 230.437
|
||||
v 182.251 27.306 238.619
|
||||
v 157.113 23.8005 256.221
|
||||
v 195.16 -10.2806 229.58
|
||||
v 195.903 -7.32825 229.06
|
||||
v 179.194 -28.7128 240.759
|
||||
v 188.017 -22.8288 234.581
|
||||
v 195.562 -8.81611 229.298
|
||||
v 167.927 -29.57 248.649
|
||||
v 147.833 -4.93468 262.719
|
||||
v 147.603 2.7641 262.88
|
||||
v 158.136 24.7091 255.504
|
||||
v 173.706 29.9337 244.602
|
||||
v 149.451 11.7178 261.586
|
||||
v 196.18 -5.82096 228.865
|
||||
v 161.417 27.033 253.207
|
||||
v 151.197 15.8282 260.363
|
||||
v 160.757 -26.6302 253.669
|
||||
v 156.534 -23.2414 256.626
|
||||
v 147.519 1.22264 262.939
|
||||
v 196.489 3.40481 228.65
|
||||
v 191.505 -18.3647 232.139
|
||||
v 171.704 -29.9966 246.004
|
||||
v 150.557 14.4953 260.811
|
||||
v 163.75 28.2272 251.573
|
||||
v 160.291 26.3275 253.995
|
||||
v 163.06 -27.9095 252.057
|
||||
v 147.5 -0.322061 262.952
|
||||
v 191.948 17.6441 231.829
|
||||
v 167.408 29.4545 249.012
|
||||
v 183.855 -26.3275 237.496
|
||||
v 155.575 -22.2341 257.298
|
||||
v 168.656 29.7086 248.138
|
||||
v 147.965 5.82096 262.626
|
||||
v 171.176 29.98 246.373
|
||||
v 195.402 9.42973 229.411
|
||||
v 154.659 -21.1678 257.939
|
||||
v 188.571 22.2341 234.193
|
||||
v 162.571 27.6668 252.399
|
||||
v 187.033 -23.8005 235.27
|
||||
v 196.627 -1.22264 228.553
|
||||
v 190.356 20.0453 232.943
|
||||
v 176.738 -29.4545 242.479
|
||||
v 169.179 -29.7913 247.772
|
||||
v 155.187 21.7965 257.569
|
||||
v 166.172 29.1223 249.878
|
||||
v 148.583 8.81611 262.193
|
||||
v 181.575 -27.6668 239.092
|
||||
v 152.198 -17.6441 259.662
|
||||
v 194.695 -11.7178 229.905
|
||||
v 147.657 -3.40481 262.842
|
||||
v 177.974 -29.1223 241.614
|
||||
v 172.969 -29.98 245.118
|
||||
v 183.389 26.6302 237.822
|
||||
v 196.543 -2.7641 228.611
|
||||
v 147.752 4.29823 262.775
|
||||
v 182.729 -27.033 238.284
|
||||
v 161.895 -27.306 252.872
|
||||
v 196.646 0.322061 228.539
|
||||
v 188.958 -21.7965 233.922
|
||||
v 156.129 22.8288 256.91
|
||||
v 164.952 28.7128 250.732
|
||||
v 186.611 24.1871 235.566
|
||||
v 179.897 28.4389 240.267
|
||||
v 148.986 10.2806 261.911
|
||||
v 149.173 -10.8833 261.781
|
||||
v 158.574 -25.0687 255.198
|
||||
v 176.219 29.57 242.843
|
||||
v 148.744 -9.42973 262.081
|
||||
v 154.291 20.7065 258.197
|
||||
v 153.789 -20.0453 258.548
|
||||
v 196.313 4.93468 228.773
|
||||
v 169.913 29.8839 247.258
|
||||
v 172.442 29.9966 245.487
|
||||
v 192.666 16.3717 231.327
|
||||
v 152.641 18.3647 259.352
|
||||
v 192.254 -17.1191 231.615
|
||||
v 184.949 -25.5522 236.73
|
||||
v 165.458 -28.8929 250.377
|
||||
v 152.968 -18.8697 259.123
|
||||
v 195.769 7.95114 229.154
|
||||
v 153.441 19.5615 258.792
|
||||
v 190.705 -19.5615 232.699
|
||||
v 191.178 18.8697 232.368
|
||||
v 159.197 25.5522 254.762
|
||||
v 194.484 12.308 230.053
|
||||
v 178.688 28.8929 241.114
|
||||
v 189.855 -20.7065 233.294
|
||||
v 185.572 25.0687 236.294
|
||||
v 151.892 17.1191 259.876
|
||||
v 194.973 10.8833 229.711
|
||||
v 196.394 -4.29823 228.716
|
||||
g CATIASTL
|
||||
f 229 220 38
|
||||
f 34 38 220
|
||||
f 220 153 34
|
||||
f 30 34 153
|
||||
f 153 178 30
|
||||
f 25 30 178
|
||||
f 178 224 25
|
||||
f 20 25 224
|
||||
f 224 215 20
|
||||
f 16 20 215
|
||||
f 215 145 16
|
||||
f 11 16 145
|
||||
f 145 170 11
|
||||
f 11 170 5
|
||||
f 5 170 225
|
||||
f 5 225 1
|
||||
f 1 225 195
|
||||
f 1 195 4
|
||||
f 4 195 146
|
||||
f 13 9 216
|
||||
f 216 181 13
|
||||
f 24 22 172
|
||||
f 172 251 24
|
||||
f 24 251 27
|
||||
f 27 251 168
|
||||
f 40 35 199
|
||||
f 199 230 40
|
||||
f 55 52 157
|
||||
f 157 239 55
|
||||
f 55 239 59
|
||||
f 59 239 167
|
||||
f 59 167 64
|
||||
f 64 167 191
|
||||
f 75 72 204
|
||||
f 204 209 75
|
||||
f 78 75 209
|
||||
f 209 243 78
|
||||
f 95 91 221
|
||||
f 221 171 95
|
||||
f 99 95 171
|
||||
f 171 165 99
|
||||
f 104 99 165
|
||||
f 165 147 104
|
||||
f 107 104 147
|
||||
f 147 144 107
|
||||
f 111 107 144
|
||||
f 144 238 111
|
||||
f 116 111 238
|
||||
f 238 241 116
|
||||
f 120 116 241
|
||||
f 241 151 120
|
||||
f 123 120 151
|
||||
f 151 161 123
|
||||
f 128 123 161
|
||||
f 161 182 128
|
||||
f 128 182 132
|
||||
f 132 182 223
|
||||
f 132 223 136
|
||||
f 136 223 169
|
||||
f 136 169 139
|
||||
f 139 169 200
|
||||
f 138 192 183
|
||||
f 138 183 133
|
||||
f 133 183 228
|
||||
f 133 228 129
|
||||
f 164 219 118
|
||||
f 114 118 219
|
||||
f 219 237 114
|
||||
f 110 114 237
|
||||
f 237 186 110
|
||||
f 105 110 186
|
||||
f 186 154 105
|
||||
f 102 105 154
|
||||
f 154 196 102
|
||||
f 97 102 196
|
||||
f 196 189 97
|
||||
f 94 97 189
|
||||
f 189 262 94
|
||||
f 89 94 262
|
||||
f 262 248 89
|
||||
f 86 89 248
|
||||
f 248 254 86
|
||||
f 79 86 254
|
||||
f 254 242 79
|
||||
f 73 79 242
|
||||
f 242 217 73
|
||||
f 69 73 217
|
||||
f 217 233 69
|
||||
f 69 233 65
|
||||
f 65 233 175
|
||||
f 65 175 61
|
||||
f 61 175 184
|
||||
f 61 184 58
|
||||
f 58 184 257
|
||||
f 142 139 200
|
||||
f 142 200 192
|
||||
f 142 192 138
|
||||
f 50 203 43
|
||||
f 43 203 229
|
||||
f 43 229 38
|
||||
f 216 9 146
|
||||
f 146 9 8
|
||||
f 146 8 4
|
||||
f 172 22 181
|
||||
f 181 22 18
|
||||
f 181 18 13
|
||||
f 199 35 168
|
||||
f 168 35 31
|
||||
f 168 31 27
|
||||
f 190 45 230
|
||||
f 230 45 41
|
||||
f 230 41 40
|
||||
f 157 52 190
|
||||
f 190 52 48
|
||||
f 190 48 45
|
||||
f 204 72 191
|
||||
f 191 72 67
|
||||
f 191 67 64
|
||||
f 252 83 243
|
||||
f 243 83 82
|
||||
f 243 82 78
|
||||
f 221 91 252
|
||||
f 252 91 88
|
||||
f 252 88 83
|
||||
f 129 228 126
|
||||
f 126 228 206
|
||||
f 126 206 122
|
||||
f 122 206 164
|
||||
f 122 164 118
|
||||
f 198 49 257
|
||||
f 257 49 53
|
||||
f 257 53 58
|
||||
f 188 211 37
|
||||
f 33 37 211
|
||||
f 211 197 33
|
||||
f 29 33 197
|
||||
f 197 234 29
|
||||
f 26 29 234
|
||||
f 234 218 26
|
||||
f 19 26 218
|
||||
f 218 202 19
|
||||
f 15 19 202
|
||||
f 202 205 15
|
||||
f 12 15 205
|
||||
f 205 245 12
|
||||
f 12 245 6
|
||||
f 6 245 207
|
||||
f 6 207 2
|
||||
f 2 207 246
|
||||
f 2 246 3
|
||||
f 3 246 185
|
||||
f 14 10 143
|
||||
f 143 240 14
|
||||
f 23 21 156
|
||||
f 156 259 23
|
||||
f 23 259 28
|
||||
f 28 259 236
|
||||
f 39 36 148
|
||||
f 148 174 39
|
||||
f 56 51 158
|
||||
f 158 261 56
|
||||
f 56 261 60
|
||||
f 60 261 235
|
||||
f 60 235 63
|
||||
f 63 235 152
|
||||
f 76 71 210
|
||||
f 210 166 76
|
||||
f 77 76 166
|
||||
f 166 214 77
|
||||
f 96 92 201
|
||||
f 201 247 96
|
||||
f 100 96 247
|
||||
f 247 159 100
|
||||
f 103 100 159
|
||||
f 159 173 103
|
||||
f 108 103 173
|
||||
f 173 258 108
|
||||
f 112 108 258
|
||||
f 258 263 112
|
||||
f 115 112 263
|
||||
f 263 208 115
|
||||
f 119 115 208
|
||||
f 208 253 119
|
||||
f 124 119 253
|
||||
f 253 162 124
|
||||
f 127 124 162
|
||||
f 162 244 127
|
||||
f 127 244 131
|
||||
f 131 244 193
|
||||
f 131 193 135
|
||||
f 135 193 150
|
||||
f 135 150 140
|
||||
f 140 150 231
|
||||
f 137 213 227
|
||||
f 137 227 134
|
||||
f 134 227 264
|
||||
f 134 264 130
|
||||
f 177 180 117
|
||||
f 113 117 180
|
||||
f 180 176 113
|
||||
f 109 113 176
|
||||
f 176 222 109
|
||||
f 106 109 222
|
||||
f 222 160 106
|
||||
f 101 106 160
|
||||
f 160 163 101
|
||||
f 98 101 163
|
||||
f 163 155 98
|
||||
f 93 98 155
|
||||
f 155 249 93
|
||||
f 90 93 249
|
||||
f 249 194 90
|
||||
f 85 90 194
|
||||
f 194 255 85
|
||||
f 80 85 255
|
||||
f 255 260 80
|
||||
f 74 80 260
|
||||
f 260 232 74
|
||||
f 70 74 232
|
||||
f 232 179 70
|
||||
f 70 179 66
|
||||
f 66 179 212
|
||||
f 66 212 62
|
||||
f 62 212 149
|
||||
f 62 149 57
|
||||
f 57 149 250
|
||||
f 141 140 231
|
||||
f 141 231 213
|
||||
f 141 213 137
|
||||
f 49 198 44
|
||||
f 44 198 188
|
||||
f 44 188 37
|
||||
f 143 10 185
|
||||
f 185 10 7
|
||||
f 185 7 3
|
||||
f 156 21 240
|
||||
f 240 21 17
|
||||
f 240 17 14
|
||||
f 148 36 236
|
||||
f 236 36 32
|
||||
f 236 32 28
|
||||
f 226 46 174
|
||||
f 174 46 42
|
||||
f 174 42 39
|
||||
f 158 51 226
|
||||
f 226 51 47
|
||||
f 226 47 46
|
||||
f 210 71 152
|
||||
f 152 71 68
|
||||
f 152 68 63
|
||||
f 256 84 214
|
||||
f 214 84 81
|
||||
f 214 81 77
|
||||
f 201 92 256
|
||||
f 256 92 87
|
||||
f 256 87 84
|
||||
f 130 264 125
|
||||
f 125 264 187
|
||||
f 125 187 121
|
||||
f 121 187 177
|
||||
f 121 177 117
|
||||
f 203 50 250
|
||||
f 250 50 54
|
||||
f 250 54 57
|
||||
346
tutorials/mesh/moveDynamicMesh/bendJunction/system/blockMeshDict
Normal file
346
tutorials/mesh/moveDynamicMesh/bendJunction/system/blockMeshDict
Normal file
@ -0,0 +1,346 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2006 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object blockMeshDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
scale 1;
|
||||
|
||||
// Nb of cells
|
||||
/*
|
||||
// 2260
|
||||
d0 5;
|
||||
d1 1;
|
||||
d2 2;
|
||||
d3 10;
|
||||
d4 3;
|
||||
d5 10;
|
||||
d6 2;
|
||||
d7 2;
|
||||
d8 2;
|
||||
d9 5;
|
||||
*/
|
||||
|
||||
// 100000
|
||||
d0 17;
|
||||
d1 3;
|
||||
d2 5;
|
||||
d3 30;
|
||||
d4 8;
|
||||
d5 30;
|
||||
d6 7;
|
||||
d7 5;
|
||||
d8 5;
|
||||
d9 17;
|
||||
|
||||
#inputMode merge
|
||||
|
||||
vertices
|
||||
(
|
||||
( 163.03320099 -11.03547257 252.075300317) // 0
|
||||
( 163.03320099 11.03547257 252.075300317) // 1
|
||||
( 181.112660821 11.03547257 239.415926257) // 2
|
||||
( 181.112660821 -11.03547257 239.415926257) // 3
|
||||
( 186.820645067 -25 235.419152659) // 4
|
||||
( 157.325216744 -25 256.072073914) // 5
|
||||
( 157.325216744 25 256.072073914) // 6
|
||||
( 186.820645067 25 235.419152659) // 7
|
||||
( 121.715728415 28.2842709103 -100) // 8
|
||||
( 178.28427091 28.2842709103 -100) // 9
|
||||
( 178.28427091 13.2842713871 -100) // 10
|
||||
( 178.28427091 -28.2842715846 -100) // 11
|
||||
( 121.715728415 -28.2842715846 -100) // 12
|
||||
( 121.715728415 -13.2842713871 -100) // 13
|
||||
( 206.56854183 -56.568543179 -100) // 14
|
||||
( 93.4314568307 -56.5685431693 -100) // 15
|
||||
( 93.4314568307 56.5685418206 -100) // 16
|
||||
( 206.568541821 56.5685418206 -100) // 17
|
||||
( 206.568541821 25 -100) // 18
|
||||
( 121.715728415 13.2842713871 -100) // 19
|
||||
( 93.4314568307 30 -100) // 20
|
||||
( 206.568541821 -25 -100) // 21
|
||||
( 178.28427091 -13.2842713871 -100) // 22
|
||||
( 93.4314568307 -30 -100) // 23
|
||||
( 144.25122796 25 174.623724471) // 24
|
||||
( 114.755799637 25 195.276645725) // 25
|
||||
( 114.755799637 -25 195.276645725) // 26
|
||||
( 144.25122796 -25 174.623724471) // 27
|
||||
( -135.598492956 28.2842709103 80.1733574929) // 28
|
||||
( -154.946073968 28.2842709103 133.330399444) // 29
|
||||
( -154.946073968 13.2842713871 133.330399444) // 30
|
||||
( -154.946073968 -28.2842715846 133.330399444) // 31
|
||||
( -135.598492956 -28.2842715846 80.1733574929) // 32
|
||||
( -135.598492956 -13.2842713871 80.1733574929) // 33
|
||||
( -164.619864362 -56.568543179 159.908920112) // 34
|
||||
( -125.924702335 -56.5685431693 53.5948362005) // 35
|
||||
( -125.924702335 56.5685418206 53.5948362005) // 36
|
||||
( -164.619864359 56.5685418206 159.908920103) // 37
|
||||
( -164.619864359 25 159.908920103) // 38
|
||||
( -135.598492956 13.2842713871 80.1733574929) // 39
|
||||
( -125.924702335 30 53.5948362005) // 40
|
||||
( -164.619864359 -25 159.908920103) // 41
|
||||
( -154.946073968 -13.2842713871 133.330399444) // 42
|
||||
( -125.924702335 -30 53.5948362005) // 43
|
||||
( 126.07044907 13.2842713871 152.956715912) // 44
|
||||
( 100.613664182 13.2842713871 170.781748589) // 45
|
||||
( 89.7088908564 13.2842713871 109.622698279) // 46
|
||||
( 72.3293929347 13.2842713871 121.791953734) // 47
|
||||
( 126.07044907 28.2842715846 152.956715912) // 48
|
||||
( 100.613664182 28.2842715846 170.781748589) // 49
|
||||
( 89.7088908564 28.2842715846 109.622698279) // 50
|
||||
( 72.3293929347 28.2842715846 121.791953734) // 51
|
||||
( 126.07044907 -13.2842713871 152.956715912) // 52
|
||||
( 100.613664182 -13.2842713871 170.781748589) // 53
|
||||
( 89.7088908564 -13.2842713871 109.622698279) // 54
|
||||
( 72.3293929347 -13.2842713871 121.791953734) // 55
|
||||
( 126.07044907 -28.2842715846 152.956715912) // 56
|
||||
( 100.613664182 -28.2842715846 170.781748589) // 57
|
||||
( 89.7088908564 -28.2842715846 109.622698279) // 58
|
||||
( 72.3293929347 -28.2842715846 121.791953734) // 59
|
||||
( 144.251227967 -56.568543179 174.623724478) // 60
|
||||
( 71.5281115328 -56.5685431693 87.9556892035) // 61
|
||||
( 71.5281115328 56.5685418206 87.9556892035) // 62
|
||||
( 144.25122796 56.5685418206 174.623724471) // 63
|
||||
( 71.5281115328 30 87.9556892035) // 64
|
||||
( 71.5281115328 -30 87.9556892035) // 65
|
||||
( 114.755799642 -56.568543179 195.276645734) // 66
|
||||
( 58.1872571424 -56.5685431693 97.2970560138) // 67
|
||||
( 58.1872571424 56.5685418206 97.2970560138) // 68
|
||||
( 114.755799637 56.5685418206 195.276645725) // 69
|
||||
( 58.1872571424 30 97.2970560138) // 70
|
||||
( 58.1872571424 -30 97.2970560138) // 71
|
||||
( 138.543243714 -11.03547257 178.620498068) // 72
|
||||
( 120.463783883 -11.03547257 191.279872128) // 73
|
||||
( 120.463783883 11.03547257 191.279872128) // 74
|
||||
( 138.543243714 11.03547257 178.620498068) // 75
|
||||
( 106.977860404 -6.64213569356 166.32549042) // 76
|
||||
( 106.977860404 6.64213569356 166.32549042) // 77
|
||||
( 119.706252848 6.64213569356 157.412974081) // 78
|
||||
( 119.706252848 -6.64213569356 157.412974081) // 79
|
||||
( 76.6742674151 -6.64213569356 118.74963987) // 80
|
||||
( 76.6742674151 6.64213569356 118.74963987) // 81
|
||||
( 85.364016376 6.64213569356 112.665012142) // 82
|
||||
( 85.364016376 -6.64213569356 112.665012142) // 83
|
||||
( 68.1928979352 -15 90.291030906) // 84
|
||||
( 68.1928979352 15 90.291030906) // 85
|
||||
( 61.52247074 -15 94.9617143112) // 86
|
||||
( 61.52247074 15 94.9617143112) // 87
|
||||
);
|
||||
|
||||
edges
|
||||
(
|
||||
);
|
||||
|
||||
blocks
|
||||
(
|
||||
// 0
|
||||
hex ( 72 75 74 73 3 2 1 0) ($d6 $d8 $d0 ) simpleGrading (1 1 1)
|
||||
// 1
|
||||
hex ( 26 27 72 73 5 4 3 0) ($d8 $d1 $d0 ) simpleGrading (1 1 1)
|
||||
// 2
|
||||
hex ( 25 26 73 74 6 5 0 1) ($d6 $d1 $d0 ) simpleGrading (1 1 1)
|
||||
// 3
|
||||
hex ( 24 25 74 75 7 6 1 2) ($d8 $d1 $d0 ) simpleGrading (1 1 1)
|
||||
// 4
|
||||
hex ( 24 75 72 27 7 2 3 4) ($d1 $d6 $d0 ) simpleGrading (1 1 1)
|
||||
// 5
|
||||
hex ( 44 46 50 48 10 19 8 9) ($d9 $d2 $d3 ) simpleGrading (1 1 1)
|
||||
// 6
|
||||
hex ( 48 50 62 63 9 8 16 17) ($d9 $d4 $d3 ) simpleGrading (1 1 1)
|
||||
// 7
|
||||
hex ( 46 64 62 50 19 20 16 8) ($d4 $d2 $d3 ) simpleGrading (1 1 1)
|
||||
// 8
|
||||
hex ( 24 44 48 63 18 10 9 17) ($d4 $d2 $d3 ) simpleGrading (1 1 1)
|
||||
// 9
|
||||
hex ( 44 52 54 46 10 22 13 19) ($d6 $d9 $d3 ) simpleGrading (1 1 1)
|
||||
// 10
|
||||
hex ( 24 27 52 44 18 21 22 10) ($d6 $d4 $d3 ) simpleGrading (1 1 1)
|
||||
// 11
|
||||
hex ( 52 56 58 54 22 11 12 13) ($d7 $d9 $d3 ) simpleGrading (1 1 1)
|
||||
// 12
|
||||
hex ( 56 60 61 58 11 14 15 12) ($d4 $d9 $d3 ) simpleGrading (1 1 1)
|
||||
// 13
|
||||
hex ( 27 60 56 52 21 14 11 22) ($d7 $d4 $d3 ) simpleGrading (1 1 1)
|
||||
// 14
|
||||
hex ( 54 58 61 65 13 12 15 23) ($d7 $d4 $d3 ) simpleGrading (1 1 1)
|
||||
// 15
|
||||
hex ( 46 54 65 64 19 13 23 20) ($d6 $d4 $d3 ) simpleGrading (1 1 1)
|
||||
// 16
|
||||
hex ( 48 63 69 49 44 24 25 45) ($d4 $d8 $d2 ) simpleGrading (1 1 1)
|
||||
// 17
|
||||
hex ( 74 75 78 77 25 24 44 45) ($d8 $d4 $d1 ) simpleGrading (1 1 1)
|
||||
// 18
|
||||
hex ( 72 79 78 75 27 52 44 24) ($d4 $d6 $d1 ) simpleGrading (1 1 1)
|
||||
// 19
|
||||
hex ( 26 53 42 41 25 45 30 38) ($d4 $d5 $d6 ) simpleGrading (1 1 1)
|
||||
// 20
|
||||
hex ( 29 49 69 37 30 45 25 38) ($d5 $d4 $d2 ) simpleGrading (1 1 1)
|
||||
// 21
|
||||
hex ( 73 74 77 76 26 25 45 53) ($d6 $d4 $d1 ) simpleGrading (1 1 1)
|
||||
// 22
|
||||
hex ( 31 57 53 42 34 66 26 41) ($d5 $d7 $d4 ) simpleGrading (1 1 1)
|
||||
// 23
|
||||
hex ( 56 57 66 60 52 53 26 27) ($d8 $d4 $d7 ) simpleGrading (1 1 1)
|
||||
// 24
|
||||
hex ( 72 73 76 79 27 26 53 52) ($d8 $d4 $d1 ) simpleGrading (1 1 1)
|
||||
// 25
|
||||
hex ( 45 49 51 47 30 29 28 39) ($d2 $d9 $d5 ) simpleGrading (1 1 1)
|
||||
// 26
|
||||
hex ( 49 69 68 51 29 37 36 28) ($d4 $d9 $d5 ) simpleGrading (1 1 1)
|
||||
// 27
|
||||
hex ( 47 51 68 70 39 28 36 40) ($d2 $d4 $d5 ) simpleGrading (1 1 1)
|
||||
// 28
|
||||
hex ( 45 47 55 53 30 39 33 42) ($d9 $d6 $d5 ) simpleGrading (1 1 1)
|
||||
// 29
|
||||
hex ( 53 55 59 57 42 33 32 31) ($d9 $d7 $d5 ) simpleGrading (1 1 1)
|
||||
// 30
|
||||
hex ( 57 59 67 66 31 32 35 34) ($d9 $d4 $d5 ) simpleGrading (1 1 1)
|
||||
// 31
|
||||
hex ( 55 71 67 59 33 43 35 32) ($d4 $d7 $d5 ) simpleGrading (1 1 1)
|
||||
// 32
|
||||
hex ( 47 70 71 55 39 40 43 33) ($d4 $d6 $d5 ) simpleGrading (1 1 1)
|
||||
// 33
|
||||
hex ( 48 49 51 50 44 45 47 46) ($d8 $d9 $d2 ) simpleGrading (1 1 1)
|
||||
// 34
|
||||
hex ( 77 78 82 81 45 44 46 47) ($d8 $d9 $d1 ) simpleGrading (1 1 1)
|
||||
// 35
|
||||
hex ( 78 79 83 82 44 52 54 46) ($d6 $d9 $d1 ) simpleGrading (1 1 1)
|
||||
// 36
|
||||
hex ( 76 77 81 80 53 45 47 55) ($d6 $d9 $d1 ) simpleGrading (1 1 1)
|
||||
// 37
|
||||
hex ( 62 68 70 64 50 51 47 46) ($d8 $d2 $d4 ) simpleGrading (1 1 1)
|
||||
// 38
|
||||
hex ( 82 83 84 85 46 54 65 64) ($d6 $d4 $d1 ) simpleGrading (1 1 1)
|
||||
// 39
|
||||
hex ( 81 82 85 87 47 46 64 70) ($d8 $d4 $d1 ) simpleGrading (1 1 1)
|
||||
// 40
|
||||
hex ( 80 81 87 86 55 47 70 71) ($d6 $d4 $d1 ) simpleGrading (1 1 1)
|
||||
// 41
|
||||
hex ( 62 63 69 68 50 48 49 51) ($d9 $d8 $d4 ) simpleGrading (1 1 1)
|
||||
// 42
|
||||
hex ( 56 58 59 57 52 54 55 53) ($d9 $d8 $d7 ) simpleGrading (1 1 1)
|
||||
// 43
|
||||
hex ( 76 80 83 79 53 55 54 52) ($d9 $d8 $d1 ) simpleGrading (1 1 1)
|
||||
// 44
|
||||
hex ( 61 65 71 67 58 54 55 59) ($d7 $d8 $d4 ) simpleGrading (1 1 1)
|
||||
// 45
|
||||
hex ( 80 86 84 83 55 71 65 54) ($d4 $d8 $d1 ) simpleGrading (1 1 1)
|
||||
// 46
|
||||
hex ( 60 61 67 66 56 58 59 57) ($d9 $d8 $d4 ) simpleGrading (1 1 1)
|
||||
// 47
|
||||
hex ( 76 79 78 77 73 72 75 74) ($d8 $d6 $d4 ) simpleGrading (1 1 1)
|
||||
// 48
|
||||
hex ( 80 83 82 81 76 79 78 77) ($d8 $d6 $d9 ) simpleGrading (1 1 1)
|
||||
// 49
|
||||
hex ( 84 85 87 86 83 82 81 80) ($d6 $d8 $d4 ) simpleGrading (1 1 1)
|
||||
);
|
||||
|
||||
boundary
|
||||
(
|
||||
InletSmall
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
(
|
||||
( 0 1 2 3) // 0
|
||||
( 0 3 4 5) // 1
|
||||
( 0 5 6 1) // 2
|
||||
( 1 6 7 2) // 3
|
||||
( 2 7 4 3) // 4
|
||||
);
|
||||
}
|
||||
Outlet
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
(
|
||||
( 8 19 10 9) // 0
|
||||
( 8 9 17 16) // 1
|
||||
( 8 16 20 19) // 2
|
||||
( 9 10 18 17) // 3
|
||||
( 10 19 13 22) // 4
|
||||
( 10 22 21 18) // 5
|
||||
( 11 22 13 12) // 6
|
||||
( 11 12 15 14) // 7
|
||||
( 11 14 21 22) // 8
|
||||
( 12 13 23 15) // 9
|
||||
( 13 19 20 23) // 10
|
||||
);
|
||||
}
|
||||
SmallPipe
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
( 4 7 24 27) // 0
|
||||
( 4 27 26 5) // 1
|
||||
( 5 26 25 6) // 2
|
||||
( 6 25 24 7) // 3
|
||||
);
|
||||
}
|
||||
Inlet
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
(
|
||||
( 28 29 30 39) // 0
|
||||
( 28 36 37 29) // 1
|
||||
( 28 39 40 36) // 2
|
||||
( 29 37 38 30) // 3
|
||||
( 30 42 33 39) // 4
|
||||
( 30 38 41 42) // 5
|
||||
( 31 32 33 42) // 6
|
||||
( 31 34 35 32) // 7
|
||||
( 31 42 41 34) // 8
|
||||
( 32 35 43 33) // 9
|
||||
( 33 43 40 39) // 10
|
||||
);
|
||||
}
|
||||
BigPipe
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
( 14 21 27 60) // 0
|
||||
( 14 15 61 60) // 1
|
||||
( 15 23 65 61) // 2
|
||||
( 16 17 63 62) // 3
|
||||
( 16 62 64 20) // 4
|
||||
( 17 63 24 18) // 5
|
||||
( 18 24 27 21) // 6
|
||||
( 20 64 65 23) // 7
|
||||
( 24 63 69 25) // 8
|
||||
( 25 69 37 38) // 9
|
||||
( 25 38 41 26) // 10
|
||||
( 26 41 34 66) // 11
|
||||
( 26 66 60 27) // 12
|
||||
( 34 66 67 35) // 13
|
||||
( 35 67 71 43) // 14
|
||||
( 36 68 69 37) // 15
|
||||
( 36 40 70 68) // 16
|
||||
( 40 43 71 70) // 17
|
||||
( 60 61 67 66) // 18
|
||||
( 61 65 71 67) // 19
|
||||
( 62 63 69 68) // 20
|
||||
( 62 68 70 64) // 21
|
||||
( 64 85 84 65) // 22
|
||||
( 64 70 87 85) // 23
|
||||
( 65 84 86 71) // 24
|
||||
( 70 71 86 87) // 25
|
||||
( 84 85 87 86) // 26
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,59 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2006 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "system";
|
||||
object controlDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
DebugSwitches
|
||||
{
|
||||
pointBoundaryMesh 1;
|
||||
}
|
||||
|
||||
application moveDynamicMesh;
|
||||
|
||||
startFrom startTime;
|
||||
|
||||
startTime 0;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime 10;
|
||||
|
||||
deltaT 1;
|
||||
|
||||
writeControl timeStep;
|
||||
writeInterval 1;
|
||||
|
||||
purgeWrite 0;
|
||||
|
||||
writeFormat ascii; //binary;
|
||||
|
||||
writePrecision 16;
|
||||
|
||||
writeCompression false;
|
||||
|
||||
timeFormat general;
|
||||
|
||||
timePrecision 6;
|
||||
|
||||
runTimeModifiable yes;
|
||||
|
||||
adjustTimeStep yes;
|
||||
|
||||
maxCo 0.1;
|
||||
maxAlphaCo 0.1;
|
||||
maxDeltaT 1;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,24 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2312 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
note "mesh decomposition control dictionary";
|
||||
object decomposeParDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
//- The total number of domains (mandatory)
|
||||
numberOfSubdomains 2;
|
||||
|
||||
//- The decomposition method (mandatory)
|
||||
method scotch;
|
||||
|
||||
// ************************************************************************* //
|
||||
45
tutorials/mesh/moveDynamicMesh/bendJunction/system/fvSchemes
Normal file
45
tutorials/mesh/moveDynamicMesh/bendJunction/system/fvSchemes
Normal file
@ -0,0 +1,45 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2006 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "system";
|
||||
object fvSchemes;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
ddtSchemes
|
||||
{}
|
||||
|
||||
gradSchemes
|
||||
{
|
||||
default Gauss linear;
|
||||
}
|
||||
|
||||
divSchemes
|
||||
{}
|
||||
|
||||
laplacianSchemes
|
||||
{
|
||||
default Gauss linear orthogonal;
|
||||
}
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
default linear;
|
||||
}
|
||||
|
||||
snGradSchemes
|
||||
{
|
||||
default orthogonal;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,33 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2006 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "system";
|
||||
object fvSolution;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
solvers
|
||||
{
|
||||
"cellDisplacement.*"
|
||||
{
|
||||
solver GAMG;
|
||||
tolerance 1e-08;
|
||||
relTol 0;
|
||||
smoother GaussSeidel;
|
||||
}
|
||||
}
|
||||
|
||||
PIMPLE
|
||||
{}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,32 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2312 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object surfaceFeatureExtractDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
geometry.obj
|
||||
{
|
||||
// How to obtain raw features (extractFromFile || extractFromSurface)
|
||||
extractionMethod extractFromSurface;
|
||||
|
||||
// Mark edges whose adjacent surface normals are at an angle less
|
||||
// than includedAngle as features
|
||||
// - 0 : selects no edges
|
||||
// - 180: selects all edges
|
||||
includedAngle 135;
|
||||
|
||||
// Write features to obj format for postprocessing
|
||||
writeObj yes;
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,68 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 2309 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
arch "LSB;label=32;scalar=64";
|
||||
class pointVectorField;
|
||||
location "0";
|
||||
object pointDisplacement;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 1 0 0 0 0 0];
|
||||
|
||||
internalField uniform (0 0 0);
|
||||
|
||||
boundaryField
|
||||
{
|
||||
movingZone
|
||||
{
|
||||
type uniformFixedValue;
|
||||
uniformValue table
|
||||
(
|
||||
( 0.0 (0 0 0))
|
||||
( 5.0 (0.2 0 0))
|
||||
(10.0 (0 0 0))
|
||||
);
|
||||
}
|
||||
movingZoneEdges
|
||||
{
|
||||
//type slip;
|
||||
${movingZone}
|
||||
}
|
||||
|
||||
minX
|
||||
{
|
||||
type slip;
|
||||
}
|
||||
maxX
|
||||
{
|
||||
$minX
|
||||
}
|
||||
minY
|
||||
{
|
||||
$minX
|
||||
}
|
||||
maxY
|
||||
{
|
||||
$minX
|
||||
}
|
||||
minZ
|
||||
{
|
||||
$minX
|
||||
}
|
||||
maxZ
|
||||
{
|
||||
$minX
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
17
tutorials/mesh/moveDynamicMesh/faceZoneBlock/Allclean
Executable file
17
tutorials/mesh/moveDynamicMesh/faceZoneBlock/Allclean
Executable file
@ -0,0 +1,17 @@
|
||||
#!/bin/sh
|
||||
cd "${0%/*}" || exit # Run from this directory
|
||||
. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
cleanCase
|
||||
|
||||
rm -rf constant/extendedFeatureEdgeMesh
|
||||
|
||||
#- From pointMesh generation
|
||||
rm -rf constant/pointMesh
|
||||
rm -f constant/triSurface/blockMesh.obj
|
||||
|
||||
#- From surfaceFeatureExtract
|
||||
rm -f constant/triSurface/box222.eMesh
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
47
tutorials/mesh/moveDynamicMesh/faceZoneBlock/Allrun
Executable file
47
tutorials/mesh/moveDynamicMesh/faceZoneBlock/Allrun
Executable file
@ -0,0 +1,47 @@
|
||||
#!/bin/sh
|
||||
cd "${0%/*}" || exit # Run from this directory
|
||||
. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
#- Generate mesh
|
||||
runApplication blockMesh
|
||||
|
||||
#- Create faceZone (on unrotated mesh so is easy to select box of faces)
|
||||
runApplication topoSet
|
||||
|
||||
#- Rotate a bit
|
||||
#runApplication transformPoints -rotate-z -45
|
||||
|
||||
#- Generate pointMesh with additional feature patches
|
||||
# (in constant/pointMesh/boundary)
|
||||
# - extracted surface is not used
|
||||
# - specify illegal patchname so none will be extracted (could use
|
||||
# '-excludePatches' instead)
|
||||
# - extract feature points of faceZone
|
||||
# - additionally extract all points of faceZone (-extractZonePoints)
|
||||
runApplication surfaceMeshExtract \
|
||||
-featureAngle 45 \
|
||||
-patches '(ZZZZZZ)' \
|
||||
-faceZones '(movingZone)' -extractZonePoints \
|
||||
constant/triSurface/blockMesh.obj
|
||||
|
||||
#- For postprocessing: extract new pointPatches as vtk files
|
||||
setSet <<EOF
|
||||
pointSet p0 new patchToPoint movingZone
|
||||
pointSet p1 new patchToPoint movingZoneEdges
|
||||
EOF
|
||||
|
||||
#- TBD. move triSurfaces to resources
|
||||
#mkdir -p constant/triSurface
|
||||
#cp -f \
|
||||
# "$FOAM_TUTORIALS"/resources/geometry/box222.obj \
|
||||
# constant/triSurface/
|
||||
|
||||
#- Extract features from surface. Writes .eMesh
|
||||
runApplication surfaceFeatureExtract
|
||||
|
||||
#- Morph mesh to the surface (.obj file) and feature-edges (.eMesh file)
|
||||
#- Note: needs point-based motion solver
|
||||
runApplication moveDynamicMesh
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
2
tutorials/mesh/moveDynamicMesh/faceZoneBlock/README.txt
Normal file
2
tutorials/mesh/moveDynamicMesh/faceZoneBlock/README.txt
Normal file
@ -0,0 +1,2 @@
|
||||
Demo of applying mesh motion to internal faces. Note: using point-based
|
||||
motion-solver since no boundary faces to put motion bcs on.
|
||||
@ -0,0 +1,31 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2312 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object dynamicMeshDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dynamicFvMesh dynamicMotionSolverFvMesh;
|
||||
|
||||
// For point-bcs
|
||||
motionSolverLibs (fvMotionSolvers);
|
||||
|
||||
motionSolver displacementPointSmoothing;
|
||||
displacementPointSmoothingCoeffs
|
||||
{
|
||||
// Use geometricElementTransform to maintain relative sizes
|
||||
pointSmoother geometricElementTransform;
|
||||
transformationParameter 0.667;
|
||||
nPointSmootherIter 10;
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,79 @@
|
||||
# Generated by Visualization Toolkit
|
||||
v -1 -1 -1
|
||||
v -1 -1 1
|
||||
v -1 1 -1
|
||||
v -1 1 1
|
||||
v 1 -1 -1
|
||||
v 1 -1 1
|
||||
v 1 1 -1
|
||||
v 1 1 1
|
||||
v -1 -1 -1
|
||||
v -1 -1 1
|
||||
v 1 -1 -1
|
||||
v 1 -1 1
|
||||
v -1 1 -1
|
||||
v -1 1 1
|
||||
v 1 1 -1
|
||||
v 1 1 1
|
||||
v -1 -1 -1
|
||||
v 1 -1 -1
|
||||
v -1 1 -1
|
||||
v 1 1 -1
|
||||
v -1 -1 1
|
||||
v 1 -1 1
|
||||
v -1 1 1
|
||||
v 1 1 1
|
||||
vn -1 0 0
|
||||
vn -1 0 0
|
||||
vn -1 0 0
|
||||
vn -1 0 0
|
||||
vn 1 0 0
|
||||
vn 1 0 0
|
||||
vn 1 0 0
|
||||
vn 1 0 0
|
||||
vn 0 -1 0
|
||||
vn 0 -1 0
|
||||
vn 0 -1 0
|
||||
vn 0 -1 0
|
||||
vn 0 1 0
|
||||
vn 0 1 0
|
||||
vn 0 1 0
|
||||
vn 0 1 0
|
||||
vn 0 0 -1
|
||||
vn 0 0 -1
|
||||
vn 0 0 -1
|
||||
vn 0 0 -1
|
||||
vn 0 0 1
|
||||
vn 0 0 1
|
||||
vn 0 0 1
|
||||
vn 0 0 1
|
||||
vt -0.5 -0.5
|
||||
vt 1.5 -0.5
|
||||
vt -0.5 1.5
|
||||
vt 1.5 1.5
|
||||
vt 0.5 -0.5
|
||||
vt -1.5 -0.5
|
||||
vt 0.5 1.5
|
||||
vt -1.5 1.5
|
||||
vt 0.5 0.5
|
||||
vt 0.5 -1.5
|
||||
vt -1.5 0.5
|
||||
vt -1.5 -1.5
|
||||
vt -0.5 0.5
|
||||
vt -0.5 -1.5
|
||||
vt 1.5 0.5
|
||||
vt 1.5 -1.5
|
||||
vt 0.5 -0.5
|
||||
vt -1.5 -0.5
|
||||
vt 0.5 1.5
|
||||
vt -1.5 1.5
|
||||
vt -0.5 -0.5
|
||||
vt 1.5 -0.5
|
||||
vt -0.5 1.5
|
||||
vt 1.5 1.5
|
||||
f 1/1/1 2/2/2 4/4/4 3/3/3
|
||||
f 5/5/5 7/7/7 8/8/8 6/6/6
|
||||
f 9/9/9 11/11/11 12/12/12 10/10/10
|
||||
f 13/13/13 14/14/14 16/16/16 15/15/15
|
||||
f 17/17/17 19/19/19 20/20/20 18/18/18
|
||||
f 21/21/21 22/22/22 24/24/24 23/23/23
|
||||
@ -0,0 +1,95 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2312 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object blockMeshDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
scale 1;
|
||||
|
||||
vertices
|
||||
(
|
||||
// Inner block
|
||||
(-2 -2 -2)
|
||||
( 2 -2 -2)
|
||||
( 2 2 -2)
|
||||
(-2 2 -2)
|
||||
(-2 -2 2)
|
||||
( 2 -2 2)
|
||||
( 2 2 2)
|
||||
(-2 2 2)
|
||||
);
|
||||
|
||||
blocks
|
||||
(
|
||||
hex (0 1 2 3 4 5 6 7) (20 20 20) grading (1 10 1) // Inner block
|
||||
);
|
||||
|
||||
boundary
|
||||
(
|
||||
minX
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
(
|
||||
(0 0) // block 0: x-min
|
||||
);
|
||||
}
|
||||
|
||||
maxX
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
(
|
||||
(0 1) // block 0: x-max
|
||||
);
|
||||
}
|
||||
|
||||
minY
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
(
|
||||
(0 2) // block 0: y-min
|
||||
);
|
||||
}
|
||||
|
||||
maxY
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
(
|
||||
(0 3) // block 0: y-max
|
||||
);
|
||||
}
|
||||
|
||||
minZ
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
(
|
||||
(0 4) // block 0: z-min
|
||||
);
|
||||
}
|
||||
|
||||
maxZ
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
(
|
||||
(0 5) // block 0: z-max
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,53 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2312 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object controlDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
DebugSwitches
|
||||
{
|
||||
pointBoundaryMesh 1;
|
||||
}
|
||||
|
||||
application moveDynamicMesh;
|
||||
|
||||
startFrom startTime;
|
||||
|
||||
startTime 0;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime 10;
|
||||
|
||||
deltaT 1;
|
||||
|
||||
writeControl timeStep;
|
||||
|
||||
writeInterval 1;
|
||||
|
||||
purgeWrite 0;
|
||||
|
||||
writeFormat ascii;
|
||||
|
||||
writePrecision 6;
|
||||
|
||||
writeCompression off;
|
||||
|
||||
timeFormat general;
|
||||
|
||||
timePrecision 6;
|
||||
|
||||
runTimeModifiable true;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,44 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2312 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object fvSchemes;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
ddtSchemes
|
||||
{}
|
||||
|
||||
gradSchemes
|
||||
{
|
||||
default Gauss linear;
|
||||
}
|
||||
|
||||
divSchemes
|
||||
{}
|
||||
|
||||
laplacianSchemes
|
||||
{
|
||||
default Gauss linear corrected;
|
||||
}
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
default linear;
|
||||
}
|
||||
|
||||
snGradSchemes
|
||||
{
|
||||
default corrected;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,33 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2312 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object fvSolution;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
solvers
|
||||
{
|
||||
"cellDisplacement.*"
|
||||
{
|
||||
solver GAMG;
|
||||
tolerance 1e-08;
|
||||
relTol 0;
|
||||
smoother GaussSeidel;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
PIMPLE
|
||||
{}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,33 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2312 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object surfaceFeatureExtractDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
box222.obj
|
||||
{
|
||||
// How to obtain raw features (extractFromFile || extractFromSurface)
|
||||
extractionMethod extractFromSurface;
|
||||
|
||||
// Mark edges whose adjacent surface normals are at an angle less
|
||||
// than includedAngle as features
|
||||
// - 0 : selects no edges
|
||||
// - 180: selects all edges
|
||||
includedAngle 135;
|
||||
|
||||
// Write features to obj format for postprocessing
|
||||
writeObj yes;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,43 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2312 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object topoSetDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
actions
|
||||
(
|
||||
{
|
||||
name c0;
|
||||
type cellSet;
|
||||
action new;
|
||||
source boxToCell;
|
||||
box (-1 -1 -1)(1 1 1);
|
||||
}
|
||||
{
|
||||
name movingZoneFaces;
|
||||
type faceSet;
|
||||
action new;
|
||||
source cellToFace;
|
||||
set c0;
|
||||
option outside;
|
||||
}
|
||||
{
|
||||
name movingZone;
|
||||
type faceZoneSet;
|
||||
action new;
|
||||
source setToFaceZone;
|
||||
faceSet movingZoneFaces;
|
||||
}
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -18,14 +18,14 @@ scale 1;
|
||||
|
||||
vertices
|
||||
(
|
||||
(-1 -1 -1)
|
||||
( 2 -1 -1)
|
||||
( 2 0 -1)
|
||||
(-1 0 -1)
|
||||
(-1 -1 1)
|
||||
( 2 -1 1)
|
||||
( 2 0 1)
|
||||
(-1 0 1)
|
||||
(-1 -0.8 -1)
|
||||
( 2 -0.8 -1)
|
||||
( 2 -0.2 -1)
|
||||
(-1 -0.2 -1)
|
||||
(-1 -0.8 1)
|
||||
( 2 -0.8 1)
|
||||
( 2 -0.2 1)
|
||||
(-1 -0.2 1)
|
||||
);
|
||||
|
||||
blocks
|
||||
@ -44,14 +44,30 @@ boundary
|
||||
type patch;
|
||||
faces
|
||||
(
|
||||
(3 7 6 2)
|
||||
(1 5 4 0) //back
|
||||
(2 6 5 1) //outlet
|
||||
(0 4 7 3) //inlet
|
||||
(0 3 2 1) //lowerWall
|
||||
(4 5 6 7) //upperWall
|
||||
);
|
||||
}
|
||||
|
||||
front
|
||||
{
|
||||
type symmetryPlane;
|
||||
faces
|
||||
(
|
||||
(3 7 6 2)
|
||||
);
|
||||
}
|
||||
|
||||
back
|
||||
{
|
||||
type symmetryPlane;
|
||||
faces
|
||||
(
|
||||
(1 5 4 0) //back
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
|
||||
@ -5,14 +5,14 @@
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object fvSchemes;
|
||||
version 2;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object fvSchemes;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
ddtSchemes
|
||||
{
|
||||
@ -20,6 +20,7 @@ ddtSchemes
|
||||
|
||||
gradSchemes
|
||||
{
|
||||
default Gauss linear;
|
||||
}
|
||||
|
||||
divSchemes
|
||||
@ -28,14 +29,17 @@ divSchemes
|
||||
|
||||
laplacianSchemes
|
||||
{
|
||||
default Gauss linear corrected;
|
||||
}
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
default linear;
|
||||
}
|
||||
|
||||
snGradSchemes
|
||||
{
|
||||
default corrected;
|
||||
}
|
||||
|
||||
wallDist
|
||||
|
||||
@ -16,6 +16,13 @@ FoamFile
|
||||
|
||||
solvers
|
||||
{
|
||||
"cellDisplacement.*"
|
||||
{
|
||||
solver GAMG;
|
||||
tolerance 1e-08;
|
||||
relTol 0;
|
||||
smoother GaussSeidel;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -14,6 +14,11 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
// Type of mesh generation:
|
||||
// - castellated (default)
|
||||
// - castellatedBufferLayer
|
||||
//type castellatedBufferLayer;
|
||||
|
||||
// Which of the steps to run
|
||||
castellatedMesh true;
|
||||
snap true;
|
||||
@ -427,6 +432,31 @@ castellatedMeshControls
|
||||
//nCellZoneErodeIter 2;
|
||||
}
|
||||
|
||||
|
||||
// Internal macro for mesh-motion solver to use
|
||||
_meshMotionSolver
|
||||
{
|
||||
solver displacementPointSmoothing;
|
||||
displacementPointSmoothingCoeffs
|
||||
{
|
||||
//// Use geometricElementTransform to maintain relative sizes
|
||||
//pointSmoother geometricElementTransform;
|
||||
//transformationParameter 0.667;
|
||||
//nPointSmootherIter 10;
|
||||
|
||||
// Use laplacian to untangle problem areas
|
||||
pointSmoother laplacian;
|
||||
nPointSmootherIter 10;
|
||||
|
||||
//relaxationFactors (1.0 0.8 0.6 0.4 0.2 0.0);
|
||||
//meshQuality
|
||||
//{
|
||||
// #includeEtc "caseDicts/meshQualityDict"
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Settings for the snapping.
|
||||
snapControls
|
||||
{
|
||||
@ -501,6 +531,10 @@ snapControls
|
||||
//- Attract points only to the surface they originate from. Default
|
||||
// false. This can improve snapping of intersecting surfaces.
|
||||
strictRegionSnap true;
|
||||
|
||||
|
||||
// Motion solver to use (when in castellatedBufferLayer)
|
||||
${_meshMotionSolver}
|
||||
}
|
||||
|
||||
// Settings for the layer addition.
|
||||
@ -601,19 +635,27 @@ addLayersControls
|
||||
// motion solvers. It needs specification of the solver to use and
|
||||
// its control dictionary.
|
||||
//meshShrinker displacementMotionSolver;
|
||||
//solver displacementLaplacian;
|
||||
//displacementLaplacianCoeffs
|
||||
//solver multiDisplacement;
|
||||
//solvers
|
||||
//{
|
||||
// diffusivity quadratic inverseDistance
|
||||
// (
|
||||
// sphere.stl_firstSolid
|
||||
// maxY
|
||||
// );
|
||||
// displacementLaplacian
|
||||
// {
|
||||
// // Note that e.g. displacementLaplacian needs entries in
|
||||
// // fvSchemes, fvSolution. Also specify a minIter > 1 when
|
||||
// // solving
|
||||
// // cellDisplacement since otherwise solution might not be
|
||||
// // sufficiently accurate on points.
|
||||
// solver displacementLaplacian;
|
||||
// diffusivity quadratic inverseDistance
|
||||
// (
|
||||
// aerofoil
|
||||
// );
|
||||
// }
|
||||
// displacementPointSmoothing
|
||||
// {
|
||||
// ${_meshMotionSolver}
|
||||
// }
|
||||
//}
|
||||
// Note that e.g. displacementLaplacian needs entries in
|
||||
// fvSchemes, fvSolution. Also specify a minIter > 1 when solving
|
||||
// cellDisplacement since otherwise solution might not be sufficiently
|
||||
// accurate on points.
|
||||
|
||||
|
||||
// Medial axis analysis (for use with default displacementMedialAxis)
|
||||
|
||||
10
tutorials/mesh/snappyHexMesh/rotated_block/Allclean
Executable file
10
tutorials/mesh/snappyHexMesh/rotated_block/Allclean
Executable file
@ -0,0 +1,10 @@
|
||||
#!/bin/sh
|
||||
cd "${0%/*}" || exit # Run from this directory
|
||||
. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
rm -rf constant/extendedFeatureEdgeMesh
|
||||
rm -rf constant/triSurface/block.eMesh
|
||||
cleanCase0
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
24
tutorials/mesh/snappyHexMesh/rotated_block/Allrun
Executable file
24
tutorials/mesh/snappyHexMesh/rotated_block/Allrun
Executable file
@ -0,0 +1,24 @@
|
||||
#!/bin/sh
|
||||
cd "${0%/*}" || exit # Run from this directory
|
||||
. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
#mkdir -p constant/triSurface
|
||||
#cp -f \
|
||||
# "$FOAM_TUTORIALS"/resources/geometry/flange.stl.gz \
|
||||
# constant/triSurface
|
||||
|
||||
runApplication blockMesh
|
||||
|
||||
runApplication surfaceFeatureExtract
|
||||
|
||||
runApplication snappyHexMesh
|
||||
|
||||
runApplication checkMesh -writeFields '(nonOrthoAngle)'
|
||||
|
||||
# Run parallel a bit as well
|
||||
runApplication decomposePar
|
||||
runParallel -s parallel snappyHexMesh
|
||||
runParallel -s parallel checkMesh -writeFields '(nonOrthoAngle)'
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
2
tutorials/mesh/snappyHexMesh/rotated_block/README.txt
Normal file
2
tutorials/mesh/snappyHexMesh/rotated_block/README.txt
Normal file
@ -0,0 +1,2 @@
|
||||
- rotated block inside regular blockMesh
|
||||
- set up to add buffer layers after smoothing outside
|
||||
@ -0,0 +1,41 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v1812 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "constant";
|
||||
object dynamicMeshDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dynamicFvMesh dynamicMotionSolverFvMesh;
|
||||
|
||||
solver displacementPointSmoothing;
|
||||
|
||||
displacementPointSmoothingCoeffs
|
||||
{
|
||||
//// Use geometricElementTransform to maintain relative sizes
|
||||
//pointSmoother geometricElementTransform;
|
||||
//transformationParameter 0.667;
|
||||
//nPointSmootherIter 10;
|
||||
|
||||
// Use laplacian to untangle problem areas
|
||||
pointSmoother laplacian;
|
||||
nPointSmootherIter 100;
|
||||
|
||||
//relaxationFactors (1.0 0.8 0.6 0.4 0.2 0.0);
|
||||
//meshQuality
|
||||
//{
|
||||
// #includeEtc "caseDicts/meshQualityDict"
|
||||
//}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,21 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v1812 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "constant";
|
||||
object transportProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
nu 0.01;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,38 @@
|
||||
# Wavefront OBJ file written 2024-01-24T16:36:27
|
||||
o block
|
||||
|
||||
# points : 8
|
||||
# faces : 6
|
||||
# zones : 6
|
||||
# 0 maxY (nFaces: 1)
|
||||
# 1 minX (nFaces: 1)
|
||||
# 2 minZ (nFaces: 1)
|
||||
# 3 maxX (nFaces: 1)
|
||||
# 4 maxZ (nFaces: 1)
|
||||
# 5 minY (nFaces: 1)
|
||||
|
||||
# <points count="8">
|
||||
v 0 0 0
|
||||
v -0.5773502691896258 -0.2113248654051871 0.7886751345948129
|
||||
v -1.154700538379252 0.5773502691896258 0.5773502691896258
|
||||
v -0.5773502691896258 0.7886751345948129 -0.2113248654051871
|
||||
v 0.5773502691896258 0.5773502691896258 0.5773502691896258
|
||||
v 0 1.366025403784439 0.3660254037844388
|
||||
v -0.5773502691896258 1.154700538379252 1.154700538379252
|
||||
v 0 0.3660254037844388 1.366025403784439
|
||||
# </points>
|
||||
|
||||
# <faces count="6">
|
||||
g maxY
|
||||
f 4 3 7 6
|
||||
g minX
|
||||
f 1 2 3 4
|
||||
g minZ
|
||||
f 1 4 6 5
|
||||
g maxX
|
||||
f 5 6 7 8
|
||||
g maxZ
|
||||
f 2 8 7 3
|
||||
g minY
|
||||
f 1 5 8 2
|
||||
# </faces>
|
||||
@ -0,0 +1,96 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v1812 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object blockMeshDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
scale 1;
|
||||
|
||||
vertices
|
||||
(
|
||||
(-2 -1 -1)
|
||||
( 1 -1 -1)
|
||||
( 1 2 -1)
|
||||
(-2 2 -1)
|
||||
(-2 -1 2)
|
||||
( 1 -1 2)
|
||||
( 1 2 2)
|
||||
(-2 2 2)
|
||||
);
|
||||
|
||||
blocks
|
||||
(
|
||||
hex (0 1 2 3 4 5 6 7) (20 20 20) simpleGrading (1 1 1)
|
||||
);
|
||||
|
||||
edges
|
||||
(
|
||||
);
|
||||
|
||||
boundary
|
||||
(
|
||||
minX
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
(0 4 7 3)
|
||||
);
|
||||
}
|
||||
maxX
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
(2 6 5 1)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
minY
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
(1 5 4 0)
|
||||
);
|
||||
}
|
||||
maxY
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
(3 7 6 2)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
minZ
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
(0 3 2 1)
|
||||
);
|
||||
}
|
||||
maxZ
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
(4 5 6 7)
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,97 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v1812 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object blockMeshDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
scale 1;
|
||||
|
||||
vertices
|
||||
(
|
||||
(0 0 0)
|
||||
(1 0 0)
|
||||
(1 1 0)
|
||||
(0 1 0)
|
||||
(0 0 1)
|
||||
(1 0 1)
|
||||
(1 1 1)
|
||||
(0 1 1)
|
||||
);
|
||||
|
||||
blocks
|
||||
(
|
||||
//hex (0 1 2 3 4 5 6 7) (20 20 10) simpleGrading (100 100 1)
|
||||
hex (0 1 2 3 4 5 6 7) (1 1 1) simpleGrading (1 1 1)
|
||||
);
|
||||
|
||||
edges
|
||||
(
|
||||
);
|
||||
|
||||
boundary
|
||||
(
|
||||
minX
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
(0 4 7 3)
|
||||
);
|
||||
}
|
||||
maxX
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
(2 6 5 1)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
minY
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
(1 5 4 0)
|
||||
);
|
||||
}
|
||||
maxY
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
(3 7 6 2)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
minZ
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
(0 3 2 1)
|
||||
);
|
||||
}
|
||||
maxZ
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
(4 5 6 7)
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,49 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v1812 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "system";
|
||||
object controlDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
application snappyHexMesh;
|
||||
|
||||
startFrom startTime;
|
||||
|
||||
startTime 0;
|
||||
|
||||
stopAt writeNow;
|
||||
|
||||
endTime 30;
|
||||
|
||||
deltaT 1;
|
||||
|
||||
writeControl timeStep;
|
||||
|
||||
writeInterval 1;
|
||||
|
||||
purgeWrite 0;
|
||||
|
||||
writeFormat ascii;
|
||||
|
||||
writePrecision 16;
|
||||
|
||||
writeCompression off;
|
||||
|
||||
timeFormat general;
|
||||
|
||||
timePrecision 6;
|
||||
|
||||
runTimeModifiable true;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,24 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v1806 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
note "mesh decomposition control dictionary";
|
||||
object decomposeParDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
//- The total number of domains (mandatory)
|
||||
numberOfSubdomains 5;
|
||||
|
||||
//- The decomposition method (mandatory)
|
||||
method scotch; //random;
|
||||
|
||||
// ************************************************************************* //
|
||||
59
tutorials/mesh/snappyHexMesh/rotated_block/system/fvSchemes
Normal file
59
tutorials/mesh/snappyHexMesh/rotated_block/system/fvSchemes
Normal file
@ -0,0 +1,59 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v1812 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "system";
|
||||
object fvSchemes;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
//geometry
|
||||
//{
|
||||
// type highAspectRatio;
|
||||
// minAspect 0;
|
||||
// maxAspect 0;
|
||||
//}
|
||||
|
||||
|
||||
ddtSchemes
|
||||
{
|
||||
default Euler;
|
||||
}
|
||||
|
||||
gradSchemes
|
||||
{
|
||||
default Gauss linear;
|
||||
grad(p) Gauss linear;
|
||||
}
|
||||
|
||||
divSchemes
|
||||
{
|
||||
default none;
|
||||
div(phi,U) Gauss linear;
|
||||
}
|
||||
|
||||
laplacianSchemes
|
||||
{
|
||||
default Gauss linear orthogonal;
|
||||
}
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
default linear;
|
||||
}
|
||||
|
||||
snGradSchemes
|
||||
{
|
||||
default orthogonal;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/mesh/snappyHexMesh/rotated_block/system/fvSolution
Normal file
52
tutorials/mesh/snappyHexMesh/rotated_block/system/fvSolution
Normal file
@ -0,0 +1,52 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v1812 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "system";
|
||||
object fvSolution;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
solvers
|
||||
{
|
||||
p
|
||||
{
|
||||
solver PCG;
|
||||
preconditioner DIC;
|
||||
tolerance 1e-06;
|
||||
relTol 0.05;
|
||||
}
|
||||
|
||||
pFinal
|
||||
{
|
||||
$p;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
U
|
||||
{
|
||||
solver smoothSolver;
|
||||
smoother symGaussSeidel;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
}
|
||||
}
|
||||
|
||||
PISO
|
||||
{
|
||||
nCorrectors 2;
|
||||
nNonOrthogonalCorrectors 0;
|
||||
pRefCell 0;
|
||||
pRefValue 0;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,32 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v1812 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object meshQualityDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
// Include defaults parameters from master dictionary
|
||||
#includeEtc "caseDicts/meshQualityDict"
|
||||
|
||||
//maxNonOrtho 180;
|
||||
//maxConcave 180;
|
||||
//minVol -1e30;
|
||||
maxBoundarySkewness -1;
|
||||
maxInternalSkewness -1;
|
||||
//minTetQuality -1e30;
|
||||
//minDeterminant -1e30;
|
||||
//minTwist -1;
|
||||
//minFaceWeight -1;
|
||||
//minVolRatio -1;
|
||||
//minDeterminant -1;
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,364 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2312 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object snappyHexMeshDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
// Type of mesh generation:
|
||||
// - castellated (default)
|
||||
// - castellatedBufferLayer
|
||||
type castellatedBufferLayer;
|
||||
|
||||
// Which of the steps to run
|
||||
castellatedMesh true;
|
||||
snap true;
|
||||
addLayers false; //true;
|
||||
|
||||
|
||||
// Geometry. Definition of all surfaces. All surfaces are of class
|
||||
// searchableSurface.
|
||||
// Surfaces are used
|
||||
// - to specify refinement for any mesh cell intersecting it
|
||||
// - to specify refinement for any mesh cell inside/outside/near
|
||||
// - to 'snap' the mesh boundary to the surface
|
||||
geometry
|
||||
{
|
||||
block
|
||||
{
|
||||
type triSurfaceMesh;
|
||||
file "block.obj";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Settings for the castellatedMesh generation.
|
||||
castellatedMeshControls
|
||||
{
|
||||
|
||||
// Refinement parameters
|
||||
// ~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
// If local number of cells is >= maxLocalCells on any processor
|
||||
// switches from from refinement followed by balancing
|
||||
// (current method) to (weighted) balancing before refinement.
|
||||
maxLocalCells 100000;
|
||||
|
||||
// Overall cell limit (approximately). Refinement will stop immediately
|
||||
// upon reaching this number so a refinement level might not complete.
|
||||
// Note that this is the number of cells before removing the part which
|
||||
// is not 'visible' from the keepPoint. The final number of cells might
|
||||
// actually be a lot less.
|
||||
maxGlobalCells 2000000;
|
||||
|
||||
// The surface refinement loop might spend lots of iterations refining just a
|
||||
// few cells. This setting will cause refinement to stop if <= minimumRefine
|
||||
// are selected for refinement. Note: it will at least do one iteration
|
||||
// (unless the number of cells to refine is 0)
|
||||
minRefinementCells 0;
|
||||
|
||||
// Number of buffer layers between different levels.
|
||||
// 1 means normal 2:1 refinement restriction, larger means slower
|
||||
// refinement.
|
||||
nCellsBetweenLevels 1;
|
||||
|
||||
|
||||
|
||||
// Explicit feature edge refinement
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
// Specifies a level for any cell intersected by its edges.
|
||||
// This is a featureEdgeMesh, read from constant/triSurface for now.
|
||||
features
|
||||
(
|
||||
{
|
||||
file "block.eMesh";
|
||||
level 0;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
|
||||
// Surface based refinement
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
// Specifies two levels for every surface. The first is the minimum level,
|
||||
// every cell intersecting a surface gets refined up to the minimum level.
|
||||
// The second level is the maximum level. Cells that 'see' multiple
|
||||
// intersections where the intersections make an
|
||||
// angle > resolveFeatureAngle get refined up to the maximum level.
|
||||
|
||||
refinementSurfaces
|
||||
{
|
||||
block
|
||||
{
|
||||
// Surface-wise min and max refinement level
|
||||
level (2 2);
|
||||
faceZone block;
|
||||
faceType internal;
|
||||
//addBufferLayers true;
|
||||
}
|
||||
}
|
||||
|
||||
resolveFeatureAngle 180;
|
||||
|
||||
|
||||
// Region-wise refinement
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
// Specifies refinement level for cells in relation to a surface. One of
|
||||
// three modes
|
||||
// - distance. 'levels' specifies per distance to the surface the
|
||||
// wanted refinement level. The distances need to be specified in
|
||||
// descending order.
|
||||
// - inside. 'levels' is only one entry and only the level is used. All
|
||||
// cells inside the surface get refined up to the level. The surface
|
||||
// needs to be closed for this to be possible.
|
||||
// - outside. Same but cells outside.
|
||||
|
||||
refinementRegions
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
// Mesh selection
|
||||
// ~~~~~~~~~~~~~~
|
||||
|
||||
// After refinement patches get added for all refinementSurfaces and
|
||||
// all cells intersecting the surfaces get put into these patches. The
|
||||
// section reachable from the locationInMesh is kept.
|
||||
// NOTE: This point should never be on a face, always inside a cell, even
|
||||
// after refinement.
|
||||
// This is an outside point locationInMesh (-0.033 -0.033 0.0033);
|
||||
locationInMesh (0.00013 0.00013 0.00013); // Inside point
|
||||
|
||||
// Whether any faceZones (as specified in the refinementSurfaces)
|
||||
// are only on the boundary of corresponding cellZones or also allow
|
||||
// free-standing zone faces. Not used if there are no faceZones.
|
||||
allowFreeStandingZoneFaces false;
|
||||
|
||||
nCellZoneErodeIter -1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Internal macro for mesh-motion solver to use
|
||||
_meshMotionSolver
|
||||
{
|
||||
solver displacementPointSmoothing;
|
||||
displacementPointSmoothingCoeffs
|
||||
{
|
||||
//// Use geometricElementTransform to maintain relative sizes
|
||||
//pointSmoother geometricElementTransform;
|
||||
//transformationParameter 0.667;
|
||||
//nPointSmootherIter 10;
|
||||
|
||||
// Use laplacian to untangle problem areas
|
||||
pointSmoother laplacian;
|
||||
nPointSmootherIter 10;
|
||||
|
||||
//relaxationFactors (1.0 0.8 0.6 0.4 0.2 0.0);
|
||||
//meshQuality
|
||||
//{
|
||||
// #includeEtc "caseDicts/meshQualityDict"
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Settings for the snapping.
|
||||
snapControls
|
||||
{
|
||||
//- Number of patch smoothing iterations before finding correspondence
|
||||
// to surface
|
||||
nSmoothPatch 3;
|
||||
|
||||
//- Relative distance for points to be attracted by surface feature point
|
||||
// or edge. True distance is this factor times local
|
||||
// maximum edge length.
|
||||
tolerance 1.0;
|
||||
|
||||
//- When to split face with diagonal attraction:
|
||||
// 0 : only if perfect alignment (angle = 0) with feature itself
|
||||
// 180 : always
|
||||
concaveAngle 180;
|
||||
|
||||
//- When to split distorted face: not split if areas would differ too
|
||||
// much (ideal is equal size i.e. area-ratio 1). -1 : disable check
|
||||
minAreaRatio -1;
|
||||
|
||||
//- Number of mesh displacement relaxation iterations.
|
||||
nSolveIter 300;
|
||||
|
||||
//- Maximum number of snapping relaxation iterations. Should stop
|
||||
// before upon reaching a correct mesh.
|
||||
nRelaxIter 5;
|
||||
|
||||
// Feature snapping
|
||||
|
||||
//- Number of feature edge snapping iterations.
|
||||
// Leave out altogether to disable.
|
||||
nFeatureSnapIter 10;
|
||||
|
||||
//- Detect (geometric) features by sampling the surface
|
||||
implicitFeatureSnap true;
|
||||
|
||||
//- Use castellatedMeshControls::features
|
||||
explicitFeatureSnap true;
|
||||
|
||||
//- Detect features between multiple surfaces
|
||||
// (only for explicitFeatureSnap, default = false)
|
||||
multiRegionFeatureSnap true;
|
||||
|
||||
|
||||
// Motion solver to use
|
||||
${_meshMotionSolver}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Settings for the layer addition.
|
||||
addLayersControls
|
||||
{
|
||||
// Are the thickness parameters below relative to the undistorted
|
||||
// size of the refined cell outside layer (true) or absolute sizes (false).
|
||||
relativeSizes true;
|
||||
|
||||
// Per final patch (so not geometry!) the layer information
|
||||
layers
|
||||
{
|
||||
"block_.*"
|
||||
{
|
||||
nSurfaceLayers 1;
|
||||
}
|
||||
}
|
||||
|
||||
// Expansion factor for layer mesh
|
||||
expansionRatio 1.0;
|
||||
|
||||
|
||||
// Wanted thickness of final added cell layer. If multiple layers
|
||||
// is the thickness of the layer furthest away from the wall.
|
||||
// Relative to undistorted size of cell outside layer.
|
||||
// See relativeSizes parameter.
|
||||
finalLayerThickness 0.5;
|
||||
|
||||
// Minimum thickness of cell layer. If for any reason layer
|
||||
// cannot be above minThickness do not add layer.
|
||||
// See relativeSizes parameter.
|
||||
minThickness 0.1;
|
||||
|
||||
// If points get not extruded do nGrow layers of connected faces that are
|
||||
// also not grown. This helps convergence of the layer addition process
|
||||
// close to features.
|
||||
nGrow 0;
|
||||
|
||||
|
||||
// Advanced settings
|
||||
|
||||
// When not to extrude surface. 0 is flat surface, 90 is when two faces
|
||||
// are perpendicular
|
||||
featureAngle 30;
|
||||
|
||||
// Maximum number of snapping relaxation iterations. Should stop
|
||||
// before upon reaching a correct mesh.
|
||||
nRelaxIter 5;
|
||||
|
||||
// Number of smoothing iterations of surface normals
|
||||
nSmoothSurfaceNormals 1;
|
||||
|
||||
// Number of smoothing iterations of interior mesh movement direction
|
||||
nSmoothNormals 3;
|
||||
|
||||
// Smooth layer thickness over surface patches
|
||||
nSmoothThickness 10;
|
||||
|
||||
// Stop layer growth on highly warped cells
|
||||
maxFaceThicknessRatio 0.5;
|
||||
|
||||
// Reduce layer growth where ratio thickness to medial
|
||||
// distance is large
|
||||
maxThicknessToMedialRatio 0.3;
|
||||
|
||||
// Angle used to pick up medial axis points
|
||||
minMedialAxisAngle 90;
|
||||
|
||||
// Create buffer region for new layer terminations
|
||||
nBufferCellsNoExtrude 0;
|
||||
|
||||
|
||||
|
||||
//- Use displacementMotionSolver to shrink mesh
|
||||
meshShrinker displacementMotionSolver;
|
||||
|
||||
// Motion solver to use
|
||||
${_meshMotionSolver}
|
||||
|
||||
|
||||
// Overall max number of layer addition iterations. The mesher will exit
|
||||
// if it reaches this number of iterations; possibly with an illegal
|
||||
// mesh.
|
||||
nLayerIter 50;
|
||||
|
||||
// Max number of iterations after which relaxed meshQuality controls
|
||||
// get used. Up to nRelaxIter it uses the settings in meshQualityControls,
|
||||
// after nRelaxIter it uses the values in meshQualityControls::relaxed.
|
||||
nRelaxedIter 20;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Generic mesh quality settings. At any undoable phase these determine
|
||||
// where to undo.
|
||||
meshQualityControls
|
||||
{
|
||||
#include "meshQualityDict"
|
||||
|
||||
// Optional : some meshing phases allow usage of relaxed rules.
|
||||
// See e.g. addLayersControls::nRelaxedIter.
|
||||
relaxed
|
||||
{
|
||||
//- Maximum non-orthogonality allowed. Set to 180 to disable.
|
||||
maxNonOrtho 75;
|
||||
}
|
||||
|
||||
// Advanced
|
||||
|
||||
//- Number of error distribution iterations
|
||||
nSmoothScale 4;
|
||||
//- Amount to scale back displacement at error points
|
||||
errorReduction 0.75;
|
||||
}
|
||||
|
||||
|
||||
// Advanced
|
||||
|
||||
// Write flags
|
||||
writeFlags
|
||||
(
|
||||
// scalarLevels // write volScalarField with cellLevel for postprocessing
|
||||
// layerSets // write cellSets, faceSets of faces in layer
|
||||
// layerFields // write volScalarField for layer coverage
|
||||
);
|
||||
|
||||
//debugFlags
|
||||
//(
|
||||
// mesh
|
||||
// attraction
|
||||
//);
|
||||
|
||||
// Merge tolerance. Is fraction of overall bounding box of initial mesh.
|
||||
// Note: the write tolerance needs to be higher than this.
|
||||
mergeTolerance 1E-6;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,35 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2312 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object surfaceFeatureExtractDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
block.obj
|
||||
{
|
||||
// How to obtain raw features (extractFromFile || extractFromSurface)
|
||||
extractionMethod extractFromSurface;
|
||||
|
||||
// Mark edges whose adjacent surface normals are at an angle less
|
||||
// than includedAngle as features
|
||||
// - 0 : selects no edges
|
||||
// - 180: selects all edges
|
||||
includedAngle 150;
|
||||
|
||||
// Write options
|
||||
|
||||
// Write features to obj format for postprocessing
|
||||
writeObj yes;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
9
tutorials/mesh/snappyHexMesh/sphere_multiRegion/Allclean
Executable file
9
tutorials/mesh/snappyHexMesh/sphere_multiRegion/Allclean
Executable file
@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
cd "${0%/*}" || exit # Run from this directory
|
||||
. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
cleanCase0
|
||||
rm -f *.obj
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
12
tutorials/mesh/snappyHexMesh/sphere_multiRegion/Allrun
Executable file
12
tutorials/mesh/snappyHexMesh/sphere_multiRegion/Allrun
Executable file
@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
cd "${0%/*}" || exit # Run from this directory
|
||||
. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
runApplication blockMesh
|
||||
|
||||
runApplication snappyHexMesh
|
||||
|
||||
runApplication checkMesh -writeFields '(nonOrthoAngle)'
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
@ -0,0 +1,2 @@
|
||||
- sphere with inside and outside meshed
|
||||
- demonstrates buffer layers
|
||||
@ -0,0 +1,41 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v1812 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "constant";
|
||||
object dynamicMeshDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dynamicFvMesh dynamicMotionSolverFvMesh;
|
||||
|
||||
solver displacementPointSmoothing;
|
||||
|
||||
displacementPointSmoothingCoeffs
|
||||
{
|
||||
//// Use geometricElementTransform to maintain relative sizes
|
||||
//pointSmoother geometricElementTransform;
|
||||
//transformationParameter 0.667;
|
||||
//nPointSmootherIter 10;
|
||||
|
||||
// Use laplacian to untangle problem areas
|
||||
pointSmoother laplacian;
|
||||
nPointSmootherIter 100;
|
||||
|
||||
//relaxationFactors (1.0 0.8 0.6 0.4 0.2 0.0);
|
||||
//meshQuality
|
||||
//{
|
||||
// #includeEtc "caseDicts/meshQualityDict"
|
||||
//}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,21 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v1812 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "constant";
|
||||
object transportProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
nu 0.01;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,96 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2312 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object blockMeshDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
scale 1;
|
||||
|
||||
vertices
|
||||
(
|
||||
(-1 -1 -1)
|
||||
( 1 -1 -1)
|
||||
( 1 1 -1)
|
||||
(-1 1 -1)
|
||||
(-1 -1 1)
|
||||
( 1 -1 1)
|
||||
( 1 1 1)
|
||||
(-1 1 1)
|
||||
);
|
||||
|
||||
blocks
|
||||
(
|
||||
hex (0 1 2 3 4 5 6 7) (20 20 20) simpleGrading (1 1 1)
|
||||
);
|
||||
|
||||
edges
|
||||
(
|
||||
);
|
||||
|
||||
boundary
|
||||
(
|
||||
minX
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
(0 4 7 3)
|
||||
);
|
||||
}
|
||||
maxX
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
(2 6 5 1)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
minY
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
(1 5 4 0)
|
||||
);
|
||||
}
|
||||
maxY
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
(3 7 6 2)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
minZ
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
(0 3 2 1)
|
||||
);
|
||||
}
|
||||
maxZ
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
(4 5 6 7)
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,49 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v1812 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "system";
|
||||
object controlDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
application snappyHexMesh;
|
||||
|
||||
startFrom startTime;
|
||||
|
||||
startTime 0;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime 30;
|
||||
|
||||
deltaT 1;
|
||||
|
||||
writeControl timeStep;
|
||||
|
||||
writeInterval 1;
|
||||
|
||||
purgeWrite 0;
|
||||
|
||||
writeFormat ascii;
|
||||
|
||||
writePrecision 16;
|
||||
|
||||
writeCompression off;
|
||||
|
||||
timeFormat general;
|
||||
|
||||
timePrecision 6;
|
||||
|
||||
runTimeModifiable true;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,30 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v1806 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
note "mesh decomposition control dictionary";
|
||||
object decomposeParDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
////- The total number of domains (mandatory)
|
||||
//numberOfSubdomains 2;
|
||||
//
|
||||
////- The decomposition method (mandatory)
|
||||
//method random;
|
||||
|
||||
//- The total number of domains (mandatory)
|
||||
numberOfSubdomains 11;
|
||||
|
||||
//- The decomposition method (mandatory)
|
||||
method scotch;
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,59 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v1812 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "system";
|
||||
object fvSchemes;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
//geometry
|
||||
//{
|
||||
// type highAspectRatio;
|
||||
// minAspect 0;
|
||||
// maxAspect 0;
|
||||
//}
|
||||
|
||||
|
||||
ddtSchemes
|
||||
{
|
||||
default Euler;
|
||||
}
|
||||
|
||||
gradSchemes
|
||||
{
|
||||
default Gauss linear;
|
||||
grad(p) Gauss linear;
|
||||
}
|
||||
|
||||
divSchemes
|
||||
{
|
||||
default none;
|
||||
div(phi,U) Gauss linear;
|
||||
}
|
||||
|
||||
laplacianSchemes
|
||||
{
|
||||
default Gauss linear corrected;
|
||||
}
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
default linear;
|
||||
}
|
||||
|
||||
snGradSchemes
|
||||
{
|
||||
default corrected;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,57 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v1812 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "system";
|
||||
object fvSolution;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
solvers
|
||||
{
|
||||
p
|
||||
{
|
||||
solver PCG;
|
||||
preconditioner DIC;
|
||||
tolerance 1e-06;
|
||||
relTol 0.05;
|
||||
}
|
||||
|
||||
pFinal
|
||||
{
|
||||
$p;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
U
|
||||
{
|
||||
solver smoothSolver;
|
||||
smoother symGaussSeidel;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
cellDisplacement
|
||||
{
|
||||
$pFinal;
|
||||
}
|
||||
}
|
||||
|
||||
PISO
|
||||
{
|
||||
nCorrectors 2;
|
||||
nNonOrthogonalCorrectors 0;
|
||||
pRefCell 0;
|
||||
pRefValue 0;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,32 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v1812 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object meshQualityDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
// Include defaults parameters from master dictionary
|
||||
#includeEtc "caseDicts/meshQualityDict"
|
||||
|
||||
//maxNonOrtho 180;
|
||||
//maxConcave 180;
|
||||
//minVol -1e30;
|
||||
maxBoundarySkewness -1;
|
||||
maxInternalSkewness -1;
|
||||
//minTetQuality -1e30;
|
||||
//minDeterminant -1e30;
|
||||
//minTwist -1;
|
||||
//minFaceWeight -1;
|
||||
//minVolRatio -1;
|
||||
//minDeterminant -1;
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,380 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2312 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object snappyHexMeshDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
// Type of mesh generation:
|
||||
// - castellated (default)
|
||||
// - castellatedBufferLayer (adds single layer of cells before snapping)
|
||||
type castellatedBufferLayer;
|
||||
|
||||
// Which of the steps to run
|
||||
castellatedMesh true;
|
||||
snap true;
|
||||
addLayers true;
|
||||
|
||||
|
||||
// Geometry. Definition of all surfaces. All surfaces are of class
|
||||
// searchableSurface.
|
||||
// Surfaces are used
|
||||
// - to specify refinement for any mesh cell intersecting it
|
||||
// - to specify refinement for any mesh cell inside/outside/near
|
||||
// - to 'snap' the mesh boundary to the surface
|
||||
geometry
|
||||
{
|
||||
sphere
|
||||
{
|
||||
type sphere;
|
||||
origin (0.0 0 0);
|
||||
radius 0.5;
|
||||
}
|
||||
|
||||
outside
|
||||
{
|
||||
type box;
|
||||
min (-0.91 -0.91 -0.91);
|
||||
max ( 0.91 0.91 0.91);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Settings for the castellatedMesh generation.
|
||||
castellatedMeshControls
|
||||
{
|
||||
|
||||
// Refinement parameters
|
||||
// ~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
// If local number of cells is >= maxLocalCells on any processor
|
||||
// switches from from refinement followed by balancing
|
||||
// (current method) to (weighted) balancing before refinement.
|
||||
maxLocalCells 100000;
|
||||
|
||||
// Overall cell limit (approximately). Refinement will stop immediately
|
||||
// upon reaching this number so a refinement level might not complete.
|
||||
// Note that this is the number of cells before removing the part which
|
||||
// is not 'visible' from the keepPoint. The final number of cells might
|
||||
// actually be a lot less.
|
||||
maxGlobalCells 2000000;
|
||||
|
||||
// The surface refinement loop might spend lots of iterations refining just a
|
||||
// few cells. This setting will cause refinement to stop if <= minimumRefine
|
||||
// are selected for refinement. Note: it will at least do one iteration
|
||||
// (unless the number of cells to refine is 0)
|
||||
minRefinementCells 0;
|
||||
|
||||
// Number of buffer layers between different levels.
|
||||
// 1 means normal 2:1 refinement restriction, larger means slower
|
||||
// refinement.
|
||||
nCellsBetweenLevels 1;
|
||||
|
||||
|
||||
|
||||
// Explicit feature edge refinement
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
// Specifies a level for any cell intersected by its edges.
|
||||
// This is a featureEdgeMesh, read from constant/triSurface for now.
|
||||
features
|
||||
(
|
||||
);
|
||||
|
||||
|
||||
|
||||
// Surface based refinement
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
// Specifies two levels for every surface. The first is the minimum level,
|
||||
// every cell intersecting a surface gets refined up to the minimum level.
|
||||
// The second level is the maximum level. Cells that 'see' multiple
|
||||
// intersections where the intersections make an
|
||||
// angle > resolveFeatureAngle get refined up to the maximum level.
|
||||
|
||||
refinementSurfaces
|
||||
{
|
||||
sphere
|
||||
{
|
||||
// Surface-wise min and max refinement level
|
||||
level (1 1);
|
||||
addBufferLayers true;
|
||||
}
|
||||
outside
|
||||
{
|
||||
// Surface-wise min and max refinement level
|
||||
level (1 1);
|
||||
// Disable buffer layers
|
||||
addBufferLayers false;
|
||||
}
|
||||
}
|
||||
|
||||
resolveFeatureAngle 180;
|
||||
|
||||
|
||||
// Region-wise refinement
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
// Specifies refinement level for cells in relation to a surface. One of
|
||||
// three modes
|
||||
// - distance. 'levels' specifies per distance to the surface the
|
||||
// wanted refinement level. The distances need to be specified in
|
||||
// descending order.
|
||||
// - inside. 'levels' is only one entry and only the level is used. All
|
||||
// cells inside the surface get refined up to the level. The surface
|
||||
// needs to be closed for this to be possible.
|
||||
// - outside. Same but cells outside.
|
||||
|
||||
refinementRegions
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
// Mesh selection
|
||||
// ~~~~~~~~~~~~~~
|
||||
|
||||
// After refinement patches get added for all refinementSurfaces and
|
||||
// all cells intersecting the surfaces get put into these patches. The
|
||||
// section reachable from the locationInMesh is kept.
|
||||
// NOTE: This point should never be on a face, always inside a cell, even
|
||||
// after refinement.
|
||||
// This is an outside point locationInMesh (-0.033 -0.033 0.0033);
|
||||
locationsInMesh
|
||||
(
|
||||
(( 0.001 0.001 0.001) sphere)
|
||||
(( 0.701 0.701 0.701) outside)
|
||||
);
|
||||
|
||||
// Whether any faceZones (as specified in the refinementSurfaces)
|
||||
// are only on the boundary of corresponding cellZones or also allow
|
||||
// free-standing zone faces. Not used if there are no faceZones.
|
||||
allowFreeStandingZoneFaces false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Internal macro for mesh-motion solver to use
|
||||
_meshMotionSolver
|
||||
{
|
||||
solver displacementPointSmoothing;
|
||||
displacementPointSmoothingCoeffs
|
||||
{
|
||||
//// Use geometricElementTransform to maintain relative sizes
|
||||
//pointSmoother geometricElementTransform;
|
||||
//transformationParameter 0.667;
|
||||
//nPointSmootherIter 10;
|
||||
|
||||
// Use laplacian to untangle problem areas
|
||||
pointSmoother laplacian;
|
||||
nPointSmootherIter 10;
|
||||
|
||||
//relaxationFactors (1.0 0.8 0.6 0.4 0.2 0.0);
|
||||
//meshQuality
|
||||
//{
|
||||
// #includeEtc "caseDicts/meshQualityDict"
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Settings for the snapping.
|
||||
snapControls
|
||||
{
|
||||
//- Number of patch smoothing iterations before finding correspondence
|
||||
// to surface
|
||||
nSmoothPatch 3;
|
||||
|
||||
//- Relative distance for points to be attracted by surface feature point
|
||||
// or edge. True distance is this factor times local
|
||||
// maximum edge length.
|
||||
tolerance 1.0;
|
||||
|
||||
//- When to split face with diagonal attraction:
|
||||
// 0 : only if perfect alignment (angle = 0) with feature itself
|
||||
// 180 : always
|
||||
concaveAngle 180;
|
||||
|
||||
//- When to split distorted face: not split if areas would differ too
|
||||
// much (ideal is equal size i.e. area-ratio 1). -1 : disable check
|
||||
minAreaRatio -1;
|
||||
|
||||
//- Number of mesh displacement relaxation iterations.
|
||||
nSolveIter 10;
|
||||
|
||||
//- Maximum number of snapping relaxation iterations. Should stop
|
||||
// before upon reaching a correct mesh.
|
||||
nRelaxIter 5;
|
||||
|
||||
// Feature snapping
|
||||
|
||||
//- Number of feature edge snapping iterations.
|
||||
// Leave out altogether to disable.
|
||||
nFeatureSnapIter 10;
|
||||
|
||||
//- Detect (geometric) features by sampling the surface
|
||||
implicitFeatureSnap true;
|
||||
|
||||
//- Use castellatedMeshControls::features
|
||||
explicitFeatureSnap true;
|
||||
|
||||
//- Detect features between multiple surfaces
|
||||
// (only for explicitFeatureSnap, default = false)
|
||||
multiRegionFeatureSnap true;
|
||||
|
||||
|
||||
// Motion solver to use
|
||||
${_meshMotionSolver}
|
||||
}
|
||||
|
||||
|
||||
// Settings for the layer addition.
|
||||
addLayersControls
|
||||
{
|
||||
// Are the thickness parameters below relative to the undistorted
|
||||
// size of the refined cell outside layer (true) or absolute sizes (false).
|
||||
relativeSizes true;
|
||||
|
||||
// Per final patch (so not geometry!) the layer information
|
||||
layers
|
||||
{
|
||||
"(sphere_to_outside|outside_to_sphere)"
|
||||
{
|
||||
nSurfaceLayers 3;
|
||||
}
|
||||
}
|
||||
|
||||
// Expansion factor for layer mesh
|
||||
expansionRatio 1.4;
|
||||
|
||||
|
||||
// Wanted thickness of final added cell layer. If multiple layers
|
||||
// is the thickness of the layer furthest away from the wall.
|
||||
// Relative to undistorted size of cell outside layer.
|
||||
// See relativeSizes parameter.
|
||||
finalLayerThickness 0.5;
|
||||
|
||||
// Minimum thickness of cell layer. If for any reason layer
|
||||
// cannot be above minThickness do not add layer.
|
||||
// See relativeSizes parameter.
|
||||
minThickness 0.01;
|
||||
|
||||
// If points get not extruded do nGrow layers of connected faces that are
|
||||
// also not grown. This helps convergence of the layer addition process
|
||||
// close to features.
|
||||
nGrow 0;
|
||||
|
||||
|
||||
// Advanced settings
|
||||
|
||||
// When not to extrude surface. 0 is flat surface, 90 is when two faces
|
||||
// are perpendicular
|
||||
featureAngle 30;
|
||||
|
||||
// Maximum number of snapping relaxation iterations. Should stop
|
||||
// before upon reaching a correct mesh.
|
||||
nRelaxIter 5;
|
||||
|
||||
// Number of smoothing iterations of surface normals
|
||||
nSmoothSurfaceNormals 1;
|
||||
|
||||
// Number of smoothing iterations of interior mesh movement direction
|
||||
nSmoothNormals 3;
|
||||
|
||||
// Smooth layer thickness over surface patches
|
||||
nSmoothThickness 10;
|
||||
|
||||
// Stop layer growth on highly warped cells
|
||||
maxFaceThicknessRatio 0.5;
|
||||
|
||||
// Reduce layer growth where ratio thickness to medial
|
||||
// distance is large
|
||||
maxThicknessToMedialRatio 0.3;
|
||||
|
||||
// Angle used to pick up medial axis points
|
||||
minMedialAxisAngle 90;
|
||||
|
||||
// Create buffer region for new layer terminations
|
||||
nBufferCellsNoExtrude 0;
|
||||
|
||||
|
||||
|
||||
//- Use displacementMotionSolver to shrink mesh
|
||||
meshShrinker displacementMotionSolver;
|
||||
|
||||
// Motion solver to use
|
||||
${_meshMotionSolver}
|
||||
// Do some more iterations since shrinking is over a larger distance.
|
||||
// Note: laplacian smoothing does destroy the cell sizing - maybe use
|
||||
// the geometricElementTransform smoother instead.
|
||||
displacementPointSmoothingCoeffs
|
||||
{
|
||||
nPointSmootherIter 100;
|
||||
}
|
||||
|
||||
// Overall max number of layer addition iterations. The mesher will exit
|
||||
// if it reaches this number of iterations; possibly with an illegal
|
||||
// mesh.
|
||||
nLayerIter 50;
|
||||
|
||||
// Max number of iterations after which relaxed meshQuality controls
|
||||
// get used. Up to nRelaxIter it uses the settings in meshQualityControls,
|
||||
// after nRelaxIter it uses the values in meshQualityControls::relaxed.
|
||||
nRelaxedIter 20;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Generic mesh quality settings. At any undoable phase these determine
|
||||
// where to undo.
|
||||
meshQualityControls
|
||||
{
|
||||
#include "meshQualityDict"
|
||||
|
||||
// Optional : some meshing phases allow usage of relaxed rules.
|
||||
// See e.g. addLayersControls::nRelaxedIter.
|
||||
relaxed
|
||||
{
|
||||
//- Maximum non-orthogonality allowed. Set to 180 to disable.
|
||||
maxNonOrtho 75;
|
||||
}
|
||||
|
||||
// Advanced
|
||||
|
||||
//- Number of error distribution iterations
|
||||
nSmoothScale 4;
|
||||
//- Amount to scale back displacement at error points
|
||||
errorReduction 0.75;
|
||||
}
|
||||
|
||||
|
||||
// Advanced
|
||||
|
||||
// Write flags
|
||||
writeFlags
|
||||
(
|
||||
// scalarLevels // write volScalarField with cellLevel for postprocessing
|
||||
// layerSets // write cellSets, faceSets of faces in layer
|
||||
// layerFields // write volScalarField for layer coverage
|
||||
);
|
||||
|
||||
debugFlags
|
||||
(
|
||||
// mesh
|
||||
// attraction
|
||||
);
|
||||
|
||||
// Merge tolerance. Is fraction of overall bounding box of initial mesh.
|
||||
// Note: the write tolerance needs to be higher than this.
|
||||
mergeTolerance 1E-6;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
Reference in New Issue
Block a user