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

09/2022

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

В 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 0create 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