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

 

Импорт файлов в формате Facet

В Fidesys можно импортировать геометрическую модель, составленную из отдельных граней - фасет (facets). Для импорта файлов в формате Facet используется команда:

import [Facets | AVS | STL] ''<filename>" [feature_angle] [LINEAR | spline] [MERGE | no_merge] [make_elements] [stitch] [improve]

Фасеты представляют из себя треугольники, образующие вместе определенную поверхность. Подобное представление используется в компьютерной графике, биотехнологии, геотехнике и многих других приложениях, где требуется дискретное моделирование поверхностей. При импорте файла в формате Facet считывается геометрия на основе сетки и производится ее конвертирование во внутренний формат Fidesys. На Рис.1 приведен пример исходной геометрии в фасеточном представлении и соответствующая модель, полученная в результате конвертирования.

facet001.gif

facet002.gif

Рис. 1 - Исходная фасеточная модель и результат ее конвертирования в Fidesys

В настоящее время импорт файлов геометрических данных в фасеточном представлении поддерживается для трех вариантов этого представления:

Формат Facet

Содержимое ASCII-файла в формате Facet выглядит следующим образом:

n m
id1 x1 y1 z1
id2 x2 y2 z2
id3 x3 y3 z3
.
.
.
idn xn yn zn
fid1 id<1> id<2> id<3> [id<4>]
fid2 id<1> id<2> id<3> [id<4>]
fid3 id<1> id<2> id<3> [id<4>]
.
.
.
fidm id<1> id<2> id<3> [id<4>]

Обозначения:

n - число вершин;
m - число граней;
id<i> - идентификатор i-й вершины;
x<i> y<i> z<i> - координаты i-й вершины;
fid<j> - идентификатор j-й грани;
id<1> id<2> id<3> - идентификаторы вершин грани;
[id<4>] - идентификатор четвертой вершины для четырехугольников (опционально).

По умолчанию в процессе импорта грани не отображаются. Для их визуализации используется команда:

draw surf <ID range> facets

Характерный угол

Параметр feature angle задает угол, соответствующий делению импортируемых поверхностей с помощью кривых, а кривых - с помощью вершин. При угле в 180 градусов происходит построение отдельной поверхности для каждой фасеты, а при угле в 0 градусов - единой поверхности из всех импортируемых фасет. По умолчанию используется угол в 135 градусов. Аналогичный параметр используется при импорте файлов в формате Exodus II.

Гладкие кривые и поверхности

Образуемые при импорте кривые и поверхности по умолчанию моделируются исходными гранями (параметр LINEAR). Существует возможность аппроксимации поверхностей с более высоким порядком приближения, что необходимо для детализации геометрии и последующей генерации конечно-элементной сетки высокого качества. Поэтому если импортируемая фасеточная модель содержит искривленные поверхности, рекомендуется использовать параметр spline. При этом для аппроксимации поверхностей будет использоваться B-сплайн четвертого порядка [Walton, 1996]. Дополнительную информацию об использовании приближений высоких порядков можно найти в подразделе Импорт файлов в формате Exodus II.

Слияние объектов при импорте

Параметр MERGE, используемый по умолчанию, обеспечивает автоматическое слияние формируемых при импорте поверхностей. Параметр no_merge позволяет импортировать смежные поверхности без их слияния.

Создание элементов сетки

Параметр make elements позволяет создавать конечные элементы на основе импортируемых граней.

Сшивка элементов на границах

Параметр stitch используется при импорте файлов в "классическом" формате Facet или в формате AVS. Он обеспечивает сшивку вершин и ребер расположенных рядом фасет. Пример работы этого параметра показан на Рис. 2: поверхность, изображенная слева, состоит из несвязанных между собой областей (красной и синей). В результате сшивки соответствующие вершины и грани объединяются и поверхность становится связной (непрерывной) - она представлена справа. Использование параметра stitch является важным для дальнейшей генерации сеток на импортированных 3D-моделях, т.к. обязательным условием построения трехмерных сеток является непрерывность поверхностей.

stitch00.gif

Рис. 2 - Пример работы параметра stitch

Улучшение геометрии

Параметр improve обеспечивает удаление мелких элементов, характерный размер которых меньше 30% средней длины ребер импортируемых фасет. На Рис. 3 представлен пример такого улучшения для двух поверхностей из треугольных элементов в районе их границы.

facet_improve00.gif

Треугольники на границе двух поверхностей без использования параметра improve

facet_improve01.gif

Те же треугольники при использовании параметра improve