|
[Sponsors] |
[mesh manipulation] Remove internal patch(es) |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
January 19, 2011, 08:42 |
Remove internal patch(es)
|
#1 |
Member
Stefan
Join Date: Jan 2010
Location: Kiel, Germany
Posts: 81
Rep Power: 16 |
Dear FOAMers,
after searching the whole morning for an appropriate way to delete internal patches within this forum, i've decided to open a new thread according to this! After chaining several grids together via mergeMeshes w/o stitchMesh, the associated interfaces will be left in the polyMesh description (e.g. boundary file). What would be the smartest procedure to remove them (just deleting the patches in the ./constant/polyMesh/boundary file isn't a good idea)? They aren't needed anymore, hence i don't want to specify a boundary condition for these internal patches! Thanks in advance for helpful hints! /Stefan |
|
January 19, 2011, 11:46 |
|
#2 |
Senior Member
Steven van Haren
Join Date: Aug 2010
Location: The Netherlands
Posts: 149
Rep Power: 16 |
Just deleting is not a good idea. Just use stitchMesh.
After using stitchMesh you will see the boundaries are still present in the boundary file bu they will contain 0 faces. You can just delete them from this file in this case (don't forget to change the number of boundaries at the top of the boundary file). |
|
January 20, 2011, 08:16 |
|
#3 |
Member
Stefan
Join Date: Jan 2010
Location: Kiel, Germany
Posts: 81
Rep Power: 16 |
Thanks Steven,
but what about the following issue? When joining two grids where the connecting interface is named equally, mergeMeshes will leave this interface in the boundary file. It is obvious that this patch will consist of several faces, points, etc. In this case stitchMesh will not work, because the need of <masterPatch> and <slavePatch>. Selecting this interface for master and slave will cause an error: Code:
--> FOAM FATAL ERROR: Zero length edge detected. Probable projection error: slave patch probably does project onto master. /Stefan BTW: I am using version 1.7.x ! |
|
January 20, 2011, 08:36 |
|
#4 |
Senior Member
Steven van Haren
Join Date: Aug 2010
Location: The Netherlands
Posts: 149
Rep Power: 16 |
I also had this problem.
I don't fully remember how I fixed it. I know I manually changed the names of the boundaries to not have two boundaries with the same name. I think I did this before using mergeMeshes but I am not fully sure. But I suggest you try this. |
|
January 20, 2011, 19:44 |
|
#5 |
New Member
|
Well, its possible.
I would prefer stitchMesh, just because of the fact that mergeMeshes would also make one zone out of two which is sometimes not desired.. Remember a few things: 1. Before you "stitchMesh", move all the *Zones files to bak 2. After you have done "stitchMesh" successfully, a faceZone should appear with a name combination of the parts you have stitched. However, these bounday names still exist in the "boundary" file which need to be removed manually. 2. A new cellZone will be created, which you can conveniently ignore. Move cellZones.bak to cellZones so that you still have the different zone info intact in your mesh. 4. Run "checkMesh" once to ascertain that you followed all the steps correct ! Write back if you still see any issues...I hope I haven't missed anything in this regard. |
|
January 21, 2011, 11:53 |
|
#6 |
Member
Stefan
Join Date: Jan 2010
Location: Kiel, Germany
Posts: 81
Rep Power: 16 |
Terminating, stitchMesh plus removing the empty patches afterwards in the boundary file by hand seems to be the only way at the very least. The connecting interfaces from different grids have to be named differently! Thats a bit inconvenient. Maybe in future mergeMeshes would get an additionally option that simplify merging several grids.
/Stefan |
|
January 21, 2011, 13:42 |
|
#7 |
New Member
|
Okay, I understand your problem. You can rename these interfaces in the boundary file itself, i.e. you need not go back to the mesher to be changed in the native format.
|
|
October 4, 2011, 23:05 |
|
#8 | |
Member
HD
Join Date: Jul 2011
Posts: 56
Rep Power: 15 |
Hi Stefan,
I am also trying to use stitchMesh to remove internal faces. I used extrudeMesh first, then merged the extruded and original meshes. And now I need to remove the generated internal patches. But I keep getting the error message saying that 'Duplicate point found in cut face'. I wonder how you used this utility. Any comment and suggestion is appreciated. Thank you! Quote:
|
||
October 9, 2011, 07:09 |
|
#9 |
Member
Stefan
Join Date: Jan 2010
Location: Kiel, Germany
Posts: 81
Rep Power: 16 |
Hi Rebecca,
Did you use stitchMesh -perfect flag? I guess not from your posted error message... You can use attachMesh for deleting internal faces after stitching (see if a file meshModifiers exist within constant/polyMesh directory. Hope that helps! Stefan |
|
October 10, 2011, 12:41 |
|
#10 |
Member
HD
Join Date: Jul 2011
Posts: 56
Rep Power: 15 |
Hi Stefan,
Thank you for your reply. Yes I tried -perfect flag, then it works OK. Also, thank you for the suggestion on using attachMesh~But at this stage, it seems that after stitchMesh the faces become empty, and I could manually delete them. Best, |
|
March 2, 2012, 15:10 |
|
#11 | |
Senior Member
Attesz
Join Date: Mar 2009
Location: Munich
Posts: 368
Rep Power: 17 |
Hi all,
I've problems with stitchMesh. I have 3 domains, with duplicate interfaces but the mesh points are coincident. When I want to stitch the interfaces using the -perfect option, i'm getting the following error message: Quote:
Best, Attila |
||
March 23, 2012, 02:34 |
|
#12 |
Member
Elh. A2. BAH
Join Date: Jan 2012
Posts: 64
Rep Power: 14 |
Hello Attila,
I have a similar problem with pimpleDyMFoam. ------------------------------------- --> FOAM FATAL ERROR: Problem : Patch AMI1 starts at 1756182 Current face counter at 213326 Are patches in incremental order? From function polyTopoChange:olyTopoChange(const polyMesh& mesh, const bool strict) in file polyTopoChange/polyTopoChange/polyTopoChange.C at line 2459. FOAM aborting -------------------------- were you able to solve this problem? Thanks for you help. |
|
March 23, 2012, 04:30 |
|
#13 |
Member
Elh. A2. BAH
Join Date: Jan 2012
Posts: 64
Rep Power: 14 |
Hello everyone,
I think my problem is coming from the fact that snappyHexMesh is creating patches with nFaces=0 as below: ----------------- blenderBlades { type wall; nFaces 0; startFace 211046; } blenderAMI { type wall; nFaces 0; startFace 211046; } ----------------------------- can someone help with this issue? Thank in advance; any help is greatly appreciated. |
|
March 23, 2012, 10:47 |
|
#14 |
Senior Member
Attesz
Join Date: Mar 2009
Location: Munich
Posts: 368
Rep Power: 17 |
Hi I generated the mesh in ICEM CFD, using 1 common face as internal patch. Then, I exported the stator and rotor parts separately. After that I used the fluent3DMeshToFoam app to convert it to OF format, and then I did mergeMeshes to put them together. Now it works fine. You need two patches at the same position, or you should cut your mesh there. Also it is possible for you to generate your mesh separately with snappy and then merge them.
|
|
May 17, 2012, 12:49 |
|
#15 |
Senior Member
|
ebah6:
If you are running your case based on a modification of the propeller tutorial, you need to adjust the starting faces for both AMI faces of the boundary file prior to running createBaffles. This is mandatory and unfortunately not taken care of by the tutorial, which will thus only work for the specific mesh given. You can automate this process by running a command right before changeDictionary. Or if you use snappyHexMesh in a similar fashion than in the tutorial, automate the process by modifying the Allrun.pre file as follows, Code:
# - create the inlet/outlet patches runApplication createPatch -overwrite # - fix the startFace value in changeDictionaryDict AMI_startFace=`cat log.snappyHexMesh|grep "Snapped mesh"|sed s/^.*faces://|sed s/" points.*$"//` sed -i s/"startFace 0;"/"startFace $AMI_startFace;"/g system/changeDictionaryDict # - create the AMI faces by creating baffles, and then splitting the mesh runApplication changeDictionary -Louis Last edited by louisgag; May 17, 2012 at 17:59. |
|
May 17, 2012, 16:01 |
|
#16 |
Member
Elh. A2. BAH
Join Date: Jan 2012
Posts: 64
Rep Power: 14 |
Thanks Louis.
|
|
January 31, 2018, 17:43 |
|
#17 |
New Member
Sam
Join Date: Nov 2017
Posts: 24
Rep Power: 8 |
Dear foamers,
I am performing a fluid structure interaction problem in a porous media from McT images which consists of both the solid and fluid domains. Where the solid is just an inversion of the fluid domain. I'm trying to mesh objects based on stl files by using snappyHexMesh as follows: 1. blockMesh operation 2. snappyHexMesh operation 3. SplitMeshRegions -cellZones -overwrite Unfortunately some fragments form. I can't delete the fragments because they help ensure conformity at the interface. Otherwise I'll be having a "Master point Addressing" problem. You can find my preProcessing case file here https://yadi.sk/d/yXwpAv8_3Ry3W7 If you observe in the FLUID "boundary" file I'm supposed to just have the inlet, outlet, wall and interface conditions but there is an extra patch represents the fragments named "Out" Code:
5 ( Out { type patch; nFaces 322; startFace 1101291; } inlet { type patch; nFaces 8889; startFace 1101613; } outlet { type wall; inGroups 1(wall); nFaces 6859; startFace 1110502; } wall { type wall; inGroups 1(wall); nFaces 23046; startFace 1117361; } domain0_to_SOLID { type mappedWall; inGroups 1(wall); nFaces 148834; startFace 1140407; sampleMode nearestPatchFace; sampleRegion SOLID; samplePatch SOLID_to_domain0; } ) I've tried to stitch those fragments using both stitchMesh and stitchMesh -partial, but none seemed to be working. Please can anyone help or show me another method to achieve this? Thanks Samuel Last edited by anufagbemi; January 31, 2018 at 20:16. |
|
June 20, 2019, 14:05 |
|
#18 |
New Member
Varun Gadre
Join Date: Jun 2019
Posts: 2
Rep Power: 0 |
Dear Attesz,
Can you please explain how did you renumber the faces ? Thank you Varun Last edited by VarunG; June 20, 2019 at 14:07. Reason: Did not mention name |
|
Tags |
interface, internal, patch, remove |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Cyclic boundary condition on SALOME mesh | kandelabr | OpenFOAM Pre-Processing | 17 | March 8, 2024 05:14 |
[snappyHexMesh] Error snappyhexmesh - Multiple outside loops | avinashjagdale | OpenFOAM Meshing & Mesh Conversion | 53 | March 8, 2019 10:42 |
[snappyHexMesh] On which patches to set BC's for snappyHexMesh ? | Talder | OpenFOAM Meshing & Mesh Conversion | 0 | November 8, 2015 19:25 |
Regarding periodic BC in ICEM generated grid | Tarak | OpenFOAM | 32 | April 30, 2013 15:46 |
Internal Patches : Which boundary conditions? | Gearb0x | OpenFOAM Running, Solving & CFD | 4 | April 21, 2010 15:26 |