I modelled a formula car nose and performed an LES transient simulation.
The image below shows the 3D model of the nose, which is like the nose of Ferrari F14 T. I used Rhinoceros 5 for modelling.
Wind speed and ground speed of the simulation is 50m/s (180km/h).
Upon meshing, I decided to use addLayer feature of snappyHexMesh in order to generate adequately thin cells around the surface.
The spatial resolution of the mesh is as follows:
[far from the surface]
X: 72mm Y: 36mm Z: 36mm
[near the surface]
X: 2.25mm Y: 1.125mm Z: 1.125mm
[thickness of the nearest boundary layer cells to the surface]
0.225mm
The number of cells is approximately 13 million.
convertToMeters 1;
vertices (
(-3.6 -1.08 -0.02)
( 7.2 -1.08 -0.02)
( 7.2 1.08 -0.02)
(-3.6 1.08 -0.02)
(-3.6 -1.08 2.14)
( 7.2 -1.08 2.14)
( 7.2 1.08 2.14)
(-3.6 1.08 2.14)
);
blocks
blocks
( hex (0 1 2 3 4 5 6 7) (150 60 60) simpleGrading (1 1 1)
);
edges
edges
(
);
patches
patches
(
patch inlet
(
(4 0 3 7)
)
patch side
(
(3 2 6 7)
(7 4 5 6)
(4 0 1 5)
)
wall ground
(
(0 1 2 3)
)
patch outlet
(
(5 1 2 6)
)
);
mergePatchPairs
mergePatchPairs
(
);
snappyHexMeshDict:
castellatedMesh true;
snap true;
addLayers true;
geometry
{
nose_2.stl
{
type triSurfaceMesh;
name nose;
}
};
castellatedMeshControls
{
maxLocalCells 100000000;
maxGlobalCells 100000000;
minRefinementCells 0;
maxLoadUnbalance 0; //0.1;
nCellsBetweenLevels 8;
features
(
{
file "nose_2.eMesh";
level 5;
}
);
refinementSurfaces
{
"nose"
{
level (5 5);
patchInfo
{
type wall;
inGroups (car);
}
}
}
resolveFeatureAngle 30;
refinementRegions
{
}
locationInMesh (-3.1 0.1 0.1);
allowFreeStandingZoneFaces true;
}
snapControls
{
nSmoothPatch 10;
tolerance 2.0;
nSolveIter 300;
nRelaxIter 10;
// Feature snapping
nFeatureSnapIter 30;
implicitFeatureSnap false;
explicitFeatureSnap true;
multiRegionFeatureSnap false;
}
addLayersControls
{
relativeSizes false;
layers
{
"car_*"
{
nSurfaceLayers 6;
}
}
expansionRatio 1.308;
finalLayerThickness 0.000860625;
minThickness 0.00005;
nGrow 0;
// Advanced settings
featureAngle 60;
slipFeatureAngle 30;
nRelaxIter 10;
nSmoothSurfaceNormals 50;
nSmoothNormals 50;
nSmoothThickness 100;
maxFaceThicknessRatio 1.0;
maxThicknessToMedialRatio 1.0;
minMedianAxisAngle 130;
nBufferCellsNoExtrude 0;
nLayerIter 10;
}
meshQualityControls
{
maxNonOrtho 65;
maxBoundarySkewness 4; //20;
maxInternalSkewness 4;
maxConcave 80;
minVol 1e-13;
minTetQuality 1e-9;
minArea -1;
minTwist 0.02;
minDeterminant 0.001;
minFaceWeight 0.02;
minVolRatio 0.01;
minTriangleTwist -1;
// Advanced
nSmoothScale 4;
errorReduction 0.75;
}
// Advanced
debug 0;
mergeTolerance 1E-6;
Comments
Post a Comment