TrueGrid logo

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

Release Notes for TrueGrid®
Version 3.0.0, June 5, 2014

1. The new HOLE command creates a cylindrical hole in a block part. A ring of 12 hex elements, referred to as the plug, are formed around the hole to produce a symmetric mesh around the hole. The two faces of the block part, that which is identified by the region and the opposing face of the block must intersect with the cylinders identified in the hole command. Both faces must be projected to a surface. The hole is not visible until entering the merge phase. This is because the hole is not formed until the part is ended, since many commands can effect the shape of the block part before the hole is formed.

This command is not needed if the ideal topology for the hole has been built into the design of the block part. But when the mesh density of the block part does not match the mesh density of the desired hole, if you want an easy way to form a symmetric plug around the hole, if you have many holes to add, or if you need to add holes after the model has been completed, then this hole command will be ideal. This is an automatic hole capability in that a region around the plug is remeshed to form a transitional region between the plug and the original block mesh. If there are several holes in proximity, then the region around the plugs will form a single transitional region between the plugs and the surrounding hex mesh.

HOLE region x0 y0 z0 xn yn zn radius options ;
where the region must be a face of the part.
where (x0,y0,z0) is a point on the axis of the cylinder
where (xn,yn,zn) is the axis direction vector
where radius is the radius of the cylindrical hole
where option can be:
INR radiusfor the inner radius of an annulus
FN xd yd zdfor the orientation of the first node in the outer cylinder
NET nfor the number of elements in the thickness of the annulus
ANG thetafor the angle of the conic countersink

Two parameters control the substitution of wedge solids for hex solids in the region between the cylinder hole and the original block structured mesh.:

ARQUAH ratiofor the largest aspect ratio for a quad face in the region
between the outer cylinder and the block mesh.

If this parameter is set to a number less than 1, then this parameter will not be used to determine the conversion to wedges.

ESQUAH lengthfor the smallest edge length for a quad face in the region
between the outer cylinder and the block mesh.

If this parameter is set to zero, then this parameter will not be used to determine the conversion to wedges.

When ARQUAH is greater than 1 and when ESQUAH is greater than 0, then any quad that has aspect ratio greater than ARQUAH and has an edge of length less than ESQUAH will be converted to a triangle face and the resulting extruded solid elements will become wedge (prism) elements.

It is possible to enlarge the region between the block mesh and the hole annulus by using the RFHOLES command. The default is 1.95, which is the factor used times the outer cylinder radius to carve out a region in the block mesh for the hole. An enlarged region may improve the quality of the mesh between the block mesh and the hole annulus.

RFHOLES factorto enlarg the region containing the hole.

There are some limitations on the shape of the hex mesh in the area of the hole. In particular, the mesh lines of the block part must run nearly parallel to the axis of the cylindrical hole. This requirement will be relaxed in future versions.

There are some limitations on the surfaces being used for projection of the face identified in the hole command. The surfaces that can be used here are:

1. All IGES surfaces
2. parameterized surface (function)
3. sphere (sp)
4. ellipsoid (er)
5. tabular (mesh)
6. ruled2d (rule2d) and ruled3d (rule3d)
7. torus (ts, toru)
8. swept (swept)
9. polygon (faceset)
10. pipe (pipe)
11. blended (blend3, blend4)
12. splines (csps, bsps, nrbs, hermite)
13. interpolated (intp)
14. rotated 2D (cr,crx,cry,crz) and 3D (r3dc) curves
15. composites (sds) from any of the above

Basically, unbounded surfaces cannot be used. Also, any surfaces that have edges that are degenerate or that meet with other another edge of the same surface cannot have a hole in that crosses or contains one or more of these edges. For example, a sphere, cylinder or torus has edges that meet (i.e. they are periodic). Do not confuse this with a composite surface where two or more surfaces have common edges. This hole feature works well where edges from different surfaces meet. This limitation will be lifted in future releases.

This feature has almost all of the capabilities of automatic quad sell mesh generation. The automatic quad shell mesh generation feature will be available in the next release. This automatic quad shell mesh generator will then be transformed into the boundary mesher for the automatic all hex mesh generator to be available in the next 2 years or so.

2. The new STLSD command reads a STL file and converts all of the surfaces from this file to TrueGrid® surface definitions.

