Поиск по документации
Введите не менее 2 символов
Введите не менее 2 символов
![]() |
CAE Fidesys 9.0 Руководство пользователя |
Данный пример демонстрирует возможность расчета модели, состоящей из разных типов элементов без контактного взаимодействия. Также в задаче демонстрируются возможности языка программирования APREPRO для работы в CAE Fidesys, а именно: присваивание переменной и дальнейшая работа с ней в скрипте; использование цикла loop (аналог for), условия if-else и оператора continue.
Язык программирования APREPRO - aлгебраический препроцессор для задания параметров анализа методом конечных элементов. Переменные APREPRO могут быть заданы и изменены с помощью графического интерфейса.

1. Для задания переменных, которые будут использоваться в дальнейших построениях и вычислениях, пропишите в командную строку:
#{order = 2}
#{meshInterval = 128}
#{load = 1.534e5}
#{curveId = 2}
#{surfaceId = 4}
#{curveCount = 15}
#{surfaceCount = curveCount - 2}
## ADD Geometry

1. Создайте цилиндр.
На панели команд выберите модуль построения объёмной геометрии (Режим — Геометрия, Объект — Объём, Действие — Создать).
Из списка геометрических примитивов выберите Цилиндр.
Задайте следующие параметры:
Высота: 1;
Круговой;
Радиус: 5.
Нажмите Применить.

2. Создайте цилиндрическую оболочку.
Получите из объемного цилиндра цилиндрическую оболочку. На панели команд выберите модуль построения объемной геометрии (Режим — Геометрия, Объект — Объём, Действие — Удалить).
Задайте следующие параметры:
ID объема(ов): 1;
Поставьте галочку: Сохранять геометрию более низкого порядка.
Нажмите Применить.

3. Удалите боковые плоскости.
На панели команд выберите модуль построения поверхностной геометрии (Режим — Геометрия, Объект — Поверхность, Действие — Удалить).
Задайте следующие параметры:
ID поверхности(ей): 3 2.
Нажмите Применить.

4. Создайте цилиндры.
Скопируйте и переместите поверхности с сохранением всех свойств. На панели команд выберите модуль построения поверхностной геометрии (Режим — Геометрия, Объект — Поверхность, Действие — Создать).
Из выплывающего списка выберите Копировать и изменить.
Задайте следующие параметры:
ID поверхности(ей): 1;
Установите галочку: Изменить скопированные поверхности;
Переместить;
Z: 1;
Повторить: 14;
Установите галочку: Копировать сетку.
Нажмите Применить.

5. Срастите геометрическую модель.
Введите в командную строку команду: merge all.
Нажмите Enter.

