Статический расчет трубопровода на комбинированной конечно-элементной модели

В данном примере рассматривается статическая задача расчета НДС в комбинированной сборке, состоящей из балочных, оболочечных и твердотельных элементов. Трубопроводы, смоделированные балочными элементами с трубчатым сечением, соединены с опорами связями по направлениям, запрещающими поперечные перемещения и разрешающими продольные. В месте контакта трубы с землёй труба смоделирована оболочечными элементами. Оболочечная часть трубы соединена на торце с балочной жёсткими связями, а с твердотельными элементами земли - жёстким контактом по нормали, жёстко соединяющим элементы по нормали и разрешающим продольные смещения.

Импортирование геометрических моделей

Импортируйте первую модель скачать файл. Для этого на панели инструментов нажмите на значок Импорт .

В случае если модель не найдена проверьте, что в правом нижнем углу совпадает расширение. Нажмите Open.

В настройках импорта поставьте галочку Игнорировать свободные вершины. Нажмите Готово.

Проделайте то же самое для импорта второй модели скачать файл.

В настройках импорта поставьте галочку Игнорировать свободные вершины. Нажмите Готово.

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

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

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

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

Проделайте то же самое для кривой 67 (кривая 67, ID вершины 105).

Проделайте то же самое для кривой 76 (кривая 76, ID вершины 97).

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

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

Создайте первый блок с опорами. На панели команд выберите Режим - Блоки, Объект - Блок, Действие - Добавить сущность в блок. Выберите все кривые, являющиеся опорами (или введите в поле 84 87 86 89 88 90 79 81 80 83 82 85). Нажмите Применить.

Создайте второй блок с трубопроводом. На панели команд выберите Режим - Блоки, Объект - Блок, Действие - Добавить сущность в блок. Выберите все кривые, являющиеся трубопроводом (или введите в поле 73 72 75 74 77 65 66 69 68 123 71 122 70 125 124 127 91 126). Нажмите Применить.

Создайте третий блок с другой частью трубопровода. На панели команд выберите Режим - Блоки, Объект - Блок, Действие - Добавить сущность в блок. Выберите все поверхности, являющиеся трубопроводом (или введите в поле 1 16 3 2 5 4 7 6 9 8 11 10 13 12 15 14). Нажмите Применить.

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

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

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

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

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

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

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

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

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

В дереве объектов раскройте пункт Блоки. Нажмите на первый блок правой кнопкой мыши и выберите Прорисовать.

Обратите внимание на место крепления кривых. У каждой кривой на конце есть вершина. Так как модель не срощена, то в месте стыковки двух кривых образуется две вершины. Срастите все точки на отображаемых кривых. В дереве объектов раскройте пункт Геометрия , далее раскройте пункт Свободные кривые . Далее нажимая на кривые в дереве будет подсвечиваться соответствующие на модели. Раскройте два пункта кривых, которые стыкуются друг с другом. Найдите дублирующие точки. На панели команд выберите Режим - Геометрия, Объект - Вершина, Действие - Срастить. Введите все вершины на отображаемых кривых, которые там могут быть, включая дублирующие. (или введите в поле 93 112 115 95 114 94 116 105 104 107 106 109 108 111 110 97 96 99 98 101 100 103 102 113). Нажмите Применить.

Нажмите на свободное место правой кнопкой мыши и выберите Показать все. Нажмите на свободное место правой кнопкой мыши и выберите Обновить экран.

Проделайте данную операцию для второго блока. В дереве объектов раскройте пункт Блоки. Нажмите на второй блок правой кнопкой мыши и выберите Прорисовать.

Обратите внимание на место крепления кривых. У каждой кривой на конце есть вершина. Так как модель не срощена, то в месте стыковки двух кривых образуется две вершины. Срастите все точки на отображаемых кривых. В дереве объектов раскройте пункт Геометрия , далее раскройте пункт Свободные кривые . Далее нажимая на кривые в дереве будет подсвечиваться соответствующие на модели. Раскройте два пункта кривых, которые стыкуются друг с другом. Найдите дублирующие точки. На панели команд выберите Режим - Геометрия, Объект - Вершина, Действие - Срастить. Введите все вершины на отображаемых кривых, которые там могут быть, включая дублирующие. (или введите в поле 150 117 81 80 118 83 82 85 84 139 141 86 140 143 142 73 72 75 74 77 76 79 78 65 67 66 68 71 145 144 89 147 146 149 90 148). Нажмите Применить.

