dsh-abaqus: 驅動 Abaqus/CalculiX 建模的 DeepSeek Harness 插件

前言

在 DeepSeek Harness (DSH) 的插件生態中,控制 CAE 軟件通常是構建自動化工作流的關鍵環節。傳統的有限元分析往往依賴圖形界面操作或手工編寫輸入文件,不僅繁瑣,而且難以被 AI 代理標準化。

dsh-abaqus 插件旨在解決這一問題。它允許通過聲明式的 JSON 規格來定義模型,進而驅動 Abaqus 或 CalculiX 進行建模、求解與結果提取。

插件介紹

這是一個 DSH Host 插件,核心價值在於將複雜的 CAE 建模流程抽象爲單一的數據結構(JSON Spec)。它支持兩種後端:Abaqus CAE 和 CalculiX。通過該插件,代理可以完成從模型構建、網格劃分、求解提交到結果讀取的全流程。

  • 維護者: feihong-li
  • 許可證: MIT

核心功能

插件提供了一套工具集,覆蓋建模到分析的全週期:

  • 聲明式建模:通過 JSON Spec 定義幾何、材料、邊界條件和載荷。
  • 雙後端支持:
    • Abaqus CAE:支持 CAE 內核幾何、CAE 網格劃分及 .odb 結果讀取(需商業許可證)。
    • CalculiX:支持內置幾何體(box/cylinder)、結構化網格(六面體/楔形核心),直接生成 .inp 並通過 ccx 求解,結果解析爲 .frd(已驗證可用)。
  • 工具鏈:
    • abaqus_env:檢測環境配置。
    • abaqus_spec:提供 DSL 參考與示例。
    • abaqus_build:將 Spec 編譯爲求解器輸入文件或 CAE 腳本。
    • abaqus_run:提交作業、運行腳本或命令。
    • abaqus_status:查詢作業狀態、錯誤警告及增量信息。
    • abaqus_results:讀取 .frd 文件,提取位移、應力等數據並導出 CSV。

安裝與配置

在使用前,確保環境滿足要求:Node.js >= 20。

安裝

在命令行執行以下命令安裝插件:

dsh plugin --profile <profile> add <this-repo-url>

安裝後重啓 DSH,工具鏈將隨啓動加載。

配置

插件依賴求解器路徑,支持自動檢測或手動配置。在 DSH 的配置文件中,可以通過 config 字段設置:

- insert:
    - id: dsh-abaqus
      name: '@local/dsh-abaqus'
      config:
        abaqusCommand: 'C:\SIMULIA\Commands\abq2023.bat'  # 可選,用於 Abaqus
        ccxPath: 'F:\tools\calculix\bin\ccx.exe'          # 可選,用於 CalculiX
        pythonPath: 'D:\Python39\python.exe'              # 可選,語法檢查用

求解器發現順序:
* Abaqus:配置路徑 -> ABAQUS_COMMAND 環境變量 -> ABAQUS_HOME 目錄 -> where abaqus -> 註冊表 -> 常見目錄。
* CalculiX:配置路徑 -> CCX_PATH 環境變量 -> where ccx -> 常見安裝根目錄。

典型用法

一次典型的分析流程如下:

abaqus_env                                       # 檢查安裝的求解器與工具
abaqus_spec                                      # 查閱 DSL 語法規範
abaqus_build   { spec: {...}, backend: "both" }   # 生成 .inp 文件和 CAE 腳本
abaqus_run     { caseDir: "...", backend: "calculix" }
abaqus_status  { caseDir: "..." }
abaqus_results { caseDir: "...", set: "beam_xmax", writeCsv: true }

Spec 示例(定義一個懸臂樑):

{
  "name": "cantilever",
  "materials": { "steel": { "E": 210000, "nu": 0.3, "rho": 7.85e-9 } },
  "parts": [{ "name": "beam", "material": "steel",
              "geometry": { "kind": "box", "size": [100, 10, 10] },
              "section": { "type": "solid" } }],
  "steps": [{ "name": "Load", "type": "static",
              "increments": { "initial": 0.1, "period": 1, "min": 1e-5, "max": 0.1 } }],
  "boundaries": [{ "name": "FIX", "step": "Load", "region": { "plane": "x=min" }, "dof": [1, 2, 3] }],
  "loads": [{ "name": "TIP", "step": "Load", "type": "concentrated",
              "region": { "plane": "x=max" }, "vector": [0, -100, 0], "total": true }],
  "mesh": { "size": 2.5, "element": "C3D8" },
  "output": { "fields": ["S", "U"] }
}

注意事項

  1. 後端可用性:
    • CalculiX 後端經過驗證,是當前唯一可用的免費開源後端(GPL 協議)。
    • Abaqus CAE 後端代碼存在,但根據項目說明,該後端從未在實際環境中執行(因缺乏 Abaqus 安裝或許可證)。目前不建議用於生產環境。
  2. 命名集一致性:內置網格生成器生成的節點/單元集與求解器輸入文件中的命名集(*NSET / *ELSET)完全一致。abaqus_results 工具支持通過簡單的平面定義(如 {"plane": "x=max"})直接引用這些集。
  3. 權限檢查:插件運行在 DSH 進程上下文中,請確保安裝前檢查源碼與許可證,並確認對求解器目錄和輸出目錄的讀寫權限。

結語

dsh-abaqus 提供了將結構化數據轉化爲有限元分析流程的標準化路徑。對於需要集成 CAE 能力的 DeepSeek Harness 智能體開發,它提供了一個以 JSON 爲中心的、可驗證的起點。源碼與詳細文檔可參考項目倉庫。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