Инженерная нелинейность
Инженерная нелинейность — способ учесть трещины и неупругую работу железобетона в расчёте схемы, не отказываясь от линейного расчёта. Схема один раз считается нелинейно на определяющее нагружение, из конечного состояния берутся секущие жёсткости каждого КЭ, и на этих замороженных жёсткостях линейно решаются все загружения. Дальше работает всё, что опирается на линейность: суперпозиция загружений, комбинации, огибающие, наборы усилий по загружениям и проверки по КЭ.
На этой странице — суть метода, порядок работы и границы применимости. Подробный справочник по элементам диалога, проверкам источника и результату — в разделе Инженерная нелинейность страницы «Расчёт схемы — CSfea».
Зачем это нужно
Упругий расчёт железобетонной схемы на начальных жёсткостях переоценивает жёсткость элементов с трещинами. Усилия перераспределяются не так, как в реальной конструкции: треснувшие пролёты плит и ригелей, стены с раскрытыми швами разгружаются, а более жёсткие участки догружаются. Перемещения тоже получаются заниженными.
Полный нелинейный расчёт учитывает это точно, но его нужно повторять для каждой комбинации, а суперпозиция в нём невозможна. При десятках и сотнях комбинаций это дорого, а РСУ и огибающие по загружениям требуют линейной схемы.
Инженерная нелинейность — компромисс между этими путями:
| Упругий расчёт | Инженерная нелинейность | Пакет вариантов | |
|---|---|---|---|
| Жёсткость КЭ | начальная, без трещин | секущая, от определяющего нагружения | своя у каждой комбинации |
| Определяющая комбинация | без трещин | точно | точно |
| Прочие комбинации | без трещин | приближённо | точно |
| Суперпозиция, огибающие из загружений | да | да | нет |
| Стоимость | одна факторизация | один нелинейный расчёт + одна факторизация | нелинейный расчёт на каждую комбинацию |
Как это работает
flowchart LR
S["1. Секущий расчёт CSfea<br/>на определяющее нагружение<br/>(стадии, заданное армирование)"] --> M["2. Мозаики жёсткостей<br/>E₀ | E | E/E₀"]
M --> C["3. Команда<br/>«Линейный расчёт<br/>на этих жёсткостях…»"]
C --> L["4. Линейный CSfea:<br/>все загружения на<br/>замороженных секущих жёсткостях"]
L --> R["5. Комбинации, огибающие,<br/>наборы по загружениям →<br/>проверки по КЭ"]
- Нелинейный расчёт на определяющее нагружение. Это обычный секущий расчёт CSfea со стадиями, то есть с историей нагружения: например, сначала постоянная нагрузка, затем временная. Армирование задаётся заранее: сечения стержней, слоистые сечения пластин, армирование из ЛИРЫ или SCAD. Вид расчёта (NL, N, C, CL) определяет, по каким диаграммам материалов считаются трещины и жёсткости.
- Запись жёсткостей. В конце расчёта CSfea записывает полные секущие матрицы сечений всех КЭ: у пластин — мембранную, изгибную и связующую части (A, B, D) и сдвиговую часть, у стержней — матрицу сечения КЭ и сдвиговые и крутильную жёсткости. Записываются именно те матрицы, на которых получены перемещения последнего сошедшегося шага.
- Просмотр и выбор. Мозаики жёсткостей показывают, где и насколько расчёт снизил жёсткость: E₀ — начальная, E — секущая, E/E₀ — их отношение. Если состояние подходит, из результата вызывается команда Линейный расчёт на этих жёсткостях….
- Линейный расчёт. Все загружения схемы решаются одной сборкой и одной факторизацией матрицы жёсткости. У КЭ с железобетонным сечением сечение «заморожено» по записанной матрице, КЭ без железобетонного сечения считаются упругими, как в обычном линейном расчёте.
- Результат — обычный результат линейного расчёта: загружения, комбинации суперпозицией, огибающие групп, реакции, ширина раскрытия трещин, наборы усилий по загружениям для проверок по КЭ.
Почему определяющая комбинация воспроизводится точно
В сошедшемся конечном состоянии секущего расчёта выполняется равновесие
где \(K_s\) — матрица жёсткости, собранная из секущих сечений КЭ, \(u\) — перемещения, \(F_{det}\) — определяющая нагрузка. Если матрица \(K_s\) заморожена, а определяющая нагрузка — комбинация загружений \(F_{det} = \sum_i k_i F_i\), то по линейности
Комбинация линейных результатов с теми же коэффициентами даёт ровно перемещения и усилия нелинейного расчёта, включая постоянную нагрузку. OpenCS проверяет это после каждого расчёта (самопроверка): собирает \(\sum k_i u_i\), сравнивает с перемещениями источника и выводит в итог \(\max|\Delta u| / \max|u|\). На тестовых схемах расхождение меньше \(10^{-9}\).
Другие комбинации решаются на той же матрице \(K_s\), и жёсткость по их собственным трещинам не пересчитывается. Точность тем выше, чем ближе комбинация к определяющей по знаку и распределению усилий.
Порядок работы
Снимки окон в этом разделе сделаны на схеме перекрытия Дорфмана: плита на четырёх колоннах, импортированная из SCAD. Секущий расчёт «CSfea: L1, L2 × 5 (опыт)» идёт в две стадии — «L1» (собственный вес) и «L2 × 5» (загружение 0,89 т/м²) — по диаграммам вида N. Линейная постановка «Инженерная нелинейность» решает оба загружения на жёсткостях его конечного состояния.
1. Выбрать определяющее нагружение
Определяющее нагружение должно давать трещины там же, где они будут у большинства расчётных комбинаций. Обычно это основная комбинация с наибольшей вертикальной нагрузкой: постоянные нагрузки и полная временная нагрузка на все пролёты. Историю нагружения удобно задать стадиями: первая — собственный вес и постоянные нагрузки, вторая — временные. Трещины первой стадии сохраняются во второй.
Вид расчёта источника задаёт диаграммы материалов, по которым получены трещины и жёсткости (см. виды расчёта):
| Вид расчёта источника | Диаграммы |
|---|---|
| C | первая группа предельных состояний, непродолжительное действие |
| CL | первая группа, продолжительное действие |
| N | вторая группа, непродолжительное действие |
| NL | вторая группа, продолжительное действие — основной набор для деформаций |
Несколько наборов жёсткостей — несколько секущих постановок разных видов или варианты пакета. В линейную постановку передаётся один набор.
2. Посчитать секущий расчёт и посмотреть жёсткости
Постановка создаётся в узле Расчёты схемы — вид «Секущий — CSfea» (см. Постановка). После расчёта результат открывается в 3D-виде схемы. На конечном состоянии (последнем шаге) стоит посмотреть:
- λ — дошёл ли расчёт до заданного предела нагрузки. Жёсткости не дошедшего расчёта относятся к недогруженному состоянию; использовать их можно, но диалог предупредит об этом.
- Мозаику E/E₀ пластин (изгибные E1, E2) и стержней (EIy, EIz). Участки с E/E₀ около 1 работают без трещин, заметно меньшие значения — зоны с трещинами; очень малые значения указывают на участки, близкие к исчерпанию, и на них может сработать нижний предел.

