Перейти к содержанию

Учебный пример НДМ: косое внецентренное сжатие вручную

Страница показывает расчёт прямоугольного железобетонного сечения по нелинейной деформационной модели (НДМ) со всеми промежуточными числами — так, чтобы его можно было повторить в Excel, а отдельные шаги — на калькуляторе. Решаются две задачи:

  1. НДС от заданных усилий — найти плоскость деформаций, отвечающую N, Mx, My (метод Ньютона);
  2. предел несущей способности — найти, во сколько раз можно пропорционально увеличить те же усилия, пока бетон в самом сжатом углу не достигнет предельной деформации εb2.

К странице приложена книга Excel без макросов, в которой каждая итерация — отдельный лист с таблицей волокон и формулами: ndm-tutorial.xlsx. Жёлтые ячейки листа «Исходные» можно менять — все итерации пересчитаются.

Учебная модель упрощена

Сетка намеренно крупная (6 × 10 волокон), площадь бетона под стержнями не вычитается, бетон на растяжение не работает, диаграммы двухлинейные. Этого достаточно, чтобы увидеть устройство алгоритма; влияние сетки на результат показано ниже. Как та же задача решается в OpenCS, описано на страницах Фибровый метод и Предельные усилия.

Исходные данные

Величина Значение
Сечение b = 0,30 м (вдоль x), h = 0,50 м (вдоль y), начало координат в центре
Бетон B25 Rb = 14,5 МПа; двухлинейная диаграмма: εb1,red = 0,0015, εb2 = 0,0035 (СП 63, п. 6.1.20)
Приведённый модуль Eb,red = Rb / εb1,red = 14,5 / 0,0015 = 9666,67 МПа
Арматура A500 Rs = Rsc = 435 МПа (табл. 6.14), Es = 200 000 МПа, εs0 = Rs/Es = 0,002175, εs2 = 0,025 (п. 6.2.14)
Стержни 4 ⌀20, As = π·0,02²/4 = 0,000314159 м² каждый, в точках (±0,10; ±0,20) м
Усилия N = −800 кН, Mx = −160 кН·м, My = −50 кН·м

Двухлинейные диаграммы бетона B25 и арматуры A500

Знаки и единицы

Плоскость деформаций задаётся тремя числами u = (ε0, kx, ky):

\[ \varepsilon(x, y) = \varepsilon_0 + k_x\,y + k_y\,x . \]

Сжатие отрицательно. Усилия — суммы по волокнам:

\[ N = \sum_i \sigma_i A_i, \qquad M_x = \sum_i \sigma_i A_i\, y_i, \qquad M_y = \sum_i \sigma_i A_i\, x_i . \]

Это та же конвенция, что в OpenCS (см. Оси, знаки и единицы): отрицательный Mx сжимает верхнюю грань (y > 0), отрицательный My — правую (x > 0). Поэтому при заданных усилиях сильнее всего сжат угол (+0,15; +0,25).

Длины — в метрах, напряжения — в МПа. Произведение σ·A получается в МН; умножение на 1000 даёт кН, а σ·A·y·1000 — кН·м. Кривизны kx, ky — в 1/м.

Сетка волокон

Сечение разбито на 6 × 10 = 60 квадратных волокон 0,05 × 0,05 м, площадь каждого A = 0,0025 м². Центр волокна с индексами i = 0…5, j = 0…9:

\[ x_i = -\frac{b}{2} + (i + 0{,}5)\,\frac{b}{6}, \qquad y_j = -\frac{h}{2} + (j + 0{,}5)\,\frac{h}{10}. \]

Волокна нумеруются построчно снизу вверх: №1 — (−0,125; −0,225), №6 — (0,125; −0,225), №60 — (0,125; 0,225). Стержни — №61…64: (−0,10; −0,20), (0,10; −0,20), (−0,10; 0,20), (0,10; 0,20).

Диаграммы