STLSD surface_# file_name trans ;
where surface_# is the surface definition number assigned to the first surface in the STL file

3. Displaying a surface after a transformation (TRSD command) is now set as default. So we do not need to issue a separate display command such as DSD any more.

4. A bug in displaying a 2D curve by LCV command has been fixed. It was related to swapping buffers for OpenGL version.

5. There have been some changes in the sequence number for output file renamed by MOF command. Whenever a MOF command is issued, TrueGrid® resets the sequence number. So, it will write newfile, newfile0001, newfile0002 at every WRITE command.

6. The UNIFRM had a bug when used with the BB commands over several blocks that are not connected. It was a rare case. This has been fixed.

7. A bug in the CYCORSY menu which only set values for translations has been fixed.

8. Features that support the LSDYNA staged construction:

In the LSDYOPTS command, use the following to define the global properties of staged construction.

STAGED start stgs stge accel fact stref stage_lists ;
tstart for time at start of analysis
stgs for construction stage at start of analysis
stge for construction stage at the end of analysis
accel for default acceleration for gravity loading
fact for default stiffness and gravity factor
stref for reference stage for displacements
where a stage list is formed by
istage for stage ID
ats for analysis time at start of stage
ate for analysis time at end of stage
atr for analysis time duration of ramp
rts for real time at start of stage
rte for real time at end of stage

In the LSDYMATS command, use the following to define the staged construction with respect to a single material (part in LSDYNA speak):

CSTAGE start_stage end_stage
STAGGRAV dof load_curve_# acceleration load_curve_# addition_stage deletion_stage
STAGREMO start_time delete_time stage
STAGSTIF load_curve_# start_stage end_stage

To remove fragments, use the READMESH command with the dynain option. Then use the smags command along with the delset command. After removing the loose stuff, use the DYNAIN output option to rewrite the dynain file.

9. The ACCURACY command had a bug that involved only some IGES surface types. This is now working.

10. There was a bug fixed in the KIVA4 output option for wedge elements that are on an axis.

11. Facial properties of the mesh that are assigned in the the part phase may appear in the output file twice, if the face is shared by two regions of the part. This is true for the facial properties that are identified using the following commands:

pr, pri: pressure
si, sii: sliding interface
fl, fli: flux
cv, cvi: convection
rb, rbi: thermal radiation boundary
re, rei: radiation enclosure
efl, efli: electric flux
bf, bfi: bulk fluid
nr, nri: non-reflectiving boundary
syf, syfi: symmetry with failure
iss, issi: save interface segments
cvt, cvti: convective thermal loads
bv, bvi: surface boundary velocity
ol, oli: outlet
il, ili: inlet
fbc, fbci: Fluent boundary condition
starbc, starbci: Star boundary condition
kivabc, kivabci: Kiva boundary condition

Many of these properties do not make sense as an interior property, but keeping with the philosophy of TrueGrid®, such things are allowed in TrueGrid®. It is left to the user to make a model that is meaningful.

12. A bug was fixed regarding material 2 in the AutoDyn output format.

13. A bug in the SSF/SSFI command which caused an unrecoverable error has been fixed.

14. A bug in the history table for the SF/SFI command when using transformation with extrude curve ('cp') and the plane (PLAN,XYPLAN,YZPLAN,XZPLAN) options has been fixed.

15. A bug was fixed with respect to the bptol command. The bug usually caused TrueGrid® to crash. It was a memory allocation bug.

16. A bug was fixed with respect to a bug in the SD command related to transformations applied to unresolved trimmed IGES surfaces. The bug force re-entry of the transformations whenever trimming failed.

17. A bug in fast graphics which cause TrueGrid® to crash in some cases when going from the part phase to the control phase then to the merge phase.

18. A bug in the binary STL surface option (bstl) in the SD command in the 64-bit Windows version has been fixed.

19. A bug was fixed regarding some of the nodal distribution commands such as DRS or DAS when the edge they are applied to have too few nodes. Now, TrueGrid® does nothing to the mesh when it encounters this case.

20. A bug involving the generation of very long command lines for the history table and the tghist file has been fixed.

21. A bug in the NASTRAN and NE/NASTRAN outputs of node sets has been fixed.