1. Задайте материал. На панели команд выберите модуль задания свойств материала (Режим — Материал, Объект — Управление материалами.

В колонке "Материал" введите имя материала Mat1. Нажмите Применить.
В колонке "Свойства материала" выберите созданный материал, после чего перетащите к нему нужные свойства из левой колонки.
Перетащите свойства для упругости, выбрав Изотропный материал. Укажите их значение:
Модуль Юнга: 7e+10;
Коэффициент Пуассона: 0.32.

Нажмите Применить.
Закройте окно Управление материалами.
2. Задайте свойства для балки. Введите в командную строку команды:
create beam properties 1 modify beam properties 1 type 'Hollow Rectangle' modify beam properties 1 angle 0.0 modify beam properties 1 ey 0.0 modify beam properties 1 ez 0.0 modify beam properties 1 geom_B 0.2 modify beam properties 1 geom_H 0.2 modify beam properties 1 geom_c1 0.02 modify beam properties 1 geom_c2 0.02 modify beam properties 1 geom_d1 0.02 modify beam properties 1 geom_d2 0.02 modify beam properties 1 mesh_quality 6 modify beam properties 1 warping_dof off

3. Задайте свойства для первой оболочки. Введите в командную строку команды:
create shell properties 1 modify shell properties 1 layer count 1 modify shell properties 1 layer 1 thickness 0.02 modify shell properties 1 layer 1 material 1 modify shell properties 1 layer 1 angle 0 modify shell properties 1 eccentricity 0.5 modify shell properties 1 layer direction normal modify shell properties 1 thickness_change on

4. Задайте свойства для второй оболочки. Введите в командную строку команды:
create shell properties 2 modify shell properties 2 layer count 1 modify shell properties 2 layer 1 thickness 0.04 modify shell properties 2 layer 1 material 1 modify shell properties 2 layer 1 angle 0 modify shell properties 2 eccentricity 0.5 modify shell properties 2 layer direction normal modify shell properties 2 thickness_change on

5. При помощи цикла присвойте первому блоку свойства балки и постройте сетку:
#{loop(curveCount)}
#{if(curveId==4)}
#{continue}
#{else}
curve {curveId} interval {meshInterval}
curve {curveId} scheme equal
mesh curve {curveId}
block 1 add curve {curveId}
#{endif}
#{curveId+= 2}
#{endloop}
block 1 material 1 cs 1 element beam order {order}
block 1 beam properties 1

6. При помощи цикла присвойте второму блоку свойства первой оболочки и постройте сетку:
#{loop(surfaceCount)}
surface {surfaceId} size auto factor 1
mesh surface {surfaceId}
block 2 add surface {surfaceId}
#{surfaceId++}
#{endloop}
block 2 material 1 cs 1 element shell order {order}
block 2 shell properties 1

7. При помощи цикла присвойте третьему блоку свойства второй оболочки и постройте сетку:
surface 1,17 size auto factor 1
mesh surface 1,17
block 3 add surface 1,17
block 3 material 1 cs 1 element shell order {order}
block 3 shell properties 2

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

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

3. Закрепите второй торец.
На панели команд выберите модуль задания граничных условий (Режим - Граничные условия, Объект - Перемещение, Действие - Создать).
Задайте необходимые параметры:
Список сущностей: Кривая;
ID объекта(ов): 32;
Степени свободы: Х, Y, Вокруг X, Вокруг Y, Вокруг Z.
Нажмите Применить.

4. На второй торец приложите сжимающую силу.
На панели команд выберите модуль задания граничных условий (Режим - Граничные условия, Объект - Точечная сила, Действие - Создать).
Задайте необходимые параметры:
Список сущностей: Кривая;
ID объекта(ов): 32;
Сила Х: 0;
Сила Y: 0;
Сила Z: {-load/(meshInterval*order)};
Момент Х: 0;
Момент Y: 0;
Момент Z: 0.
Нажмите Применить.

1. Задайте тип задачи, которую требуется решить.
На панели команд выберите модуль настройки расчёта (Режим — Настройки расчета, Настройки расчета — Потеря устойчивости, Потеря устойчивости — Общие).
Выберите:
Размерность: 3D;
Тип: Линейная;
Число форм потери устойчивости: 10.
Нажмите Применить.
2. Задайте дополнительные настройки.
На панели команд выберите модуль настройки расчёта (Режим — Настройки расчета, Настройки расчета — Потеря устойчивости, Потеря устойчивости — Поля вывода).
Установите галочки:
Узловые силы и силы реакции.
Нажмите Применить.
Нажмите Начать расчет.
3. В появившемся окне выберите директорию, в которой будет сохранён результат, и введите название файла.
4. В случае успешно проведённого расчёта в консоли отобразится сообщение: Calculation finished successfully at "date" "time".

1. Откройте файл с результатами. Это можно сделать тремя способами.
Нажмите Ctrl+E.
В главном меню выберите Расчёт → Открыть результаты.
На панели команд выберите Результаты (Режим — Результаты, Результаты — Открыть результаты).

Появится окно Fidesys Viewer, в котором вы сможете ознакомиться с результатами расчёта.
2. Отобразите фильтр Деформировать по вектору. В фильтре Деформировать по вектору во вкладке Свойства задайте параметры:
Вектора: Мода 1: перемещение;
Множитель масштаба: 1.
Нажмите Применить.
3. В фильтре Деформировать по вектору во вкладке Просмотр (Представление неструктурированной сетки) задайте:
Представление: Поверхность.

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