LAB #2. Статический расчет фермы. Метод Риттера. Произвольная плоская система сил

Лабораторная работа № 2. Аналитический расчет усилий в элементах плоской фермы методом сквозных сечений (метод Риттера)

Теоретические основы статики произвольной плоской системы сил, определение опорных реакций и расчет усилий в панелях

Моментом силы относительно центра (точки) на плоскости называется алгебраическая величина, равная взятому со знаком плюс или минус произведению модуля силы на длину ее плеча: MA(F) = ± F · h.

F A h + Mₐ
Плечо силы (h):
  • Плечо (h) — длина перпендикуляра, опущенного из моментного центра A на линию действия силы.
  • Знак «плюс» (+): вращение вокруг центра против часовой стрелки.
  • Знак «минус» (−): вращение вокруг центра по часовой стрелке.

Теорема Вариньона о моменте равнодействующей: Момент равнодействующей силы относительно любого центра равен алгебраической сумме моментов составляющих сил относительно того же центра: MA(R) = ∑ MA(Fi).

A a b F F₁=F·cosα F₂=F·sinα α
Применение теоремы Вариньона:

Вместо сложного наклонного плеча сила F раскладывается на составляющие F1 и F2 в узле приложения. Плечами являются координаты a и b:

MA(F) = − F1 · b + F2 · a

Необходимым и достаточным условием статического равновесия произвольной плоской системы сил является одновременное равенство нулю главного вектора R* и главного момента системы M0 относительно центра приведения:

R* = ∑ Fi = 0,   M0 = ∑ M0(Fi) = 0

Аналитически это выражается тремя уравнениями. Применяются три формы условий равновесия, имеющие строгие ограничения:

I форма (основная: две проекции и один момент):
∑ Fx = 0,   ∑ Fy = 0,   ∑ MA = 0
Ограничения: Отсутствуют. Оси Ox и Oy взаимно перпендикулярны.
II форма (одна проекция и два момента относительно точек A и B):
∑ Fx = 0,   ∑ MA = 0,   ∑ MB = 0
Ограничение применимости: Ось проецирования Ox не должна быть перпендикулярна прямой AB (Ox ⊯ AB).
Причина: Если ось перпендикулярна AB, система не контролирует смещение вдоль AB, и сила, параллельная AB, выпадает из равновесия.
III форма (три уравнения моментов относительно точек A, B, C):
∑ MA = 0,   ∑ MB = 0,   ∑ MC = 0
Ограничение применимости: Точки A, B, C не должны лежать на одной прямой (неколлинеарны).
Причина: При коллинеарности точек обращение моментов в ноль не гарантирует равенство нулю проекций сил, параллельных этой прямой.

Метод сквозных сечений основан на мысленном разделении фермы на две части сечением, пересекающим не более трех стержней с неизвестными усилиями.

I I S_верх S_раск S_нижн R₁ R₂
Правило моментных точек Риттера:
Действие отсеченной части заменяется силами Sверх, Sраск, Sнижн, направленными от сечения (растяжение).
Точка R₁ (пересечение Sраск и Sнижн):
Линии действия обеих сил проходят через R₁ (их моменты равны 0).
Уравнение ∑ MR1 = 0 сразу определяет Sверх.
Точка R₂ (пересечение Sверх и Sраск):
Линии действия обеих сил проходят через R₂ (их моменты равны 0).
Уравнение ∑ MR2 = 0 сразу определяет Sнижн.

1. Расчетная схема фермы и исходные данные

Рассматривается плоская ферма пролетом 10 м, шарнирно закрепленная на жестком основании: в точке A установлена шарнирно-неподвижная опора, в точке B — шарнирно-подвижная опора на катках. К узлам конструкции приложены сосредоточенные силы P, Q, F.

