Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

1.4. Расчет перемещений

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()

Возвращает точку максимального прогиба и соответствующее значение прогиба для объекта балки.