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

OpenSees и МКЭ-анализ

OpenCS использует OpenSees как внешний решатель для задач, где нужен стержневой/оболочечный МКЭ, нелинейный анализ или независимое построение диаграмм сечения.

Два уровня интеграции

Диаграммы поперечного сечения

Обработчики:

  • OpenSeesSectionMomentCurvatureHandler — одноосная момент–кривизна;
  • OpenSeesSectionInteractionHandler — N–M;
  • OpenSeesSpatialInteractionHandler — пространственная N–Mx–My.

CrossSectionToOpenSeesAdapter переводит доменную модель сечения в OpenSees-модель, а генератор Tcl создаёт скрипт запуска.

Схема конструкции

FemAnalysisExecutor запускает:

  • fem_linear — линейный расчёт;
  • fem_nonlinear — нелинейный расчёт со стадиями, контролем пути и выбранным тестом сходимости.
sequenceDiagram
    participant UI as OpenCS UI
    participant Adapter as CScore/OpenSees adapter
    participant Tcl as Tcl generator
    participant OS as OpenSees.exe
    participant Store as Artifact store

    UI->>Adapter: Сечение/схема + параметры
    Adapter->>Tcl: Resolved model
    Tcl->>OS: script.tcl
    OS-->>Store: stdout, result, diagnostics
    Store-->>UI: Результат и журнал

Результат постановки OpenSees показывается в 3D-виде схемы: перемещения, эпюры усилий стержней, выбор, меню КонЭ-стержня (2D-эпюра, сечение, набор усилий на шаге) и значения в узле; таблицы перемещений, реакций, усилий, сечений и история λ — в окне Таблицы результата.

Настройки и артефакты

Параметры анализа включают путь к executable, геометрическое преобразование, число интеграционных точек, критерий сходимости, максимум итераций, алгоритм и запись состояний фибр. Артефакты сохраняются отдельно от исходного проекта, чтобы можно было разобрать Tcl и журнал.

На компьютере разработчика OpenSees расположен по пути:

C:\Tools\OpenSees\bin\OpenSees.exe

OpenSees ищется в таком порядке: явный путь (параметр задачи или настройка приложения), переменные окружения OPENSEES_EXE и OPENSEES_HOME (bin\OpenSees.exe), штатный путь выше, OpenSees.exe из PATH. Если программа так и не найдена, последним вариантом используется Python-пакет OpenSeesPy, исполняющий тот же Tcl-сценарий.

Консоль opencs считает OpenSees только через OpenSeesPy — одинаково на Windows и Linux; там же приведена сверка результатов OpenSeesPy с OpenSees.exe.

Диагностика

  1. Проверить, что executable существует и запускается.
  2. Открыть сырой stdout/stderr в артефактах.
  3. Проверить CalcType, материалы и преобразование геометрии.
  4. Различать ошибку Tcl, отсутствие сходимости и отмену пользователем.
  5. Сверить направление локальных осей и знаки нагрузок.

Независимая проверка

Результат OpenSees полезен как независимый контроль CScore, но совпадение возможно только при одинаковых диаграммах материала, соглашениях о знаках, точках интегрирования и истории нагружения.