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

Модель поперечного сечения

OpenCS описывает расчётное сечение как набор материальных областей, для которых задана геометрия, материал и закон σ(ε). В зависимости от задачи область может быть представлена полигональным контуром, сеткой фибр или набором точечных фибр.

Иерархия объектов

graph TD
    Project[Проект SQLite] --> Section[CrossSection]
    Section --> Area[MaterialArea]
    Area --> Contours[Hull и Holes]
    Area --> Fibers[Mesh fibers и point fibers]
    Area --> Material[Material]
    Material --> Diagram[Diagramm для CalcType]
    Section --> Loads[ForceSet / LoadItem]
    Section --> Task[CalcTask]

CrossSection

CrossSection — контейнер всех MaterialArea и единая точка интегрирования. Он:

  • вычисляет N, Mx, My по всем активным областям;
  • выбирает фибровый или контурный путь;
  • учитывает точечную арматуру;
  • строит начальное приближение кривизны;
  • вычисляет секущую жёсткость;
  • создаёт результат задачи и касательную матрицу.

Производные типы добавляют специальное поведение: TwoStageSection задаёт разные эффективные плоскости деформаций для стадий, а PlateSection работает с мембранными, изгибными и сдвиговыми усилиями оболочки.

MaterialArea

Материальная область содержит:

  • список контуров: внешний Hull и отверстия Holes;
  • WKT-представление полигона;
  • материал и набор диаграмм по CalcType;
  • фибры и настройки генерации сетки;
  • категорию Region, RebarGroup или Stirrups;
  • параметры преднапряжения точечной арматуры.

Арматурная область может ссылаться на бетонную область-носитель (HostArea). Тогда для неё строится разностная диаграмма σ_steel − σ_concrete, чтобы замещающая точечная фибра не учитывала бетон дважды.

СП 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[MaterialChars по CalcType] --> Build[Material.GetDiagramms]
    Build --> Type{DiagrammType}
    Type -->|SP63| DCL[DCL: криволинейная диаграмма СП 63]
    Type -->|L2/L3| Linear[Линейно-кусочная диаграмма]
    Type -->|Custom| Pool[Пул пользовательских диаграмм]
    DCL --> Area[MaterialArea.Diagramms]
    Linear --> Area
    Pool --> Area
    Area --> Integrate[Фибровый или контурный интеграл]

Подробности построения диаграмм и параметры СП 63 вынесены в Материалы и диаграммы.

Контуры и отверстия

Контур хранит координаты вершин. Внешний контур описывает материальную область, отверстия вычитаются из неё. Для фибрового метода контуры используются при нарезке или триангуляции; для контурного метода они непосредственно участвуют в интегрировании.

Фибры

Фибра хранит как минимум площадь, координаты центра, деформацию, напряжение и вклад в усилия. В OpenCS есть два важных типа:

  • сеточная фибра (poly/tri) — часть бетонной или другой полигональной области;
  • точечная фибра (point) — отдельный стержень арматуры или другой дискретный компонент.

Хомуты выделяются отдельно и не входят в продольный интеграл НДС обычного сечения.

Плоскость деформаций

Для нормального сечения деформация задаётся линейным полем:

\[ \varepsilon(x,y) = e_0 + \kappa_y y + \kappa_z x. \]

Здесь e0 — деформация в начале координат, ky — градиент по y, а kz — градиент по x. Напряжение получается из диаграммы материала:

\[ \sigma(x,y) = \sigma\bigl(\varepsilon(x,y),\; \text{CalcType}\bigr). \]

Затем напряжение интегрируется по площади или суммируется по фибрам.

Расчётные типы

Материал может иметь отдельные диаграммы для C, CL, N и NL. Поэтому одна и та же геометрия при выборе другого CalcType может дать другое напряжение, жёсткость и предельное состояние.

Проверяйте активность области

Области поперечного армирования (Stirrups) не участвуют в обычном продольном интеграле. Если требуется расчёт наклонных сечений, используйте соответствующую задачу shear_inclined.