Задача с падением страйкбольного автомата с алюминиевым прикладом на жесткую поверхность

В примере рассматривается задача с падением страйкбольного автомата с алюминиевым прикладом на жесткую поверхность. Явная динамика с контактом методом штрафов. Поскольку целью расчета является определение НДС приклада, автомат заменяется на точечную массу в условном центре масс, которая связывается с прикладом посредством жесткой связи по расстоянию.

Построение модели приклада

Создайте прямоугольную пластину. На панели команд выберите модуль построения геометрии Режим - Геометрия, Объект - Поверхность, Действие - Создать. Из списка геометрических примитивов выберите Прямоугольник. Задайте необходимые параметры. Нажмите Применить.

Создайте вершину с заданными координатами на указанной поверхности. На панели команд выберите модуль построения геометрии Режим - Геометрия, Объект - Вершина, Действие - Создать. Из списка геометрических примитивов выберите Выбиранием. Задайте необходимые параметры. Нажмите Применить.

Создайте еще одну вершину с координатами (0, -0.1398, -0.02044) на поверхности 1.

Далее создайте вершину с координатами (3.846e-18, -0.15, -0.06281) на кривой 3.

Проделайте то же самое для координат и кривых: (4.592e-18, -0.14, -0.075) на кривой 4, (-3.796e-18, -0.15, 0.062) на кривой 3, (-4.592e-18, -0.1404, 0.075) на кривой 2.

Создайте еще одну вершину с координатами (0, 0.08716, -0.00908) на поверхности 1.

Создайте сплайн с помощью вершин, которые были созданы выше. На панели команд выберите Режим - Геометрия, Объект - Кривая, Действие - Создать. Из выплывающего списка выберите Сплайн и задайте требуемые параметры. Нажмите Применить.

Создайте вершину с координатами (-6.939e-18, -0.1237, 0.05947) на поверхности 1. На панели команд выберите модуль построения геометрии Режим - Геометрия, Объект - Вершина, Действие - Создать. Из списка геометрических примитивов выберите Выбиранием. Задайте необходимые параметры. Нажмите Применить.

Создайте еще одну вершину с координатами (6.939e-18, -0.1189, -0.05753) на поверхности 1.

Создайте кривую с помощью вершин, которые были созданы выше. На панели команд выберите Режим - Геометрия, Объект - Кривая, Действие - Создать. Из выплывающего списка выберите Линия и задайте ID вершин. Нажмите Применить.

Создайте вторую кривую.

Скопируйте вершину с сохранением всех свойств, для этого на панели команд выберите Режим - Геометрия, Объект - Вершина, Действие - Создать. Из выпадающего списка выберите Копировать и изменить и задайте необходимые параметры. Нажмите Применить.

Создайте третью кривую.

Создайте четвертую кривую.

Создайте вершину с координатами (-4.592e-18 -0.1054, 0.075) на кривой 2. На панели команд выберите модуль построения геометрии Режим - Геометрия, Объект - Вершина, Действие - Создать. Из списка геометрических примитивов выберите Выбиранием. Задайте необходимые параметры. Нажмите Применить.

Создайте еще одну вершину с координатами (4.592e-18, 0.1063, -0.075) на кривой 4.

Далее создайте вершину с координатами (0, 0.1028, 0.00559) на поверхности 1.

Создайте кривую с помощью вершин, которые были созданы выше. На панели команд выберите Режим - Геометрия, Объект - Кривая, Действие - Создать. Из выплывающего списка выберите Линия и задайте ID вершин. Нажмите Применить.

Проделайте то же самое для ID вершин: 19 21, 21 20 и 8 20.

Удалите поверхность 1. На панели команд выберите модуль построения объёмной геометрии Режим - Геометрия, Объект - Поверхность, Действие - Удалить. Задайте необходимые значения. Нажмите Применить.

Создайте поверхность при помощи ограничивающих кривых. На панели команд выберите Режим - Геометрия, Объект - Поверхность, Действие - Создать. Из выпадающего списка выберите Ограничивающие кривые и задайте необходимые параметры. Нажмите Применить.

