Database Full Index

2. Tetra

[ top ] [ previous ] [ next ]

 


2.1. How do I create a tetra mesh?

ICEM CFD's Tetra mesher requires the following to obtain a legitimate tetra grid:




[ top ]


 

2.2. I run tetra and I do not see any mesh on all/some surfaces?

One of things could be happening.




[ top ]


 

2.3. I run Tetra - From CAD/Surface mesh and I have leakage.

Leakage will be indicated by a green jagged line in the display and a message that "Your geometry has a hole, do you want to repair it?". Also, in the Message Window you should see "Material point ORFN can see material point [volume family name, e.g. LIVE]".

If you are unable to close the holes, please see I run Tetra-From CAD/Surface mesh, have leakage, but cannot close holes.




[ top ]


 

2.4. I run tetra, but my volume assignment seems wrong.

Check your Material Point location by turning on Materials in the Display menu. If the Material Point is not inside the volume you want to mesh, use Geometry, Material, Copy/Move, Selected Materials to move the material point inside the volume you want to mesh. After moving the Material Point, you need to re-run 'Tetra'.




[ top ]


 

2.5. I run tetra, but my mesh looks too coarse/fine.

There are two options to improve this situtaion. After modifying the Reference size or Surface parameters Tetra needs to be re-run.




[ top ]


 

2.6. I run tetra, but I get Orientation Errors.

If you get orientation errors immediately after the tetra run, they could be because one part of the geometry passes through another and you do not have the necessary intersection curves. In these cases, you might also get non-manifold vertices in those locations.




[ top ]


 

2.7. I run Tetra-From CAD/Surface Mesh and I have leakage, but cannot close the holes.

If you are unable to close the holes using Repair mesh during the Tetra run, then there are two other options.




[ top ]


 

2.8. Why do I need curves/points for tetra meshing?

ICEM CFD Tetra Requires curves at locations where the user is interested in capturing geometrical features. Curves in tetra tell the mesher that nodes need to be aligned along a feature. For instance, given the situations below:

Example 1 illustrates two flat surfaces, with a fillet surface going between the two. In Example 2, the two flat surfaces meet.

In Example 1 the tetra mesh will round along the filleted region. The mesh does not have to conform to the edges ofthe surfaces. In fact if the mesh did have to conform to the edges of the surface, the mesh could be over-constrained, since if the mesh size is large, the mesh could jump from one edge to the other edge, and neglect to model the fillet region. Thus, the curves at the top and bottom of the filleted surface shouldn't be included in the model.

In Example 2 the mesh will round the corner unless there is a curve where the vertical and horizontal surface meet. This said, it is important to include the curve in example 2, since it will force ICEM CFD Tetra to line nodes along this corner.

The illustrations above say the same for points in the corners of curves, if two curves come together at a sharp angle, and the user wants to capture this feature, they need a point in this corner.

Let's see another example. For the geometry on left picture, you _DO_ need curves and points at the kink areas as defined there. If you don't give them, you might end up with a mesh like the one on right top instead of the one on right bottom:
Without Curves/points
With Curves/points





[ top ]


 

2.9. Why does my mesh jump from one surface to another?

You probably have two surfaces coming very close to each other. You need to make sure that the tetra sizes (look at the tetra icons) small enough so that at least 1 or 2 tets would fit through the thickness there.

If you cannot ensure that then it is recommended that the user define a thin cut on these two surfaces. To define a thin cut, the two surfaces have to be in different families, and if converging, the curve at the intersection of the surfaces has to be in a third family.

If the mesh size is larger or approximately the same size as the gap, the surface mesh could have a tendency to jump the gap creating non-manifold vertices. This occurs in the Tetra process, because Tetra will automatically try to close holes in a model.




[ top ]


 

2.10. How do I define periodicity?

Tetra models just need the periodicities to be defined inside MED. If you have not done yet, please do it




[ top ]


 

2.11. How do I create squeezed/stretched tetras to resolve my boundary layer?

Currently there is only one way you can do this.

Create your tetra mesh, create prisms on the boundary and convert all elements to tetras including pyramids if any. However, you need to put special attention towards following:

Having a squeezed/stretched triangular surface mesh and then running "Tetra from surface mesh" is not a solution to this as it does not put any restriction towards the tetra height. Further, "Tetra from surface mesh" is pretty sensitive towards base triangle quality as well as adjacent cell size ratio. Thus, it may never create the tetra mesh for you.

If you are at the solution stage, then probably you can use OptiMesh to get the squeezed tetras at the steep solution gradients. However, OptiMesh is limited to a few solvers at this stage.




[ top ]


 

2.12. How do I run tetra from command-line?

Tetra needs a file called "tetra_params" which has the information about the geometry file and the "Domain (mesh) file" file to be saved. The tetra_params file should look like the following:

SurfaceFile "project/tetinfile"
DomainOutputFile "project/tetra_mesh.uns"
CacheIntersections 0

On command-line you should run:

$ICEM_ACN/icemcfd/tetra tetra_params

Please be aware that the paths for the tetin and domain (mesh) files in the "tetra_params" file are relative to the current location..

If you want to run parallel version of tetra (ICEMCFD version 4.2 onwards), you can run the command