22. A bug where commands in the text window were not updating appropriate buttons in the environment window in the part phase has been fixed.

23. A new command activates/deactivates the solid element test for zero volume when an output file is written. This is useful when a zero volume element is a valid element. The sytax is the following:


24. A minor bug in IGES was fixed. This was a bug with a conic arc. In particular, if it was a ellipse with the same starting and ending point, it now creates the entire ellipse instead of a single point.

25. A bug was fixed in the writing of nodal fixed rotational displacements for dyna3d. This bug occurred if the only type of displacement was rotational using the FRB command.

26. A bug which caused TrueGrid® to crash when using the SAVEPART command in a part with transitions has been fixed.

27. A bug was fixed that caused TrueGrid® to crash when multiple cur/cure/curf commands where issued in the same part. It was only dangerous when the edges were very long.

28. A bug was fixed that sometimes caused TrueGrid® to crash when a set of conditions were true. The set of conditions are listed below. This bug is fixed.

i. some parts generated in batch mode

ii. surface definitions with identification numbers less than 21

iii. color fill graphics used with some of the previously generated parts added to the picture while in the part mode

iv. surfaces projected to or displayed in the graphics with identification numbers less than 21 after item iii. above

29. A bug was fixed in the openGL version where the status (active or inactive) of the "Points List" in the "Move Pts" panel of the Environment window did not reflect the status (open or close) of the Points LIst popup window.

30. The Transition Block Boundary command (trbb) can now be applied to a master block boundary interface (bb) defined in the same part. If the trbb command is issued before the master bb, then you will receive a warning message that the master side has not been defined.

In addition, you can have an intra-block boundary interface where the number of faces/edges on the master/slave is a multiple of the number of edges/faces on the slave/master side.

This is now consistent with what is possible using the bb and trbb between parts.

31. A minor bug was fixed in the LTAS option of the 2D curves command LD.

32. There is a new output option for the finite element code called MPACT. At this time it is limited to only linear elements. This output option must be chosen at the beginning of the session, since it requires special processing for each part as each part is generated.

33. A bug was fixed for the Fluent output option. TrueGrid® was writing extra unreferenced nodes for meshes that had deleted regions within the part generation phase. These extra nodes may have been of no consequence except that they took up extra memory in Fluent. Also, the boundary conditions index was changed from 39 to 45.

34. A minor bug was fixed in the history table and the tghist file. The following commands are properly represented in the history table. They are also reproduced in the tghist file that is automatically written so that each command can be executed from the tghist file. This is useful when building a cleaned up version of the session, instead of using the tsave file. These commands are:

cur, curs
bb, and trbb
fvv, fvvi, fvvc, fvvci, fvvs, fvvsi, fvvc, and fvvci
vacc, vacci, vaccc, vaccci, vaccs, vaccsi, vaccc, and vaccci

35. There is a new output option for KIVA3V. There is also an associated boundary condition command for KIVA3V. This is to be distinguished from the KIVA and KIVA boundary condition command. The two formats are quite different. KIVA3V is a block structured code only and the KIVA3V command must be issued before and parts are generated. The kiva3bc and kiva3bci commands are to be issued during the part phase.

kiva3bc type value
kiva3bci type value

where type and value can be

BC valuefor Boundary condition (faces only)

where value can be

1 for moving
2 for solid
3 for axis
4 for fluid
5 for periodic front
6 for periodic derriere
7 for specified velocity inflow
8 for continuative outflow
9 for pressure inflow
10 for pressure outflow

IDFACE valuefor moving vertices (any region)

FV valuefor vertex flags (any region)

where value can be

0 for inactive
1 for other (fluid)
2 for piston face
3 for bowl
4 for squish
5 for dome
6 for cylinder

F valuefor cell flag (solid elements only)

36. Three element types (BEAM, LTRIA, and LQUAD) have been added to the finite element entity (type 136) in the SAP2000 output.

37. The TrueGrid® message for SAP2000 output is now

output file name is sapmesh.igs

rather than

output file name is trugrdo

which consists of the IGES finite element entity (type 136).

38. A minor bug was fixed with the projection to a surface formed with a rotated 2D curve that crossed the axis of symmetry and with the projection to another surface that passes through this same point where the 2D curve of the first surface crosses the axis of symmetry. This bug was highly dependent of the type of floating point processor and the operating system of the computer and was only found to cause problems on a few systems.

