|
[Sponsors] |
Getting prism to inflate into mixed tet-hex meshes |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
September 19, 2006, 09:46 |
Getting prism to inflate into mixed tet-hex meshes
|
#1 |
Guest
Posts: n/a
|
Hi all,
Like many of you I use mixed tet-hex-prism meshes to most efficiently mesh complex geometries. The procedure I typically use is: Create tet meshes in complex areas Create hex meshes in less complex areas Make meshes node conformal Create prism layers to resolve boundary layer with Prism. The problem I am having at the moment is that I'm getting very little penetration of inflated prisms into the hex mesh regions while the inflation into the tet meshes works perfectly. For this specific application I am attempting to inflate multiple prism layers such that their combined height is ~2X the lengthscale of the surface mesh they are inflated from. For example, here is the interface between a tet and hex mesh after they were made node conformal. http://img161.imageshack.us/my.php?i...flationbq2.jpg As you can see I have made the first hex layer ~2X the base length scale in order to create space for Prism to effectively inflate hexes into the existing hex mesh. Afer inflation (15 layers, 1.2 ratio, theoretical total height = 2X base length scale) the mesh looks like this: http://img95.imageshack.us/my.php?im...flationqj8.jpg As you can see the inflation is normal in the tet mesh but pregressively disappears near the interface and doesnt appear to exist within the hex mesh at all. However, closer inspection of the interface reveals limited inflation i.e. ~7 of the requested 15 layers are inflated in the hex region: http://img161.imageshack.us/my.php?i...closeuppo1.jpg Inspection of Prism's output revealed the following at the inflation layer number where the hex inflation stopped: "extruding prism layer 8 0 flat tetrahedra created between layers 0 pointy tetrahedra created between layers 21166 node columns stopped during extrusion because extruding the node would deform an existing hex check before create_prism check after create_prism worst prism quality: 2 check after reconnect_nodes no orientation errors writing out prism layer 8" Clearly, "21166 node columns stopped during extrusion because extruding the node would deform an existing hex" is relevant to my problem. However, try as I might after fiddling with Prism's extensive set of control parameters I cant figure out how to increase the prism layers penetration into the hex mesh region. The hex mesh quality isnt being reduced by the inflation so I dont understand why it terminates early. After some additional investigation I discovered that exactly the same problem occurs even if you just try to use Prism on a hex only mesh. For example, here is a simple quarter pipe geometry: http://img95.imageshack.us/my.php?image=pipebp5.jpg After attempting to inflate 15x1.2 "prism" layers I get exactly the same early termination effect with the same "error" message: http://img95.imageshack.us/my.php?im...flationau1.jpg Does anyone know how to overcome this? I'm guessing its controlled by one of the 20 odd Prism parameters but I simply havent been able to figure out which one (or which combination)! TIA Last edited by wyldckat; September 3, 2015 at 17:26. Reason: disabled embedded images |
|
September 19, 2006, 17:38 |
Re: Getting prism to inflate into mixed tet-hex me
|
#2 |
Guest
Posts: n/a
|
Hi Joe,
I have tried to do prism layers on a tet/hex mesh and I have never got it to work properly either. In my case I just gave up and used a tet/prism mesh. If you can find a way of getting this to work I will be very interested to hear about it. It is just a guess, but I suspect you may well need to talk to the ICEM developers on this. Glenn Horrocks |
|
September 19, 2006, 17:47 |
Re: Getting prism to inflate into mixed tet-hex me
|
#3 |
Guest
Posts: n/a
|
Argh ... I was hoping I had screwed up somewhere and there was a simple fix but your confirmation dashes that hope.
I'm dealing with the problem by using GGIs but they are suspect especially with turbulence quantities and use much more memory. If anyone has a work around please share. I did try to pre inflate both meshes (using a mesh control for the hex portion) prior to merging them but the node conformal routine couldnt handle it. Can anyone recommend an alternative to ICEMCFD. This issue is such a problem for me that I'd consider using an alternate mesher for this case. |
|
September 20, 2006, 08:02 |
Re: Getting prism to inflate into mixed tet-hex me
|
#4 |
Guest
Posts: n/a
|
I just built a hex mesh using Blocking - then converted to unstructured. I was able to use the Prism mesher to build 12 prism layers into it. My smallest original hex element off the wall was 0.0396 - and the total prism thickness (total of the 12 layers) was 0.0278. It worked just fine. I've done similar meshes with tets/hexas in the past. I believe the issue with tets/hexas is that as the prism mesher pushes past a layer of tets, it must delete it and reconnect. The reattachment to the hexas might cause problems at that point....
|
|
September 20, 2006, 09:05 |
Re: Getting prism to inflate into mixed tet-hex me
|
#5 |
Guest
Posts: n/a
|
Very strange. What platform are you working on? What version of icem CFD are you using? Which service packs?
Would you mind providing your input files as a zip file? You could use a service like www.rapidshare.de to upload them and provide us with a link. |
|
September 20, 2006, 09:41 |
Re: Getting prism to inflate into mixed tet-hex me
|
#6 |
Guest
Posts: n/a
|
This would allow me to test whether its a platform specific bug / configuration issue or just a mis-specification of the Prism input parameters on my part.
|
|
September 20, 2006, 17:52 |
Re: Getting prism to inflate into mixed tet-hex me
|
#7 |
Guest
Posts: n/a
|
Hi Joe,
In previous versions of ICEM whenever I tried doing prism layers on a mesh with any hexes in it the software would crash. In the current version it does not crash but like you I have never managed to get a satisfactory mesh out of it so I have pretty much given up on the concept. I suspect if the developers can play with some demonstration models they may be able to fix it. My first try for an alternative mesher is Gridgen. It is quite powerful (though not as many features as ICEM in general) and they offer a free trial license. Regards, Glenn Horrocks |
|
September 20, 2006, 19:31 |
Re: Getting prism to inflate into mixed tet-hex me
|
#8 |
Guest
Posts: n/a
|
Thanks. I last used gridgen about 10 years ago, I see it has improved considerably since then!
|
|
September 21, 2006, 08:18 |
Re: Getting prism to inflate into mixed tet-hex me
|
#9 |
Guest
Posts: n/a
|
I'm on Windows - ICEM CFD 10.0 with SP1 and SP2 installed.
http://rapidshare.de/files/33914671/TestPrism.zip.html |
|
September 21, 2006, 09:56 |
Re: Getting prism to inflate into mixed tet-hex me
|
#10 |
Guest
Posts: n/a
|
Much obliged. I will report back in a few hours.
|
|
September 22, 2006, 08:44 |
Re: Getting prism to inflate into mixed tet-hex me
|
#11 |
Guest
Posts: n/a
|
Initial report back:
After running your files as is, I get exactly the same mesh you got. I now have to figure out why your mesh works but my quarter O grid grid doesn't! I will report my findings ... |
|
September 22, 2006, 10:41 |
Re: Getting prism to inflate into mixed tet-hex me
|
#12 |
Guest
Posts: n/a
|
This is all getting rather surreal.
As I mentioned previously, re-running your files, as is, worked. I then reopened my original quarter pipe, changed the prism settings to yours. This worked. I then reset the prism settings to my original settings and it worked again! Baffling. I then took my quarter grid to the next logical step: http://img114.imageshack.us/my.php?i...rhybridwl7.jpg After creating a node conformal mesh I re-ran prism with its parameters unchanged only to run into assertion errors: " 3835 prisms to be created on family WALL splitting thin baffles initializing heights smoothing heights done smoothing heights initializing tetra mesh sizes 2539 verts growing 15 layers initializing directions from levelset norm 2539 prism_nodes smoothing marching directions 2539 prism_nodes iteration: 0 worst quality 0.84492 iteration: 1 worst quality 0.845499 iteration: 2 worst quality 0.8455 iteration: 3 worst quality 0.856549 iteration: 4 worst quality 0.856549 final iteration: worst extruded element quality 0.856549 completed smoothing extruding prism layer 1 0 flat tetrahedra created between layers 0 pointy tetrahedra created between layers check before create_prism check after create_prism worst prism quality: 0.856549 check after reconnect_nodes no orientation errors no orientation errors writing out prism layer 1 done initializing directions from levelset norm 2539 prism_nodes 452 prisms turned off because the were pushing into smaller tetrahedra smoothing prism layers done smoothing prism layers smoothing marching directions 1738 prism_nodes iteration: 0 worst quality 0.539816 iteration: 1 worst quality 0.539816 iteration: 2 worst quality 0.539816 iteration: 3 worst quality 0.539816 iteration: 4 worst quality 0.539816 final iteration: worst extruded element quality 0.539816 completed smoothing extruding prism layer 2 0 flat tetrahedra created between layers 0 pointy tetrahedra created between layers 1 node columns stopped during extrusion because the node was/nodes were isolated check before create_prism prism: prism.C:1877: void create_prism(int, vertex**, element*, element*, void*): Assertion `ndegen == 2' failed. " So I'm stumped again. I also applied your settings to my main problem and ran into the same limited prism penetration problem again. I cant draw any specific conclusions other to think that prism is buggy on hybrid meshes. Last edited by wyldckat; September 3, 2015 at 17:24. Reason: disabled embedded images |
|
September 24, 2006, 15:55 |
Re: Getting prism to inflate into mixed tet-hex me
|
#13 |
Guest
Posts: n/a
|
Sorry. I have never created a hex-tet-prism-mesh (where are the pyramids?) before because I do not have a hex license. But......
Imagine a prism element: two triangular and three square faces. How do you want to connect the triangular top of a prism element with a square face of a hex element? You need two triangular faces to make a square but then you still have a problem. I can imagine ICEM has problems there. Or is there some kind of trick that I don't know? I think it is far more logical to refine your hex mesh down to the wall. Then ICEM can connect the rectangular faces of the prisms with the hex elements, the triangular top faces with the tets and you need pyramids to connect the tets with the hexs. Then the circle is round Or am I too old fashioned and did I miss something in gridding technology..... Astrid |
|
September 25, 2006, 05:10 |
Re: Getting prism to inflate into mixed tet-hex me
|
#14 |
Guest
Posts: n/a
|
I'll view this approach rather sceptical, as I find it of little use to mesh a geometry with different types of elements.
Shall be obliged if you could give me some advice about the motivation behind this? Will this help for improving the mesh quality or speeding up the meshing process? |
|
September 26, 2006, 14:45 |
Re: Getting prism to inflate into mixed tet-hex me
|
#15 |
Guest
Posts: n/a
|
The prism mesher in general could use some work - even on pure tet meshers. It's definitely a hit-and-miss tool. Best to contact your support provider on your particular case.
|
|
October 10, 2011, 05:59 |
|
#16 |
New Member
chyn wey lee
Join Date: Apr 2009
Posts: 22
Rep Power: 17 |
it might been a long time for this post but i had success with tet to hex maybe it will help someone out there
my procedure to create it is first create your tetra's make sure smoothing is turn off and make sure the create prism on the compute tetra section is not selected. If this option is selected it would smooth the mesh for some reason even thou smooth mesh is turn off. run a check mesh for surface and volume orientation, if there's no error proceed with generate prism. once you have generated prism run check mesh again to fix any volume orientation error. no go to convert mesh and select tet to hex with 12 tetra to 1 hexa method. hope that help someone out there |
|
October 10, 2011, 07:06 |
|
#17 |
Super Moderator
Glenn Horrocks
Join Date: Mar 2009
Location: Sydney, Australia
Posts: 17,826
Rep Power: 144 |
This is a very old thread and I think the problems being discussed have been resolved. Hopefully this stuff should work reliably now.
|
|
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
This mesh contains patches of type empty but is not 1D or 2D | oric | OpenFOAM Running, Solving & CFD | 36 | November 28, 2016 07:12 |
[Technical] Why are hex meshes better than tet? | bigphil | OpenFOAM Meshing & Mesh Conversion | 10 | July 18, 2016 12:20 |
[blockMesh] Blockmesh error - 2D scramjet | ishaninair | OpenFOAM Meshing & Mesh Conversion | 7 | March 18, 2011 00:14 |
[ICEM] how can i create a consistent transitions between tet and hex? specifically my model? | snailstb | ANSYS Meshing & Geometry | 3 | March 15, 2010 20:26 |
CheckMeshbs errors | ivanyao | OpenFOAM Running, Solving & CFD | 2 | March 11, 2009 02:34 |