1

Previous: Flow around the car Up: Flow around the car Next: Results visualization

This is an automatically generated documentation by LaTeX2HTML utility. In case of any issue, please, contact us at info@cfdsupport.com.

snappyHexMesh setup

  • The whole computational domain is larger as the reader can see in blockMeshDict:
    vertices
    (
        (-25 0 -3)
        (5 0 -3)
        (5 6 -3)
        (-25 6 -3)
        (-25 0 3)
        (5 0 3)
        (5 6 3)
        (-25 6 3)
    );
    
    blocks
    (
        hex (0 1 2 3 4 5 6 7) (60 15 15) simpleGrading (1 1 1)
    );
    

     

  • As the reader can notice, in the listing below there are several changes in snappyHexMeshDict.
  • Layer addition has been switched on.

     

    castellatedMesh true;
    snap            true;
    addLayers       true;
    

     

  • A new refinement zone road has been added into geometry in order to create boundary layer cells near the road.

     

        road
        {
            type searchableBox;
            min (-25 0 -3);
            max (5 0.3 3);
        }
    

     

  • Refinement setup in the car body and its vicinity:

     

        refinementSurfaces
        {
            car
            {
                // Surface-wise min and max refinement level
                level (3 6);
            }
            
            car_bottom
            {
                level (3 6);
                faceZone car_bottom;
            }
            
            car_front
            {
                level (3 6);
                faceZone car_front;
            }
            
            heatExchanger
            {
                level (8 8);
                cellZone heatExchanger;
                faceZone heatExchangerf;
            }
        }
    

     

  • refinementRegions setup:

     

        refinementRegions
        {
            refinementBox
            {
                mode inside;
                levels ((1E15 3));
            }
        }
    

     

  • Boundary layer mesh generation setup:

     

    // Settings for the layer addition.
    addLayersControls
    {
        // Are the thickness parameters below relative to the undistorted
        // size of the refined cell outside layer (true) or absolute sizes (false).
        relativeSizes true;
    
        // Per final patch (so not geometry!) the layer information
        layers
        {
            "(lowerWall|car).*"
            {
                nSurfaceLayers 5;
            }
        }
    
        // Expansion factor for layer mesh
        expansionRatio 1.3;
    
        //- Wanted thickness of final added cell layer. If multiple layers
        //  is the
        //  thickness of the layer furthest away from the wall.
        //  Relative to undistorted size of cell outside layer.
        //  is the thickness of the layer furthest away from the wall.
        //  See relativeSizes parameter.
        finalLayerThickness 0.5;
    
        //- Minimum thickness of cell layer. If for any reason layer
        //  cannot be above minThickness do not add layer.
        //  Relative to undistorted size of cell outside layer.
        minThickness 0.1;
    

     

  • All other settings are the same as in previous cases.

 

  • Run blockMesh.
    # blockMesh
  • Run snappyHexMesh
    # decomposePar -force
    # mpiexec -np 2 snappyHexMesh -overwrite -parallel > log.snappy &
    # reconstructParMesh -constant -mergeTol 1e-06
  • When the meshing is done, one should set the velocity profile. Replace initialized 0/U with original and run utility.
    # cp -f 0/U.org 0/U
    # setVelocityProfile
  • The simulation can be effectively initialized using potentialFoam 17.6 and then run the computation typing simpleFoam.
    # potentialFoam -writep -noFunctionObjects
    # decomposePar -force
    # mpiexec -np 2 simpleFoam -parallel > log &
    # reconstructPar -latestTime