Исходные числовые параметры задачи:
P = 90 кН,   Q = 40 кН,   F = 38 кН;
Углы наклона сил: α = 55°,   β = 15°;
Геометрические размеры панелей: пролеты по горизонтали — 2 м, 3 м, 3 м, 2 м (суммарный пролет L = 10 м); высотные отметки поясов — 3 м и 4 м.
I I A Xₐ Yₐ B Yᵦ P P F α Q β 1 2 3 4 5 2 3 3 2 3 1
Рис. 1. Расчетная схема фермы, действующие нагрузки и положение сквозного сечения I–I

2. Определение реакций внешних опор

Конструкция освобождается от связей. Действие шарнирно-неподвижной опоры A заменяется составляющими реакциями XA и YA, шарнирно-подвижной опоры B — вертикальной реакцией YB.

Наклонные силы раскладываются на декартовы составляющие по теореме Вариньона:

Fx = F · cos(55°) = 38 · 0.5736 = 21.796 кН,   Fy = -F · sin(55°) = -38 · 0.8192 = -31.128 кН
Qx = Q · cos(15°) = 40 · 0.9659 = 38.637 кН,   Qy = Q · sin(15°) = 40 · 0.2588 = 10.353 кН

Составляются уравнения статического равновесия фермы в целом:

1. Проекция всех сил на горизонтальную ось Ox:

∑ Fx = XA + F · cos(55°) + Q · cos(15°) = 0
XA = - (21.796 + 38.637) = -60.433 кН (направлена влево)

2. Сумма моментов сил относительно точки A (∑ MA = 0):

∑ MA = -2·P + 2·(Q·sin 15°) - 4·(Q·cos 15°) - 5·(F·sin 55°) - 8·P + 10·YB = 0
-2·90 + 2·10.353 - 4·38.637 - 5·31.128 - 8·90 + 10·YB = 0
-180 + 20.706 - 154.548 - 155.640 - 720 + 10·YB = 0
-1189.482 + 10·YB = 0  ⇒  YB = 118.948 кН

3. Сумма моментов сил относительно точки B (∑ MB = 0):

∑ MB = -10·YA + 8·P - 8·(Q·sin 15°) - 4·(Q·cos 15°) + 5·(F·sin 55°) + 2·P = 0
-10·YA + 8·90 - 8·10.353 - 4·38.637 + 5·31.128 + 2·90 = 0
-10·YA + 818.268 = 0  ⇒  YA = 81.827 кН

4. Статическая проверка реакций (∑ Fy = 0):

∑ Fy = YA - P + Q·sin(15°) - F·sin(55°) - P + YB
∑ Fy = 81.827 - 90 + 10.353 - 31.128 - 90 + 118.948 = 0.000 кН

Тождественное равенство нулю подтверждает правильность определения опорных реакций.

3. Определение усилий в стержнях 1, 2, 3 (Сечение I–I)

Ферма рассекается сквозным вертикальным сечением I–I через панели 1, 2, 3. Рассматривается равновесие левой отсеченной части. Внутренние усилия S1, S2, S3 направляются от сечения.

S₁ S₂ S₃ R₁ R₃ R₂ A Xₐ Yₐ P Q β 3 1
Точки Риттера для левой отсеченной части:
  • Для усилия S₁: точка R₁ находится на пересечении линий действия усилий S₂ и S₃ (узел x = 2 м, y = 0).
  • Для усилия S₃: точка R₃ находится на пересечении линий действия усилий S₁ и S₂ (узел x = 5 м, y = 3 м).
  • Для усилия S₂: точка R₂ находится на пересечении линий действия усилий S₁ и S₃.
Расчет расстояния до точки R₂:
Уклон пояса 1: tg(γ) = 1/3 = 4 / x ⇒ x = 12 м вправо от стойки силы Q (координата от опоры A: 2 + 12 = 14 м).
Рис. 2. Равновесие левой отсеченной части фермы и определение моментных центров Риттера

1. Определение усилия S1 (∑ MR1 = 0):