$ICEM_ACN/icemcfd/tetra tetra_params -nproc {number of processors}

to tell how many processors you want to use. If you do not specify "nproc" then it will use all the processors.




[ top ]


 

2.13. Why does my tetra crashes with "suspect value in AddVertexToSet" message?

There could be two reasons to that:




[ top ]


 

2.14. How do I ensure a closed volume for Tetra?

This can be done using the Geometry > Repair. The main objective in geometry repair is to detect and close gaps between two surfaces (faces) at an edge so that closed voulme is ensured. First, the user creates a topology, and then repairs any gaps or holes in this topology.

Typically, the procedure for geometry repair is as follows:






[ top ]


 

2.15. How do I define mesh sizes for tetra?

After finishing the geometry editing and separating the families according to the requirements of Tetra, user can define the mesh parameters for the geometry as follows:




[ top ]


 

2.16. What is a Material point?

Material point is actually a point within the computational domain. One would need a material point for every different fluid type within the model or for each volumetric region that is closed off by geometry. Material points are necessary for ICEM CFD Tetra and ICEM CFD Global.




[ top ]


 

2.17. How many licenses tetra would consume on a multi-processor machine?

Tetra (and prism, even smoother) would consume only one license on a multi-processor machine irrespective of how many processors you would use.




[ top ]


 

2.18. Why do I get error message "could not find opposite point in triangulate" while generating tetra mesh?

During mesh generation, Tetra tries to capture all the features of the geometry (curves ,points..). The edges of triangular elements are set along the curves. The nodes of triangular elements are assigned to points. The size of these triangular elements are decided from the sizes set on surfaces and curves. If in the geometry any two points or curves are closer to each other compared with the sizes set on the surfaces and curves, tetra cannot capture both the details due to size restrictions,  so it  captures one of those details and displays  warning message "could not find opposite point in triangulate" for the detail which is not captured.




[ top ]


 

2.19. Why do I get the error "possible error in trim curve for surface" while tetra mesh generation?

If the order of B-spline curves and surfaces is greater than the order Tetra can handle, it displays warning message "possible error in trim curve for surface". This does not effect the mesh generated.




[ top ]


 

2.20. What is edge-criterion , how does it effect the tetra mesh?

Edge-criterion determines to what extent a tetra is cut to represent geometry. The value specified is a factor of the tetra edge. After subdivision, if a tetra edge intersects an entity(surface, curve), the tetra will be cut if the subdivision of the edge from the intersection is more than the prescribed value. This value is set as 0.2 by default and is adequate for most of the cases.

Significance of Edge-criterion:

  • If the edge criterion is decreased from 0.2, more number of tetras are created and stretched to
    reslove the gap ,resulting in poor quality of mesh.

  • If we increase the edge criterion above the default value of 0.2,the tetras created will be less in
    number and will be of good quality.But this may not resolve the geometry features properly.So
    the default value of 0.2 is adequate for most of the cases.

  • Tetra stretched to capture the gap of 0.05



    Mesh with edge criterion set lower than 0.2



    Mesh with edge criterion set to 0.2







    [ top ]


     

    2.21. How do I insert a closed surface mesh into an existing volume mesh and get rid of trapped tetras?



    The following things may be tried out,
    1. Save the two tetin files separately.
    2. Merge both tetin files and define ORFN point inside the tetin file for which we want only surface mesh. Save this tetin file.
    3. Merge the existing volume mesh and the new surface mesh
    4. Load new tetin file & domain file
    5. Run Make_consistent.
    6. Now run Edit Mesh -> Utilities -> Flood fill. This basically finds out the material points and separates out the volume families. If it finds ORFN volume, it deletes that too.
    7. If you again do Make_consistent, that also runs this flood fill as a part of make_consistent. Sometimes it may happen that after loading a tetin file, if a geometric entity is created it will be not used for mesh editing. This could be the source of problem. So, it is advisable to load the merged tetin file & domain file and run flood fill (or make_consistent)







    [ top ]


     

    2.22. My tetra run reports for the leakage, I do see the line but there is no single/multiple edges! What is happening?

    Did you run "Build Topology" on your model? Did it show any yellow edges in the connecting places? If yes, you need to make sure that you have all red curves around unless there is a genuine single/multiple location.

    If you have all red curves and you still see this problem when you don't have any single/multiple edges, it's highly probable that your material point location is wrong. It is possibly lying on a surface itself.




    [ top ]


     

    2.23. How is the expansion ratio for linear progression calculated? (given number of layers, total height and initial height)

    The height of the nth layer is given by this expression:

    h [ (r - 1)(n - 1) + 1 ]

    Where h= The First layer height (Initial Height)
    (r-1) is the height ratio

    so each layer is (r - 1)h taller than the previous




    [ top ]


     

    2.24. What is "unhandled case in fix spike node...."?

    It is trying to fix a suspicious looking spike in the tetra mesh and can't figure out how to do it.




    [ top ]


     

    2.25. What are stuck elements appearing in my subset?

    When you run prism you get elements stuck between prism layers (depending on settings)these are those elements.




    [ top ]


     

    [ top ] [ previous ] [ next ]

    created by faq-system 0.3.6 Thomas Linden