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

 

Создание групп гексаэдров

Ниже описываются операции по созданию групп из элементов-гексаэдров, образующих объемную конечно-элементную сетку. Эти операции похожи на построение сетки по схеме Протяжка. Создание групп гексаэдров возможно:

Приводимые далее примеры относятся к сетке, которая генерируется в объеме параллелепипеда со стороной 10:

brick width 10
volume 1 size 1
mesh volume 1

В результате выполнения этих команд создается объемная сетка, состоящая из 10×10×10 гексаэдров.

Создание групп гексаэдров, начиная с поверхности

Возможны следующие варианты выполнения данной операции:

Окончание на заданной поверхности

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

group ['name' | <ID>] add hex propagate surface <ID> target surface <ID>

Пример:

group 2 add hex propagate surface 1 target surface

В результате создается группа с идентификатором 2, состоящая из 1000 гексаэдров.

Заданное число слоев элементов

Создание группы из заданного числа слоев элементов осуществляется с помощью команды:

group ['name' | <ID>] add hex propagate surface <ID> times <number>

Пример:

group 2 add hex propagate surface 1 times 4

Результат: группа с идентификатором 2 из 400 гексаэдров (4 слоя 10×10 элементов).

Оба описанных варианта создания групп могут быть реализованы с опцией multiple; при этом формируются несколько групп согласно числу, определенному пользователем.

Окончание на поверхности с умножением

Создание группы с окончанием на поверхности и опцией multiple возможно посредством команды:

group ['name' | <ID>] add hex propagate surface <ID> target surface <ID> multiple <number>

Пример:

group 2 add hex propagate surface 1 target surface 2 multiple 2

В результате выполнения этой команды, кроме группы с идентификатором 2, создаются еще пять групп гексаэдров, расположенных между поверхностями 1 и 2; каждая из этих групп содержит по два слоя элементов.

Число слоев элементов с умножением

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

group ['name' | <ID>] add hex propagate surface <ID> times <number> multiple <number>

Пример:

group 2 add hex propagate surface 1 times 10 multiple 5

В результате, кроме группы с идентификатором 2, создаются еще две группы гексаэдров, расположенных между поверхностями 1 и 2; каждая из этих групп содержит по пять слоев элементов.

Оба варианта создания групп могут сочетаться с указанием направления движения при их создании. Направление указывается с помощью номера соответствующего узла сетки или идентификатора поверхности. Дальнейшее изложение базируется на примере создания и разбиения на элементы другого параллелепипеда:

brick x 10
vol 1 size 1
brick width 10
body 2 move 10
volume all size 1
merge all
mesh volume all

Окончание на поверхности с указанием направления

group ['name' | <ID>] add hex propagate surface <ID> target surface <ID> direction node <ID>

Пример:

group 2 add hex propagate surface 6 target surface 12 direction node 1530

В результате создается группа 2, содержащая 1000 гексаэдров.

Число слоев элементов с указанием направления

group ['name' | <ID>] add hex propagate surface <ID> times <number> direction [surface <ID> | node <ID>]

Примеры:

group 2 add hex propagate surface 6 times 4 direction surface 4

group 2 add hex propagate surface 6 times 4 direction node 1530

Результат: и в том, и в другом случае созданная группа 2 содержит 400 гексаэдров.

Возможно сочетание опций direction и multiple, например:

group 2 add propagate surface 6 times 4 multiple 2 direction node 1530

Создание групп гексаэдров, начиная с грани

При создании групп гексаэдров с началом на грани, формирование группы может заканчиваться на поверхности, на другой грани или после определенного числа слоев элементов:

Окончание на поверхности

group ['name' | <ID>] add hex propagate [source] face <ID range> target surface <ID>

Пример:

group 2 add hex propagate face 1 11 21 target surface 2

Результат: группа 2, содержащая 30 гексаэдров (10 слоев по 3 элемента).

Окончание на грани

group ['name' | <ID>] add hex propagate [source] face <ID> target face <ID>

Пример:

group 2 add hex propagate face 1 target face 1721

Результат: группа 2, содержащая 5 гексаэдров (5 слоев по одному элементу).

Примечание: Окончание на грани требует и старта на одной грани, в то время, как окончание на поверхности позволяет использовать разные начальные грани.

Число слоев элементов

group ['name' | <ID>] add hex propagate [source] face <ID range> times <number>

Пример:

group 2 add hex propagate face 2 times 4

Результат: группа 2, содержащая 4 гексаэдра (4 слоя по одному элементу).

Примечание: Все три варианта создания групп, начиная с грани (с окончанием на поверхности, с окончанием на грани и с указанием числа слоев), могут использоваться с опцией multiple.

Окончание на поверхности с умножением

group ['name' | <ID>] add hex propagate [source] face <ID> target surface <ID> multiple <number>

Пример:

group 2 add hex propagate face 1 target surface 2 multiple 1

Результат: десять групп; по одной для каждого слоя гексаэдров. Эти группы сохраняются в родительской группе 3, а группа 3 - в родительской группе 2.

Окончание на грани с умножением

group ['name' | <ID>] add hex propagate [source] face <ID> target face <ID> multiple <number>

Пример:

group 2 add hex propagate face 1 target face 1721 multiple 1

Результат: 5 групп; по одной для каждого слоя гексаэдров; они сохраняются в родительской группе 3, а та - в родительской группе 2.

Число слоев элементов с умножением

group ['name' | <ID>] add hex propagate [source] face <ID> times <number> multiple <number>

Пример:

group 2 add hex propagate face 1 times 10 multiple

Результат: 2 группы с соответствующими ID, сохраняемые в родительской группе 3; при этом группа 3 сохраняется в родительской группе 2.

Окончание на грани с указанием направления

group ['name' | <ID>] add hex propagate [source] face <ID> target face <ID> direction node <ID>

Пример:

group 2 add hex propagate face 1721 target face 1 direction node 334

Результат: группа 2, содержащая 6 гексаэдров.

Окончание на поверхности с указанием направления

group ['name' | <ID>] add hex propagate [source] face <ID range> target surface <ID> direction node <ID>

Пример:

group 2 add hex propagate face 1 target surface 2 direction node 334

Результат: группа 2, содержащая 10 гексаэдров

Примечание: Опции direction и multiple могут быть совмещены, например:

group 2 add propagate face 1721 end face 1 multiple 2 direction node 334

Число слоев элементов с указанием направления

group ['name' | <ID>] add hex propagate [source] face <ID> times <number> direction [surface <ID> | node <ID>]

Примеры:

group 2 add hex propagate face 110 times 4 direction surface 2

group 2 add hex propagate face 1 times 4 direction node 269

Результат: группа 2, содержащая 4 гексаэдра.

Примечание: И в этом случае возможно совмещение опций direction и multiple, например:

group 2 add propagate face 1721 times 4 multiple 2 direction surface 1