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/)
-   -   [snappyHexMesh] Skewness between meshes (https://www.cfd-online.com/Forums/openfoam-meshing/234585-skewness-between-meshes.html)

CfdUser5855 March 11, 2021 08:45

Skewness between meshes
 
Hi All.

I am running a simulation at a number of resolutions.

I recently finished a simulation at 1.67m resolution, and I performed SHM on my 1.11m resolution mesh. I changed nothing between the two meshes, other than the resolution, using the same SHM file.

However my checkMesh failed for my 1.11m mesh, with 2 highly skew faces. Can anyone advise some things I can do to resolve this issue?

blockMesh
convertToMeters 1;

vertices
(
(0 518200 0)
(2150 518200 0)
(2150 519270 0)
(0 519270 0)
(0 518200 475)
(2150 518200 475)
(2150 519270 475)
(0 519270 475)
);

blocks
(
hex (0 1 2 3 4 5 6 7) (60 23 12) simpleGrading (1 1 1)
);

edges
(
);

boundary
(
outlet
{
type patch;
faces
(
(0 4 7 3)
(1 5 4 0)
);
}

inlet
{
type patch;
faces
(
(2 6 5 1)
( 3 7 6 2 )
);
}
NiliDuneField
{
type wall;
faces
(
(0 3 2 1)
);
}
top
{
type patch;
faces
(
(4 5 6 7)
);
}
);

mergePatchPairs
(
);



checkMesh for 1.11m Mesh (New Mesh)


Create time

Create polyMesh for time = 0

Time = 0

Mesh stats
points: 68319542
faces: 201907476
internal faces: 200248401
cells: 66829372
faces per cell: 6.01765
boundary patches: 4
point zones: 0
face zones: 0
cell zones: 0

Overall number of cells of each type:
hexahedra: 66195686
prisms: 52634
wedges: 0
pyramids: 0
tet wedges: 656
tetrahedra: 0
polyhedra: 580396
Breakdown of polyhedra by number of faces:
faces number of cells
4 67310
5 42735
6 23
7 9
8 20
9 470299

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
outlet 135735 138347 ok (non-closed singly connected)
inlet 109634 112272 ok (non-closed singly connected)
NiliDuneField 1412326 1483266 ok (non-closed singly connected)
top 1380 1464 ok (non-closed singly connected)

Checking geometry...
Overall domain bounding box (-0.165575 518200 110.385) (2150.13 519270 475)
Mesh has 3 geometric (non-empty/wedge) directions (1 1 1)
Mesh has 3 solution (non-empty) directions (1 1 1)
Boundary openness (-4.63163e-15 1.86167e-14 4.77665e-14) OK.
Max cell openness = 3.19778e-16 OK.
Max aspect ratio = 9.64119 OK.
Minimum face area = 0.00106. Maximum face area = 1861.39. Face area magnitudes OK.
Min volume = 0.139628. Max volume = 66704.6. Total volume = 7.88087e+08. Cell volumes OK.
Mesh non-orthogonality Max: 67.093 average: 2.93657
Non-orthogonality check OK.
Face pyramids OK.
***Max skewness = 129.482, 2 highly skew faces detected which may impair the quality of the results
<<Writing 2 skew faces to set skewFaces
Coupled point location match (average 0) OK.

Failed 1 mesh checks.

End


checkMesh for 1.67 mesh (old mesh)


Create polyMesh for time = 0

Time = 0

Mesh stats
points: 24845587
faces: 73183135
internal faces: 72432269
cells: 24188186
faces per cell: 6.0201
boundary patches: 4
point zones: 0
face zones: 0
cell zones: 0

Overall number of cells of each type:
hexahedra: 23893415
prisms: 29495
wedges: 0
pyramids: 0
tet wedges: 717
tetrahedra: 0
polyhedra: 264559
Breakdown of polyhedra by number of faces:
faces number of cells
4 36096
5 23980
6 13
7 5
8 11
9 204454

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
outlet 75438 77158 ok (non-closed singly connected)
inlet 60837 62588 ok (non-closed singly connected)
NiliDuneField 613991 652957 ok (non-closed singly connected)
top 600 656 ok (non-closed singly connected)

Checking geometry...
Overall domain bounding box (-0.0171676 518200 110.387) (2150.21 519270 475)
Mesh has 3 geometric (non-empty/wedge) directions (1 1 1)
Mesh has 3 solution (non-empty) directions (1 1 1)
Boundary openness (1.7106e-14 5.44651e-14 -9.90606e-13) OK.
Max cell openness = 3.16864e-16 OK.
Max aspect ratio = 9.87382 OK.
Minimum face area = 0.404792. Maximum face area = 3870. Face area magnitudes OK.
Min volume = 0.526893. Max volume = 183840. Total volume = 7.88086e+08. Cell volumes OK.
Mesh non-orthogonality Max: 62.9096 average: 3.78504
Non-orthogonality check OK.
Face pyramids OK.
Max skewness = 1.41668 OK.
Coupled point location match (average 0) OK.

Mesh OK.

End


If there's anyone who would be able to advise on how I can amend something like this, that would be greatly appreciated

AtoHM March 11, 2021 11:17

As you can see, very high skewness occurs at a location. The best way to fix is to visually check where the cells are. To do this, there are multiple ways. I always let snappy -writeAllFields (or something like that argument) to get fields with skewness, nonOrthoAngle, ... and other quality metrics. Then you can go to paraview and use the threshold filter to get the problematic cells. Make sure to go for the "cell data". The points data is not correct in my experience.
Another way is to write cellSets with the bad cells and convert them to VTK, which you can then see in Paraview as well.

Once you find the spot, try to understand what happens, maybe collapsing boundary layers, maybe bad refinement levels. In most cases it just helps to refine the region. This is specifically promising in your case: you only have one spot to fix. Good luck!

CfdUser5855 March 11, 2021 11:31

AtoHm,

Thanks very much for that response. I have done what you said, and found the points. They're both on the stl of the dunefield, about 400m apart on the surface.

There doesn't appear to be any reason that they would have done this, but what are some amendments I could make to my SHM to try and remedy this?

See below:

/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: 7
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object snappyHexMeshDict;
}

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