Для каждого волокна нужны напряжение σ(ε) и касательный модуль Et = dσ/dε.

Бетон (растяжение не учитывается, площадка не обрывается — выход за εb2 проверяется отдельно):

\[ \sigma_b(\varepsilon) = \begin{cases} 0, & \varepsilon \ge 0,\\ E_{b,red}\,\varepsilon, & -\varepsilon_{b1,red} \le \varepsilon < 0,\\ -R_b, & \varepsilon < -\varepsilon_{b1,red}; \end{cases} \qquad E_t = \begin{cases} 0, & \varepsilon \ge 0,\\ E_{b,red}, & -\varepsilon_{b1,red} \le \varepsilon < 0,\\ 0, & \varepsilon < -\varepsilon_{b1,red}. \end{cases} \]

Арматура (симметрично при растяжении и сжатии):

\[ \sigma_s(\varepsilon) = \begin{cases} E_s\,\varepsilon, & |\varepsilon| \le \varepsilon_{s0},\\ R_s\,\operatorname{sign}\varepsilon, & |\varepsilon| > \varepsilon_{s0}; \end{cases} \qquad E_t = \begin{cases} E_s, & |\varepsilon| \le \varepsilon_{s0},\\ 0, & |\varepsilon| > \varepsilon_{s0}. \end{cases} \]

В Excel это одна формула на ячейку, например для бетона (в русской версии Excel): =ЕСЛИ(e>=0; 0; ЕСЛИ(e>=-eb1; Ebr*e; -Rb)), где e — ячейка с деформацией волокна, а eb1, Ebr, Rb — именованные ячейки листа «Исходные».

Задача 1. Плоскость деформаций от заданных усилий

Система уравнений

Нужно найти u = (ε0, kx, ky), при котором внутренние усилия равны внешним:

\[ \mathbf F(\mathbf u) = \begin{pmatrix} N(\mathbf u) \\ M_x(\mathbf u) \\ M_y(\mathbf u) \end{pmatrix} = \begin{pmatrix} -800 \\ -160 \\ -50 \end{pmatrix} = \mathbf F_{\text{зад}}. \]

Это три нелинейных уравнения с тремя неизвестными. Метод Ньютона на каждом шаге заменяет их линейными:

\[ \mathbf R = \mathbf F_{\text{зад}} - \mathbf F(\mathbf u), \qquad \mathbf D(\mathbf u)\,\Delta\mathbf u = \mathbf R, \qquad \mathbf u \leftarrow \mathbf u + \Delta\mathbf u, \]

где D — касательная матрица жёсткости сечения. Поскольку ∂ε/∂u = (1, y, x), она собирается по волокнам так же просто, как усилия:

\[ \mathbf D = 1000 \sum_i E_{t,i} A_i \begin{pmatrix} 1 & y_i & x_i\\ y_i & y_i^2 & x_i y_i\\ x_i & x_i y_i & x_i^2 \end{pmatrix}. \]

Систему 3 × 3 удобно решать правилом Крамера: Δu_k = det(D_k) / det(D), где D_k — матрица D, у которой k-й столбец заменён на R, а

\[ \det\mathbf D = d_{11}(d_{22}d_{33}-d_{23}d_{32}) - d_{12}(d_{21}d_{33}-d_{23}d_{31}) + d_{13}(d_{21}d_{32}-d_{22}d_{31}). \]

Итерации прекращаются, когда ‖R‖ / ‖F_зад‖ < 10⁻⁶.

Начальное приближение — упругое

Начинать с u = 0 нельзя. В точке ε = 0 бетон находится на ветви растяжения, его Et = 0, и в матрице D остаются только четыре стержня. Первый шаг Ньютона на такой «арматурной» жёсткости даёт кривизны kx = −0,016, ky = −0,020 1/м — в несколько раз больше правильных, на втором шаге невязка вырастает, затем кривизны уходят к 10¹⁴…10¹⁶ и матрица вырождается.

