Multi Region Meshing
I use OpenFOAM v1.6 snappyHexMesh. I practiced tutorial "snappyMultiRegionHeater" for multi region meshing.
I am doing a simple testcase for flow inside a pipe, where i have inlet region , porous region & then outlet region.
I want to keep above regions in different cellZones after snappy mesh for porous medium simulations , so my input stl files are three completely closed volumes for inlet , porous & outlet as the tutorial case !!
I reused snappyHexMeshDict file from tutorial and modified as my needs. After snappyHexMesh i can still see a brick of mesh as input blockMesh.
- I have no holes in the geometry since it is very simple geometry !
- there could be settings mistake in snappyHexMeshDict
- or bug in snappyHexMesh ?
please note, tutorial case has the same problem ! sounds bug !!
I have attached case file, pipe_snappy.tgz
I actually have the problem in SnappyHexMesh with multiple regions. In my models exactly the same occurs:
SnappyHexMesh doesn’t remove the outer cells. It keeps all cells (“location in mesh” seems to obsolete). I wonder if this a restriction or a bug. If it is a restriction, the multi region approach doesn’t make sense from my point of view, because the blockMesh mesh has to resolve already the final grid topology.
If you didn’t find a solution, I think it makes sense to post this as bug in the bug section.
I didn't look at the zip, but I have found from my experience that if you do not add a refinement box then use it in refinement regions, you'll get that problem. I always put a box between the blockmesh (calculation domain) and the surface (STL file). Hope this helps.
I'm no longer working on the posted case.
Dear Bruce, dear James,
thanks for your replies. James I tried your block refinement but this didn’t work as well. Did you use something else? I would be very happy to see a very simple snappy multi region case with really “snapped” outer contour.
For me it still seems to be a bug or a very strong restriction of snappyHexMehs for multi-regions.
I performed the following simple test: From the original example of the multi region heater I extended the dimension of the blockmesh bounds like this:
originial case 1
(-0.1 -0.04 -0.05)
( 0.1 -0.04 -0.05)
( 0.1 0.04 -0.05)
(-0.1 0.04 -0.05)
(-0.1 -0.04 0.05)
( 0.1 -0.04 0.05)
( 0.1 0.04 0.05)
(-0.1 0.04 0.05)
scaled vertices case 2
(-0.15 -0.045 -0.055)
( 0.15 -0.045 -0.055)
( 0.15 0.045 -0.055)
(-0.15 0.045 -0.055)
(-0.15 -0.045 0.055)
( 0.15 -0.045 0.055)
( 0.15 0.045 0.055)
(-0.15 0.045 0.055)
Nothing else is changed. What I would expect is, that snappyHexMesh finds the outer contour of the stl geometry and removes the cells outside. But this didn’t take place. The cells in the extended domain are kept (see the two images below of the correct original cases and the block mesh extension). So the multi region approach of snappyHexMesh can only work in block mesh like geometries…
Thanks for your help!!!
Have you tried to remove the regions that you do not need any more? Here i mean, manually delete outer extended cells , see the tutorial case for example.
subSetMesh only that you need.
thank you really very much.
This solved the problem of the outside cells.
Just a final question: Did you find a solution to construct the patches from defined faces in the stl-data in the multi region shm-meshing? I have the following problem: In my stl-data I have several faces e.g. which are related to walls, inlets, outlets etc. I separated them in the “region” sub-command for shm.
Now, when snappyHex Mesh generated the mesh, I’m not able to find the faces e.g. face-3 again. I can find the complete region (e.g. closed fluid zone or porous zone as cells in the cell zone and complete boundary of the region in the face zone) but I can not find the separated faces any more, which are defined in the stl-data.
I seems transferring of cells and faces (faceZone and cellZone) to zones works only in closed regions and single faces can not be transfered in a face zone:
level (2 2);
I tried a lot to solve this problems (e.g. separating the stl-file in a number of files, one of each face I would like to find later). But this didn’t work also. I a single region mesh, this works quite easy: The outer boundaries of the blockMesh (e.g. Xmin, Xmax...) are snapped to stl-faces and the blockMesh boundaries don't exist any more. But in the multi region snappyHexMesh case I didn’t find a way to get this. Did you find a way to reconstruct single faces (e.g. for boundary patches) defined in stl-data in a mulit- region snappy-meshing case?
Thanks a lot!
Hm I ve the same problem, created defined patches from stl with snappyhexmesh, seems to be killed by faceZone e.g.:
level (4 4);
If you outcomment faceZone, the boundaries are created correctly and can be found under polymesh/boundary, but with faceZone the defined stl-patch gets no faces.
Any hints to solve the problem?
I have a similar problem. I'm working with a large complex geometry and sHM creates many regions "domain*", that only raise computation time.
So, could you please tell me how to exclude these regions from the others?
I believe you already resolved issue with multidomain meshing. I have successfully done with multidomain meshing using OpenFOAM-2.0.1 version. This version is giving good quality also.
Removing Domain* regions in MultiRegionMesh ( SnappyHexMesh + chtMultiRegionFo
I am working with MultiRegionMesh ( SnappyHexMesh from the chtMultiRegionFoam)... I have created the mesh and everything is working fine.. I have Domain* regions in places where I have not defined with .stl files.
As I understand, there is no other way to work around SHM without creating these domain* regions.
But i wanted to ask. if it is possible to remove any domains regions. with command.
Will the patches that connect to the domain still work if the domain* are deleted.
How to proceed further.
Thanks & Regards
Are you saying there is a separate utility for using snappyHexMesh with multiple regions? (MultiRegionMesh?) Maybe I've misunderstood.
I have been trying to use snappyHexMesh to mesh some simple geometry with two regions. For some reason snappyHexMesh and splitMeshRegions only identify one of the two regions, and include the other region in the "domain0" region (which also includes the volume of my blockMesh not defined by any .stl files).
My first thought was that I had a hole in the volume defined by my .stl file for the region that isn't being recognized, but the geometry is very simple and I have double checked it.
Also, I tried switching the names of the .stl files so that the opposite volume would be assigned to each region name. This time the opposite volume is recognized, but the original volume is not, from which I concluded that the problem is not with my .stl files.
Can anyone help me figure out what's going on?
|All times are GMT -4. The time now is 15:01.|