Модель поперечного сечения
OpenCS описывает расчётное сечение как набор материальных областей, для каждой из которых заданы геометрия, материал и закон σ(ε). В зависимости от задачи область представлена полигональным контуром, сеткой фибр или набором точечных фибр.
Из чего состоит сечение
Пять сущностей на схеме покрывают почти любое железобетонное сечение:
| Что видно | Чем задано в модели |
|---|---|
| Бетон | материальная область категории Region с внешним контуром |
| Отверстие | внутренний контур той же области, а не отдельная область |
| Разбиение бетона | сеточные фибры типа poly или tri |
| Продольная арматура | точечные фибры типа point в области категории RebarGroup |
| Хомуты | область категории Stirrups, исключённая из продольного интеграла |
Иерархия объектов
Ключ к схеме — различие между владением и ссылкой. Владение означает, что объект хранится внутри родителя и исчезает вместе с ним. Ссылка означает, что объект живёт в проекте самостоятельно, а связь хранится идентификатором.
graph TD
Project["Проект — файл .db"]
Project --> Mat["Материалы<br/>Material"]
Project --> Cont["Пул контуров<br/>Contour"]
Project --> Area["Материальные области<br/>MaterialArea"]
Project --> Sect["Сечения<br/>CrossSection"]
Project --> FS["Наборы усилий<br/>ForceSet"]
Project --> Task["Расчётные задачи<br/>CalcTask"]
Area --> AC["Контуры области<br/>внешний Hull и отверстия Holes"]
Area --> Fib["Фибры<br/>сеточные и точечные"]
Area --> Stir["Группы хомутов<br/>StirrupGroup"]
Area --> Diag["Диаграммы по CalcType<br/>Diagramm"]
FS --> FI["Отдельные усилия<br/>LoadItem"]
Task --> Res["Результаты расчёта<br/>CalcResult"]
Sect -. "состав сечения" .-> Area
Area -. "материал области" .-> Mat
Area -. "область-носитель" .-> Area
Area -. "контур из пула" .-> Cont
Task -. "над каким сечением" .-> Sect
Task -. "какими усилиями" .-> FS
Сплошная стрелка — владение, пунктирная — ссылка по идентификатору.
Из этой схемы следуют четыре вещи, которые чаще всего понимают неправильно.
Область не принадлежит сечению. Связь «сечение — область» хранится отдельной таблицей и допускает вхождение одной области в несколько сечений, с сохранением порядка. Удаление сечения удаляет только связь: сама область остаётся в проекте.
Материал не принадлежит области. Область ссылается на материал проекта. Один материал используется многими областями, и правка его характеристик затрагивает их все.
Задача не принадлежит сечению — она на него ссылается. Расчётная задача связывает сечение, набор усилий и конкретное усилие из набора. Поэтому направление связи на схеме обратно интуитивному.
Набор усилий вообще не привязан к сечению. Он существует в проекте сам по себе, и один и тот же набор можно приложить к разным сечениям — связывает их только задача.
Сечение — CrossSection
Сечение — контейнер материальных областей и единая точка интегрирования. Оно:
- вычисляет усилия
N,Mx,Myпо всем активным областям; - выбирает для каждой области фибровый или контурный путь;
- вычисляет секущую жёсткость и раскладывает её по материалам;
- строит начальное приближение кривизны по заданной нагрузке;
- считает упругие геометрические характеристики;
- вычисляет действия преднапряжения;
- формирует результат задачи, включая сдвиговый отклик.
Производные типы добавляют специальное поведение: StagedSection состоит из частей, включаемых по ходу истории нагружения, и даёт каждой части свою эффективную плоскость деформаций, а PlateSection работает с мембранными, изгибными и сдвиговыми усилиями оболочки.
Параметрическое железобетонное сечение
Параметрическое ЖБ-сечение — это способ быстро создать обычный CrossSection по форме, размерам и армированию. В отличие от ручной сборки, в проекте сохраняются два связанных результата:
- исходное параметрическое определение — форма, размеры, материалы и параметры армирования;
- сформированный состав
CrossSection— материальные области, точечные фибры продольной арматуры и, для применимых форм, области поперечной арматуры.
Такое разделение позволяет пересобрать расчётное сечение после изменения исходных данных, не повторяя создание контуров и групп арматуры вручную. Сформированный состав остаётся обычной моделью сечения: он используется в задачах НДС, прочности, трещин и других расчётах, которые принимают CrossSection.
-
Прямоугольник ·
b,h -
Тавр · полка и стенка
-
Двутавр · две полки и стенка
-
Круг · диаметр
D -
Кольцо · диаметры
Dиd
Работа в приложении
- В дереве проекта откройте контекстное меню Поперечные сечения и выберите Параметрическое ЖБ-сечение.
- В диалоге выберите одну из форм — прямоугольник, тавр, двутавр, круг или кольцо — и задайте размеры в миллиметрах.
- Назначьте бетон и материал продольной арматуры. Для прямоугольных, тавровых и двутавровых форм настройте нижний и верхний слой; для круглых форм используйте полярную арматуру.
- При необходимости включите поперечную арматуру, задайте её зону, направление, диаметр и шаг.
- Сверьте живую Схему сечения и сообщения диагностики. Сохранение доступно только при корректных исходных данных.
- После сохранения выберите сечение в группе Параметрические ЖБ и откройте Открыть сформированное.
У выбранного параметрического сечения доступны Изменить параметры и Пересобрать. Первая команда открывает сохранённое определение для изменения и создаёт новый состав сечения. Вторая восстанавливает состав из уже сохранённых параметров после подтверждения. Сформированные области не следует менять вручную, если сечение должно оставаться синхронизированным с параметрическим определением.
В диалоге отображена глобальная ось Y; положительный Mx растягивает грань с Y > 0. Для тавра и двутавра нормальная проверка справочна и предполагает N ≈ 0 при сжатой полке. Для круга и кольца действуют ограничения приложения Д: арматура не выше А400, отсутствие N > 0 и необходимость длины элемента при проверке сжатия. Если постановка выходит за эти условия, используйте НДМ.
После создания сечение выбирается в расчётной задаче так же, как обычное. В поддерживаемом экспорте отчётов его схема выводится вместе с исходными параметрами, поэтому по отчёту можно проверить не только численные результаты, но и геометрию сечения.
Единицы согласованы, а не конвертируются
Доменное ядро работает в согласованном наборе м, кН, кПа: напряжение в кПа, умноженное на площадь в м², сразу даёт усилие в кН. Автоматической конверсии единиц нигде нет — характеристики используются в том виде, в каком переданы, поэтому при сверке с внешним решателем единицы проверяются первыми. Подробнее — оси, знаки и единицы.
Параметрическое стальное сечение
Параметрическое МК-сечение строится так же, как параметрическое ЖБ: из исходного определения формируется обычный CrossSection, а определение сохраняется для изменения и пересборки. Отличия:
- определение описывает стальной профиль — вид (двутавр, швеллер, тавр, уголок, коробчатое сечение, труба, лист, круг), способ изготовления (прокатный, сварной, гнутый), размеры, радиусы скруглений, уклон внутренних граней полок, ориентацию (поворот на 90°, зеркало), материал и, если профиль выбран из сортамента, ссылку на строку сортамента;
- сформированное сечение содержит одну материальную область стали: внешний контур и, для короба и трубы, отверстие; начало координат — в центре тяжести; арматуры нет;
- кроме геометрии, сечение несёт явный профиль СП 16 — дескриптор, по которому стальные задачи определяют тип сечения по табл. 7,
hef,befи строки таблиц местной устойчивости. Профиль не хранится в самом сечении: он восстанавливается из сохранённого определения при загрузке проекта и передаётся в расчёт, только пока геометрия совпадает с той, что была сформирована (сравнивается отпечаток контура, отверстия и материала).
Работа в диалоге описана в справочнике интерфейса, выбор профиля в проверках — в разделе «Профиль сечения», сверка геометрии с сортаментом — в тесте «Параметрические МК: геометрия и профиль».
Материальная область — MaterialArea
Область содержит:
- список контуров: внешний
Hullи отверстияHoles; WKT-представление полигона (пустое у чисто арматурных областей);- ссылку на материал и построенный набор диаграмм по
CalcType; - фибры и настройки генерации сетки;
- категорию
Region,RebarGroupилиStirrups; - параметры преднапряжения точечной арматуры.
Категории областей
| Категория | Что это | Участвует в продольном интеграле |
|---|---|---|
Region |
полигональная область — бетон, сталь, любой сплошной материал | да |
RebarGroup |
группа стержней, заданная точечными фибрами | да |
Stirrups |
поперечное армирование | нет |
Исключение хомутов — не побочный эффект отсутствия у них фибр, а явный фильтр IsCalcActive, который отбрасывает категорию Stirrups перед интегрированием. Поперечное армирование учитывается только в расчёте наклонных сечений — задача shear_inclined.
Контуры и отверстия
Контур хранит координаты вершин. Внешний контур описывает материальную область, отверстия вычитаются из неё. Для фибрового метода контуры используются при нарезке или триангуляции; для контурного метода они непосредственно участвуют в интегрировании.
Фибры
Фибра хранит площадь, координаты центра, деформацию, напряжение и вклад в усилия. Типов два:
- сеточная фибра (
poly,tri) — часть полигональной области, полученная нарезкой или триангуляцией; - точечная фибра (
point) — отдельный стержень арматуры или другой дискретный компонент.
Тип фибр в области определяет и путь интегрирования: если сеточных фибр нет, а внешний контур задан, используется контурный интеграл; иначе — фибровое суммирование. Подробности — на странице гибридного пути.
Разностная диаграмма арматуры
Арматурная область может ссылаться на бетонную область-носитель (HostArea). Тогда для неё строится разностная диаграмма σ_steel − σ_concrete.
Причина в том, что полигон бетона не имеет выреза под стержень: площадь под арматурой входит и в бетонную область, и в точечную фибру. Без вычитания бетон под каждым стержнем учитывался бы дважды. В растянутой зоне, где бетон выключен, разностная диаграмма совпадает с диаграммой стали, поэтому эффект заметен прежде всего в сжатой зоне.
Разностная σ — величина для равновесия, а не напряжение в стали. В результатах (карта сечения, разрез, сводки, отчёт, экспорт) напряжение в стержне показывается по собственной диаграмме стали; усилия, жёсткости и центр тяжести по НДС считаются по разностной. Учёт замещения задаётся флажком «Учёт уменьшения площади бетона, замещённой площадью арматуры» в группе «Ж/б сечение» окна настроек.
Плоскость деформаций
Для нормального сечения деформация задаётся линейным полем — это и есть гипотеза плоских сечений:
Здесь e0 — деформация в начале координат, ky — градиент по y, kz — градиент по x. Напряжение получается подстановкой в диаграмму материала:
Затем напряжение интегрируется по площади или суммируется по фибрам.
Линейна деформация, а не напряжение
Плоской является эпюра деформаций. Эпюра напряжений линейна только тогда, когда линейна сама диаграмма материала. Для бетона по СП 63 она криволинейна, поэтому напряжение по высоте распределено нелинейно, а в растянутой зоне обрывается.
СП 63 в доменной модели
СП 63.13330 — это не отдельная кнопка поверх расчёта, а источник характеристик материала и диаграмм σ(ε), которые используются доменным ядром. Для бетона Material.Type = Concrete разрешены типы диаграмм L2, L3, SP63, EKB и SP35.
DiagrammType.SP63 создаёт криволинейную диаграмму бетона по приложению Г СП 63.13330 для каждого из четырёх видов расчёта:
C— первая группа, непродолжительное действие;CL— первая группа, продолжительное действие;N— вторая группа, непродолжительное действие;NL— вторая группа, продолжительное действие.
При построении диаграммы OpenCS использует расчётные характеристики MaterialChars выбранного CalcType. Поэтому выбор N вместо C меняет не только подпись задачи, но и закон σ(ε), предельные деформации и жёсткость.
По умолчанию нижняя граница нисходящей ветви СП 63 задаётся Sp63DescEtaMin = 0.85. Это настраиваемый параметр CalcSettings, который передаётся в ResolveAndBuildDiagramms перед запуском задачи.
flowchart TD
Chars["Характеристики материала<br/>MaterialChars по CalcType"] --> Build["Построение диаграмм<br/>Material.GetDiagramms"]
Build --> Type{"Тип диаграммы<br/>DiagrammType"}
Type -->|SP63| DCL["Криволинейная диаграмма СП 63"]
Type -->|L2, L3| Linear["Кусочно-линейная диаграмма"]
Type -->|Custom| Pool["Пользовательская диаграмма из пула"]
DCL --> Area["Диаграммы области<br/>MaterialArea.Diagramms"]
Linear --> Area
Pool --> Area
Area --> Integrate["Фибровый или контурный интеграл"]
Подробности построения диаграмм и параметры СП 63 вынесены в Материалы и диаграммы.
Расчётные типы
Материал может иметь отдельные диаграммы для C, CL, N и NL. Поэтому одна и та же геометрия при выборе другого CalcType может дать другое напряжение, жёсткость и предельное состояние.
Проверяйте активность области
Области поперечного армирования (Stirrups) не участвуют в обычном продольном интеграле. Если требуется расчёт наклонных сечений, используйте задачу shear_inclined.
Где это в коде
| Что | Где |
|---|---|
| Сечение и интегрирование | CScore/CrossSection.cs |
| Материальная область, категории, фильтр активности | CScore/MaterialArea.cs |
| Фибра и её типы | CScore/Fiber.cs |
| Материал и характеристики | CScore/Material.cs, MaterialChars.cs |
| Диаграммы и их совместимость с материалом | CScore/Diagramm.cs |
| Геометрия и свойства | CScore/Geo.cs, GeoProps.cs, WktHelper.cs |
| Схема хранения проекта | OpenCS/Utilites/DatabaseService.cs |