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

 

Анализ устойчивости оболочечно-балочной модели в виде цилиндра

Данный пример демонстрирует возможность расчета модели, состоящей из разных типов элементов без контактного взаимодействия. Также в задаче демонстрируются возможности языка программирования 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. Создайте цилиндр.

На панели команд выберите модуль построения объёмной геометрии (Режим — Геометрия, Объект — Объём, Действие — Создать).

Из списка геометрических примитивов выберите Цилиндр.

Задайте следующие параметры:

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

2. Создайте цилиндрическую оболочку.

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

Задайте следующие параметры:

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

3. Удалите боковые плоскости.

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

Задайте следующие параметры:

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

4. Создайте цилиндры.

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

Из выплывающего списка выберите Копировать и изменить.

Задайте следующие параметры:

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

5. Срастите геометрическую модель.

Введите в командную строку команду: merge all.

Нажмите Enter.

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

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

В колонке "Материал" введите имя материала Mat1. Нажмите Применить.

В колонке "Свойства материала" выберите созданный материал, после чего перетащите к нему нужные свойства из левой колонки.

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

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

Закройте окно Управление материалами.

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. Задайте давление по нормали к поверхности на все цилиндрические поверхности.

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

Задайте необходимые параметры:

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

2. Закрепите один торец модели по всем степеням свободы.

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

Задайте необходимые параметры:

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

3. Закрепите второй торец.

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

Задайте необходимые параметры:

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

4. На второй торец приложите сжимающую силу.

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

Задайте необходимые параметры:

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

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

1. Задайте тип задачи, которую требуется решить.

На панели команд выберите модуль настройки расчёта (Режим — Настройки расчета, Настройки расчета — Потеря устойчивости, Потеря устойчивости — Общие).

Выберите:

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

2. Задайте дополнительные настройки.

На панели команд выберите модуль настройки расчёта (Режим — Настройки расчета, Настройки расчета — Потеря устойчивости, Потеря устойчивости — Поля вывода).

Установите галочки:

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

Нажмите Начать расчет.

3. В появившемся окне выберите директорию, в которой будет сохранён результат, и введите название файла.

4. В случае успешно проведённого расчёта в консоли отобразится сообщение: Calculation finished successfully at "date" "time".

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

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

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

2. Отобразите фильтр Деформировать по вектору. В фильтре Деформировать по вектору во вкладке Свойства задайте параметры:

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

3. В фильтре Деформировать по вектору во вкладке Просмотр (Представление неструктурированной сетки) задайте:

 

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

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

Скрипт для пошагового примера