CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Native Meshers: snappyHexMesh and Others (http://www.cfd-online.com/Forums/openfoam-meshing-snappyhexmesh/)
-   -   Multi Region Meshing (http://www.cfd-online.com/Forums/openfoam-meshing-snappyhexmesh/67495-multi-region-meshing.html)

bruce August 17, 2009 07:13

Multi Region Meshing
 
1 Attachment(s)
Hi All,

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
Thanks

stawrogin December 21, 2009 07:49

Hi Bruce,
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.
Best regards
Stawrogin

fijinx December 24, 2009 03:49

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.

--James

bruce December 27, 2009 10:04

hello Stawrogin

I'm no longer working on the posted case.



stawrogin January 8, 2010 11:31

2 Attachment(s)
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
vertices
(
(-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

vertices
(
(-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…


Any ideas?
Thanks for your help!!!
Stawrogin

bruce January 18, 2010 07:32

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.

stawrogin January 27, 2010 05:26

Hi Bruce,

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.
geometry
{
shm_reg_12.stl
{
type triSurfaceMesh;
regions
{
face-3
{
name face-3;
}
….
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:
shm_reg_12.stl
{
level (2 2);
faceZone shm_reg_12;
cellZone shm_reg_12;
zoneInside true;
}
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!
Best regards
Stawrogin

suitup February 16, 2010 14:07

Hm I ve the same problem, created defined patches from stl with snappyhexmesh, seems to be killed by faceZone e.g.:
test
{
level (4 4);

faceZone test;
cellZone test;
zoneInside true;
}

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.

{
type wall;
nFaces 0;
startFace 371855;
}


Any hints to solve the problem?

marango September 8, 2011 03:58

Hi everybody,

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?

Thanks.:)

prasanth November 22, 2011 13:45

Multidomain Meshing
 
Quote:

Originally Posted by bruce (Post 226562)
Hi All,

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
Thanks



Hello Bruce,

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.

Regards
Prasanth.

unnikrsn August 3, 2012 02:21

Removing Domain* regions in MultiRegionMesh ( SnappyHexMesh + chtMultiRegionFo
 
Dear Foamers,

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
Unnikrishnan.

sampvb July 31, 2013 09:48

MultiRegionMeshing
 
Hi Unnikrishnan,

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?

sampvb July 31, 2013 10:09

Quote:

Originally Posted by sampvb (Post 443066)
Hi Unnikrishnan,

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?

Sorry, I solved the issue. I had forgotten to include the region under "refinementSurfaces" in snappyHexMeshDict


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