In this post, I show a result of meshing using foamyHexMesh for a racing car.
The procedure of meshing is described in another previous post (Meshing with foamyHexMesh).
defaultCellSize is 0.1 and surfaceCellSizeCoeff of myP1 is 0.1.
That means the cell size is 10mm on the surface of the car, and glows up to 100mm according to the distance from the surface of the car.
The resulting mesh is shown below. At first glance it seems good, but when I look in detail, I found many problems.
I modified the geometry of the racing car in a previous post (Geometry modification of Perrinn myP1).
Perrinn myP1 open-source LMP1 racing car
The procedure of meshing is described in another previous post (Meshing with foamyHexMesh).
defaultCellSize is 0.1 and surfaceCellSizeCoeff of myP1 is 0.1.
That means the cell size is 10mm on the surface of the car, and glows up to 100mm according to the distance from the surface of the car.
================
foamyHexMesh:
// Include defaults parameters from master dictionary
#include "$WM_PROJECT_DIR/etc/caseDicts/foamyHexMeshDict"
geometry
{
myP1_one_solid_combined.stl
{
name myP1;
type triSurfaceMesh;
}
Box.stl
{
name box;
type triSurfaceMesh;
}
}
surfaceConformation
{
locationInMesh (-3 0 0);
featurePointControls
{
specialiseFeaturePoints off;
edgeAiming on;
guardFeaturePoints off;
snapFeaturePoints off;
circulateEdges on;
}
// Geometry to mesh to
geometryToConformTo
{
myP1
{
featureMethod extractFeatures;
includedAngle 140;
mode inside;
patchInfo
{
type wall;
inGroups (groupMyP1);
}
}
box
{
featureMethod extractFeatures;
includedAngle 100;
mode outside;
patchInfo
{
type wall;
inGroups (groupBox);
}
}
}
additionalFeatures
{
boxSphereIntersection
{
featureMethod extendedFeatureEdgeMesh;
extendedFeatureEdgeMesh "myP1_one_solid_combined_Box_intersection.extendedFeatureEdgeMesh";
}
}
}
initialPoints
{
initialPointsMethod autoDensity;
autoDensityCoeffs
{
minCellSizeLimit 0;
minLevels 0;
maxSizeRatio 5;
sampleResolution 10;
surfaceSampleResolution 10;
}
}
motionControl
{
defaultCellSize 0.1;
minimumCellSizeCoeff 0;
// For background cell size and alignment grid
maxSmoothingIterations 200;
maxRefinementIterations 0;
shapeControlFunctions
{
myP1
{
type searchableSurfaceControl;
priority 1;
mode inside;
surfaceCellSizeFunction uniformValue;
uniformValueCoeffs
{
surfaceCellSizeCoeff 0.1;
}
cellSizeFunction linearDistance;
uniformCoeffs
{}
linearDistanceCoeffs
{
distanceCellSizeCoeff 1;
distanceCoeff 5;
}
}
box
{
type searchableSurfaceControl;
priority 2;
mode outside;
surfaceCellSizeFunction uniformValue;
uniformValueCoeffs
{
surfaceCellSizeCoeff 1.0;
}
cellSizeFunction uniform;
uniformCoeffs
{}
}
}
cellAspectRatioControl
{
// Aspect ratio.
aspectRatio 2.0;
// Direction of action of the aspect ratio
aspectRatioDirection (1 0 0);
}
// Output lots and lots of .obj files
objOutput no;
// Timing and memory usage.
timeChecks no;
}
// After simulation, when converting to polyMesh, filter out small faces/edges.
// Do not change. See cvControls.H
polyMeshFiltering
{
filterEdges on;
filterFaces on;
writeTetDualMesh false;
}
meshQualityControls
{
#include "meshQualityDict"
}
================
The resulting mesh is shown below. At first glance it seems good, but when I look in detail, I found many problems.
mesh overview
mesh overview (back view)
problems on the edges of the contact patches of tyres
problems on the edges of the rear wing gurney flap
problems on the edges of the mirror
problems on the edges of the front wing endplate
I guessed smaller cell size on the surface of the car would work, so I'm now trying surfaceCellSizeCoeff of 0.05 for myP1. (It means the cell size on the surface of the car is 5mm.)
Comments
Post a Comment