Правильный старт — упругое решение, в котором весь бетон, включая растянутую зону, работает с модулем Eb,red. Для симметричного сечения матрица получается диагональной:

\[ \mathbf D_{\text{упр}} = \begin{pmatrix} 1\,701\,327{,}41 & 0 & 0 \\ 0 & 39\,959{,}35 & 0 \\ 0 & 0 & 13\,086{,}19 \end{pmatrix} \]

(например, d11 = 1000·(9666,67·60·0,0025 + 200 000·4·0,000314159) = 1 450 000 + 251 327,41), и начальное приближение считается делением:

\[ \varepsilon_0 = \frac{-800}{1\,701\,327{,}41} = -0{,}00047022, \quad k_x = \frac{-160}{39\,959{,}35} = -0{,}0040041, \quad k_y = \frac{-50}{13\,086{,}19} = -0{,}0038208 . \]

Это лист «Н0» книги Excel.

Итерация 1 подробно

Подставляем u0 в каждое волокно. Три волокна для самопроверки:

Волокно ε = ε0 + kx·y + ky·x Участок σ, МПа σ·A·1000, кН
№1 (−0,125; −0,225) −0,00047022 + 0,00090092 + 0,00047760 = +0,00090830 растяжение 0 0
№60 (0,125; 0,225) −0,00047022 − 0,00090092 − 0,00047760 = −0,00184874 площадка −14,50 −36,25
№64, стержень (0,10; 0,20) −0,00047022 − 0,00080081 − 0,00038208 = −0,00165311 упругий −330,62 −103,87

Полная таблица волокон итерации 1 — в раскрывающемся блоке:

