Поиск по документации
Введите не менее 2 символов
Введите не менее 2 символов
![]() |
CAE Fidesys 9.0 Руководство пользователя |
Область применения: объемы.
Краткая характеристика: Создание нерегулярной сетки из элементов-тетраэдров (tetmesh).
Используемая команда:
volume <range> scheme tetmesh
Родственные команды:
[set] tetmesher optimize level <level>
[set] tetmesher optimize overconstrained {on | OFF}
[set] tetmesher optimize sliver {on | OFF}
[set] tetmesher optimize default
[set] tetmesher boundary recovery {on | OFF}
[set] tetmesher interior points {ON | off}
thex volume all
volume <volume_ID> tetmesh respect {face | tri | edge | node} <range>
volume <volume_ID> tetmesh respect clear
volume <volume_ID> tetmesh respect file '<filename>'
volume <volume_ID> tetmesh respect location (options)
Пояснения: Согласно описываемой схеме в произвольном объеме создается сетка из тетраэдров. Вначале поверхности объема разбиваются на треугольники с помощью вариантной триангуляции или усовершенствованной триангуляции; возможно также преобразование построенной на них сетки из четырехугольников в сетку из треугольников.
Для построения сетки из тетраэдров (см. пример на Рис. 1) используются три из четырех модулей Distene/INRIA: стандартный, модуль восстановления границ и модуль анизотропного скаляра. Четвертый модуль (модуль анизотропного тензора) в настоящее время пользователям не доступен.

Рис. 1 - Пример сетки из тетраэдров (сетка на поверхности создана с помощью усовершенствованной триангуляции)
Модуль восстановления границ отличается от стандартного модуля ослаблением ограничений на поверхностную сетку в процессе генерации тетраэдров. Как только разбиение на тетраэдры завершено, на поверхностную сетку вновь накладываются ограничения. Это позволяет строить сетку из тетраэдров в объеме, образованном поверхностями, триангуляция которых выполнена с невысоким качеством. Модуль анизотропного скаляра позволяет применять к объему скалярную размерную функцию.
Ниже приведены опции, доступные при разбиении объема на тетраэдры. Каждая из них представляет собой команду глобальной настройки, действующей до ее изменения пользователем.
Задание уровня глобальной оптимизации возможно только в стандартном модуле; оно осуществляется посредством команды:
[set] tetmesher optimize level <level>
Уровень оптимизации - это целое число в диапазоне от 0 до 6, соответствующее качественным показателям: none, light, medium, standard, strong, heavy, extreme. Бόльшие вводимые значения приводят к более длительным вычислениям. Значение по умолчанию равно 3.
Оптимизация избыточных ограничений применяется для исключения тетраэров, имеющих общие множественные поверхностные треугольники (по умолчанию выключена):
[set] tetmesher optimize overconstrained {on | OFF}
Оптимизация мелкого разбиения используется для удаления малых элементов-тетраэдров (по умолчанию выключена):
[set] tetmesher optimize sliver {on | OFF}
Восстановление стандартных параметров оптимизации:
[set] tetmesher optimize default
Стандартными параметрами (действующими по умолчанию) являются следующие: level = 3, overconstrained = off, sliver = off.
Использование или отказ от использования модуля восстановления границ:
[set] tetmesher boundary recovery {on | OFF}
По умолчанию применяется стандартный модель, если для разбиваемого объема не определена функция размера элемента, или модуль анизотропного скаляра, если она определена. Программа выбирает модуль восстановления границ, если минимальное число обусловленности поверхностного элемента меньше 0,2.
Вставка внутренних точек:
[set] tetmesher interior points {ON | off}
Иногда желательна сетка с возможно меньшим числом внутренних точек. Приведенная команда позволяет разрешить или запретить вставку таких точек. В последнем случае алгоритм будет строить сетку в объеме, используя только внешние точки. Если это не возможно, то несколько внутренних точек все же будут добавлены для завершения построения.
Сетка из тетраэдров может использоваться для создания сетки из гексаэдров, как это описывается в подразделе Преобразование сетки из тетраэдров в сетку из гексаэдров (thex). Каждый тетраэдр может быть преобразован в 4 гексаэдра, в результате чего создается новая полностью конформная сетка, хотя и худшего качества. Такая сетка может использоваться в программах, которые менее чувствительны к ее качеству и направлениям разбиения. Схема thex требует, чтобы все тетраэдры были преобразованы в гексаэдры с помощью одной команды.
В некоторых случаях сетку конечных элементов необходимо адаптировать к внутренними особенностям модели. Описываемая схема обеспечивает такую возможность при условии предварительного вызова следующей команды, в которой определяются требующие учета особенности:
volume <volume_ID> tetmesh respect {face | tri | edge | node} <range>
Эти особенности определяются посредством указания сеточных объектов, которые должны стать частью сетки из тетраэдров. К ним относятся грани, треугольники, ребра или узлы, находящиеся внутри объема, поскольку все особенности поверхностной сетки входят в результирующую сетку по умолчанию. Требующие дополнительного учета сеточные объекты могут быть построены другими командами генерации сетки на свободных вершинах, кривых или поверхностях. На Рис. 2 представлен пример использования рассматриваемой команды для помещения узла 9 в центр куба. Этот узел был создан как свободная вершина с заданными координатами, соответствующими положению центра, а затем определен как узел сетки посредством команды mesh vertex 9.