∑ MR1 = -4 · S1 · cos γ - 4 · Q · cos β - 2 · YA = 0
-4 · S1 · 0.9487 - 4 · 38.637 - 2 · 81.827 = 0
-3.7947 · S1 - 154.548 - 163.654 = 0
-3.7947 · S1 = 318.202  ⇒  S1 = -83.854 кН (Сжатие)

2. Определение усилия S2 (∑ MR2 = 0):

∑ MR2 = -12 · S2 · cos(45°) - 4 · Q · cos β - 12 · Q · sin β + 12 · P - 14 · YA = 0
-12 · S2 · 0.7071 - 4 · 38.637 - 12 · 10.353 + 12 · 90 - 14 · 81.827 = 0
-8.4853 · S2 - 154.548 - 124.236 + 1080.0 - 1145.578 = 0
-8.4853 · S2 - 344.362 = 0  ⇒  S2 = -40.584 кН (Сжатие)

3. Определение усилия S3 (∑ MR3 = 0):

∑ MR3 = 3 · S3 - 1 · Q · cos β - 3 · Q · sin β + 3 · P - 5 · YA + 3 · XA = 0
3 · S3 - 1 · 38.637 - 3 · 10.353 + 3 · 90 - 5 · 81.827 + 3 · (-60.433) = 0
3 · S3 - 38.637 - 31.059 + 270.0 - 409.135 - 181.299 = 0
3 · S3 - 390.130 = 0  ⇒  S3 = -130.040 кН (Сжатие)

4. Определение усилия в стойке 4 (Вырезание узла C)

A B P P Q C S₄ S₃ S₆ F α 1 2 3 4 5
Вырезание узла C:

В 4-м стержне усилие определяется вырезанием узла C. Усилия во всех стержнях, которые в нем соединяются, направляются от узла.

Горизонтальные стержни S₃ и S₆ перпендикулярны оси Oy:
∑ YC = S₄ - F · sinα = 0
S₄ = F · sin(55°) = +31.128 кН
Рис. 3. Вырезание узла C фермы для определения усилия в стойке 4

5. Определение усилия в стойке 5 (Сечение II–II и узел D)

5 II II S₇ S₈ S₉ B Yᵦ R₇ D S₇ S₅ S₁₀ γ P
Расчет стойки 5 (узел D):

Вырезается узел D. Составляются уравнения равновесия:
∑ XD = S₇ - S₁₀·cosγ = 0
∑ YD = -S₅ - S₁₀·sinγ = 0

Для исключения S₁₀ используется Сечение II–II относительно точки R₇:
∑ MR7 = S₇·4 - YB·2 = 0 ⇒ S₇ = 59.474 кН
S₁₀ = 59.474 / cosγ = 62.690 кН
S₅ = -S₁₀·sinγ = +19.825 кН
Рис. 4. Определение усилия в стойке 5: Сечение II–II и равновесие узла D

6. Сводная таблица аналитических результатов

Параметр Аналитическое значение, кН Эталон Кирсанова (сборник задач), кН Характер работы элемента
XA-60.43360.433Горизонтальная реакция (влево)
YA+81.82781.827Вертикальная реакция (вверх)
YB (RB)+118.948118.948Вертикальная реакция (вверх)
S1-83.85483.854Сжатие
S2-40.584-40.584Сжатие
S3-130.040-130.040Сжатие
S4+31.12831.128Растяжение
S5+19.82519.825Растяжение

Практикум: Программная реализация расчета фермы в среде Engee (Julia)

Лабораторная работа № 2. Аналитический расчет опорных реакций и усилий в стержнях 1–5

Принципиальное методическое требование к составлению алгоритма:
Расчет выполняется строго в два независимых этапа с раздельными системами уравнений:
  • Этап 1: Расчет реакций внешних опор конструкции (XA, YA, YB) из уравнений статического равновесия фермы как единого твердого тела.
  • Этап 2: Расчет внутренних усилий стержней (S1–S5) из уравнений равновесия отсеченных частей и узлов.