Проделайте то же самое для кривых: 7 6 8 9.

Вычтите однй поверхность из другой. На панели команд выберите Режим - Геометрия, Объект - Поверхность, Действие - Логические операции. Из списка примитивов выберите Вычесть и задайте требуемые параметры. Нажмите Применить.

Сделайте протяжку поверхности. На панели команд выберите Режим - Геометрия, Объект - Объем, Действие - Создать. Из выпадающего списка выберите Протяжка и задайте необходимые параметры. Нажмите Применить.

Скруглите кривые. На панели команд выберите Режим - Геометрия, Объект - Кривая, Действие - Изменить. Из выплывающего списка выберите Скруглить/Фаска и задайте необходимые параметры. Нажмите Применить.

Проделайте то же самое для кривых: 26 20 24.

Построение сетки на прикладе

Задайте разбиение сетки. На панели команд выберите модуль построения сетки на объеме Режим - Сетка, Объект - Объемная, Действие - Интервалы. Из выплывающего списка выберите Задать размер. Задайте необходимые параметры. Нажмите Применить.

Постройте сетку на поверхности. На панели команд выберите Режим - Сетка, Объект - Поверхностная, Действие - Построение сетки. Из выплывающего списка выберите Автоматическая. Задайте необходимые параметры. Нажмите Построить сетку.

Постройте сетку на объеме. На панели команд выберите модуль построения сетки на объеме Режим - Сетка, Объект - Объемная, Действие - Построение сетки. Из выплывающего списка выберите Протяжка. Задайте необходимые параметры. Нажмите Применить схему, Построить сетку.

Построение модели поверхности

Поверните геометрическую модель приклада. На панели команд выберите Режим - Геометрия, Объект - Объем, Действие - Преобразовать. Из выпадающего списка выберите Повернуть и задайте необходимые параметры. Нажмите Применить.

Переместите вершину. На панели команд выберите Режим - Геометрия, Объект - Вершина, Действие - Преобразовать. Из выпадающего списка выберите Переместить и задайте необходимые параметры. Нажмите Применить.

Создайте поверхность. На панели команд выберите Режим - Геометрия, Объект - Поверхность, Действие - Создать. Из выпадающего списка выберите Прямоугольник и задайте необходимые параметры. Нажмите Применить.

Переместите поверхность. На панели команд выберите Режим - Геометрия, Объект - Поверхность, Действие - Преобразовать. Из выпадающего списка выберите Переместить и задайте необходимые параметры. Нажмите Применить.

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

Постройте сетку на поверхности. На панели команд выберите Режим - Сетка, Объект - Поверхностная, Действие - Интервалы. Из выплывающего списка выберите Задать число разбиений. Задайте необходимые параметры. Нажмите Применить размер, Построить сетку.

Сделайте протяжку поверхности. На панели команд выберите Режим - Геометрия, Объект - Поверхность, Действие - Создать. Из выпадающего списка выберите Прямоугольник и задайте необходимые параметры. Нажмите Применить.

Скопируйте и переместите вершину. На панели команд выберите Режим - Геометрия, Объект - Вершина, Действие - Создать. Из выпадающего списка выберите Копировать и изменить и задайте необходимые параметры. Нажмите Применить.

Удалите лишние вершины. На панели команд выберите Режим - Геометрия, Объект - Вершина, Действие - Удалить. Задайте необходимые вершины и нажмите Применить.

Постройте сетку на вершине. На панели команд выберите Режим - Сетка, Объект - Узловая, Действие - Построение сетки. Из выплывающего списка выберите Построение сетки. Задайте необходимые параметры. Нажмите Построить сетку.

Задание материала и свойств блока

Создайте первый материал. На панели команд выберите Режим - Материал, Объект - Управление материалами. В открывшемся виджете Управление материалами в средней колонке укажите имя материала. В колонке свойств откройте список Упругость и перетащите Материал Гука в колонку Свойства материала, затем в левой колонке перейдите в раздел и перетащите Общие → Плотность, Прочность → Предел прочности и Пластичность → По Мизесу и Упрочнение → Линейное изотропное, тип 2. Задайте значения и нажмите Применить.