castellatedMesh true;
snap true;
addLayers true;

geometry
{
refinementBox
{
type searchableBox;
min (-140 518150 0);
max (2195 519320 190); //was 250
}

NiliDuneField
{
type triSurfaceMesh;
file "NiliDuneField1m.stl";
}
};

castellatedMeshControls
{

maxLocalCells 2000000000;

maxGlobalCells 2000000000;

minRefinementCells 1;

maxLoadUnbalance 0.10;

nCellsBetweenLevels 1;

features
(
//{
// file "someLine.eMesh";
// level 2;
//}
);

refinementSurfaces
{
NiliDuneField
{
level (0 0);
/*
regions
{
refinementBox
{
level (3 3);
}
}
*/

}
}

resolveFeatureAngle 5;

refinementRegions
{

refinementBox
{
mode inside;
levels ((5 5)); //4 4 or 6 6
}

// DuneField.stl
//{
// mode distance;
// levels ((1.0 5) (2.0 3));
//}
}

locationInMesh (0 518500 250);

allowFreeStandingZoneFaces true;
}



// Settings for the snapping.
snapControls
{
nSmoothPatch 3;

tolerance 2.0;

nSolveIter 30;

nRelaxIter 5;
}



// Settings for the layer addition.
addLayersControls
{
relativeSizes true;

layers
{
}

expansionRatio 1.0;

finalLayerThickness 0.3;

nGrow 0;

featureAngle 60;

nRelaxIter 5;

nSmoothSurfaceNormals 1;

nSmoothNormals 3;

nSmoothThickness 10;

maxFaceThicknessRatio 0.5;

maxThicknessToMedialRatio 0.3;

minMedianAxisAngle 90;

nBufferCellsNoExtrude 0;

nLayerIter 50;

nRelaxedIter 20;
}



meshQualityControls
{
maxBoundarySkewness 5;
maxInternalSkewness 1;

maxConcave 80;

minVol 1e-13;

minTetQuality 1e-30;
.
minArea -1;

minTwist 0.05;

minDeterminant 0.001;

minFaceWeight 0.05;

minVolRatio 0.01;

minTriangleTwist -1;

nSmoothScale 4;

errorReduction 0.75;

relaxed
{
//- Maximum non-orthogonality allowed. Set to 180 to disable.
maxNonOrtho 45;
}
}

mergeTolerance 1e-6;

AtoHM March 12, 2021 03:45

Some images of the spots and the mesh there would be helpful to improve your sHM-Dict. Without knowing whats happening there, its just guessing for me.


All times are GMT -4. The time now is 14:29.