Таблица 64 волокон на итерации 1 (лист «Н1»)
№ тип x, м y, м A, м² ε σ, МПа Et, МПа σ·A, кН
1 бет. −0,125 −0,225 0,002500 0,000908 0,00 0 0,00
2 бет. −0,075 −0,225 0,002500 0,000717 0,00 0 0,00
3 бет. −0,025 −0,225 0,002500 0,000526 0,00 0 0,00
4 бет. 0,025 −0,225 0,002500 0,000335 0,00 0 0,00
5 бет. 0,075 −0,225 0,002500 0,000144 0,00 0 0,00
6 бет. 0,125 −0,225 0,002500 −0,000047 −0,45 9667 −1,13
7 бет. −0,125 −0,175 0,002500 0,000708 0,00 0 0,00
8 бет. −0,075 −0,175 0,002500 0,000517 0,00 0 0,00
9 бет. −0,025 −0,175 0,002500 0,000326 0,00 0 0,00
10 бет. 0,025 −0,175 0,002500 0,000135 0,00 0 0,00
11 бет. 0,075 −0,175 0,002500 −0,000056 −0,54 9667 −1,36
12 бет. 0,125 −0,175 0,002500 −0,000247 −2,39 9667 −5,97
13 бет. −0,125 −0,125 0,002500 0,000508 0,00 0 0,00
14 бет. −0,075 −0,125 0,002500 0,000317 0,00 0 0,00
15 бет. −0,025 −0,125 0,002500 0,000126 0,00 0 0,00
16 бет. 0,025 −0,125 0,002500 −0,000065 −0,63 9667 −1,58
17 бет. 0,075 −0,125 0,002500 −0,000256 −2,48 9667 −6,19
18 бет. 0,125 −0,125 0,002500 −0,000447 −4,32 9667 −10,81
19 бет. −0,125 −0,075 0,002500 0,000308 0,00 0 0,00
20 бет. −0,075 −0,075 0,002500 0,000117 0,00 0 0,00
21 бет. −0,025 −0,075 0,002500 −0,000074 −0,72 9667 −1,80
22 бет. 0,025 −0,075 0,002500 −0,000265 −2,57 9667 −6,41
23 бет. 0,075 −0,075 0,002500 −0,000456 −4,41 9667 −11,03
24 бет. 0,125 −0,075 0,002500 −0,000648 −6,26 9667 −15,65
25 бет. −0,125 −0,025 0,002500 0,000107 0,00 0 0,00
26 бет. −0,075 −0,025 0,002500 −0,000084 −0,81 9667 −2,02
27 бет. −0,025 −0,025 0,002500 −0,000275 −2,65 9667 −6,64
28 бет. 0,025 −0,025 0,002500 −0,000466 −4,50 9667 −11,25
29 бет. 0,075 −0,025 0,002500 −0,000657 −6,35 9667 −15,87
30 бет. 0,125 −0,025 0,002500 −0,000848 −8,19 9667 −20,49
31 бет. −0,125 0,025 0,002500 −0,000093 −0,90 9667 −2,24
32 бет. −0,075 0,025 0,002500 −0,000284 −2,74 9667 −6,86
33 бет. −0,025 0,025 0,002500 −0,000475 −4,59 9667 −11,47
34 бет. 0,025 0,025 0,002500 −0,000666 −6,44 9667 −16,09
35 бет. 0,075 0,025 0,002500 −0,000857 −8,28 9667 −20,71
36 бет. 0,125 0,025 0,002500 −0,001048 −10,13 9667 −25,32
37 бет. −0,125 0,075 0,002500 −0,000293 −2,83 9667 −7,08
38 бет. −0,075 0,075 0,002500 −0,000484 −4,68 9667 −11,70
39 бет. −0,025 0,075 0,002500 −0,000675 −6,53 9667 −16,31
40 бет. 0,025 0,075 0,002500 −0,000866 −8,37 9667 −20,93
41 бет. 0,075 0,075 0,002500 −0,001057 −10,22 9667 −25,55
42 бет. 0,125 0,075 0,002500 −0,001248 −12,07 9667 −30,16
43 бет. −0,125 0,125 0,002500 −0,000493 −4,77 9667 −11,92
44 бет. −0,075 0,125 0,002500 −0,000684 −6,61 9667 −16,53
45 бет. −0,025 0,125 0,002500 −0,000875 −8,46 9667 −21,15
46 бет. 0,025 0,125 0,002500 −0,001066 −10,31 9667 −25,77
47 бет. 0,075 0,125 0,002500 −0,001257 −12,15 9667 −30,38
48 бет. 0,125 0,125 0,002500 −0,001448 −14,00 9667 −35,00
49 бет. −0,125 0,175 0,002500 −0,000693 −6,70 9667 −16,76
50 бет. −0,075 0,175 0,002500 −0,000884 −8,55 9667 −21,37
51 бет. −0,025 0,175 0,002500 −0,001075 −10,40 9667 −25,99
52 бет. 0,025 0,175 0,002500 −0,001266 −12,24 9667 −30,61
53 бет. 0,075 0,175 0,002500 −0,001457 −14,09 9667 −35,22
54 бет. 0,125 0,175 0,002500 −0,001649 −14,50 0 −36,25
55 бет. −0,125 0,225 0,002500 −0,000894 −8,64 9667 −21,59
56 бет. −0,075 0,225 0,002500 −0,001085 −10,48 9667 −26,21
57 бет. −0,025 0,225 0,002500 −0,001276 −12,33 9667 −30,83
58 бет. 0,025 0,225 0,002500 −0,001467 −14,18 9667 −35,44
59 бет. 0,075 0,225 0,002500 −0,001658 −14,50 0 −36,25
60 бет. 0,125 0,225 0,002500 −0,001849 −14,50 0 −36,25
61 арм. −0,100 −0,200 0,000314 0,000713 142,53 200000 44,78
62 арм. 0,100 −0,200 0,000314 −0,000051 −10,30 200000 −3,24
63 арм. −0,100 0,200 0,000314 −0,000889 −177,79 200000 −55,85
64 арм. 0,100 0,200 0,000314 −0,001653 −330,62 200000 −103,87

Суммы по таблице:

\[ \mathbf F(\mathbf u_0) = \begin{pmatrix} -924{,}33 \\ -131{,}48 \\ -37{,}47 \end{pmatrix}, \qquad \mathbf R = \mathbf F_{\text{зад}} - \mathbf F = \begin{pmatrix} 124{,}328 \\ -28{,}525 \\ -12{,}528 \end{pmatrix}, \qquad \frac{\|\mathbf R\|}{\|\mathbf F_{\text{зад}}\|} = 0{,}157 . \]

Касательная матрица (волокна в растянутой зоне и на площадке в неё не входят):

\[ \mathbf D = \begin{pmatrix} 1\,266\,327{,}4 & 42\,291{,}7 & 13\,291{,}7\\ 42\,291{,}7 & 26\,275{,}0 & -4\,259{,}4\\ 13\,291{,}7 & -4\,259{,}4 & 9\,551{,}8 \end{pmatrix}, \qquad \det\mathbf D = 2{,}68326\cdot 10^{14}. \]

По Крамеру:

\[ \Delta\mathbf u = \begin{pmatrix} 0{,}0001816 \\ -0{,}0017586 \\ -0{,}0023484 \end{pmatrix}, \qquad \mathbf u_1 = \mathbf u_0 + \Delta\mathbf u = \begin{pmatrix} -0{,}000289 \\ -0{,}005763 \\ -0{,}006169 \end{pmatrix}. \]

Ход итераций

В строке — плоскость, с которой начинается итерация, внутренние усилия при ней и невязка R = F_зад − F.

Лист ε0 kx, 1/м ky, 1/м N, кН Mx, кН·м My, кН·м R_N R_Mx R_My ‖R‖/‖F‖
Н1 −0,000470 −0,004004 −0,003821 −924,33 −131,48 −37,47 124,328 −28,525 −12,528 1,6·10⁻¹
Н2 −0,000289 −0,005763 −0,006169 −825,04 −153,12 −47,90 25,038 −6,884 −2,104 3,2·10⁻²
Н3 −0,000230 −0,006324 −0,006843 −800,83 −159,35 −49,93 0,831 −0,652 −0,069 1,3·10⁻³
Н4 −0,000226 −0,006389 −0,006906 −800,00 −160,00 −50,00 0,000 0,000 0,000 0

Матрицы D по итерациям:

Лист d11 d12 d13 d22 d23 d33 det D
Н1 1 266 327,4 42 291,7 13 291,7 26 275,0 −4 259,4 9 551,8 2,68326·10¹⁴
Н2 976 327,4 42 291,7 13 291,7 21 260,4 −3 776,0 7 437,2 1,19151·10¹⁴
Н3 768 495,6 29 725,3 −3 866,5 16 239,8 −4 791,0 5 751,6 4,99181·10¹³
Н4 768 495,6 29 725,3 −3 866,5 16 239,8 −4 791,0 5 751,6 4,99181·10¹³

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

Проверка найденного состояния

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

Проверка Значение Предел Итог
Самый сжатый угол бетона (0,15; 0,25) −0,00047 − 0,00160 − 0,00104 = −0,00286 −0,0035 выполнено
Наиболее растянутый стержень №61 +0,00174 +0,025 выполнено
Наиболее сжатый стержень №64 −0,00219 −0,025 выполнено (стержень текучий: |ε| > εs0)

Деформация угла сечения, а не центра углового волокна: предел достигается на границе сечения.

Задача 2. Предельный коэффициент к усилиям

Постановка

Ищется множитель λ, при котором усилия λ·F_зад доводят сечение до предела. В предельном состоянии в самом сжатом углу (xc, yc) деформация бетона равна −εb2:

\[ \varepsilon_0 + k_x\,y_c + k_y\,x_c = -\varepsilon_{b2} \quad\Rightarrow\quad \varepsilon_0 = -\varepsilon_{b2} - k_x\,y_c - k_y\,x_c . \]