Создайте второй материал. В средней колонке укажите имя второго материала. В колонке свойств откройте список Упругость и перетащите Материал Гука в колонку Свойства материала, затем в левой колонке перейдите в раздел и перетащите Общие → Плотность. Задайте значения и нажмите Применить.

Создайте первый блок. На панели команд выберите модуль задания свойств материала Режим - Блоки, Объект - Блок, Действие - Добавить сущность в блок. Задайте необходимые параметры. Нажмите Применить.

Создайте второй блок. На панели команд выберите модуль задания свойств материала Режим - Блоки, Объект - Блок, Действие - Добавить сущность в блок. Задайте необходимые параметры. Нажмите Применить.

Создайте третий блок. На панели команд выберите модуль задания свойств материала Режим - Блоки, Объект - Блок, Действие - Добавить сущность в блок. Задайте необходимые параметры. Нажмите Применить.

Задайте параметры для первого блока. На панели команд выберите модуль задания свойств материала Режим - Блоки, Объект - Блок, Действие - Свойства/параметры блока. Задайте необходимые параметры. Нажмите Применить.

Задайте параметры для второго блока. На панели команд выберите модуль задания свойств материала Режим - Блоки, Объект - Блок, Действие - Свойства/параметры блока. Задайте необходимые параметры. Нажмите Применить.

Задайте параметры для третьего блока. На панели команд выберите модуль задания свойств материала Режим - Блоки, Объект - Блок, Действие - Свойства/параметры блока. Задайте необходимые параметры. Нажмите Задать свойства точечной массы. Задайте необходимые параметры. Нажмите Применить. Закройте окно Задать свойства точечной массы.

Нажмите Применить.

Задание граничных условий

Добавьте связи. На панели команд выберите Режим - Граничные условия, Объект - Связи, Действие - Создать. Задайте нужные параметры. Нажмите Применить.

Жестко закрепите объем 4. На панели команд выберите Режим - Граничные условия, Объект - Перемещение, Действие - Создать. Задайте необходимые параметры. Нажмите Применить.

Жестко закрепите поверхность 27. На панели команд выберите Режим - Граничные условия, Объект - Перемещение, Действие - Создать. Задайте необходимые параметры. Нажмите Применить.

Задайте силу гравитации. На панели команд выберите Режим - Граничные условия, Объект - Гравитация, Действие - Создать. Задайте необходимые параметры. Нажмите Применить.

Задайте условие контакта между поверхностью и прикладом. На панели команд выберите Режим - Граничные условия, Объект - Контакт, Действие - Создать. Задайте необходимые параметры. Нажмите Применить.

Задание начальных условий

Приложите начальную скорость. На панели команд выберите Режим - Начальные условия, Объект - Скорость, Действие - Создать. Задайте необходимые параметры. Нажмите Применить.

Запуск расчета

Для запуска на расчет в CAE Fidesys выберите на панели команд Режим - Настройки расчета, Настройки расчета - Временной анализ, Временной анализ - Общие. Задайте настройки расчета и нажмите Применить, Начать расчет.

Анализ результатов

Откройте файл с результатами. Это можно сделать тремя способами:

  • Нажмите Ctrl+E;

  • В главном меню выберите Расчёт - Результаты. Нажмите Открыть последний результат;

  • На панели команд выберите Результаты (Режим - Результаты, Результаты - Открыть Результаты).

Появится окно Fidesys Viewer, в котором вы сможете ознакомиться с результатами расчёта.

Далее примените фильтр "Деформировать по вектору" для того, чтобы отобразить результаты в деформированном виде. В верхней строке выберите Меню - Фильтры - Алфавитный указатель - Деформировать по вектору. В Свойствах задайте необходимые параметры и нажмите Применить.

На верхней панели выберите данные результата расчета для отображения. Из первого выпадающего списка выберите Напряжение, из второго – Мизес.

Затем в редакторе цвета установите логарифмическую шкалу, для этого необходимо установить флажок Логарифмическая шкала для цвета при отображении данных. В результате отобразится следующая картинка:

Использование консольного интерфейсa

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

 
reset
create surface rectangle width 0.15 height 0.3 xplane 
create vertex 0 -0.1399 0.01782 on surface 1 
create vertex 0 -0.1398 -0.02044 on surface 1 
create vertex 3.846e-18 -0.15 -0.06281 on curve 3 
create vertex 4.592e-18 -0.14 -0.075 on curve 4 
create vertex -3.796e-18 -0.15 0.062 on curve 3 
create vertex -4.592e-18 -0.1404 0.075 on curve 2 
create vertex 0 0.08716 -0.00908 on surface 1 
create curve spline location vertex 10 9 5 6 7 8  
create vertex -6.939e-18 -0.1237 0.05947 on surface 1 
create vertex 6.939e-18 -0.1189 -0.05753 on surface 1 
create curve vertex 13 12  
create curve vertex 12 11  
Vertex 13  copy move y {0.08716+0.1189} 
create curve vertex 13 15  
create curve vertex 15 11  
create vertex -4.592e-18 -0.1054 0.075 on curve 2 
create vertex 4.592e-18 0.1063 -0.075 on curve 4 
create vertex 0 0.1028 0.00559 on surface 1 
create curve vertex 10 19  
create curve vertex 19 21  
create curve vertex 21 20  
create curve vertex 8 20  
delete Surface 1  
create surface curve 5 13 12 11 10  
create surface curve 7 6 8 9  
subtract surface 3  from surface 2  
sweep surface 4  vector 1 0 0  distance 0.02
modify curve 34 30 32 29  blend radius 0.01
modify curve 26 20 24  blend radius 0.01
volume 2 size 0.004
mesh surface 14
volume 2  redistribute nodes off 
volume 2  scheme Sweep sweep transform least squares 
volume 2  autosmooth target on  fixed imprints off  smart smooth off 
mesh volume 2 
rotate Volume 2  angle -45  about X include_merged 
move Vertex 60  location 0 0 0 include_merged 
create surface rectangle width 0.025 height 0.025 zplane 
move Surface 22  x 0.01 include_merged
surface 22  interval 1
mesh surface 22 
sweep surface 22  vector 0 0 1  distance 0.005  include_mesh 
Vertex 32  copy move y 0.2 z -0.25
delete vertex 5 to 7, 9, 20, 21 
mesh vertex 76 
create material 1
modify material 1 name 'Aluminum'
modify material 1 set property 'MODULUS' value 7e+10
modify material 1 set property 'POISSON' value 0.3
modify material 1 set property 'DENSITY' value 2700
modify material 1 set property 'ISO_ULTIMATE_STRENGTH' value 9e+07
modify material 1 set property 'MISES_YIELD_STRENGTH' value 1e+07
modify material 1 set property 'ULTIMATE_STRAIN' value 0.5
create material 2
modify material 2 name 'Rigid'
modify material 2 set property 'MODULUS' value 2e+11
modify material 2 set property 'POISSON' value 0
modify material 2 set property 'DENSITY' value 8000
set duplicate block elements off
block 1 add volume 2 
set duplicate block elements off
block 2 add volume 4 
set duplicate block elements off
block 3 add vertex 76 
block 'Block 1' material 1 cs 1 element solid order 1
block 'Block 2' material 2 cs 1 element solid order 1
create lumpmass properties 1
modify lumpmass properties 1 mass 6
modify lumpmass properties 1 mass_inertia 0.0001
block 'Block 3' cs 1 element lumpmass
block 'Block 3' lumpmass properties 1
create coupling master vertex 76 slave surface 6 distance
create displacement  on volume 4  dof all fix  
create displacement  on surface 27  dof all fix  
create gravity global
modify gravity 1 dof 3 value 9.81
create contact master surface 22  slave surface 21 8 9  type general friction 0.0 ignore_overlap off offset 0.0 tolerance 0.0001 method penalty normal_stiffness 0.00001
create initial velocity on node all
modify initial velocity 1 dof 3 value 1.5
analysis type dynamic elasticity findefs plasticity dim3 preload off
dynamic method full_solution scheme explicit maxsteps 1000000000 maxtime 0.00005