3. Создать линейную постановку на этих жёсткостях
Команда Линейный расчёт на этих жёсткостях… есть:
- в меню кнопки ⋯ строки шага 3D-вида;
- кнопкой в окне Таблицы результата;
- в контекстном меню строки сводки пакета — для варианта пакета.

Команда доступна только на конечном состоянии: на промежуточных шагах полных матриц нет, и подсказка называет шаг конечного состояния. Она создаёт постановку «Линейный — CSfea» с именем «ИН — <постановка>» и открывает её диалог:
- источник жёсткостей уже выбран — показанное конечное состояние;
- вид расчёта — как у источника;
- загружения — все загружения схемы;
- параметры сечений — копия секущей постановки (без геометрической нелинейности и записи шагов);
- флажок Учитывать P-Δ (продольные силы источника) включён, если источник считался с геометрической нелинейностью (см. P-Δ источника).

Ту же постановку можно собрать вручную: в диалоге «Линейный — CSfea», группа Жёсткости КЭ — переключатель из секущего расчёта, затем постановка и состояние (конечное состояние, вариант пакета или его длительная часть). Строка «Источник: …» под списками показывает вид расчёта, время и λ источника.
Предупреждения диалога сохранять постановку не мешают:
- Источник не дошёл до предела λ — жёсткости недогруженного состояния.
- Вид расчёта источника не совпадает с видом постановки — жёсткости берутся по диаграммам источника, а ширина раскрытия трещин и тип наборов усилий — по виду линейной постановки. Например, жёсткости NL и наборы N — осознанная комбинация, но её стоит видеть.
4. Посчитать и проверить итог
В итоге расчёта и в журнале:
- источник — постановка, состояние, вид расчёта;
- КЭ на нижнем пределе жёсткости \(e_{min}\) (см. ниже) — число и первые номера;
- P-Δ источника, если флажок действует: число стержней и оболочек с матрицей начальных напряжений и учёт P-Δ оболочек в своей плоскости;
- самопроверка — «определяющая комбинация источника воспроизведена» при расхождении до \(10^{-6}\) или предупреждение. Расхождение ожидаемо и так и помечается, если сработал предел \(e_{min}\), если источник считался с геометрической нелинейностью, а флажок P-Δ снят, и если флажок P-Δ действует (расхождение порядка допуска итераций источника, см. ниже). Если определяющую нагрузку нельзя выразить через загружения постановки, самопроверка не выполняется, и итог называет причину.