Нажмите на свободное место правой кнопкой мыши и выберите Показать все. Нажмите на свободное место правой кнопкой мыши и выберите Обновить экран.

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

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

Введите в командной строке: mesh curve in block 1 2. В результате сетка построится в блоках 1 и 2.

Введите в командной строке: curve in Surface 19 21 22 20 18 17 interval default. Данная команда позволяет выбрать кривые на поверхности.

Постройте сетку для геометрической модели. На панели команд выберите Режим - Сетка, Объект - Поверхностная, Действие - Построение сетки. Из выплывающего списка выберите Карта. Введите необходимые поверхности (или введите в поле 19 18 21 20 22 17). Нажмите Применить схему.

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

Введите в командной строке:

set trimesher surface gradation 3

set trimesher volume gradation 3

set trimesher geometry sizing off

Данные команды включают необходимые настройки для построения сетки.

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

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

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

В дереве объектов раскройте пункт Блоки. Нажмите на третий блок правой кнопкой мыши и выберите Прорисовать.

Срастите вершины.На панели команд выберите Режим - Геометрия, Объект - Вершина, Действие - Срастить. Введите все вершины на отображаемых кривых, которые там могут быть, включая дублирующие. (или введите в поле 61 62 44 47 48 49 54 58 59 60 45 52 46 50 53 55 56 57 51 19 21 22 18 17 20 16 3 5 6 7 1 2 8 4 13 14 15 9 10 11 12 43 36 39 30 31 28 33 35 29 40 37 32 38 26 42 25 34 27 41 63 64 24 23). Нажмите Применить.

Отпечатайте и срастите поверхности. На панели команд выберите Режим - Геометрия, Объект - Поверхность, Действие - Отпечатать/Срастить. Введите все поверхности (или введите в поле 7 10 8 12 3 5 6 13 14 16 15 1 4 9 11 2). Нажмите Применить.

Срастите кривые. На панели команд выберите Режим - Геометрия, Объект - Кривая, Действие - Срастить. Из выплывающего списка выберите Срастить. Введите все кривые (или введите в поле 140 141 142 143 129 132 134 135 136 128 130 133 137 131 138 139 22 24 27 6 7 9 10 18 17 29 39 12 5 19 21 11 15 23 30 31 32 35 37 38 40 8 3 13 20 1 25 26 33 28 44 41 45 60 42 53 57 59 63 51 47 62 64 50 56 49 54 58 55 61 52 43). Нажмите Применить.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Задайте значение температуры. На панели команд выберите Режим - Граничные условия, Объект - Температура, Действие - Создать. Выберите сущность Кривая. Далее выберите все кривые трубопровода (или введите в поле 73 72 75 74 77 65 66 69 68 123 71 122 70 125 124 127 91 126). Задайте значение температуры 30. Нажмите Применить.

Задайте значение температуры. На панели команд выберите Режим - Граничные условия, Объект - Температура, Действие - Создать. Выберите сущность Кривая. Далее выберите все поверхности трубопровода (или введите в поле 1 16 3 2 5 4 7 6 9 8 11 10 13 12 15 14). Задайте значение температуры 30. Нажмите Применить.

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

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

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

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

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

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

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

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

Можно посмотреть, как деформируется тело, для этого в стандартной строке выберите Фильтр → Алфавитный указатель → Деформировать по вектору. Установите множитель масштаба 200 и нажмите Применить. В результате отобразится деформированный вид:

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

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

