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 расположен по пути:
OpenSees ищется в таком порядке: явный путь (параметр задачи или настройка приложения), переменные окружения OPENSEES_EXE и OPENSEES_HOME (bin\OpenSees.exe), штатный путь выше, OpenSees.exe из PATH. Если программа так и не найдена, последним вариантом используется Python-пакет OpenSeesPy, исполняющий тот же Tcl-сценарий.
Консоль opencs считает OpenSees только через OpenSeesPy — одинаково на Windows и Linux; там же приведена сверка результатов OpenSeesPy с OpenSees.exe.
Диагностика
- Проверить, что executable существует и запускается.
- Открыть сырой stdout/stderr в артефактах.
- Проверить
CalcType, материалы и преобразование геометрии. - Различать ошибку Tcl, отсутствие сходимости и отмену пользователем.
- Сверить направление локальных осей и знаки нагрузок.
Независимая проверка
Результат OpenSees полезен как независимый контроль CScore, но совпадение возможно только при одинаковых диаграммах материала, соглашениях о знаках, точках интегрирования и истории нагружения.