Шапка 3D-вида и окна результата показывает, на каких жёсткостях получен результат: «Жёсткости КЭ — «<постановка>», конечное состояние, вид NL, …». Мозаики жёсткостей линейного результата показывают использованные жёсткости: E₀ — начальные, E — жёсткости источника. Отношение E/E₀ линейного результата может отличаться от секущего: начальная жёсткость здесь — упругая жёсткость линейного расчёта, а не начальная жёсткость сечения секущего расчёта. Сравнивать с источником удобнее по самой жёсткости E.

5. Комбинации и проверки
Дальше результат используется как любой линейный: комбинации и огибающие, наборы усилий по загружениям и по ним — проверки по КЭ для конструктивных элементов и групп.
Если источник пересчитан или удалён после линейного расчёта, результат показывается с оранжевой плашкой: «Источник жёсткостей пересчитан после этого расчёта — пересчитайте линейную постановку». Сама постановка при следующем запуске остановится с подсказкой подтвердить источник: так видно, что расчёт пойдёт на новых жёсткостях.
Геометрическая нелинейность источника (P-Δ)
Если источник жёсткостей считался с геометрической нелинейностью, в его моментах уже есть добавка от продольных сил на перемещениях — эффект P-Δ. Одних секущих жёсткостей для линейной части мало: они переносят P-Δ лишь косвенно (большие моменты → больше трещин → ниже жёсткость). Прямой эффект — снижение жёсткости сжатых элементов продольной силой — описывает матрица начальных напряжений \(K_\sigma\).
Флажок Учитывать P-Δ (продольные силы источника) в группе Жёсткости КЭ решает все загружения на матрице
где \(u_{det}\) — перемещения записанного состояния источника, а \(K_\sigma\) собирается по продольным силам стержней и мембранным усилиям \(N_x, N_y, N_{xy}\) пластин в этом состоянии. Это те же матрицы, что собирает сам секущий расчёт второго порядка: у стержней — с функциями Эрмита по продольной силе, у пластин — из плоскости всегда, в своей плоскости — если источник считался с флажком Учитывать прогиб в плоскости стен и пластин. Матрица одна на все загружения, поэтому суперпозиция, комбинации, огибающие и наборы по загружениям сохраняются. По сути это расчёт P-Δ с предварительным нагружением определяющей комбинацией.

