Задание распределенного момента на объемное кольцо

В данном примере рассматривается объемное кольцо. На внутреннюю поверхность кольца действует момент 120 Н*м, который необходимо равномерно распределить по поверхности кольца. Для решения такой задачи есть два основных пути - первый - использование вспомогательного узла со связями по расстоянию, второй - использование формул и команд APREPRO.

Для начала рассмотрим способ номер 1 - со вспомогательным узлом и связями.

Первое, что необходимо сделать - создать геометрию кольца. Создаем цилиндр.

Создаем второй - поменьше

Вычитаем малый из большого.

Перемещаем кольцо, т.к. оно в общем случае может лежать не в центре координат, а где-то.

Создаем вспомогательную вершину в центре кольца через создание по расположению в центре.

Строим сетку на вершине.

Строим сетку на объеме.

Создаем материал путем перетаскивания из библиотеки.

Создаем блок с вершиной для передачи ей далее свойств.

Создаем блок с кольцом, чтобы далее передать ему свойства.

Задаем блоку с вершиной свойства, указывая, что она - "точка". По сути - интерфейсный узел.

Задаем блоку с кольцом свойства.

Прикладываем граничные условия на внешнюю поверхность кольца.

Прикладываем момент на вершину.

Создаем связь по расстоянию, которая позволит передать момент с вершины на кольцо.

Задаем настройки для решения и запускаем на счет.

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

Если применить фильтр "деформировать по вектору", то станет видно проворачивание внутренней поверхности кольца.

Теперь рассмотрим вариант 2 - через команды и формулы. Этот способ может казаться более сложным, но иногда подобные методики задания нагрузок бывают более предпочтительными.

В CAE Fidesys есть поддержка языка программирования APREPRO (aлгебраический препроцессор для задания параметров анализа методом конечных элементов). Переменные APREPRO могут быть заданы и изменены с помощью графического интерфейса. Редактор можно включить/выключить из пункта меню Вид / Редактор Aprepro. Редактор открывается с отдельном окне, которое пользователь может разместить любом месте в пределах графического интерфейса программы.

Создание геометрической модели

Для задания переменной, определяющей внутренний радиус кольца для дальнейших построений и вычислений, пропишите в командную строку:

#{innerRadius=1}

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

Проделайте тоже самое для создания второго цилиндра с высотой 0,1 и радиусом 1.

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

Задайте переменные смещения, для этого пропишите в командную строку:

 #{moveX=0.5}
#{moveY=0.7}

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

Задание зависимости ГУ

Задайте значение момента, действующего на кольцо, для этого пропишите в командную строку:

#{moment=120}

Для вычисления переменной усилия, вызывающего выбранный момент с учетом плеча, пропишите в командную строку:

#{force=moment/innerRadius}

Для вычисления переменной распределенного усилия пропишите в командную строку:

#{distributedForce=force/SurfaceArea(7)}

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

Проделайте тоже самое для векторного направления 0 2 0.

Для передачи формульных значений для вычисления распределенных по узлам усилий с учетом смещения центра кольца в командую строку пропишите следующие команды:

create formula 1 '-{distributedForce} * (x-{moveX})/sqrt((y-{moveY}) * (y-{moveY})+(x-{moveX}) * (x-{moveX}))'
modify distributed force 2 vector value1 0 formula2 1 value3 0 value4 0 value5 0 value6 0
create formula 2 '{distributedForce} * (y-{moveY})/sqrt((y-{moveY}) * (y-{moveY})+(x-{moveX}) * (x-{moveX}))'
modify distributed force 1 vector formula1 2 value2 0 value3 0 value4 0 value5 0 value6 0

Построение сетки

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

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

Создайте материал. На панели команд выберите Режим - Материал, Объект - Управление материалами. В колонке "Импортированный материал" дважды нажмите на Углеродистая сталь.

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

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

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

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

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

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

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

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

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

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

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

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

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

В верхней строке выберите Фильтр → Алфавитный указатель → Построить векторное поле. Затем в Свойствах задайте необходимые параметры и нажмите Применить.

В результате на модели отобразится векторное поле.

Для проверки правильности решения воспользуйтесь функцией Включить всплывающую подсказку при наведении на точку.

В результате расчет произведен правильно, так как в каждом узле значение силы должно по модулю быть равно 2, но нет узлов, которые бы четко лежали на осях, однако видно, что значение в узлах рядом с осями примерно равны 2.

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

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

reset
#Задаем переменную, определяющую внутренний радиус кольца для дальнейших построений и вычислений
#{innerRadius=1}
create Cylinder height 0.1 radius 2 
create Cylinder height 0.1 radius {innerRadius}
subtract volume 2 from volume 1 
#В общем случае кольцо может быть смещено, поэтому задаем переменные смещения
#{moveX=0.5}
#{moveY=0.7}
#Смещаем кольцо
move Volume 1  x {moveX} y {moveY} include_merged 
#Задаем значение момента, действующего на кольцо
#{moment=120}
#Вычисляем переменную усилия, вызывающего выбранный момент с учетом плеча
#{force=moment/innerRadius}
#Вычисляем переменную распределенного усилия, которое необходимо задать на площадь внутренней поверхности кольца
#{distributedForce=force/SurfaceArea(7)}
#Создаем пару распределенных сил, чтобы передать им нужные формульные значения
create distributed force on surface 7  force value 1 moment value 0 direction 1 0 0 specific
create distributed force on surface 7  force value 1 moment value 0 direction 0 2 0 specific
#Передаем формульные значения для вычисления распределенных по узлам усилий с учетом смещения центра кольца
create formula 1 '-{distributedForce} * (x-{moveX})/sqrt((y-{moveY}) * (y-{moveY})+(x-{moveX}) * (x-{moveX}))'
modify distributed force 2 vector value1 0 formula2 1 value3 0 value4 0 value5 0 value6 0
create formula 2 '{distributedForce} * (y-{moveY})/sqrt((y-{moveY}) * (y-{moveY})+(x-{moveX}) * (x-{moveX}))'
modify distributed force 1 vector formula1 2 value2 0 value3 0 value4 0 value5 0 value6 0
volume all size auto factor 7
mesh volume all
create material 1 from 'Углеродистая сталь'
set duplicate block elements off
block 1 add volume all
block 'Block 1' material 1 cs 1 element solid order 1
create displacement  on surface 1  dof all fix  
analysis type static elasticity dim3
output nodalforce on energy off midresults on record3d off material off fullperiodic off