reset
import iges "C:/Users/Downloads/model/tube.igs" no_vertices nofreesurfaces heal
import iges "C:/Users/Downloads/model/soil.stp" no_vertices  heal
Surface 16 1 3 2 5 4 7 6 9 8 11 10 13 12 15 14   scale 1e-3 
Curve 81 80 83 82 85 84 87 86 73 72 75 74 77 76 79 78 65 67 66 69 68 71 70 89 88 91 90  scale 1e-3 
split curve 78  at vertex 113  
split curve 67  at vertex 105  
split curve 76  at vertex 97  
create material 1 from 'Углеродистая сталь'
create material 2 from 'Грунт'
set duplicate block elements off
block 1 add curve  84 87 86 89 88 90 79 81 80 83 82 85
set duplicate block elements off
block 2 add curve 73 72 75 74 77 65 66 69 68 123 71 122 70 125 124 127 91 126
set duplicate block elements off
block 3 add surface 1 16 3 2 5 4 7 6 9 8 11 10 13 12 15 14
set duplicate block elements off
block 4 add volume 17
create beam properties 1
modify beam properties 1 type 'I-Beam'
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_B1 0.055
modify beam properties 1 geom_B2 0.055
modify beam properties 1 geom_H 0.1
modify beam properties 1 geom_c1 0.0072
modify beam properties 1 geom_c2 0.0072
modify beam properties 1 geom_d 0.0045
modify beam properties 1 mesh_quality 2
modify beam properties 1 warping_dof on
block 1 material 1 cs 1 element beam order 1
block 1 beam properties 1
create beam properties 2
modify beam properties 2 type 'Circle With Offset Hole'
modify beam properties 2 angle 0.0
modify beam properties 2 ey 0.0
modify beam properties 2 ez 0.0
modify beam properties 2 geom_d1 0.1
modify beam properties 2 geom_d2 0.098
modify beam properties 2 geom_e 0
modify beam properties 2 mesh_quality 2
modify beam properties 2 warping_dof on
block 2 material 1 cs 1 element beam order 1
block 2 beam properties 2
create shell properties 1
modify shell properties 1 layer count 1
modify shell properties 1 layer 1 thickness 0.001
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
block 3 cs 1 element shell order 1
block 3 shell properties 1
block 4 material 2 cs 1 element solid order 1
draw block 1 
merge vertex 93 112 115 95 114 94 116 105 104 107 106 109 108 111 110 97 96 99 98 101 100 103 102 113 
draw block 2
merge vertex 150 117 81 80 118 83 82 85 84 139 141 86 140 143 142 73 72 75 74 77 76 79 78 65 67 66 68 71 145 144 89 147 146 149 90 148  
curve all interval 10
mesh curve in block 1 2
curve in Surface 19 21 22 20 18 17 interval default
surface 19 18 21 20 22 17  scheme map
surface 19 18 21 20 22 17  size auto factor 5
mesh surface 19 18 21 20 22 17 
set trimesher surface gradation 3
set trimesher volume gradation 3
set trimesher geometry sizing off
volume 17  scheme tetmesh
volume 17  size auto factor 5
mesh volume 17 
merge vertex 61 62 44 47 48 49 54 58 59 60 45 52 46 50 53 55 56 57 51 19 21 22 18 17 20 16 3 5 6 7 1 2 8 4 13 14 15 9 10 11 12 43 36 39 30 31 28 33 35 29 40 37 32 38 26 42 25 34 27 41 63 64 24 23 
imprint surface 7 10 8 12 3 5 6 13 14 16 15 1 4 9 11 2  
merge surface 7 10 8 12 3 5 6 13 14 16 15 1 4 9 11 2
merge curve 140 141 142 143 129 132 134 135 136 128 130 133 137 131 138 139 22 24 27 6 7 9 10 18 17 29 39 12 5 19 21 11 15 23 30 31 32 35 37 38 40 8 3 13 20 1 25 26 33 28 44 41 45 60 42 53 57 59 63 51 47 62 64 50 56 49 54 58 55 61 52 43 
surface 1 16 3 2 5 4 7 6 9 8 11 10 13 12 15 14 scheme map
surface 1 16 3 2 5 4 7 6 9 8 11 10 13 12 15 14 size auto factor 6
surface 1 16 3 2 5 4 7 6 9 8 11 10 13 12 15 14 size auto factor 6
mesh surface 1 16 3 2 5 4 7 6 9 8 11 10 13 12 15 14
create displacement  on vertex 67 dof 2 dof 3 fix  
create displacement  on vertex 81 dof 1 dof 3 fix  
create displacement  on vertex 104 108 112 96 116 100 dof all fix 
create displacement  on surface 25 27 dof 2 fix  
create displacement  on surface 28 27 dof 1 fix  
create displacement  on surface 24 dof 3 fix  
create coupling master vertex 140 slave vertex 109 dofs
modify coupling 1 dof 2
modify coupling 1 dof 3
create coupling master vertex 93 slave vertex 148 dofs
modify coupling 2 dof 2
modify coupling 2 dof 3
create coupling master vertex 144 slave vertex 101 dofs
modify coupling 3 dof 1
modify coupling 3 dof 3
create coupling master vertex 85 slave curve 32 62 26 60 distance
create contact autoselect type tied_normal offset 0.0 tolerance 0.0005 method auto
create gravity global
modify gravity 1 dof 3 value -9.81
create temperature  on curve 73 72 75 74 77 65 66 69 68 123 71 122 70 125 124 127 91 126 value 30
create temperature  on surface 1 16 3 2 5 4 7 6 9 8 11 10 13 12 15 14 value 30
analysis type static elasticity dim3