|
[Sponsors] |
March 3, 2014, 05:04 |
foamyHexMesh boundary layers
|
#1 |
Member
Pekka Pasanen
Join Date: Feb 2012
Location: Finland
Posts: 87
Rep Power: 14 |
Hello everyone, I'm sure some of you have also started to play around with the new meshing utility foamyHexMesh. Since the documentation of this new tool is somewhat let's say vague, I thought I'd share what I have found out about it so far.
The first thing I noticed when running the tutorials that the meshes created with foamyHexMesh were not as nice as the meshes in the announcement pictures, because there were "holes" in the surface. I played around with the settings and noticed that I can get rid of the holes is I tune the following parameter in the file system/collapseDict: Code:
collapseFacesCoeffs { // The initial face length factor initialFaceLengthFactor 0.2 // changed from the default 0.5; Anyway, I'm currently trying to create a viscous boundary layer for my test case, which is a simple cylinder representing a small piece of pipe. So far I've managed to create boundary layer which is one cell size thick, by setting the parameter surfaceCellSizeCoeff in the file system/foamyHexMeshDict: Code:
shapeControlFunctions { blob { type searchableSurfaceControl; priority 1; mode bothSides; surfaceCellSizeFunction uniformValue; uniformValueCoeffs { surfaceCellSizeCoeff 0.5; //first surface layer cell size (relative) cellSizeFunction surfaceOffsetLinearDistance; surfaceOffsetLinearDistanceCoeffs { distanceCellSizeCoeff 10; //ratio between surface and far field? surfaceOffsetCoeff 5; //distance from the surface? linearDistanceCoeff 5; //distance from the surface? } } Also, where is the utility foamyHexMeshBackGroundMesh? There seems to be source code and documentation for it, but it doesn't get compiled. I'm using the latest git 2.3.x. I'm guessing this utility is needed in order to run foamyHexMesh in parallel, so it's kind of important. I'm inviting people to share their knowledge of this new promising meshing tool, because there is no documentation for majority of the parameters. I must say the method of foamyHexMesh mesh creation seems ingenious and I'm really looking forward to using it in real cases The mesh it creates for the test case seems nice apart from the missing boundary layers. PS: Does anyone know the meaning of these in the file system/foamyHexMeshDict: Code:
backgroundMeshDecomposition { minLevels 0; sampleResolution 4; spanScale 20; maxCellWeightCoeff 20; } Last edited by zordiack; March 3, 2014 at 05:53. Reason: added another picture |
|
March 3, 2014, 06:09 |
|
#2 |
Member
Pekka Pasanen
Join Date: Feb 2012
Location: Finland
Posts: 87
Rep Power: 14 |
And just now I found these.. I'll post a solution to create boundary layers if I manage to find one.
EDIT, no additional information about the use of surface cellSizeFunctions :/ https://github.com/OpenFOAM/OpenFOAM...amyHexMeshDict https://github.com/OpenFOAM/OpenFOAM...s/collapseDict |
|
March 6, 2014, 09:57 |
|
#3 |
New Member
Zeliang Xu
Join Date: Apr 2013
Posts: 5
Rep Power: 13 |
Hi Pekka,
Thank you for sharing your experience with foamyHexMesh. I am also new to this new meshing utility and I have been playing around with it. The thing that bothers me the most right now is how does it generate background mesh around geometry? I see there is blockMeshDict file defined, but I do not see where it is displayed, cause the result from meshing is only the geometry surface. Currently I am trying to do something similar to mixerVessel case to build a bounding box to my ship hull, and I am not sure if this is the right thing to do. Do you have any idea how this can be done? Any idea will be appreciated. Thank you very much! Zeliang |
|
March 7, 2014, 05:00 |
|
#4 |
New Member
Quentin Coispeau
Join Date: Nov 2013
Posts: 17
Rep Power: 13 |
Hi douglasx,
foamyHexMesh only mesh closed geometry "The main limitation of foamyHexMesh, particularly compared to snappyHexMesh, is that it is a requirement that surface geometry is perfectly closed" on the 2.3.0 release, s you need to construc your block outside. You will find some piece of information here on how to do it with blender. |
|
March 7, 2014, 09:41 |
|
#5 |
Member
Pekka Pasanen
Join Date: Feb 2012
Location: Finland
Posts: 87
Rep Power: 14 |
Well, the I think the background mesh should be constructed using the application foamyHexMeshBackgroundMesh, which is not ready yet. I've filed a bug report about it here. It's intentionally commented out in the makefile, so I'm guessing it's not quite ready yet. The tutorials have background meshes already in place and that's why they are working in parallel.
Regarding the first post I made, I did some test runs with the meshes and I have to say they didn't quite work. There are some bad polygons in the mesh and if I leave the "holes" they generate errors in the flow field so they really are holes in the mesh and not just errors in ParaView, even pushing initialFaceLengthFactor to 0.1 didn't solve all the problems. As for the boundary layer problem, I haven't figured out a way to generate refinement only in the wall normal direction with foamyHexMesh. Refinement in all directions is possible though. Boundary layers could be generated with refineWallLayer, but I'm sceptical about it's abilities with difficult geometries. I guess we all have to wait for better documentation and improvements, I still think that foamyHexMesh is going to kick ass in the future |
|
March 7, 2014, 10:07 |
|
#6 |
New Member
Zeliang Xu
Join Date: Apr 2013
Posts: 5
Rep Power: 13 |
Hi Quentin,
Thank you very much for your kind reply. Yes now I am using a box geometry to bound my ship hull and the meshing part works, but the mesh quality is not very high. I guess I will need to look more into the mesh quality controls to try to improve the quality. Zeliang |
|
March 7, 2014, 10:18 |
|
#7 |
New Member
Zeliang Xu
Join Date: Apr 2013
Posts: 5
Rep Power: 13 |
Hi Pekka,
Thank you for the reply. I was also wondering what openfoam is doing with foamyHexMeshBackgroundMesh because it is not even visible in paraview and changing blockMeshDict does not seem to change anything. I also believe foamyHexMesh is really promising yet we will have to wait for it to be completed. Zeliang |
|
March 7, 2014, 10:28 |
|
#8 |
New Member
Quentin Coispeau
Join Date: Nov 2013
Posts: 17
Rep Power: 13 |
I'm also working on ship hull and begin to get reasonnably good result with snappyHexMesh, except for the boundary layer part in which i'm still working (but makig progress). The main problem i encounter is that for water the first cell height should be very thin even for y+ = 30+ (10^-5 to 10^-4 m) and Snappy don't like that. I just gave a small look at foamyHexMesh and I find nothing which would be a boundary layer subdict.
the utility refineWallBoundary give me a very good visually result but create strongly non-ortho cells ( up to 179 ) from an original mesh with maxOrtho = 65, and I'm trying to smooth the mesh created with refineWallBoundary (presently by running again the snapping part of snappyHexMesh) but maybe there is an other utility made to "clean" a mesh" ? |
|
March 11, 2014, 17:20 |
|
#9 |
Member
laurentL
Join Date: Oct 2011
Location: new caledonia
Posts: 73
Rep Power: 15 |
Hi Foamers,
could it be that Boundary layers are not need anymore??? @quentin, i found that BL with SHM are not add were the surface .stl are not smooth enough , for example, if very small long triangles (quality close to 0),make big angle >120deg . the application surfaceFeatureExtract detect them... so i try to use surfaceClean but it crash often (triangle equilateral quality=1) i would like to make stl file like the DTCHull in multiphase/LTSInterFoam tutorial. hope this help LL |
|
September 23, 2014, 15:30 |
|
#10 |
Member
Pekka Pasanen
Join Date: Feb 2012
Location: Finland
Posts: 87
Rep Power: 14 |
If someone comes across this thread, this is the most complete reference to the options I've found this far:
https://github.com/OpenFOAM/OpenFOAM...amyHexMeshDict |
|
March 3, 2016, 07:09 |
Mesh a .stl file using foamyHexMesh
|
#11 |
New Member
Subhasree
Join Date: Mar 2014
Location: IIT Bombay, India
Posts: 25
Rep Power: 12 |
Hi everyone!,
I am a beginner in openFOAM, and have used snappyHexMesh to create hex dominant mesh around a .stl file. Although the mesh looks better now after a lot of modifications but I am unable to improve its skewed cells. I came across foamyHexMesh and would like to use it for meshing my current model...Just to check out if it can solve my previous problem. I started foamyHexMesh by flange and blob tutorial and then mixer vessel. But the surfaceFeactureExtract is not working properly for all the .stl file in mixer vessel. Am getting this error: Feature line extraction is only valid on closed manifold surfaces. --> FOAM FATAL ERROR: Cannnot read "/home/subhasree/OpenFOAM/OpenFOAM-2.4.0/tutorials/mesh/foamyHexMesh/mixerVessel/constant/triSurface/spargerInlet.stl" From function triSurface::read(const fileName&, const word&, const bool) in file triSurface/triSurface.C at line 372. FOAM exiting The flange and blob tutorial problems are also having snappyHexMesh file..Can anyone tell me why is that required? what is the requirement of blockMeshDict file in flange and blob tutorial, since it is doing surface mesh. I could not find any documentation for this mesh utility, thus it would be really helpful if somebody can suggest how may I proceed... Thanks!!! |
|
January 15, 2018, 10:45 |
foamyHexMesh refinement
|
#12 |
Member
Join Date: Oct 2017
Posts: 52
Rep Power: 9 |
Hello Foamers
I am working on Darcy-Brinkman Model for porous media.I have prepared my mesh using foamyHexMesh utility. I am having trouble in refining the mesh mesh size for my case file. can anyone suggest ways of doing it. thanks in Advance.... |
|
August 7, 2019, 17:42 |
|
#13 |
New Member
Gavin Ridley
Join Date: Jan 2019
Location: Tennessee, USA
Posts: 25
Rep Power: 7 |
Hi, I'm wondering if anyone on here has had luck with getting foamyHexMesh to work over these four years? The lack of documentation is irritating, also, it seems to segfault quite easily if input parameters aren't set up how it likes, even in OpenFOAM-7.
It seems like a fantastic tool if it were easier to understand! |
|
August 20, 2019, 03:18 |
|
#14 | |
Member
Pekka Pasanen
Join Date: Feb 2012
Location: Finland
Posts: 87
Rep Power: 14 |
Quote:
I've been checking on the commits occasionally, but the lack of wall normal boundary layer refinement has still put me off using it seriously. As far as I understand, it's still not possible to create boundary layers with foamyHexMesh (at least not in the traditional sence). Yes, one can refine the mesh in all directions at the wall, but this is not practical in real life meshes. And the lack of documentation is kind of bad, although source code is much better commented now than it used to be so there are quite many hints in there. I'm also kind of waiting and hoping that there would be more development into foamyHexMesh, but we'll have to wait and see since OpenFOAM financing seems to be hard as it is :/ BR, Pekka P. |
||
January 2, 2020, 12:55 |
|
#15 | |
New Member
Per Jørgensen
Join Date: Mar 2012
Posts: 20
Rep Power: 14 |
Quote:
You can add the boundary layers with snappyHexMesh using castellatedMesh false; snap false; addLayers true; mesh.jpg I am struggling with the same problem you had with holes in the mesh. I traced the problem to the collapseEdges -collapseFaces step. How did you solve it? I am in Denmark - could it be a regional setting? Best regards, Per |
||
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
3D Windturbine simulation in SU2 | k.vimalakanthan | SU2 | 15 | October 12, 2023 06:53 |
Multiphase flow - incorrect velocity on inlet | Mike_Tom | CFX | 6 | September 29, 2016 02:27 |
Error - Solar absorber - Solar Thermal Radiation | MichaelK | CFX | 12 | September 1, 2016 06:15 |
RPM in Wind Turbine | Pankaj | CFX | 9 | November 23, 2009 05:05 |
Convective Heat Transfer - Heat Exchanger | Mark | CFX | 6 | November 15, 2004 16:55 |