39. The ACCURACY command, controlling the accuracy of the projection to a surface and to the intersection of surfaces, now also applies to the Cubic Spline, NURBS surface, B-spline surface, and the Hermite surface.

40. The following commands control the automatic quad mesh generator. At this time, the automatic quad mesh generator is only available as part of the hole command. These commands should only to be used by someone who is very familiar with this automatic quad method.

There are three basic components in the automatic quads. The first is the quality of the polygons on underlying (composite) surface. The first two parameters influence this quality and the cost of the algorithm. The second component is the accuracy of the boundaries of the surface(s) being meshed. The last three parameters control how the surface(s) being meshed are decomposed into simpler nearly convex regions known here as factors.

SFASPRAT value for maximum aspect ratio in surface polygons
SFMXPLED value for the maximum edge length in surface polygons
QREFNN value for the resolution boundary fragments
QCONCAV value for the maximum concavity in a factor
QRESOLVE value for the resolution factor
QCRITANG value for the critical factor angle identifying a corner

41. The TMM command now works for the two TOPAZ3D output options OTOPAZ3D and TOPAZ3D2.

42. A bug was fixed with the WHEN and FOR preprocessor statements. This bug occurred when more than one FOR statement was embedded in a WHEN block.

43. A bug was fixed with TrueGrid®'s use of computer memory. In particular, on a 64 bit system running a 64 bit version of TrueGrid®, more memory was allocated than was needed and then not used. In a large problem, the system might run out of memory, even if there was enough memory to run the problem.

The process that gets needed memory has been improved so that it will use every last bit of memory that it can possible grab before giving up.

44. The GETOL command, which controls the resolution of surfaces and curves, has been extended. Almost all surfaces and 3D curves affected by this command. This has had an unexpected effect on some displays of the sphere, cone, cylinder, and torus surfaces. In particular, the interactive rotation and the wire/hide graphics with surface interior lines turned off (SDINT OFF) does not show as many surface contours.

45. New command line options have been added to TrueGrid®. They are

-h which summarizes the command line options:

If you type: tg -h

on Unix/Linux gives:

tg [option(s)]
where [options] may be zero or more of:
i= Input_file_name (default: no file)
o= Output_file_name (default: trugrdo)
s= Save_file_name (default: tsave)
-nogui Disable graphical user interface
or [option] may be one of:
-v Print version and quit
-h Print this help and quit
-lic Print path to .tgauth file and quit

on Windows gives:

tg [option(s)]
where [options] may be zero or more of:
i= Input_file_name (default: no file)
o= Output_file_name (default: trugrdo)
s= Save_file_name (default: tsave)
g=nogui Disable graphical user interface
or [option] may be one of:
-v Print version and quit
-h Print this help and quit
-lic Print path to .tgauth file and quit

-lic gives the path to the .tgauth file TrueGrid is using

If you type: tg -lic

on Unix/Linux gives (for example):

TrueGrid : Authorization file found in "/usr/TrueGrid"

on Windows gives (for example):

TrueGrid : Authorization file found in "C:\TrueGrid"