Категорически запрещается объединять уравнения равновесия всей рамы и уравнения для рассеченных стержней в единую систему!
Внешние опорные реакции и внутренние усилия принадлежат разным механическим объектам равновесия. Их объединение приводит к переопределению системы, конфликту линейной независимости уравнений и математически неверным корням. Опорные реакции сначала находятся в своей подсистеме, преобразуются в числовой формат Float64, и только затем подставляются в уравнения стержней как известные константы.

Сценарий расчета оформляется в интерактивном скрипте Engee (Notebook). Программа вводится последовательно по секторам. После написания каждого сектора выполняется его компиляция сочетанием клавиш Shift + Enter.

Сектор 1: Подключение библиотек и задание исходных данных

Подключение модуля аналитических вычислений Symbolics, задание внешних сосредоточенных нагрузок и геометрических углов согласно варианту.

using Symbolics

# ИСХОДНЫЕ ДАННЫЕ ВАРИАНТА
P = 90.0 # Нагрузка в узлах, кН
Q = 40.0 # Наклонная нагрузка на верхнем поясе, кН
F = 38.0 # Наклонная нагрузка на нижнем поясе, кН

alpha = 55.0 # Угол наклона силы F, град
beta = 15.0 # Угол наклона силы Q, град
⚠ Контроль ошибок сектора:
  • Если выводится UndefVarError: Symbolics not defined, дождитесь завершения инициализации ядра Julia (символ [*] должен смениться числовым номером).
  • Дробные значения вводятся строго через точку: 90.0, а не 90,0.
Сектор 2: Расчет реакций внешних опор (Система 1)

Объявление неизвестных реакций опор XA, YA, YB, составление системы трех уравнений равновесия фермы в целом и ее решение независимой подсистемой.

# Объявление переменных опорных реакций @variables Xa Ya Yb

# Уравнение проекций всех сил на ось Ox
eq_X = Xa + F * cosd(alpha) + Q * cosd(beta) ~ 0 # Уравнение моментов относительно опоры A
eq_Ma = -2 * P + 2 * (Q * sind(beta)) - 4 * (Q * cosd(beta)) - 5 * (F * sind(alpha)) - 8 * P + 10 * Yb ~ 0 # Уравнение моментов относительно опоры B
eq_Mb = -10 * Ya + 8 * P - 8 * (Q * sind(beta)) - 4 * (Q * cosd(beta)) + 5 * (F * sind(alpha)) + 2 * P ~ 0 # Решение системы уравнений внешнего равновесия (Система 1)
sol_reac = Symbolics.solve_for([eq_X, eq_Ma, eq_Mb], [Xa, Ya, Yb])

# Преобразование реакций в числовой формат Float64
Xa_val = Float64(sol_reac[1])
Ya_val = Float64(sol_reac[2])
Yb_val = Float64(sol_reac[3])

println("--- Реакции опор ---")
println("Xa = ", round(Xa_val, digits=3), " кН")
println("Ya = ", round(Ya_val, digits=3), " кН")
println("Yb = ", round(Yb_val, digits=3), " кН")
⚠ Контроль ошибок сектора:
  • В уравнениях используется оператор тильды ~ 0. Знак = вызовет ошибку синтаксиса языка.
  • Проверьте знаки плеч в уравнениях моментов: поворот против часовой стрелки берется со знаком «плюс», по часовой — со знаком «минус».
  • Использование функций cosd() и sind() обязательно (вычисление тригонометрии от градусов).
Сектор 3: Статическая проверка реакций опор

Контрольная проверка найденных опорных реакций по неиспользованному ранее уравнению суммы проекций всех сил на вертикальную ось Oy.

# Проверка статического равновесия по оси Oy
Fy_check = Ya_val - P + Q * sind(beta) - F * sind(alpha) - P + Yb_val

