Using a hybrid mesh for a simple pipe
I'm a biomedical engineering student and I started to work to master thesys few weeks ago.
I'm going to study fluid dynamics in stented coronary arteries.
Before starting to work with stented artery models, I'm trying to develop a hybrid mesh in a simple pipe in order to reduce element number and to make faster simulations.
In fact the main problem of stented artery study is the great element number of each model which make simulations too long (about one week with a cluster).
Using ICEF CFD I made a simple pipe with a realistic diameter (Diameter = 2.4 mm; Lenght = 1,2 mm). I built a hybrid mesh with tetrahedra in the pipe part close to the wall and hexaedra in the inside part.
I tried two methods to connect these two mesh types:
1) I used the automatic ICEM function which creates pyramide elements on the interface between tetrahedral mesh and hexahedral mesh (in Fluent the interface between the two meshes is defined as "interior").
2) I also developed a simple manual method to connect hexa and tetra meshes without creating any other elements type (in this case in Fluent I've to the define "interface" boundary condition).
I need to use tetras in the external pipe part because in a stented artery the wall geometry is very complicated.
In Fluent I simulated a developed laminar flow imposing a realistic paroboloid velocity profile.
In both cases simulations work. I'm able to obtain the solution in about half time compared with a pipe with a full tetrahedral mesh.
It could be a good a result but if I plot velocity profile at the pipe centre (or in other sections or directions) there is a discontinuity at the meshes interface.
I tried to thinken meshes, or to vary the inside pipe cilinder diameter or to work on meshes quality. In every conditions there is always the discontinuity.
Attachment 3161Attachment 3162
The problem could be caused on the way that the line (necessary to plot velocity profile) cut the pipe. But I think this thing is right only if I consider centre cell value. If I consider node values, I don't think it is a "visualization" fluent problem. I think it is an error in the solution.
This problem doesn't appear in a full thetraedral mesh or full hexaedral mesh.
What do you think I've to do? The error on velocity value is about 5-10% at the mesh interface.
Is there the possibiliy to create a different hybrid mesh?
I can't use only tetraedra when I'll study stented coronory artieres.
I'm new in the use of these programs so the solution of my problem could be easy.
Thank you in advance for any suggestions,
12 tet to 1 Hex hybrid?
Have you tried the "12 tet to 1 Hex" approach?
This method uses Octree to generate the initial mesh (for both the solid and Fluid Regions with inserted prism layers as usual. Then go back to Edit Mesh (tab) => Change mesh Type and convert Tet to Hex with the 12 tetra to 1 Hexa option. Because of the highly regular nature of the original octree mesh, clumps of octree tets are converted back to aligned hexas.
This is an automatic method (independent of complexity). I don't think it would be better than your pure Hexa fluid region, but I know it has proved successful at automotive customers for manifold studies (similar idea).
If that isn't ideal, how about BFCart or CutCell meshing?
Unfortunately tet to hex conversion gives me the same problem on velocity profiles.
In the previous weeks I had also tried these solutions:
- hybrid mesh with hexa part without "o-grid".
- tetra mesh with automatical ICEM function "hexa-core".
In each case I obtain always the same velocity discontinuity at the interfaces.
I also tried to make hybrid mesh transition on a 2D pipe. Also in this case, where there are only triangles and quad, the discontinuity appears.
The fact that hexa-core function gives this error make us think that it's not a visualization problem but it is a numerical problem.
At the moment, we can accept this error. I started to work on a realistic artery with a small part of an expanded stent. I implemented my hybrid mesh method. There is the velocity discontinuity but fortunately I don't have mistakes on the surfaces which are the most important part of interest. In fact, I'm more interested in study wall shear stresses then velocities.
Comparing an hybrid mesh with a traditional full tetra mesh no significant errors appear in wall shear stresses.
However, becouse I'm starting to study bifurcations, correct velocity profiles in all the arteries would be better.
I'm going to try your suggestions: BFCart or CutCell meshing. A the moment I don't know how to use those functions but I will learn them.
Thank you very much for your precious reply!
Just for fun, I have attached some pics of BFCart mesh...
The setup is similar to ICEM CFD Octree except that you set prism inflation on the walls that you want inflated. Other walls will be stairstep Cartesian or it can fit to the walls with pyramids and tets...
This next one is a golf ball, this example includes biasing which may be useful in your elongated design (except you would only bias in on direction)...
I have included material points inside and you see the flood fill, etc. Just like Octree.
The CutCel is coming to ANSYS Meshing and TGrid at 13.0, but if you wanted to share your model with me, I could run it and send back the mesh for you to test.
I tried to use BF-Cart. I can obtain a good mesh in the simple pipe but when I realize the mesh in the complex model of the stented artery, hexa elements don't follow the stent edges.
Hybrid mesh with hexa in the inner part and tetra in the external part works better at the moment. Tetras are able to follow complex edges.
Perhaps the TGrid Cutcel method would be best for you. It supports inflation, baffles, etc.
The only catch at R13, was that we had to go to legacy TGrid to use your faceted data. ANSYS Workbench Meshing also includes the Cutcel mesher and currently does a great job with CAD data, but won't support faceted formats until next release (R14).
Here are some screen shots, I will send you the actual mesh via email.
What do you think?
How to create hybrid mesh.
Could you please tell me how to generate hybrid mesh.
how to connect nodes of structured and unstructured mesh.
how to assure node connectivity of o-grid to outer pare of unstructured mesh.
please help me.
and how to merge the nodes. in edit mesh potion.
You need to create some construction geometry between where you want the two types of mesh (a cylinder in this case). Then generate a tetra mesh on the outside and a hexa blocking on the inside. It is important that this construction geometry be uniquely named and that both mesh types are projected to it and its perimeter... Then go to Edit Mesh => Merge => Merge meshes. You can check the help from there to get the rest of the way.
For optimal results, try to match the volume of the tetras to the volume of the hexas. This usually requires you to have hexas at the surface that are thinner than they are wide. An aspect ratio of about 3 usually works well enough, but you can calculate the exact number (I forget right now).
Since this thread started, other methods such as CutCell have come a long way. Cutcel (14.0 due out in a month) can now give a really decent mesh with a prism boundary layer. If I ever find the time, I will try Claudio's model again.
Hi Psymn, thank you for your hepl. but i dint get what you want to say in your this sentence, ' both mesh types are projected to it and its perimeter' could you please give me detail information regarding the same. i am working on project i need urgent help. please help me. thank you.
I just mean the Tetra mesh is on the outside (with nodes on the outside of the cylinder) and the hexa mesh is on the inside (with nodes on the inside of the cylinder). Also, It is important that both the tetra and hexa side are projected to the perimeter of the merge surface. In this case, the perimeter of the cylinder are the two end circles. To make sure the tetra is projected, you don't need to do much. Just make sure there are curves and tetra will project on its own. You can check this projection by right clicking on the mesh branch of the tree and choosing nodes as dots... For hexa, it means you must take the step of associating the edges to the curves...
The third rule for a good merge is that the merge part (the cylinder) must only contain parts that are used in the merge and it must be used in the merge. In other words, you can't have any surface in that Part that is not used in the merge...
There are two tutorials for merging. The Hybrid HVAC and the Hybrid Tube...
Could you please give me the link of that pfd of The Hybrid HVAC and the Hybrid Tube.
If you have access to the customer portal, you will find them there with the other training materials... If you don't see them on their own, grab the 11.0 tutorial packet...
I am trying to mesh three aligned-joined pipes in ICEM with a structured mesh and I would like to set porous media the 2 middle interfaces. To do this I have imported the geometry, created a block which I have split into 3 parts and associate the edges to the curves properly. I have called the blocks and the material part as FLUID (everything within the same part), and the rest of parts I have defined INLET, OUTLET, the 2 interfaces and the 3 pipe walls, separately. My problem comes when I try to export the mesh to fluent after having set the boundary conditions for all my surfaces. Although I set the 2 interfaces as porous media or wall or another kind, ICEM does not export the interfaces... Would you know where the mistake is?
Thanks in advance!!
if icem does not export interfaces it means you don't have elements (shells) on those surface. try association of faces with surface..., when you convert to unstructured, hide all the parts and leave the interface visible, see if you can see a mesh there...
Hi, M. Ali,
You were right!! There was no shell on the interfaces. Now I have managed it by using the kind of association you told me but another problem has just come... the point is I have a multiple edges error on those zones when I check my mesh. Do you know why??
multiple edge is just is not an error... did you try to import it in fluent ?
Multiple edges is a "possible problem". It just means that an edge has more than two elements attached to it. It could indicate a problem, but in this case, it should be expected around each of the interfaces.
Fluent won't mind.
|All times are GMT -4. The time now is 14:22.|