Это условие линейно, поэтому ε0 просто выражается через кривизны, и неизвестных остаётся три — v = (kx, ky, λ) — на три уравнения равновесия:

\[ \mathbf G(\mathbf v) = \mathbf F\bigl(\varepsilon_0(k_x, k_y),\, k_x,\, k_y\bigr) - \lambda\,\mathbf F_{\text{зад}} = \mathbf 0 . \]

Шагов нагрузки не требуется: λ — такая же неизвестная, как кривизны. Тем же способом работает быстрый решатель OpenCS (см. Предельные усилия).

Выбор угла. Самый сжатый угол — там, где kx·y + ky·x минимально. По упругому решению kx0 < 0, ky0 < 0, значит yc = −sign(kx0)·h/2 = +0,25, xc = −sign(ky0)·b/2 = +0,15.

Начальное приближение. Упругое решение u0 из задачи 1 даёт в этом углу ε = −0,00047022 − 0,0040041·0,25 − 0,0038208·0,15 = −0,00204436. Масштабируем его так, чтобы угол дошёл до −εb2:

\[ s = \frac{0{,}0035}{0{,}00204436} = 1{,}71203, \qquad \mathbf v_0 = (s\,k_{x0},\; s\,k_{y0},\; s) = (-0{,}006855;\; -0{,}006541;\; 1{,}71203). \]

Якобиан. Первые два столбца проще всего получить численно: увеличить kx (или ky) на δ = 10⁻⁵ 1/м, пересчитать ε0 из условия в углу, заново просуммировать волокна и разделить разность усилий на δ. Третий столбец получается точно: ∂G/∂λ = −F_зад = (800; 160; 50).

\[ \mathbf J = \left[\;\frac{\mathbf G(k_x+\delta) - \mathbf G}{\delta}\;\middle|\; \frac{\mathbf G(k_y+\delta) - \mathbf G}{\delta}\;\middle|\; -\mathbf F_{\text{зад}}\;\right], \qquad \mathbf J\,\Delta\mathbf v = -\mathbf G . \]

Аналитический вариант

Поскольку ε0 линейно зависит от кривизн, производные можно взять из той же касательной матрицы D задачи 1: первый столбец J равен D·(−yc; 1; 0), второй — D·(−xc; 0; 1). Для кусочно-линейных диаграмм оба способа совпадают, пока ни одно волокно не пересекает излом диаграммы на отрезке δ.

Ход итераций

Лист kx, 1/м ky, 1/м λ ε0 N, кН Mx, кН·м My, кН·м G_N G_Mx G_My ‖G‖/‖F_зад‖
П0 −0,006855 −0,006541 1,71203 −0,000805 −1287,50 −173,06 −42,50 82,12 100,86 43,10 1,7·10⁻¹
П1 −0,007312 −0,008769 1,10863 −0,000357 −916,09 −167,13 −56,16 −29,19 10,25 −0,72 3,8·10⁻²
П2 −0,007669 −0,008687 1,07727 −0,000280 −864,36 −172,14 −53,96 −2,55 0,22 −0,10 3,1·10⁻³
П3 −0,007687 −0,008683 1,07729 −0,000276 −861,83 −172,37 −53,86 0,00 0,00 0,00 0

Якобиан и приращения первой итерации (лист «П0»):

\[ \mathbf J = \begin{pmatrix} -238\,523{,}6 & -130\,908{,}1 & 800\\ 20\,046{,}0 & -2\,171{,}8 & 160\\ -5\,183{,}8 & 6\,867{,}4 & 50 \end{pmatrix}, \quad \det\mathbf J = 6{,}28899\cdot 10^{11}, \quad \Delta\mathbf v = \begin{pmatrix} -0{,}0004568 \\ -0{,}0022279 \\ -0{,}60340 \end{pmatrix}. \]

Результат

\[ \lambda = 1{,}0773, \qquad \text{К}_{\text{исп}} = \frac{1}{\lambda} = 0{,}928 . \]