println("Невязка по оси Oy: Fy = ", round(Fy_check, digits=4), " кН")
⚠ Контроль ошибок сектора:
  • Значение Fy_check должно строго равняться 0.0. При наличии невязки переходить к расчету стержней нельзя — необходимо проверить уравнения моментов в Секторе 2.
Сектор 4: Расчет усилий стержней 1, 2, 3 методом Риттера (Система 2)

Формирование уравнений равновесия левой отсеченной части относительно моментных точек Риттера R1, R2, R3. Значения реакций Xa_val и Ya_val входят как константы.

# Объявление переменных усилий первой панели @variables S1 S2 S3

# Геометрический угол наклона верхнего пояса: tg(gamma) = 1/3 # cos(gamma) = 3 / sqrt(10), sin(gamma) = 1 / sqrt(10)
cos_gamma = 3.0 / sqrt(10.0)

# Уравнение моментов относительно точки R1 (узел x=2, y=0)
eq_MR1 = -4 * S1 * cos_gamma - 4 * Q * cosd(beta) - 2 * Ya_val ~ 0 # Уравнение моментов относительно точки R2 (вынесенная точка, плечо 12 м)
eq_MR2 = -12 * S2 * cosd(45) - 4 * Q * cosd(beta) - 12 * Q * sind(beta) + 12 * P - 14 * Ya_val ~ 0 # Уравнение моментов относительно точки R3 (узел x=5, y=3)
eq_MR3 = 3 * S3 - 1 * Q * cosd(beta) - 3 * Q * sind(beta) + 3 * P - 5 * Ya_val + 3 * Xa_val ~ 0 # Решение системы уравнений Риттера (Система 2)
sol_ritter = Symbolics.solve_for([eq_MR1, eq_MR2, eq_MR3], [S1, S2, S3])

S1_val = Float64(sol_ritter[1])
S2_val = Float64(sol_ritter[2])
S3_val = Float64(sol_ritter[3])

println("--- Усилия в стержнях 1, 2, 3 ---")
println("S1 = ", round(S1_val, digits=3), " кН")
println("S2 = ", round(S2_val, digits=3), " кН")
println("S3 = ", round(S3_val, digits=3), " кН")
⚠ Контроль ошибок сектора:
  • В уравнения подставляются именно числовые значения Ya_val и Xa_val, а не символьные переменные Ya и Xa.
  • Проверьте расстояние до вынесенной точки R2: для данного уклона плечо составляет 12 м от узла приложения силы Q (14 м от опоры A).
Сектор 5: Расчет усилий в стойках 4 и 5 (Система 3)

Определение усилия стойки 4 вырезанием нижнего узла C и стойки 5 через вспомогательное Сечение II–II и равновесие верхнего узла D.

@variables S4 S5 S7 S10

# Узел C: проекция на вертикальную ось Oy для стойки 4
eq_S4 = S4 - F * sind(alpha) ~ 0 # Сечение II-II: момент относительно R7 для определения усилия S7
eq_S7 = S7 * 4 - Yb_val * 2 ~ 0 # Узел D: проекции на оси Ox и Oy для стойки 5
eq_Dx = S7 - S10 * cos_gamma ~ 0
eq_Dy = -S5 - S10 * (1.0 / sqrt(10.0)) ~ 0 # Решение уравнений стоек 4 и 5 (Система 3)
sol_posts = Symbolics.solve_for([eq_S4, eq_S7, eq_Dx, eq_Dy], [S4, S5, S7, S10])

S4_val = Float64(sol_posts[1])
S5_val = Float64(sol_posts[2])

println("--- Усилия в стойках 4 и 5 ---")
println("S4 = ", round(S4_val, digits=3), " кН")
println("S5 = ", round(S5_val, digits=3), " кН")
⚠ Контроль ошибок сектора:
  • В узле C горизонтальные стержни пояса перпендикулярны оси Oy, поэтому их проекции равны нулю и не вводятся в уравнение eq_S4.
  • Для стойки 5 обязательно учитывается связь через наклонный раскос S10.
Made on
Tilda