CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Meshing & Mesh Conversion

[snappyHexMesh] SnappyHexMEsh Surface Refinement

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   August 29, 2011, 05:21
Default SnappyHexMEsh Surface Refinement
  #1
New Member
 
Levent Aymelek
Join Date: Aug 2011
Posts: 12
Rep Power: 14
laymelek is on a distinguished road
Hi all,

I am trying to mesh a domain using SnappyHexMesh. After meshing is succesfully completed i checked the mesh and some part of the surfaces are not refined althoug other did... i attach my snappyhexmeshdict and add a screenshot of the mesh. Does someone have any idea what can be the reason?


/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.7.1 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object snappyHexMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Which of the steps to run
castellatedMesh true;
snap false;
addLayers false;
 
 
geometry
{
simple.stl
{
convertToMeters 1;
type triSurfaceMesh;
name simple;
}
refinementBox
{
type searchableBox;
min (-50 -300 -300);
max ( 50 300 300);
}
};
 
 
// Settings for the castellatedMesh generation.
castellatedMeshControls
{
// Refinement parameters
// ~~~~~~~~~~~~~~~~~~~~~
maxLocalCells 1000000;
maxGlobalCells 2000000;
minRefinementCells 10;

maxLoadUnbalance 0.10;
 
nCellsBetweenLevels 3;
 
 
// Explicit feature edge refinement
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

features
(
//{
// file "someLine.eMesh";
// level 2;
//}
);
 
 
// Surface based refinement
// ~~~~~~~~~~~~~~~~~~~~~~~~
 
 
refinementSurfaces
{
simple
{
// Surface-wise min and max refinement level
level (5 6);
}
}
// Resolve sharp angles
resolveFeatureAngle 10;
 
// Region-wise refinement
// ~~~~~~~~~~~~~~~~~~~~~~

refinementRegions
{
refinementBox
{
mode inside;
levels ((3 2));
}
}
 
// Mesh selection
// ~~~~~~~~~~~~~~
locationInMesh (-50 -500 -500);
}
 
 
// Settings for the snapping.
snapControls
{

nSmoothPatch 3;

tolerance 4.0;
//- Number of mesh displacement relaxation iterations.
nSolveIter 30;
nRelaxIter 5;
}
 
 
// Settings for the layer addition.
addLayersControls
{

relativeSizes true;

layers
{
}
// Expansion factor for layer mesh
expansionRatio 1.0;

finalLayerThickness 0.3;
minThickness 0.1;

nGrow 1;
 
// Advanced settings

featureAngle 30;

nRelaxIter 3;
// Number of smoothing iterations of surface normals
nSmoothSurfaceNormals 1;
nSmoothNormals 3;
// Smooth layer thickness over surface patches
nSmoothThickness 10;
// Stop layer growth on highly warped cells
maxFaceThicknessRatio 0.5;
// Reduce layer growth where ratio thickness to medial
// distance is large
maxThicknessToMedialRatio 0.3;
// Angle used to pick up medial axis points
minMedianAxisAngle 130;
// Create buffer region for new layer terminations
nBufferCellsNoExtrude 0;
// Overall max number of layer addition iterations
nLayerIter 50;
}
 
 
meshQualityControls
{

maxNonOrtho 65;

maxBoundarySkewness 20;
maxInternalSkewness 4;
 
maxConcave 80;

minFlatness 0.5;

minVol 1e-13;
 
minArea -1;
 
minTwist 0.02;
//- minimum normalised cell determinant
//- 1 = hex, <= 0 = folded or flattened illegal cell
minDeterminant 0.001;
//- minFaceWeight (0 -> 0.5)
minFaceWeight 0.02;
//- minVolRatio (0 -> 1)
minVolRatio 0.01;
//must be >0 for Fluent compatibility
minTriangleTwist -1;
 
// Advanced
//- Number of error distribution iterations
nSmoothScale 4;
//- amount to scale back displacement at error points
errorReduction 0.75;
}
 
// Advanced
// Flags for optional output
// 0 : only write final meshes
// 1 : write intermediate meshes
// 2 : write volScalarField with cellLevel for postprocessing
// 4 : write current intersections as .obj files
debug 0;
 
mergeTolerance 1E-6;
 
// ************************************************** *********************** //
Attached Images
File Type: jpg ref_5_6.jpg (47.8 KB, 397 views)
laymelek is offline   Reply With Quote

Old   August 29, 2011, 05:29
Default
  #2
Senior Member
 
romant's Avatar
 
Roman Thiele
Join Date: Aug 2009
Location: Eindhoven, NL
Posts: 374
Rep Power: 20
romant is on a distinguished road
did you check that you didn't run into the problem of maximum reached cells? try changing the maximum cells you can have and/or reducing the level to which you refine around surfaces, say (3 4).
__________________
~roman
romant is offline   Reply With Quote

