CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Meshing & Mesh Conversion (https://www.cfd-online.com/Forums/openfoam-meshing/)
-   -   [Other] autoRefineMesh (https://www.cfd-online.com/Forums/openfoam-meshing/114226-autorefinemesh.html)

mikeP March 7, 2013 06:06

autoRefineMesh
 
2 Attachment(s)
Hi,
I am trying to modify the motorBike mesh, which is created by snappyHexMesh (see fig 1). I am trying to get a constant cell height on the bottom wall with autoRefineMesh, by doing refinement only in the normal direction to the surface. However, it refines the fine cells under the motorbike and gets to the minEdgeLen quickly even though I set nearDist to not include those cells. Furthermore, some cells further from the motorbike are not refined at all! (Fig. 2)

Here is my autoRefineMeshDict:
Code:

/*--------------------------------*- C++ -*----------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  2.1.x                                |
|  \\  /    A nd          | Web:      www.OpenFOAM.org                      |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version    2.0;
    format      ascii;
    class      dictionary;
    object      autoRefineMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

// Surface to keep to
surface        "lowerWall.stl";

// What is outside. These points have to be inside a cell (so not on a face!)
outsidePoints  ((-4.8888 0.11111 0.11111));

//
// Selection of cells to refine
//

// If smallest edge of mesh > maxEdgeLen select all cut cells for refinement.
// If < maxEdgeLen select only those cut cells which are closer than
// curvatureDistance to surface
// and with cos of angle between normals on surface < curvature.
maxEdgeLen          1.0;
curvatureDistance  1.5;
curvature          0.9;

// if > 0: Remove inside cells at every step. Inside is given by number of
// layers separating outside from inside.
// (note that we cannot remove outside
// cells since these contain the outsidePoints)
// Do not use this option if you want mesh to spill through a hole which is
// not visible on the coarsest level but only becomes visible after refinement
nCutLayers 2;

// Refine until smallest edge of mesh < minEdgeLen
minEdgeLen      0.0001;

// Or until the number of cells would become more than (stops one level before
// this)
cellLimit      10000000;

//
// Selection of final set
//

// Select based on side of surface. Usually select inside cells and project
// outwards or select outside cells and project inwards.
selectCut      false;
selectInside    false;
selectOutside  true;
// Leave out cell closer than nearDistance to the surface. Usually
// 0.5*minEdgeLen. Set to -1 to disable.
nearDistance    4;

// Some cells on the surface of the selected cells might have all their
// points on the 'outside'. These would get flattened when projecting so
// are either kept and refined (selectHanging) or removed from the set
selectHanging  false;

//
// Refinement parameters
//

// Type of coordinate system
coordinateSystem global;
//coordinateSystem patchLocal;

// .. and its coefficients. x,y in this case. (normal = tan1^tan2)
globalCoeffs
{
    tan1 (1 0 0);
    tan2 (0 1 0);
}

patchLocalCoeffs
{
    patch outside;  // Normal direction is facenormal of zero'th face of patch
    tan1 (1 0 0);

}

// List of directions to refine
directions
(
    normal
    //tan1
    //tan2
);

// refinement level difference between neighbouring cells. Set to large if
// there is no need for a limit.
splitLevel      2;

// Cut purely geometric (will cut hexes through vertices) or take topology
// into account.
geometricCut    false;

// Whether to use hex topology. This will never cut hex through vertices.
useHexTopology  yes;

// Write meshes from intermediate steps
writeMesh      false;

// ************************************************************************* //



All times are GMT -4. The time now is 09:23.