Двухмерный анализ кадров с использованием Python: руководство для начинающих
16 мая 2023 г.Проверка наших расчетов структурного анализа важна, но требует много времени. Вот почему, если вы можете автоматизировать процесс структурного анализа с помощью кодирования, то проверка точности результатов ручного структурного расчета будет намного проще.
Поэтому я решил написать программу на Python, которая поможет мне проанализировать структуру двумерного кадра.
Обучение программированию в качестве инженера или студента инженерного факультета поможет вам создавать инструменты структурного анализа и конечно-элементные инструменты, которые могут стать стартапом, таким как Виктор.
Виктор – это платформа для разработки, которая помогает строительным компаниям разрабатывать собственные средства инженерного анализа и проектирования, используя только язык программирования Python.
Мы будем использовать библиотеку Python под названием anastruct. anastruct – это реализация на Python двумерного метода конечных элементов для структур. Он позволяет выполнять структурный анализ рам и ферм. Это поможет вам рассчитать силы и перемещения в элементах конструкции. п
https://youtu.be/jVMJdUh1ij8?t=53
n Материалы
- Я использую код VS в качестве (IDE)
- Питон 3.10.0
- anastruct — библиотека Python, разработанная Ричи Винк для анализа рам и ферм
- Вопрос выше взят с веб-сайта structville. ли>
Мы собираемся вычислить и построить следующие графики:
* Диаграмма изгибающего момента * Диаграмма поперечной силы * Диаграмма осевых сил
Шаг 1. Установите библиотеку с помощью команды Pip
Откройте терминал VScode и введите следующее:
pip install anastruct
Шаг 2. Импорт класса SystemElement
Это план, содержащий поведение и свойства наших структурных элементов
from anastruct import SystemElements
Шаг 3. Создайте структурный объект из системного класса
Теперь мы собираемся создать наш объект(ы) структурного элемента, создав экземпляр нашего класса SystemElement, который мы импортировали следующим образом:
ss = SystemElements()
Шаг 4. Создайте структурный элемент с узловыми позициями
Теперь мы собираемся использовать метод add _element из класса systemElement. Что это делает, так это добавляет разные элементы в фрейм, соединенный в узлах и местоположениях аргументов, чтобы добавить различные промежутки или длины элементов.
ss.add_element(location=[[0, 0], [0, 2]])
ss.add_element(location=[[0, 2], [0, 4]])
ss.add_element(location=[[0, 4], [3, 4]])
ss.add_element(location=[[3, 4], [4, 4]])
ss.add_element(location=[[4, 4], [6, 4]])
ss.add_element(location=[[6, 4], [7, 4]])
Шаг 5. Определим шарниры
Из исходного вопроса у нас есть две внутренние петли в узлах 3(B) и 5(2). Итак, мы добавляем внутренние петли с помощью метода add_inernal_hinges.
ss.add_internal_hinge(node_id=3)
ss.add_internal_hinge(node_id=5)
Шаг 6. Определите условия поддержки
Каркасная конструкция имеет 3 опоры. В узле 1 зафиксирована, в узле 4 — роликовая опора, а в узле 6 — ролик.
ss.add_support_fixed(node_id=1)
ss.add_support_roll(node_id=4)
ss.add_support_roll(node_id=6)
Шаг 7: Добавьте внешние силы (нагрузки) к конструкции
Мы добавляем горизонтальную точечную нагрузку в node2, используя метод point_load, передавая местоположение узла и величину нагрузки в качестве аргумента. Также для другой точечной нагрузки.
Для равномерно распределенного использования используется метод q_load, и при передаче element_id нагрузка действует с величиной нагрузки q. Знак — в величине нагрузки q означает, что нагрузка действует вниз.
ss.point_load(node_id=2,Fx=+5)
ss.q_load(q=-2,element_id=3)
ss.q_load(q=-2,element_id=4)
ss.point_load(node_id=7,Fy=-10)
Шаг 8. Анализ реакции конструкции и отображение сил реакции
Мы используем метод решения для расчета сил реакции, изгибающих напряжений, сдвигающих сил и осевых сил рамы.
Мы используем метод show_reaction_force для построения кадра с силами реакции на опорах:
ss.solve()
ss.show_reaction_force()
Шаг 9. Постройте диаграмму изгибающего момента
Мы используем метод показать изгибающий момент, чтобы построить диаграмму изгибающего момента рамы.
ss.show_bending_moment()
.
Шаг 10. Постройте диаграмму поперечной силы
Чтобы построить диаграмму поперечной силы, мы используем метод show shearforce. График Python находится слева, а диаграмма из ручного решения — справа.
ss.show_shear_force()
Шаг 11: Постройте осевую силу n
ss.show_axial_force()
Заключение
Многие строительные фирмы используют Python для создания пользовательских инструментов для решения сложных задач. Студенту, изучающему гражданское строительство, было бы здорово научиться программировать на Python, одновременно решая свои проблемы в предметной области.
Также опубликовано здесь
Оригинал