|
[Sponsors] |
January 4, 2006, 11:18 |
hex to tet program or routine...
|
#1 |
Guest
Posts: n/a
|
Does anybody have, or know where to find, a program to convert hexahedra elements in tetrahedra?
Thanks for any help. Renato. |
|
January 4, 2006, 11:29 |
Re: hex to tet program or routine...
|
#2 |
Guest
Posts: n/a
|
ICEM CFD has this capability.
|
|
January 4, 2006, 11:33 |
Re: hex to tet program or routine...
|
#3 |
Guest
Posts: n/a
|
Ok about ICEM-CFD, but I was thinking about some Fortran or C++ routine able to perform this task.
anyway... thanks for your reply. Renato. |
|
January 4, 2006, 12:07 |
Re: hex to tet program or routine...
|
#4 |
Guest
Posts: n/a
|
why would you want to do something like that?
|
|
January 4, 2006, 12:32 |
Re: hex to tet program or routine...
|
#5 |
Guest
Posts: n/a
|
My FEM code works only with linear tetrahedra elements and I'm trying to run a problem with symmetry, so I need to run this problem in a structured mesh in order to avoid problems due the mesh.
The mesh generator that I've been using (Ansys/Prep7) is only capable to build structured meshes (mapped meshes) with hexahedra and I thinking about to turn a hex mesh into a tet mesh through some program or routine. I've already implemented a simple Ansys macro to perform this task but, unfortunately, my macro only works for some very specific cases. Renato. |
|
January 5, 2006, 02:35 |
Re: hex to tet program or routine...
|
#6 |
Guest
Posts: n/a
|
your problem is not understood clearly. If you can use external commercial code for meshing; why can not you use another external commercial code (ICEM or hypermesh) to convert that mesh to tetra. Initially I thought you are doing meshing in your code, so you want fortran subroutine to convert hex to tet.
|
|
January 5, 2006, 04:04 |
Re: hex to tet program or routine...
|
#7 |
Guest
Posts: n/a
|
It's quite easy to put together something that puts six tetras in one hex cell, the problem is how your code reads it.
Do you need to know the conectivity between nodes, edges, surfaces or cells? Do you need to have first (P1) or second (P2) order base function in your FEM solver? Can't you use quadilateral base functions (Q1) in stead (in combination with a fractional time step approach in the RANS formulation) to avoid the P2-P1 formulation in standard RANS. You need to be more specific on what to read and what to write in the mesh file. Sorry, no solution, just more questions. I used a nice peice of cheese to cut out and visualize the tetras formed by slicing a hex-cell. |
|
January 5, 2006, 05:31 |
Re: hex to tet program or routine...
|
#8 |
Guest
Posts: n/a
|
Carno I only have Ansys/Prep7 to build a structured mesh with tetrahedra and the Ansys mesher is only able to produce structured mesh with hexahedra, so "I need a C/C++ or Fortran routine that could subdivide a hexahedra into tetrahedra for me", just it.
Summarizing I'd like to do the following things: - Generate a structured mesh with hexahedra (remember that I only have Ansys to do this). This mesh could be done inside my program too, it doesn't matter; - Save this structured mesh (of hexahedra) to a file; - Read this mesh in a program; - Subdivide the hexahedra into 5 or 6 tetrahedras; - Save the new tetrahedra structured mesh; (*** I should reinforce that I don't have any other commercial program further than Ansys ***) Regards Renato. |
|
January 5, 2006, 07:04 |
Re: hex to tet program or routine...
|
#9 |
Guest
Posts: n/a
|
Hi Johan,
My problem has nothing to do with the solver I'm using. I only need some kind of subroutine that would subdivide a hexahedra mesh into a tetrahedra mesh. It's a mesh problem, just it... split a hexahedra into 5 or 6 tetrahedra keeping the tetrahedra elements compatible. >> JOHAN SAID: It's quite easy to put together something that puts six tetras in one hex cell, the problem is how your code reads it. <<< I agree with you! It's quite easy to subdivide ONE (and ONLY ONE) hexahedra into 5 or 6 tetrahedra, but the problem begins to appear when you're dealing with a whole mesh. There are 2 ways to split a hexahedra into tetrahedra without adding any additional node. 1) Split the hexahedra in 2 prisms and building 3 tetras in each prism; 2) Joining the opposite diagonals that subdivide each quadrilateral face of the hedrahedra (it's hard to explain it with words...) in both cases you must keep the diagonals of the tetrahedra compatible. While waiting some answer in this forum I've found a nice paper that teach how to do it efficiently and now I'm starting to implement this algorithm. Julien Dompierre, Paul Labbé, Marie-Gabrielle Vallet and Ricardo Camarero, "How to Subdivide Pyramids, Prisms and Hexahedra into Tetrahedra". (easily found Googling) >> JOHAN SAID: You need to be more specific on what to read and what to write in the mesh file << I have a file with the hexahedra connectivity and want to write a file with the tetrahedra connectivity. ---- Any further questions to be cleared up... tell me that I'll try to explain better Regards Renato. |
|
January 6, 2006, 08:43 |
Re: hex to tet program (PROBLEM SOLVED)
|
#10 |
Guest
Posts: n/a
|
I've just finished to implement a Fortran program to convert hexahedra meshes into tetrahedra meshes. For those interested the program is available in:
http://www.nacad.ufrj.br/~rnelias/public/AllToTet.zip I hope that can be useful for other people besides me. Regards Renato. |
|
January 18, 2006, 16:54 |
Re: hex to tet program (PROBLEM SOLVED)
|
#11 |
Guest
Posts: n/a
|
Is there a good web based resource with nice pictures of the hex to tet conversion?
|
|
January 18, 2006, 17:12 |
Re: hex to tet program (PROBLEM SOLVED)
|
#12 |
Guest
Posts: n/a
|
When I was looking for a program to solve problem I couldn't find any web site where this subject is treated, but, if you're trying to understand better what I'm doing, take a look in the HexToTet.png file that I've put in the following zip file.
http://www.nacad.ufrj.br/~rnelias/public/AllToTet.zip Cheers Renato. |
|
|
|
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 |
[blockMesh] Blockmesh error - 2D scramjet | ishaninair | OpenFOAM Meshing & Mesh Conversion | 7 | March 18, 2011 00:14 |
CheckMeshbs errors | ivanyao | OpenFOAM Running, Solving & CFD | 2 | March 11, 2009 02:34 |
user subroutine error | CFDUSER | CFX | 2 | December 9, 2006 06:31 |
user defined function | cfduser | CFX | 0 | April 29, 2006 10:58 |