Предельные усилия: N = −861,8 кН, Mx = −172,4 кН·м, My = −53,9 кН·м. Плоскость: ε0 = −0,000276, kx = −0,007687, ky = −0,008683 1/м.

Сечение в предельном состоянии: участки диаграммы бетона по волокнам, нейтральная линия, деформации стержней

Остаётся проверить арматуру: наиболее растянутый стержень №61 имеет εs = +0,00213 < εs2 = 0,025, значит предел определяет бетон. Если бы условие по арматуре нарушилось (это бывает при малом сжатии или при растяжении), задачу следовало бы решить ещё раз с условием εs = εs2 в наиболее растянутом стержне вместо условия в углу и принять меньший из двух λ.

Влияние сетки

Тот же расчёт на более мелких сетках (площадь бетона под стержнями также не вычитается):

Сетка волокон λ
6 × 10 (учебная) 1,0773
12 × 20 1,0813
30 × 50 1,0826
60 × 100 1,0827

Крупная сетка занижает предел примерно на 0,5 %: для понимания алгоритма её достаточно, для проектных расчётов сетку мельчат или интегрируют бетон по контуру, как это делает OpenCS (контурное интегрирование).

Почему решение «уходит в разнос»

Причина Что происходит Что делать
Старт с u = 0 В D нет бетона (на ветви растяжения Et = 0), первый шаг в разы больше нужного Начинать с упругого решения, в котором весь бетон работает с Eb,red
Нагрузка больше несущей способности Ньютон сходится к состоянию с деформациями за пределом (при 1,1·F_зад угол получает εb = −0,0041) либо, при 1,3·F_зад, кривизны растут на порядки и det D → 0 После сходимости проверять εb и εs; предел искать задачей 2, а не увеличением нагрузки
Вырожденная матрица D Весь сжатый бетон на площадке, стержни текучие — касательной жёсткости нет det D ≈ 0 — признак исчерпания; в задаче 2 эта ситуация не возникает, потому что предел задан деформацией
Перепутаны знаки Момент сжимает не ту грань, где ожидается; сечение «держит» нагрузку только растянутой арматурой Сверить знаки Mx, My с формулами Mx = Σσ·A·y, My = Σσ·A·x
Единицы σ·A в МН, моменты в МН·м, а заданные усилия в кН Привести всё к одной системе (здесь множитель 1000)

Короткие ответы на частые вопросы

Как дойти до предела? Двумя способами. Первый — показанный выше: предельная деформация в самой сжатой точке задаётся как условие, а λ ищется вместе с кривизнами методом Ньютона. Второй — перебор: решать задачу 1 для λ·F_зад и сужать интервал λ делением пополам, проверяя деформации; он надёжнее, но требует десятков решений.

Нужен ли линейный поиск? В этом примере нет. Он полезен как страховка: если после шага невязка выросла, шаг уменьшают вдвое и пересчитывают.

Касательные или секущие модули? Метод Ньютона использует касательные — так сходимость самая быстрая (здесь 3 шага), но на площадках Et = 0, и вблизи предела матрица может выродиться. Секущие модули Esec = σ/ε не обращаются в ноль на площадках, итерация u ← D_sec⁻¹·F_зад устойчивее, но медленнее: на этом же примере — 22 итерации до той же точности 10⁻⁶.

Нужна ли нисходящая ветвь на двух- и трёхлинейных диаграммах? Нет. Диаграммы СП 63 имеют горизонтальную площадку до εb2 и εs2, а предел определяется деформацией, а не максимумом напряжения. Обрывать стоит только работу бетона на растяжение (здесь она не учитывается вовсе).

Нужно ли нагружать шагами? Для монотонной диаграммы без разгрузки — нет: упругого начального приближения и итераций достаточно. Шаги нужны там, где важна история — разгрузка, преднапряжение по стадиям, ползучесть.