TrueGrid logo

A Mesh Generator and Pre-Processor for
FEA and CFD Analysis

TrueGrid® Frequently Asked Questions (FAQ's)

Question 1

Nowadays most analysis codes come with their own pre-processor. Why should I buy the TrueGrid® stand-alone pre-processor?


There are many reasons, but the two most compelling are quality and speed.

Analysis codes are complicated enough, they have many other topics other than mesh generation on which to focus their software talent. Advances in engineering mechanics such as new elements, more sophisticated contact algorithms, material models, and slicker GUIs are keeping developers busy. In addition, high quality hexahedral mesh generation on complex geometries is a difficult problem and quite different than simulation algorithms. XYZ Scientific Applications, Inc. does not author analysis codes or any other software other than TrueGrid®. We focus only on mesh generation and are dedicated to solving difficult meshing problems. For this reason we can ensure the best quality a mesh generation software can provide.

Pre-processing is typically 80% or more of the time taken to conduct a simulation. Faster mesh generation, with no reduction (or even an increase) in mesh quality, is your best way to reduce simulation costs. Your employee's time, not the price of the software, is the real cost of generating a mesh. TrueGrid®'s parametric batch input capability and our company's dedication to backward compatibility makes it easy to document the analysis code's input and to regenerate input files. Once all potential variations of a product's design are encoded in the TrueGrid® input file, the user only has to enter a few parameters, run the input file and proceed immediately to the analysis.

Question 2

Why does your software development company offer consulting services?


From our perspective, a mesh generation tool must be continually developed. To successfully accomplish this, we set aside time as TrueGrid® users to solve customer problems. This way we are better able to handle tech support issues, we can test the code, and we are better able to anticipate the needs of the user. At XYZ Scientific Applications, Inc. everyone who codes TrueGrid® uses TrueGrid® and this tradition is being maintained as our company continues to grow.

Question 3

Is TrueGrid® capable of generating a mesh for component assemblies?


Yes. There are many TrueGrid® features which allow users to work together to build a mesh.

The block boundary command enables users to easily glue two different parts together so that they have a node-for-node correspondence. One method of handling assemblies with a group of users is to first create the interfaces between the components using the block boundary feature. Then each individual working on the project must attach his or her component to the appropriate interface, guaranteeing that the parts will meet perfectly. Alternatively, if the geometry is formed initially so that everyone uses the same geometry, then it is simply a matter of concatenating the session files from each component part and then running TrueGrid® in batch mode. Parameters statements can be used to avoid conflicts in numbering.

Question 4

Which analysis codes do you support?


TrueGrid® supports many analysis programs, including today's most popular commercial FEA and CFD analysis codes. Among them are: ABAQUS®, ANSYS®, AUTODYN®, CFD-ACE®, CFX®, FLUENTTM, LS-DYNA®, MARC®, NASTRAN®, GRIDGEN3D, NEUTRAL file, STAR-CD and TASCflowTM. If your favorite format is not supported by TrueGrid®, you may find that you can use the NEUTRAL file, NASTRAN, or PLOT3D format.

In addition, DOE and DOD users will enjoy the fact that we also support several of the LLNL and Sandia model formats, including ALE3D, DYNA3D, EXODUSII, NIKE3D, PLOT3D, SAMI, and TOPAZ3D.

Question 5

Can I create a parameterized mesh with TrueGrid®?


Yes. Go to the Parametric and Scripting Page to view TrueGrid®'s parametric capabilities.

Question 6

Can I purchase TrueGrid® outside of the United States?


Yes. While XYZ Scientific Applications, Inc. markets and sells TrueGrid® in the United States and Canada, we depend on our skilled and motivated distributors to sell TrueGrid® in other countries. Go to our Contact Page to view our list of distributors.

Question 7

Why can't I find any prices on your website?


Primarily because others tend to copy what they see on the internet and then forget to update when the information changes. In order to obtain current pricing information, please go to our Contact Page to contact XYZ Scientific Applications, Inc. or a TrueGrid® distributor in your region.

Question 8

What CAD systems interface to TrueGrid®?


All CAD systems with an IGES output interface to TrueGrid®. TrueGrid® uses the IGES interface to CAD systems because it offers the highest quality meshes.

Question 9

What is the interpretation of the 2D coordinate system in TrueGrid®?


The 2D coordinate system in TrueGrid® is independent of the 3D coordinate system.

Question 10

Why does an interpolation or smoothing operation appear to have no affect on a solid mesh?


If you select a solid to be interpolated or smoothed and you want the boundary faces to be smoothed as well, then you should select each of the faces for the same interpolation or smoothing. Sometimes, by interpolating or smoothing the faces, there is no need to interpolate or smooth the interior.

There is a consistent way that TrueGrid® interpolates or smoothes part of the mesh and it is based on the dimension of the selected region.

  • CASE 1 - 1 Dimension
  • When an interpolation is done along an edge of the mesh, the end nodes are fixed and serve as the boundary condition for the interpolation.
  • CASE 2 - 2 Dimensions
  • When a face is interpolated or smoothed, the edges of the face are fixed and serve as the boundary conditions for the interior.
  • CASE 3 - 3 Dimensions
  • When a solid is interpolated or smoothed, the faces of the solid are fixed and serve as the boundary conditions for the interior.
  • CASE 4 - Neumann boundary
  • Some smoothing algorithms will move the boundary nodes to produce a near orthogonal mesh near the boundary. This makes it possible to glue several blocks together and get a smooth mesh at their interface. The disadvantage is two fold. First, this limits the shape of the mesh at the interface, which may not be ideal. Second, most implementations cause the nodes to wonder off of the surface. In TrueGrid®, we have resisted this approach. A better solution is achieved by smoothing the two blocks together. Also, the Neumann boundary condition violates the nodal distribution conditions that TrueGrid® works hard at preserving.

Question 11

The name of my computer has been changed, and now the License Manager no longer works. What should I do?


Use a text editor and modify the .tgauth file found in your TrueGrid® directory. The second line in this file has the name of your computer in the first field between the 2 semicolons. Change this to the new name then start the License Manager.

Question 12

Why does the TrueGrid® license manager running on a PC with WINDOWS stop working when the network is connected or disconnected?


Newer versions of WINDOWS will disconnect the ethernet card automatically when the network is disconnected. This is considered a plug-n-play feature. It makes it possible to have one ethernet card in a laptop computer and second ethernet card that is within a docking station. This is a problem for the TrueGrid® license manager.

The best way to avoid problems is to authorize the TrueGrid® license manager in the configuration in which TrueGrid® will be used. If the machine is typically on the network when TrueGrid® is being used, then the license manager should be authorized in that configuration.

Question 13

Does TrueGrid® run on LINUX?


Yes, TrueGrid® is available on Linux. For the TrueGrid® license manager to run on a Linux system, however, a hardware key (dongle) is required. Please contact us for more information on this hardware requirement.

Question 14

In TrueGrid® how do I put shell elements on a surface of a block of brick elements?


There are several ways, depending on your situation. In all cases, it depends on having or adding a negative index in the block command.

  • 1. Put shells around the block. If you start out with

  • block 1 11; 1 11; 1 11; -1 1 -1 1 -1 1;

  • then change to the following:

  • block -1 0 2 12 0 -13;-1 0 2 12 0 -13; -1 0 2 12 0 -13;
  • -1 0 -1 1 0 1 -1 0 -1 1 0 1 -1 0 -1 1 0 1

Be sure to do the same thing to the shells that are done to the solids. Alternatively, use the bb command to glue the shell to the block and the shell will follow the shape of the solid.

2. Add shells to the part. Use the insprt command and add a new shell partition before the first partition (left side) or after the last partition (right side).

3. Add a new part with just shells. Copy the commands that formed the first part and modify the block command by adding the minus sign on the indices that correspond to the shells. You may need to delete unwanted solids or undo commands that only have meaning for solids.

Question 15

How can the number of BEAM SECTION cards be reduced for ABAQUS output?


Use the vector option to define the orientation of the local coordinate system of the cross section of the beam. Then use the ztol command with a tolerance of around .0001 to compensate for numerical errors.

This is needed because TrueGrid®'s internal data structure for a beam includes its orientation point (not vector). When the output file is written for ABAQUS, TrueGrid® converts the points to vectors, and sorts them to get a unique list. This can be the source of numerical errors, and is the reason for the tolerance parameter.

Question 16

How can I speed up TrueGrid®?


The performance of TrueGrid can be improved by changing the way the model is built. Below are the key issues:

  • 1. Every time a single mesh generation command is issued, the entire part must be rebuilt.

  • 2. The resolution of the geometry can slow the projection algorithm.

  • 3. The command insprt command causes an increased load every time the session file is re-run.

  • 4. Smoothing commands (relax, unifrm, esm, tme) can be very slow, depending on the number of iterations selected.

  • 5. Edges or vertices projected to the intersection of tangent surfaces are problematic. The iterative Newton method cannot work in this case and TrueGrid resorts to a primitive search algorithm to find the intersection.

  • 6. Edges in a part are the most expensive calculation, except for smoothing.

  • 7. If there is not enough RAM, TrueGrid®, like any program, TrueGrid® will have to swap memory which will have a dramatic effect on performance.

Here are some suggestions to improve the speed of TrueGrid®.

  • 1. Build smaller parts and use the BB command liberally to glue parts together.

  • 2. Reduce the mesh size while building the part and then increase the mesh density after everything is completed and run the model in batch mode for the last time. Design the mesh density so that it is a half or a third the required mesh density. Then use meshscal of 2 or 3, respectively, to increase the mesh density in your final rerun.

  • 3. Issue multiple commands before having TrueGrid® draw (and consequently rebuild) the mesh.

  • 4. Never issue one of the smoothing commands while in the initial stages of positioning the vertices, attaching edges, projecting faces, or other routine steps to shape the mesh. If you issue a smoothing command, then every time you enter a new command, the smoothing is recalculated. Save the smoothing for the last step in the development of the part.

  • 5. The insprt command is not re-executed every time you issue a new command, so you only have to pay the price once every time you rerun. But this too can become a problem. You can avoid this by planning your part out in advance, removing the need for many insprt commands. Alternatively, once you have run the part with insprt commands, you can recreate a cleaned up version without the insprt commands by using the tghist file that is automatically generated.

  • 6. The intersection of tangent surfaces must be avoided at all cost. The primary way to avoid this is to make a composite surface (sds option of the sd command) and project both faces that share the edge to the composite surface. If you need the edge to be on the intersection of the two tangent surfaces, create a 3D curve and attach the edge to the curve. This avoids the calculation of the intersection of two tangent surfaces. If it is not possible to combine the two tangent surfaces because they are not trimmed where they meet, use the curf command (instead of the default curs command) to permanently attach the edge to the curve, again avoiding the costly calculation of intersecting tangent surfaces. This discussion also applies to vertices in the part.

  • 7. The positioning of nodes along an edge is the second most expensive calculation in TrueGrid®. Only smoothing is more expensive. Usually you cannot reduce the number of edges in a part. But if you are not aware of this fact, you may inadvertently generate a part with many more edges than are needed, decreasing the efficiency.

  • 8. It is usually an easy matter to increase the RAM. You should get approximately 120 bytes per nodes (32 bit system).

  • 9. If you can, use the getol command of about 30 or 50 to reduce the number of polygons used to approximate the surface geometry from a CAD model. Keep in mind that once you build and use a binary IGES file (saveiges and useiges), changing the getol will not effect the existing IGES binary file. If this low resolution affects the projection quality, increase the accuracy to 3. This keeps the number of polygons that are searched for the initial projection to a minimum and then kicks in the highly accurate Newton method on the algebraic surface. This trade off of number of polygons and algebraic surface evaluations can be significant.

Question 17

How can the mesh quality be improved where several blocks meet?


Create a 3D curve and attach the interior edges. Also, use transfinite interpolation (tfi) which spreads the perturbation smoothly across two regions. You have to inspect the region with the greatest distortion, then determine how to change one or more of its boundary edges to improve it without cause of serious degrading of the neighboring regions.

In regions where the aspect ratio is bad, use res or one of the other nodal distribution commands along one edge to improve the aspect ratio in one area at the expense of a poorer aspect ratio or element quality in the neighboring regions.

Question 18

How can a part be adapted to geometry on a different scale?

  • 1. Change the size of the initial mesh in TrueGrid® so that it matches the geometry without modifying the geometry. The results will be a mesh that matches the geometry. This requires scaling the coordinates in the block/cylinder command and all of the move commands (mb, mbi, pb, pbi, tr) or can be easily done with one new command (tr) if there are no insprt commands. Alternatively, a scale factor is needed and an expression in place of every number (for example 1.2 would be replaced with [1.2*%sf] where sf is the scale factor parameter).

  • 2. Modify the geometry so that it matches the initial mesh used in the previous model. The result will be a mesh that is the same size as previous model, not the size of the new geometry. This is easily done by scaling the geometry when importing or creating the geometry. The transformation option sca %sf would be added at the end of the geometry import or geometry creation command where sf is the scale factor parameter.

  • 3. Modify the geometry so that the initial mesh does not need to be changed. After projection to the modified geometry, scale the mesh so that it matches the size of the original geometry. The result is the same as 1 above. This is usually the easiest thing to do but is more complicated to understand. This uses the same method as in 2 with an additional command to scale the mesh after it is projected. Use the csca %sf as one of the first commands to scale the final mesh.

Question 19

Would it be possible to have details about the capabilities of this mesher regarding conformal Hex meshing, anisotropy (or stretching) and if it is possible to generate boundary layers that have a good buffer layer of hexahedral elements?

  • 0. Block structured - Key to a good hex mesh for CFD is block structured grids. Within TrueGrid, one can form any size block structured meshes. The blocks can be connected to other blocks (or not). When they are connected, one can use different interpolation and smoothing features across multiple blocks to form the highest quality interfaces between blocks. Interpolation and smoothing methods can be applied to any faces or blocks (or both). If you are familiar with ICEM or Lawrence Livermore National Laboratory INGRID (these were all developed by the same developer of TrueGrid, prior to the development of TrueGrid), then you already have a sense of the multi-block method used in TrueGrid.

  • 1. Conformal meshing - In my opinion, this is not the best name for what it refers to. Conformal mapping would indicate that all the elements will be formed using 90 degree angles at the corners. Except for some special cases where the boundary (in 2D) is conformal can we expect a conformal mapping of the interior. For all other problems, the solution is an approximation to a conformal mapping with compromises. This natural limitation has lead to many variations of methods in the field and the literature. In TrueGrid, we have implemented 4 methods. They are all iterative and you control the maximum number of iterations and the tolerance (which will cause the smoothing process to terminate early if the process has converged). When dealing with CFD models with boundary layers, we recommend the Thomas-Middlecoff method. You can check out this method in the literature. I believe it was published in the mid-1980s. We have made a few minor improvements to their method. It promises to form a nearly orthogonal mesh along the boundary at the expense of orthogonality in the interior. We have gotten good results with this method. It produces (preserves) a boundary layer.

  • 2. Boundary layers - Boundary layers are formed in TrueGrid using several commands. One class of commands can be used to distribute the nodes along an edge with a bias. It is usually a geometric progression so that the elements are small near the boundary and grow larger as one moves further away from the boundary, but in a smooth fashion. Interior faces of blocks are the result of interpolation and smoothing methods which are at the control of the user. Similarly, blocks are interpolated as a result of the nodal position of the faces. Both interpolation and smoothing can be applied to blocks as well.

  • 3. Projection method - The ramifications of the projection method in TrueGrid are profound. Two key points should be made with regards to CFD. First, with the projection method, you can use a IGES file for geometry without geometry clean up. This includes not having to reform the surfaces so that you have surfaces that match faces of of your block structure. This cannot be over stated. The savings in time and effort, the advantage in mesh quality, and the simplification in block topology is huge. Secondly, when an edge or face is projected to a surface, it is constrained there. Smoothing does not lift the boundary faces of a block off of the surface. This is because we are using Dirichlet boundary conditions when solving the elliptic PDE's underlying the smoothing method, not the Neumann boundary conditions typical of simpler block structured mesh generators.

  • 4. Automatic verses parametric - TrueGrid is not automatic. It is, however, highly parametric. One can build a parametric or templet model with TrueGrid (and many of our advanced users have) so that one can change some of the parameters and rerun the templet file to form a new mesh. The templet file can be constructed to generate a whole class of designs or models, and for that class, TrueGrid is essentially an automatic hex mesh generator.

Question 20

How do you minimize the number of initializations?


First, I will try to list the basic ways to select coordinates. They are in the manual in Volume 1, starting on page 126.

  • 1. Projection (from a 3D curve or a surface)

  • 2. Using the project command (coordinates are stored in automatic parameters xprj, yprj, zprj)

  • 3. Z-buffer (from anything in the picture)

  • 4. By node (from the mesh or a block boundary interface)

  • 5. By vertex

  • You can choose any portion of the mesh to be attached.

    You can choose any or all of the three coordinates for the attach by clicking on/off the x, y, or z check mark
    in the Pick panel of the environment window.

    You can also move portions of the mesh using the mouse. This is described in the manual in Volume 1,
    page 148. Any selection of the mesh can be moved as a rigid body using the following options:

  • 1. Rotate

  • 2. Screen plane

  • 3. Front view

  • 4. Constrained to the x, y, z, xy, yz, or xz directions

  • You can assign any region of the mesh to a labeled point of a 3D curve or a surface using the pbs command.

    You can attach an edge of the mesh to a 3D curve.

    You can attach a face to an entire surface (with no holes and with 4 boundary edges) (both initialization and projection in one command). This is the PATRAN feature, but it is very inflexible and not recommended.

    You can have a cubic spline for and edge of the mesh using the splint command. You control the shape of the edge by assigning coordinates to the vertices along the edge.

    Underlying initialization features are the basic commands listed in the table of contents on page 11 of Volume 1, section 2 and 3.

    I think you are going to find more answers to your question by developing techniques. For example, after a session where you have moved many vertices around, remove those commands that have no effect. The tghist file will show you which commands are deactivated. You can also remove, for example, a pb command for a vertex if there is another pb command that follows it for the same vertex.

    Use the ilin command strategically to interpolate intermediate vertices, where appropriate.

    Initialize several vertices to the same place, relying on projection to separate them.

    Plan your part out so that you use the insprt command. It will interpolate all new vertices automatically.

    When you plan ahead, you can move a group of vertices together as a rigid body using the mbi or tri command.

    Keep the number of vertices you have to initialize to the smallest number possible. Know the limitations of the projection method. Use 3D curves to initialize edges so that your blocks can be larger and have large curvature.