Перейти к статье

 

Идентификаторы (ID) объектов

Геометрические объекты (вершины, ребра, кривые, поверхности, объемы, тела, группы) и сеточные объекты (узлы, элементы, грани, ребра) нумеруются в Fidesys натуральными числами в порядке возрастания начиная с 1. Каждый вновь созданный объект с определенной топологией получает уникальный номер - идентификатор (ID). Этот номер используется в командах, которые реализуют различные операции над объектом, например, draw volume 3.

Для каждого типа топологической сущности существует отдельное пространство идентификаторов. Например, всем узлам сетки даются идентификаторы от 1 до n , где n - целое число, большее или равное количеству узлов в модели. Точно так же всем гексаэдрам присваиваются идентификаторы от 1 до m , где m - целое число, большее или равное количеству гексаэдров в модели.

Идентификаторы элементов

Каждый объект сетки (шестигранник, тет, грань, треугольник, край, узел и т. д.) также может иметь идентификатор глобального элемента из пространства идентификаторов, которое используется для всех объектов сетки. Сетчатому объекту назначается глобальный идентификатор элемента, только если он находится в блоке , и это глобальный идентификатор, который будет назначен элементу во время экспорта Exodus . Global Element ID предоставляет единое пространство ID для всех различных типов элементов.

Пробелы в последовательной нумерации объектов

Некоторые операции (например, удаление объекта) приводят к образованию пробелов в их последовательной нумерации. Команда compress IDs устраняет эти пробелы, нумеруя объекты подряд (начиная с 1):

compress [IDs] [all] [group | body | volume | surface | curve | vertex | hex | face | edge | node] [retainmax] [sort]

Если ввести команду compress или compress all ID всех сущностей будут сжаты; в противном случае можно указать тип объекта, ID которого должны быть сжаты. Retainmax аргумент сохранит максимальный ID для каждого типа объекта, так что сущности, созданные после этой команды будут получать ID превышающее это значение. Если sort включен, новый ID каждой сущности будет определяться ее размером и местоположением. Малым объектам дается более низкий ID, чем крупным. Сущности одинакового размера сортируются по их местоположению, причем меньшие координаты x, y и z приводят к более низкому ID. Если два объекта имеют одинаковый размер и местоположение, они сортируются в соответствии с их предыдущими ID. Эту опцию можно использовать для восстановления ID в переведенных моделях способом, который приводит к большей устойчивости, чем просто случайное присвоение ID.

Перенумерация идентификаторов

Для изменения идентификаторов сеточных объектов (после построения сетки) используется команда перенумерации:

renumber {node | edge | tri | face | hex | tet | wedge} <ID_range> start_ID <ID> [uniqueids]

В качестве стартового номера при перенумерации (<ID>) может использоваться любое свободное натуральное число, при этом соблюдения непрерывности чисел не требуется. После перенумерации ID идут в возрастающем порядке. Если результирующий диапазон значений номеров не содержит подходящих значений, команда выдает ошибку и не выполняется.

Использование параметра uniqueids приводит к присвоению уникальных идентификаторов.

Для удобства все элементы и узлы в блоке можно перенумеровать с помощью одной команды:

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

По умолчанию Global Element ID перенумеровывается с помощью команды renumber block. Если указаны localids, то вместо этого перенумеровывается шестигранник, тет, грань, треугольник или ребро.

ID объемов

Для перенумерации объемов используется следующая команда:

volume <old_ID> ID <new_ID>

С помощью этой команды старый идентификатор объема (old_ID) заменяется на новый (new_ID), если предложенный new_ID не совпадает ни с одним из существующих номеров объемов. Команда не применима для узлов, кривых и поверхностей.