Рис. 2 - Пример учета внутренней особенности в виде вершины
Для генерации сетки из тетраэдров с учетом узла 9 применимы команды:
volume 1 scheme tetmesh
tetmesh respect node 9
mesh volume 1
Команда tetmesh respect может использоваться также для включения в сетку из тетраэдров множества объектов. Для этого следут вызвать ее соответствующее число раз. Например, чтобы узел 12 и треугольник 2, находящиеся внутри объема 3, появились в результирующей объемной сетке, следует ввести команды:
volume 3 scheme tetmesh
volume 3 tetmesh respect node 12
volume 3 tetmesh respect tri 2
mesh volume 1
Команды tetmesh respect file и tetmesh respect location, в отличие от предыдущей команды, не требуют наличия для учитываемых сеточных объектов геометрии:
volume <volume_ID> tetmesh respect file '<filename>'
volume <volume_ID> tetmesh respect location (options)
Например, чтобы учесть в модели точку (1.0, 0.0, -1.0), можно ввести команду:
volume 1 tetmesh respect location 1 0 -1
Это гораздо проще, чем вначале создавать вершину, потом генерировать в ней узел, а затем включать его в сетку. Если модель содержит много особенностей, которые должны быть учтены, следует использовать команду, работающую с файлом. Вначале надо создать файл со всеми точками, ребрами и треугольниками, подлежащими учету, в формате Facet. После этого нужно ввести следующую команду, чтобы передать информацию из файла в объем, разбиваемый на тетраэдры:
volume 2 tetmesh respect file 'my_points.facet'
Для удаления особенностей, которые были учтены, используется команда:
volume <volume_ID> tetmesh respect clear
Эта команда представляет собой единственный способ удалить из объема данные об особенностях без удаления самого объема. К сожалению, она удаляет все данные, относящиеся к особенностям. Поэтому, если среди этих данных есть другая полезная информация, то лучше предварительно сохранить ее в виде файла.
Объемная сетка может быть создана на основе поверхности, состоящей из треугольников:
tetmesh tri <range> [make {block | group} [<ID>]]
tetmesh tri <range> {add | replace} {block | group} <ID>
Треугольники должны образовывать замкнутую поверхность; в противном случае команда не выполняется. Треугольники могут принадлежать отделенной поверхности. В этом случае команда вроде tetmesh tri in block 1 выполняется, если блок 1 предварительно определен как отделенная от объема поверхность.
При использовании в первом варианте команды опции make сетка строится для объекта, указанного посредством идентификатора <ID>. Если этот объект уже имеет сетку, то команда не выполняется. Если идентификатор не указан, то для генерации сетки выбирается следующий доступный блок.
Во втором варианте команды опция add добавляет сетку из тетраэдров к указанному (посредством <ID>) объекту. Опция replace удаляет с объекта существующую сетку до добавления новой сетки.