Old   August 29, 2011, 06:28
Default
  #3
New Member
 
Levent Aymelek
Join Date: Aug 2011
Posts: 12
Rep Power: 14
laymelek is on a distinguished road
Hi,
thanks for reply.
I checked the number of cells.. its around 700k. still under the limit. But thge strange thing happened.. i deleted all the time steps and meshed again it seems like its working now... but i dont understand i did it lots of times and it was always the same problematic mesh but know its meshing quite well.....

Thanks a lot!
laymelek is offline   Reply With Quote

Old   August 29, 2011, 06:32
Default
  #4
Senior Member
 
romant's Avatar
 
Roman Thiele
Join Date: Aug 2009
Location: Eindhoven, NL
Posts: 374
Rep Power: 20
romant is on a distinguished road
Quote:
Originally Posted by laymelek View Post
Hi,
thanks for reply.
I checked the number of cells.. its around 700k. still under the limit. But thge strange thing happened.. i deleted all the time steps and meshed again it seems like its working now... but i dont understand i did it lots of times and it was always the same problematic mesh but know its meshing quite well.....

Thanks a lot!
the limit that is hit is not the limit after the cells are taken out, but before. meaning that if you have about 700k cells now, there could have been a much larger number before the cells, that you don't need, were removed .
__________________
~roman
romant is offline   Reply With Quote

Old   August 29, 2011, 07:05
Default
  #5
New Member
 
Levent Aymelek
Join Date: Aug 2011
Posts: 12
Rep Power: 14
laymelek is on a distinguished road
OK! Now its great info... i will check again. Thanks a lot
laymelek is offline   Reply With Quote

Old   August 29, 2011, 09:46
Default addLayers
  #6
Senior Member
 
Jon Elvar Wallevik
Join Date: Nov 2010
Location: Reykjavik, ICELAND
Posts: 103
Rep Power: 19
JonW will become famous soon enough
Hi laymelek
I would also recommend that you have

snap true;
addLayers true;

with the latter you have to have

layers
{
simple
{
nSurfaceLayers 3;
}
}

the number 3 is just an example (I usually use this). Note that the name simple in the above might have to be changed, depending on the name of solid in the stl file is.

For example if the designation is "solid voff_2" (edit the stl file and you see this in the first line) and the name of the .stl file is simple.stl, then use

layers
{
simple_voff_2
...


And final comment. Often, my simulation have crashed when using snappy. To solve this is to have small cells in vicinity of wall to handle large grad(U). This means large refinement at surface, say 4 to 5.

Hope this helps
JonW is offline   Reply With Quote

Old   August 29, 2011, 09:56
Default
  #7
Member
 
Join Date: Nov 2009
Location: Germany
Posts: 96
Rep Power: 16
val46 is on a distinguished road
Hi,

Quote:
Originally Posted by JonW View Post
And final comment. Often, my simulation have crashed when using snappy. To solve this is to have small cells in vicinity of wall to handle large grad(U). This means large refinement at surface, say 4 to 5.
Well, surface refinement 4 to 5 says nothing about how fine the mesh is. Have you looked at the yplus values? Maybe you could correlate the yplus values with the crashed simulation? This would be very interesting to me.
__________________
"When I meet God, I am going to ask him two questions: Why relativity? And why turbulence? I really believe he will have an answer for the first." Werner Heisenberg
val46 is offline   Reply With Quote

Old   August 29, 2011, 10:08
Default
  #8
Senior Member
 
Jon Elvar Wallevik
Join Date: Nov 2010
Location: Reykjavik, ICELAND
Posts: 103
Rep Power: 19
JonW will become famous soon enough
Quote:
Originally Posted by val46 View Post
Hi,



Well, surface refinement 4 to 5 says nothing about how fine the mesh is. Have you looked at the yplus values? Maybe you could correlate the yplus values with the crashed simulation? This would be very interesting to me.
Sorry, I am not using turbulence modeling. My theme is usually non Newt fluid mech, like the HB modell.
JonW is offline   Reply With Quote

Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
decomposePar problem: Cell 0contains face labels out of range vaina74 OpenFOAM Pre-Processing 37 July 20, 2020 06:38
[snappyHexMesh] snappyHexMesh Parallel bad size error andrewpomeroy OpenFOAM Meshing & Mesh Conversion 2 April 2, 2018 02:08
[snappyHexMesh] creating baffles using snappyHexMesh (for given random shaped surfaces) ashish.svm OpenFOAM Meshing & Mesh Conversion 1 January 17, 2018 02:24
[snappyHexMesh] Removing further cells after SHM zonda OpenFOAM Meshing & Mesh Conversion 14 September 15, 2017 08:50
[snappyHexMesh] How to create internal boundaries using snappyHexMesh robyTKD OpenFOAM Meshing & Mesh Conversion 2 October 19, 2014 10:57


All times are GMT -4. The time now is 06:56.