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

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

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

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

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

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

  • OpenSeesSectionMomentCurvatureHandler — одноосная момент–кривизна;
  • OpenSeesSectionInteractionHandlerN–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: Результат и журнал

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

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

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

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

Если путь не задан явно, исполнитель проверяет настройку приложения и стандартный OpenSeesHome.

Диагностика

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

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

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