Beam.boundary_conditions¶
property boundary_conditions
Возвращает словарь граничных условий, приложенных к балке. Словарь имеет три ключа: moment, slope и deflection. Значением каждого ключа является список кортежей, где каждый кортеж содержит координату и значение граничного условия в формате (координата, значение).
Пример¶
Имеется балка длиной 4 метра. Изгибающий момент в точке 0 должен быть равен 4, а в точке 4 должен быть равен 0. Угол наклона балки в точке 0 должен быть равен 1. Прогиб в точке 0 должен быть равен 2.
Здесь прогиб балки должен составлять 2 в точке 0. Аналогично, угол наклона балки должен составлять 1 в точке 0.
from sympy.physics.continuum_mechanics.beam import Beam
from sympy import symbols
E, I = symbols('E, I')
b = Beam(4, E, I)
b.bc_deflection = [(0, 2)]
b.bc_slope = [(0, 1)]
b.boundary_conditions{'deflection': [(0, 2)],
'slope': [(0, 1)],
'bending_moment': [],
'shear_force': []}Beam.deflection_jumps¶
property deflection_jumps
Возвращает скачки прогибов в скользящих шарнирах в виде словаря. Скачок прогиба — это прогиб (в метрах) в скользящем шарнире. Этот скачок можно рассматривать как разрыв на графике прогибов.
Beam.rotation_jumps¶
property rotation_jumps
Возвращает значения скачков угла поворота в шарнирах вращения в виде словаря. Скачок угла поворота представляет собой угол поворота (в радианах) в шарнире. Это можно наблюдать как разрыв на графике углов наклона.
Beam.slope()¶
slope()
Возвращает выражение в виде сингулярной функции, представляющее угол наклона упругой линии объекта «Балка».
Пример¶
Имеется балка длиной 30 метров. Момент величиной 120 Н·м приложен по часовой стрелке на конце балки. Сосредоточенная сила величиной 8 Н приложена сверху балки в её начале. Под балкой расположены две простые опоры. Одна на конце, другая на расстоянии 10 метров от начала. Прогиб ограничен на обеих опорах.
Используется правило знаков: силы, направленные вверх, и момент по часовой стрелке считаются положительными.
from sympy.physics.continuum_mechanics.beam import Beam
from sympy import symbols
E, I = symbols('E, I')
R1, R2 = symbols('R1, R2')
b = Beam(30, E, I)
b.apply_load(-8, 0, -1)
b.apply_load(R1, 10, -1)
b.apply_load(R2, 30, -1)
b.apply_load(120, 30, -2)
b.bc_deflection = [(10, 0), (30, 0)]
b.solve_for_reaction_loads(R1, R2)
b.slope()Beam.deflection()¶
Возвращает выражение в виде сингулярной функции, представляющее упругую линию или прогиб объекта балки.
Пример¶
Имеется балка длиной 30 метров. На конце балки приложен момент величиной 120 Нм, действующий по часовой стрелке. Сосредоточенная сила величиной 8 Н приложена к верхней точке балки в ее начале. Под балкой расположены две простые опоры. Одна на конце, другая на расстоянии 10 метров от начала. Прогиб ограничен на обеих опорах.
Используется правило знаков: положительными считаются силы, направленные вверх, и момент, действующий по часовой стрелке.
from sympy.physics.continuum_mechanics.beam import Beam
from sympy import symbols
E, I = symbols('E, I')
R1, R2 = symbols('R1, R2')
b = Beam(30, E, I)
b.apply_load(-8, 0, -1)
b.apply_load(R1, 10, -1)
b.apply_load(R2, 30, -1)
b.apply_load(120, 30, -2)
b.bc_deflection = [(10, 0), (30, 0)]
b.solve_for_reaction_loads(R1, R2)
p = b.draw()
p.show()
b.deflection()Beam.max_deflection()¶
max_deflection()
Возвращает точку максимального прогиба и соответствующее значение прогиба для объекта балки.