Поиск по документации
Введите не менее 2 символов
Введите не менее 2 символов
![]() |
CAE Fidesys 9.0 Руководство пользователя |
Ниже описываются команды для создания качественных сеток на геометрических моделях с периодической структурой, таких как модели поликристаллических материалов. Сетки могут подвергаться сглаживанию при переходе через периодические границы. Периодические граничные условия возможно задавать автоматически.
Приводимые функции находятся в стадии незавершенной разработки и опробования, поэтому ими следует пользоваться с осторожностью.
Вначале импортируйте геометрическую модель и выполните, при необходимости, операции по исправлению ее геометрии, включая слияние поверхностей. Затем разбейте модель на конечные элементы с помощью любого метода генерации, который позволяет создавать совместимые сетки при переходе через периодические границы, например разбиение на многогранники или протяжка. После разбиения задайте векторы смещения участков, которые обеспечивают обращение с подобными узлами в пределах периодических границ одинаковым образом:
tile {x <period> | y <period> | z <period>}
[x <period>] [y <period>] [z <period>]
Значения period задают вектор смещения участка от одной границы до другой. Задайте команду tile для каждой координатной оси, например:
tile x 1
tile y 1
tile z 1
Подобные узлы, полученные с помощью заданных векторов смещения, можно отобразить посредством команды:
tile debug node <id>
Чтобы удалить векторы смещения, используйте команду:
tile off
После задания векторов смещения можно определить периодические граничные условия с помощью команды:
tile nodeset <start_id>
При этом создаются наборы узлов с учетом всех векторов смещения участков. Они следуют друг за другом; идентификационные номера начинаются с заданного номера start_id. Чтобы удалить созданные наборы, используйте команду:
tile off
После создания сетки и задания векторов смещения участков можно выполнить сглаживание сетки с сохранением периодических границ. В настоящее время такая обработка возможна только для сеток из элементов-гексаэдров. При этом поддерживается множество трехмерных схем сглаживания, включая лапласово сглаживание, эквипотенциальное сглаживание, распутывание и сглаживание по числу обусловленности. Для выполнения сглаживания введите команду:
smooth volume <volume_id_range> [global [float <dim>] ]
Используйте параметр global, если обрабатываете одновременно нескольких объемов. Если вы хотите иметь возможность перемещать узлы на поверхностях и кривых, а также вершины в трехмерном пространстве, то используйте комбинацию параметров float 3. Задание float 2 позволяет узлам и вершинам перемещаться в двумерном пространстве, оставаясь на поверхности. Часто бывает полезно зафиксировать какие-либо узлы; это выполняется с помощью команды node position fixed (см. ниже).
# make the geometry
#{brick_size=500}
brick wid {brick_size}
brick wid {brick_size}
body 2 move {brick_size} 0 0
brick wid {brick_size}
body 3 move {brick_size} {brick_size} 0
brick wid {brick_size}
body 4 move 0 {brick_size} 0
brick wid {brick_size}
body 5 move 0 0 {brick_size}
brick wid {brick_size}
body 6 move {brick_size} 0 {brick_size}
brick wid {brick_size}
body 7 move {brick_size} {brick_size} {brick_size}
brick wid {brick_size}
body 8 move 0 {brick_size} {brick_size}
merge all# mesh it
vol all int 3
mesh vol all# set the tiling vectors
tile x {brick_size*2}
tile y {brick_size*2}
tile z {brick_size*2}
tile debug node 256
tile debug node 245# set the tiling nodesets
tile nodeset# mess up the mesh quality
# volume all smooth scheme randomize
# smooth volume all
surface all smooth scheme randomize
smooth surface all
draw hex all# fix the mesh quality
node in volume all position fixed
node in surface all position free
volume all smooth scheme laplac
# volume all smooth scheme untangle beta 0.08
smooth volume all global float 3
draw hex all