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

 

Функция поля на основе Exodus II

В Fidesys имеется возможность определять размеры элементов, используя обобщенную функцию поля. При этом в качестве поля рассматривается распределение некоторой величины, которая соответствует зависящей от времени переменной в файле в формате Exodus II. Функция поля (размерная функция типа exodus) определяется значениями переменной в узлах или элементах, считываемыми при импорте файла Exodus II. В настоящее время такой способ доступен для  поверхностных сеток из четырехугольных и треугольных элементов или объемных сеток из тетраэдров.

Адаптивное построение сетки включает следующие шаги:

Импорт функции поля и связывание ее с геометрией (шаги 2 и 3) отделены от нормирования (шаг 4). В результате обеспечивается возможность перенормирования. Для выполнения шагов 2 и 3 вводится команда:

import sizing function '<exodusII_filename>' block <block_ID> variable `<variable_name>' time <time_val> [deformed]

Значение параметра block (<block_ID>) представляет считываемый из файла '<exodusII_filename>' блок.

variable_name - имя зависящей от времени переменной в файле Exodus (задаваемой значениями в узлах или элементах).

time_val - время в рамках решаемой задачи, в которое данные должны быть считаны.

Ключевое слово deformed указывает, должна ли для новой модели учитываться деформированная геометрия (при импорте 2D-файлов в формате Exodus) и требуется ли такой учет для определения размерной функции.

Следует отметить, что при считывании данных размерной функции сетка сохраняется в виде объекта ExodusMesh соответственно геометрии, но геометрия рассматривается безотносительно сетки. Если деформации не учитываются, то геометрия, с которой ассоциируется сетка, должна быть в том же состоянии, в каком она была при сохранении сетки (см. подраздел Импорт сетки). После прочтения функции поля и связывания с геометрией она может быть подвергнута нормированию для использования при генерации сетки. Параметры нормирования определяются в той же команде, которая устанавливает тип размерной функции применительно к поверхности или объему:

surface <ID> sizing function type exodus [min <min_val> max <max_val>]

volume <ID> sizing function type exodus [min <min_val> max <max_val>]

Нормирование функции поля выполняется таким образом, что ее значения лежат в диапазоне между минимальным и максимальным введенными данными. При последующих нормировках используются уже ранее нормированные, а не первоначальные значения. Если размерная функция определяется на основе данных элементов, то каждому узлу назначается среднее значение рассматриваемой переменной по всем элементам, соединяемым в этом узле. Узловые значения переменной используются непосредственно.

После выполнения нормирования рассматриваемый геометрический объект разбивается на элементы посредством обычной команды генерации сетки.

В левой части Рис. 1 показано в качестве примера распределение метрики пластических деформаций, полученное с помощью программы PRONTO-3D [Taylor, 1989], выполняющей расчет переходных динамических процессов в сплошных средах; полученные значения метрики записаны в файл в формате Exodus II. Алгоритм схемы Неструктурированная сетка использовал эти значения для генерации адаптивной сетки в соответствии с функцией поля пластических деформаций [Attaway, 1993]. Результирующая сетка представлена в правой части Рис. 1.

Рис. 1 - Распределение метрики пластических деформаций и адаптивная сетка, построенная с использованием соответствующей функции поля

Использование функций поля на основе Exodus II для разбиения кривых

Кроме адаптивного построения поверхностных сеток с использованием функции поля, возможно и соответствующее разбиение кривых. С этой целью применяется схема stride. Если пользователь не определил схему генерации сетки для кривой, программа выберет по умолчанию указанную схему в том случае, когда для разбиения поверхностей и объемов, включающих эту кривую, использовалась функция exodus.