Honda makes it possible for us to download the 3D data of their concept cars at http://honda-3d.com.
In this case, I downloaded the 3D data of PUYO, and performed a steady-state simulation using simpleFoam.
The 3D data is shown in the image below. They were originally one STL file, so I separated it into five STL files (four individual tyres, and the rest).
Again I used snappyHexMesh for grid generation. The resulting grid is as follows.
================================
checkMesh output:
In this case, I downloaded the 3D data of PUYO, and performed a steady-state simulation using simpleFoam.
The 3D data is shown in the image below. They were originally one STL file, so I separated it into five STL files (four individual tyres, and the rest).
Again I used snappyHexMesh for grid generation. The resulting grid is as follows.
================================
checkMesh output:
Mesh statsblockMeshDict:
points: 11600432
faces: 31349018
internal faces: 29711684
cells: 9935106
faces per cell: 6.145954
boundary patches: 9
point zones: 0
face zones: 0
cell zones: 0
Overall number of cells of each type:
hexahedra: 8893104
prisms: 222023
wedges: 0
pyramids: 0
tet wedges: 558
tetrahedra: 0
polyhedra: 819421
Breakdown of polyhedra by number of faces:
faces number of cells
4 112192
5 84808
6 138818
9 347424
12 95924
15 39493
18 762
Checking topology...
Boundary definition OK.
Cell to face addressing OK.
Point usage OK.
Upper triangular ordering OK.
Face vertices OK.
Number of regions: 1 (OK).
Checking patch topology for multiply connected surfaces...
Patch Faces Points Surface topology
inlet 6272 6441 ok (non-closed singly connected)
side 31360 31725 ok (non-closed singly connected)
ground 50246 51500 ok (non-closed singly connected)
outlet 6272 6441 ok (non-closed singly connected)
car_body 1360430 1472079 ok (non-closed singly connected)
car_tyre_fl 45702 48864 ok (non-closed singly connected)
car_tyre_fr 45723 48885 ok (non-closed singly connected)
car_tyre_rl 45631 48762 ok (non-closed singly connected)
car_tyre_rr 45698 48805 ok (non-closed singly connected)
Checking geometry...
Overall domain bounding box (-8.5 -5 0.004954) (16.5 5 5.004954)
Mesh (non-empty, non-wedge) directions (1 1 1)
Mesh (non-empty) directions (1 1 1)
Boundary openness (-7.541381e-16 6.348768e-16 -7.110857e-15) OK.
Max cell openness = 5.000567e-16 OK.
Max aspect ratio = 33.71477 OK.
Minimum face area = 5.621661e-08. Maximum face area = 0.01597883. Face area magnitudes OK.
Min volume = 7.396851e-10. Max volume = 0.001424672. Total volume = 1244.747. Cell volumes OK.
Mesh non-orthogonality Max: 65.02195 average: 11.04075
Non-orthogonality check OK.
Face pyramids OK.
***Max skewness = 4.001563, 1 highly skew faces detected which may impair the quality of the results
<<Writing 1 skew faces to set skewFaces
Coupled point location match (average 0) OK.
Failed 1 mesh checks.
End
convertToMeters 1;
vertices
(
(-8.5 -5 0.004954)
(16.5 -5 0.004954)
(16.5 5 0.004954)
(-8.5 5 0.004954)
(-8.5 -5 5.004954)
(16.5 -5 5.004954)
(16.5 5 5.004954)
(-8.5 5 5.004954)
);
blocks
(
hex (0 1 2 3 4 5 6 7) (140 112 56) simpleGrading (1 1 1)
);
edges
(
);
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
(
);
snappyHexMeshDict:
castellatedMesh true;
snap true;
addLayers false;
geometry
{
puyo_body.stl
{
type triSurfaceMesh;
name car_body;
}
puyo_tyre_fl.stl
{
type triSurfaceMesh;
name car_tyre_fl;
}
puyo_tyre_fr.stl
{
type triSurfaceMesh;
name car_tyre_fr;
}
puyo_tyre_rl.stl
{
type triSurfaceMesh;
name car_tyre_rl;
}
puyo_tyre_rr.stl
{
type triSurfaceMesh;
name car_tyre_rr;
}
refinementBox
{
type searchableBox;
min (-2.5 -1.2 -0.1);
max ( 9.0 1.2 1.5);
}
};
castellatedMeshControls
{
maxLocalCells 100000000;
maxGlobalCells 100000000;
minRefinementCells 0;
maxLoadUnbalance 0; //0.1;
nCellsBetweenLevels 4;
// Explicit feature edge refinement
features
(
);
// Surface based refinement
refinementSurfaces
{
"car_body"
{
// Surface-wise min and max refinement level
level (5 5);
// Optional specification of patch type (default is wall). No
// constraint types (cyclic, symmetry) etc. are allowed.
patchInfo
{
type wall;
inGroups (car);
}
}
"car_tyre_fl"
{
// Surface-wise min and max refinement level
level (5 5);
// Optional specification of patch type (default is wall). No
// constraint types (cyclic, symmetry) etc. are allowed.
patchInfo
{
type wall;
inGroups (car);
}
}
"car_tyre_fr"
{
// Surface-wise min and max refinement level
level (5 5);
// Optional specification of patch type (default is wall). No
// constraint types (cyclic, symmetry) etc. are allowed.
patchInfo
{
type wall;
inGroups (car);
}
}
"car_tyre_rl"
{
// Surface-wise min and max refinement level
level (5 5);
// Optional specification of patch type (default is wall). No
// constraint types (cyclic, symmetry) etc. are allowed.
patchInfo
{
type wall;
inGroups (car);
}
}
"car_tyre_rr"
{
// Surface-wise min and max refinement level
level (5 5);
// Optional specification of patch type (default is wall). No
// constraint types (cyclic, symmetry) etc. are allowed.
patchInfo
{
type wall;
inGroups (car);
}
}
}
resolveFeatureAngle 30;
// Region-wise refinement
refinementRegions
{
refinementBox
{
mode inside;
levels ((1E15 2));
}
}
// Mesh selection
locationInMesh (-3.1 0.1 1.1);
allowFreeStandingZoneFaces true;
}
// Settings for the snapping.
snapControls
{
nSmoothPatch 10;
tolerance 2.0;
nSolveIter 300;
nRelaxIter 10;
// Feature snapping
nFeatureSnapIter 30;
implicitFeatureSnap true;
explicitFeatureSnap false;
multiRegionFeatureSnap false;
}
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