Entity IDs

Topological entities (including groups) are assigned integer identification numbers or ids in Trelis in ascending order, starting with 1 (one). Each new entity created within Trelis receives a unique id within the topological entity type.  This id can be used for specifying the entity in Trelis commands, for example "draw volume 3".

There is a separate id space for each type of topological entity. For example, all mesh nodes are given ids from 1 to n, where n is an integer greater than or equal to the number of nodes in the model. Likewise, all hexahedra are given ids from 1 to m, where m is an integer greater than or equal to the number of hexahedra in the model.

Element Ids

Each mesh entity (hex, tet, face, tri, edge, node, etc.) may also have a Global Element ID from an id space which is used for all mesh entities. A mesh entity is only assigned a Global Element ID if it is in a block, and is the global id that will be assigned to the element during Exodus export. The Global Element ID provides a single id space across all the different element types.

Gaps in ID space

After working with a model for some time, various operations will cause gaps to be left in the numbering of the geometric & mesh entities. The compress ids command can be used to eliminate these gaps:

Compress [Ids] [All] [Group|Body|Volume|Surface|Curve|Vertex|Element|Hex|Tet|Face|Edge|Node] [Retainmax] [Sort]

Typing compress with no options or compress all will compress the ids of all entities; otherwise, the entity type for which ids should be compressed can be specified. The retainmax argument will retain the maximum id for each entity type, so that entities created subsequent to this command will receive ids greater than that value.  If the sort qualifier is included, the new id of each entity will be determined by its size and location. Small entities are given a lower id than large entities. Entities that are the same size are sorted by their location, with lower x, y, and z coordinates leading to a lower id. If two entities are found to have the same size and location, they are sorted according to their previous ids. This option can be used to restore ids in translated models in a manner which leads to more persistence than purely random id assignment.

Renumbering IDs

The renumber command can be used to change the id numbers assigned to meshed entities.

Renumber {Node|Edge|Tri|Face|Hex|Tet|Wedge} <id_range> Start_id <id> [Uniqueids]

Any valid range specification can be used to specify the source ids. There is no requirement that the ids being renumbered are consecutively numbered. The new id numbers will be consecutive beginning at the specified start id. For the command to be successful there can be no existing ids within the effective range of the start id. If the resultant destination range is not free of id numbers, the command will fail with an appropriate error.

Using the uniqueids keyword will result in the elements to be renumbered such that no element shares the same ID.

For convenience, all elements and nodes in a block can be renumbered with a single command:

Renumber block <id_range> [node_start_id <id>] [elem_start_id <id>] [localids]

By default, the Global Element ID is renumbered with the renumber block command. If localids is specified, the hex, tet, face, tri, or edge id is renumbered instead.

Volume ID

The volume id command is used to renumber a single volume.

Volume <old_id> Id <new_id>

This command replaces the volume's old_id with the new_id if no other is using the new_id number. Entity renaming only works for volumes; it does not work for nodes, curves or surfaces.