46. TrueGrid® can now accept spaces in path names and file names. The filename (and path, if included) must be contained in one pair of double quotes ( " ).

For example:

CORRECT: tg i="blank in path/"
WRONG: tg i="blank in path"/

The same holds for TrueGrid® commands:

CORRECT: iges "geometry/blank in filename.igs" 1 1;
WRONG: iges geometry/"blank in filename.igs" 1 1;

47. TrueGrid® now filters out the carriage return character (13) when an ASCII file created on Windows is moved to a Unix/Linux system.

48. A memory bug was fixed regarding IGES NURBS surfaces. This bug may not have caused a problem for many models. The problem with this type of bug is that it can show up in odd places that cannot easily be explained without very careful study of the source code. Also, it would not be repeatable on different versions of TrueGrid® or on different versions of an operating system. However, it is rare when this bug caused a problem.

49. A new command extracts the coordinates of a point from a surface or a 3D curve.

PTCOOR point_symbol

where the point_symbol can be
s.i.j for a labeled point on a surface where
s is the surface number
i is the first index of the point on the surface
j is the second index of the point on the surface
c.i for a labeled point on a 3D curve where
c is the 3D curve number
i is the point index on the curve

The coordinates are stored in the automatic parameters xprj, yprj, and zprj respectively.

50. A new command interpolates a point along a 3D curve. The 3D curve is parameterized by relative arc length ranging from 0 (start) to 1 (end).

PPTCD curve_number parameter

The coordinates are stored in the automatic parameters xprj, yprj, and zprj respectively.

51. A memory constraint was changed for the CFX4 output. Previously, TrueGrid® allowed up to 10,000 blocks (grids). A single grid could be a single block part. In a part with more blocks, the part is decomposed into the minimal number of grids (without holes). So it is complicated to predict the total number of blocks produced by a single multi-block part.

This limit has been increased to 20,000 blocks (grids).

Associated with these grids are boundary grid faces. This too was limited to 10,000 faces. This is now unlimted.

A memory constraint was also increased for the CFX5 output (ASCII). The maximum number of faces that defines a boundary condition has been increased from 99,999 to 9,999,999

52. The wrong faces were choosen in the part phase when the "or" command was used with certain boundary conditions with certain output options, or when face sets were used. The boundary conditions that were affected were pressure (pr command), sliding interface (si command), and convection (cvt command). The output options affected were ABAQUS, ANSYS, and NEUTRAL. If face sets were assigned faces in the part phase (fset and fseti commands) then some of the faces were wrong. This could be easily detected in the merge phase by using the "co" command to display the boundary conditions or the "SETS" option in the "PICK" panel to show the face sets. Essentially, the face identification numbers associated with the elements were not affected by the reordering of the element nodes due to the "or" command. This problem has been fixed.

53. The Cohesive Element type for ABAQUS is now available through TrueGrid®. When choosing a solid element typei within the ABAQMATS command, you can select COH3D or COH3DP (pore pressure). Several new parameters are associated with this element:

AQCOHR type for the cohesive response
where type can be
3 for GASKET
AQCOHSD direction for the cohesive stack direction
where direction can be
AQCOHTF type for the cohesive thickness type
where type can be
AQCOHIT th for the cohesive initial thickness

54. A minor bug was fixed in the POLY option of the SD command. If the polygon set has invalid faces due to surface redefinitions, then the invalid polygons will be filtered out, instead of crashing TG.

55. The LABELS (LA) command with options loc2d, loc3d, loc2dq, and loc3dq to locate and highlight in the merge phase do so incorrectly on LINUX and UNIX systems when the FILL graphics was used. This has been corrected.

56. When using the READMESH command for more than one LSDYNA files, the material numbering has been modified so that the numbering is consistent across these multiple files.

57. A bug in generating TrueGrid® lines from IGES curves has been fixed.

numbering has been modified so that the numbering is consistent across these multiple files.

58. A new optional argument has been added to the fset and fseti commands in the part phase.

fset [side] option set_name
fseti [side] option set_name

where side is the new option. This applies only to faces of brick elements. It is ignored if the faces being selected are shell elements.

Side can be 0 or 1 and it indicates which brick elements to use when selecting faces on the specified partition(s) in the mesh. If side=0, then the elements on the minimum index side are selected. If side=1, then the brick elements on the maximum index side are selected. This feature only affects those Finite Element output options where a face of a set is identified by an element number and a face ID. If a simulation code defines a face by thes four nodes, then it is not affected by this new option.

For example, suppose a two block, two element part is formed by

block 1 2 3;1 2;1 2;1 2 3;1 2;1 2;

and the face that is shared by these two elements is selected as a face set.

fset 2 1 1 2 2 2 0 = face_set_1

Then brick element number 1, face ID 3 would form the face set. If, instead

fset 2 1 1 2 2 2 1 = face_set_1

then brick element number 2, face ID 5 would form the face set.

59. A bug was fixed with the jt (joint) command in the part phase. This bug was a problem if a node in the part was assigned to a joint and then, further in the input, insprt (insert a partition) command was issued. It did not always cause a problem.

60. A bug was fixed in the fast graphics for 64 bit systems using a NVIDIA QUADRO graphics card. TrueGrid® would crash on occasions when the computational mesh was moved. This new version with the bug fix also runs much faster when moving the computational mesh.