Previous: The Flow around a Up: The Flow around a Next: Heat exchanger as a
This is an automatically generated documentation by LaTeX2HTML utility. In case of any issue, please, contact us at info@cfdsupport.com.
Mesh generation
- There are just a few differences in mesh generation setup related with the porous zone.
- STL model includes an engine compartment.
- Add a new refinement surfaces into snappyHexMeshDict.
- The openings in the car body (3D models combiMotor-front.stl and combiMotor-bottom.stl ) are placed there so that we may later use them in the next chapter.
- You may use ParaView to check that these models exactly fit into the openings in combiMotor.stl. Just open the STL files using File Open.
- The last region heatExchanger should have the same dimensions as the heat exchanger (porous zone) has. It should be added into snappyHexMeshDict in order to create homogeneous mesh in the heat exchanger (porous zone).
- Also, we will use snappyHexMesh to create a cellZone.
Figure: Car model with an engine compartment
Figure: Engine compartment with the heat exchanger
geometry { combiMotor.stl { type triSurfaceMesh; name car; } combiMotor-front.stl { type triSurfaceMesh; name car_front; } combiMotor-bottom.stl { type triSurfaceMesh; name car_botton; } refinementBox { type searchableBox; min (-18 0 -2); max (-5 2 2); } heatExchanger { type searchableBox; min (-15.56 0.39 -0.28); max (-15.53 0.566 0.281); } };
- The new surface heatExchanger is a box, so it is defined by two points:
min (-15.56 0.39 -0.28)
max (-15.53 0.566 0.281) - It is not placed into refinementRegions because it is too narrow to contain any cell for refinement.
- Instead, it will be listed under refinementSurfaces, so that all cells cut by the surface will be refined. This effectively subdivides cells inside the narrow region.
- The new surfaces are listed as face zones, so they will not be used to clip the resulting mesh (whereas the surface car will). Only the subdivision will happen and the zones will be created without the need of topoSet.
refinementSurfaces { car { // Surface-wise min and max refinement level level (4 5); } car_bottom { level (4 5); faceZone car_bottom; } car_front { level (4 5); faceZone car_front; } heatExchanger { level (5 5); cellZone heatExchanger; faceZone heatExchangerf; } }
- For this to work, we need to enable free standing face zones:
allowFreeStandingZoneFaces true;
- Run blockMesh.
# blockMesh - To run snappyHexMesh 17.3 in parallel, one has to decompose blockMesh mesh using decomposePar as the first step.
# decomposePar
# mpiexec -np 2 snappyHexMesh -overwrite -parallel > log.snappy & - When the mesh is done one can reconstruct parallelized mesh into one mesh using reconstructParMesh.
# reconstructParMesh -constant -mergeTol 1e-06