Определяющая комбинация и в этом случае воспроизводится: \(\sum_i k_i u_i = (K_s + K_\sigma)^{-1} F_{det} = u\). Секущий расчёт собирает \(K_\sigma\) по перемещениям предыдущей итерации, а линейная часть — по итоговым, поэтому самопроверка даёт расхождение порядка допуска итераций источника и помечает его как ожидаемое.
Пример — перекрытие Дорфмана. Секущий расчёт «CSfea: L1, L2 × 5 (опыт)» (вид N, 1073 пластинчатых КЭ, 12 стержней колонн) пересчитан с геометрической нелинейностью второго порядка и с P-Δ в плоскости пластин; затем выполнен линейный расчёт на его жёсткостях без флажка P-Δ и с флажком:
| Расчёт | Прогиб контрольного узла, конец стадии «L2 × 5» | Самопроверка, max |Δu| / max |u| |
|---|---|---|
| Секущий без геометрической нелинейности | 27,45 мм | — |
| Секущий второго порядка (источник) | 28,10 мм | — |
| Линейный на жёсткостях источника, флажок P-Δ снят | — | 1,1·10⁻² (ожидаемо: источник с геометрической нелинейностью) |
| Линейный на жёсткостях источника, флажок P-Δ включён | — | 1,8·10⁻⁵ (ожидаемо: допуск итераций источника) |
Итог линейного расчёта с флажком называет число КЭ с \(K_\sigma\), напоминает о продольных силах прочих комбинаций и приводит самопроверку; подзаголовок результата заканчивается пометкой «с продольными силами источника (P-Δ)»:

Та же пометка — во второй строке шапки 3D-вида:

У плиты на колоннах эффект второго порядка невелик (+2,4 % к прогибу), но без \(K_\sigma\) линейная часть отклоняется от источника на 1 %, а с ней воспроизводит его до допуска итераций. В каркасах с гибкими колоннами и стенами разница заметно больше.
Что важно учитывать:
- Прочие комбинации считаются с продольными силами определяющей. Если сжатие элемента в комбинации больше, чем в определяющем состоянии, P-Δ недоучтён; если меньше — переучтён. Для каркасов, где продольные силы создают в основном вертикальные нагрузки, это приемлемо; если горизонтальные нагрузки заметно перераспределяют продольные силы, определяющей стоит выбирать комбинацию с наибольшим сжатием колонн и стен или считать несколько источников. Итог расчёта напоминает об этом отдельной строкой.
- Растянутые элементы получают положительную \(K_\sigma\) (жёсткость от натяжения) — тоже от определяющего состояния.
- Потеря устойчивости. Если \(K_s + K_\sigma\) не положительно определена, определяющее нагружение близко к критическому или выше него: расчёт останавливается с ошибкой, называющей узел и степень свободы. Запасного решателя нет — выше критической нагрузки линейное решение смысла не имеет.
- Нижний предел \(e_{min}\) повышает жёсткость сильно треснувших КЭ, поэтому запас устойчивости получается немного завышенным.
- Источник с большими перемещениями (флажок «Большие перемещения», коротационная формулировка) допускается с предупреждением: \(K_\sigma\) собирается по исходной геометрии, результат приближённый, и самопроверка покажет расхождение.
- Источник без геометрической нелинейности — флажок недоступен; у сохранённой постановки он не действует, а итог сообщает, что расчёт выполнен первого порядка.
- Проверки по КЭ. Наборы усилий такого результата помечены как второго порядка, и проверки по КЭ не умножают их моменты на коэффициент
ηп. 8.1.15: P-Δ уже учтён в усилиях. То же относится к наборам секущего расчёта с геометрической нелинейностью.
Нижний предел жёсткости
У сильно треснувших КЭ секущая жёсткость может быть очень малой, и линейная схема на таких жёсткостях становится плохо обусловленной. Поэтому диагональ матрицы сечения не опускается ниже \(e_{min}\) от начальной упругой: строка и столбец компоненты умножаются на \(\sqrt{e_{min}\,k_0/k}\). Так сохраняются симметрия и положительная определённость матрицы.
\(e_{min}\) — общая настройка программы: окно настроек, вкладка «OpenSees», группа «CSfea — секущий расчёт схемы», поле Нижний предел жёсткости e_min (линейный на секущих). По умолчанию 0,01, допустимо \(0 < e_{min} < 1\).
Если предел сработал у многих КЭ, определяющая комбинация уже не воспроизводится точно: схема на этих участках жёстче секущей.
Границы применимости
- Трещины — только от определяющего нагружения. Комбинации с другим знаком или другим расположением нагрузки получают трещины «не там»: ветер в обратную сторону, загружение через пролёт, монтажные состояния. Для таких комбинаций нужен свой источник жёсткостей или пакет вариантов.
- Жёсткость секущая, а не касательная. Приращение нагрузки сверх определяющей считается на той же секущей жёсткости, без дальнейшего снижения.
- P-Δ — по продольным силам определяющего состояния. Без флажка P-Δ геометрическая нелинейность источника влияет только на его состояние; с флажком линейная часть получает матрицу начальных напряжений определяющего состояния, и прочие комбинации считаются с его продольными силами (см. P-Δ источника).
- Армирование заданное. Подбора арматуры в ходе расчёта нет.
- Сетка схемы должна совпадать с сеткой источника. Если схема перестроена после расчёта источника, линейный расчёт остановится с сообщением «Пересчитайте источник».
- Сравнения нескольких наборов жёсткостей в одном результате и РСУ пока нет: сравниваются результаты разных постановок.
Сравнение с ЛИРА-САПР
Образец метода — режим ИН-2 ЛИРА-САПР: нелинейный расчёт на определяющее нагружение с заданным армированием и историей нагружения, затем линейный расчёт на полученных жёсткостях. Отличия OpenCS:
| ЛИРА-САПР, ИН-2 | OpenCS | |
|---|---|---|
| Расчёт определяющего нагружения | шаговый | секущий CSfea по стадиям |
| Жёсткость линейной части | касательная последнего шага | секущая конечного состояния |
| Подбор арматуры в ходе расчёта (ИН-1) | есть | нет, армирование заданное |
Кроме того, OpenCS может перенести в линейную часть P-Δ определяющего нагружения — матрицу начальных напряжений по продольным силам источника, посчитанного с геометрической нелинейностью (см. P-Δ источника).
Проверки
| Задача | Величина | Эталон | OpenCS |
|---|---|---|---|
| ЖБ-балка с трещинами, две стадии; линейный расчёт определяющей нагрузки на записанных матрицах | max |Δu| / max |u| относительно секущего расчёта | 0 | < 10⁻⁹ |
| ЖБ-полоса, ось сечения под 30° к осям КЭ | то же | 0 | < 10⁻⁹ |
| Плита: секущий расчёт → команда → линейный по загружениям → наборы по загружениям → проверка пластины по КЭ | самопроверка | 0 | < 10⁻⁹ |
| ЖБ-балка, \(e_{min}\) = 0,9 | предел срабатывает у треснувших КЭ, самопроверка с пометкой «ожидаемо» | > 10⁻³ | > 10⁻³, пометка есть |
| P-Δ: упругая консоль-стойка 6 м, 0,4×0,4 м, P = 0,4·P_cr и H = 1 кН отдельными загружениями; источник второго порядка на P + H | \((u_P + u_H)/u_{ист}\) | 1 | 1,0000 |
| то же | усиление прогиба от H: \(\delta/\delta_0 = 3(\operatorname{tg} v - v)/v^3\), \(v = \tfrac{\pi}{2}\sqrt{P/P_{cr}}\) | 1,6576 | 1,6576 |
| то же | момент в заделке от H: \(H L + P u_H\) | 9,272 кН·м | 9,272 кН·м (реакция), 9,277 кН·м (усилия КЭ) |
| P-Δ: стена-консоль 1×6 м в своей плоскости, сетка 4×24, P = 0,4·P_cr | усиление прогиба от горизонтальной силы | 1,6576 | в пределах 2,5 % |
| P-Δ: та же стойка, продольная сила ≈ 1,2·P_cr | ошибка «потеря устойчивости» с узлом | есть | есть |
| P-Δ: плита, секущий второго порядка → линейный с флажком → наборы по загружениям | самопроверка; признак второго порядка у наборов | ≤ 10⁻²; у всех | 5,7·10⁻⁶; у всех |
Тесты: CSfea.Tests/RcRecordedSectionsTests.cs, CSfea.Tests/RcLinearPDeltaTests.cs, OpenCS.Gmsh.Tests/FemCsfeaRunnerTests.cs (LinearOnStiffness_Command_EndToEnd, Linear_WithSourcePDelta_SolvesSecondOrder).