mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: car meshing - merge close points on surface, use closedTriSurface.
Wheels are baffle surface.
This commit is contained in:
@ -4,11 +4,15 @@ cd ${0%/*} || exit 1 # run from this directory
|
|||||||
# Source tutorial run functions
|
# Source tutorial run functions
|
||||||
. $WM_PROJECT_DIR/bin/tools/RunFunctions
|
. $WM_PROJECT_DIR/bin/tools/RunFunctions
|
||||||
|
|
||||||
|
surfacePointMerge constant/triSurface/m_car01.obj \
|
||||||
|
1e-2 constant/triSurface/m_car01_merge.obj \
|
||||||
|
> log.surfacePointMerge 2>&1
|
||||||
|
|
||||||
# Orient so point to be meshed is inside surface
|
# Orient so point to be meshed is inside surface
|
||||||
surfaceOrient \
|
surfaceOrient \
|
||||||
constant/triSurface/m_car01.obj \
|
constant/triSurface/m_car01_merge.obj \
|
||||||
-inside -usePierceTest '(13 -200 149)' \
|
-inside -usePierceTest '(13 -200 149)' \
|
||||||
constant/triSurface/m_car01_orient.obj \
|
constant/triSurface/m_car01_merge_orient.obj \
|
||||||
> log.surfaceOrient.m_car01 2>&1
|
> log.surfaceOrient.m_car01 2>&1
|
||||||
|
|
||||||
# Same for outside
|
# Same for outside
|
||||||
@ -20,14 +24,14 @@ surfaceOrient \
|
|||||||
|
|
||||||
# Surface has open edges. Create dummy features for now.
|
# Surface has open edges. Create dummy features for now.
|
||||||
runApplication surfaceFeatureExtract \
|
runApplication surfaceFeatureExtract \
|
||||||
constant/triSurface/m_car01_orient.obj \
|
constant/triSurface/m_car01_merge_orient.obj \
|
||||||
m_car01 -minElem 10000000
|
m_car01 -includedAngle 165 -writeObj
|
||||||
mv log.surfaceFeatureExtract log.surfaceFeatureExtract.m_car01
|
mv log.surfaceFeatureExtract log.surfaceFeatureExtract.m_car01
|
||||||
|
|
||||||
unset FOAM_SIGFPE
|
unset FOAM_SIGFPE
|
||||||
runApplication surfaceFeatureExtract \
|
runApplication surfaceFeatureExtract \
|
||||||
constant/triSurface/domain_orient.stl \
|
constant/triSurface/domain_orient.stl \
|
||||||
domain -includedAngle 125
|
domain -includedAngle 125 -writeObj
|
||||||
mv log.surfaceFeatureExtract log.surfaceFeatureExtract.domain
|
mv log.surfaceFeatureExtract log.surfaceFeatureExtract.domain
|
||||||
|
|
||||||
# Generate aligned points (in constant/internalDelaunayVertices) and a
|
# Generate aligned points (in constant/internalDelaunayVertices) and a
|
||||||
|
|||||||
@ -28,7 +28,7 @@ startTime 0;
|
|||||||
|
|
||||||
stopAt endTime;
|
stopAt endTime;
|
||||||
|
|
||||||
endTime 1; //80;
|
endTime 0; //80;
|
||||||
|
|
||||||
deltaT 1;
|
deltaT 1;
|
||||||
|
|
||||||
|
|||||||
@ -58,18 +58,18 @@ See also cvControls.H in the conformalVoronoiMesh library
|
|||||||
geometry
|
geometry
|
||||||
{
|
{
|
||||||
// Internal shape
|
// Internal shape
|
||||||
m_car01_orient.obj
|
m_car01_merge_orient.obj
|
||||||
{
|
{
|
||||||
//name m_car01;
|
name m_car01;
|
||||||
type triSurfaceMesh;
|
type closedTriSurfaceMesh;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_car01
|
// m_car01
|
||||||
{
|
// {
|
||||||
type searchableSurfaceWithGaps;
|
// type searchableSurfaceWithGaps;
|
||||||
surface m_car01_orient.obj;
|
// surface m_car01_orient.obj;
|
||||||
gap 1e-2;
|
// gap 1e-2;
|
||||||
}
|
// }
|
||||||
|
|
||||||
// Outside of domain
|
// Outside of domain
|
||||||
domain_orient.stl
|
domain_orient.stl
|
||||||
@ -189,7 +189,7 @@ surfaceConformation
|
|||||||
m_car01
|
m_car01
|
||||||
{
|
{
|
||||||
featureMethod extendedFeatureEdgeMesh;
|
featureMethod extendedFeatureEdgeMesh;
|
||||||
extendedFeatureEdgeMesh "m_car01_orient.extendedFeatureEdgeMesh";
|
extendedFeatureEdgeMesh "m_car01_merge_orient.extendedFeatureEdgeMesh";
|
||||||
}
|
}
|
||||||
|
|
||||||
domain
|
domain
|
||||||
@ -223,7 +223,7 @@ initialPoints
|
|||||||
// Initial number of refinement levels. Needs to be enough to pick
|
// Initial number of refinement levels. Needs to be enough to pick
|
||||||
// up features due to size ratio. If not enough it will take longer
|
// up features due to size ratio. If not enough it will take longer
|
||||||
// to determine point seeding.
|
// to determine point seeding.
|
||||||
minLevels 4;
|
minLevels 1;
|
||||||
// Split box if ratio of min to max cell size larger than maxSizeRatio
|
// Split box if ratio of min to max cell size larger than maxSizeRatio
|
||||||
maxSizeRatio 5.0;
|
maxSizeRatio 5.0;
|
||||||
// Per box sample 3x3x3 internally
|
// Per box sample 3x3x3 internally
|
||||||
|
|||||||
@ -24,7 +24,7 @@ actions
|
|||||||
source boxToCell;
|
source boxToCell;
|
||||||
sourceInfo
|
sourceInfo
|
||||||
{
|
{
|
||||||
box (-100 -100 0)(100 100 100);
|
box (-100000 -100000 50)(100000 100000 100000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -67,7 +67,7 @@ actions
|
|||||||
source boxToCell;
|
source boxToCell;
|
||||||
sourceInfo
|
sourceInfo
|
||||||
{
|
{
|
||||||
box (-100 0.1 -100)(100 100 100);
|
box (-100000 0 -100000)(100000 100000 100000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -110,7 +110,7 @@ actions
|
|||||||
source boxToCell;
|
source boxToCell;
|
||||||
sourceInfo
|
sourceInfo
|
||||||
{
|
{
|
||||||
box (0.3 -100 -100)(100 100 100);
|
box (0 -100000 -100000)(100000 100000 100000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user