前言¶
在 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 CAE:支持 CAE 內核幾何、CAE 網格劃分及
- 工具鏈:
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"] }
}
注意事項¶
- 後端可用性:
- CalculiX 後端經過驗證,是當前唯一可用的免費開源後端(GPL 協議)。
- Abaqus CAE 後端代碼存在,但根據項目說明,該後端從未在實際環境中執行(因缺乏 Abaqus 安裝或許可證)。目前不建議用於生產環境。
- 命名集一致性:內置網格生成器生成的節點/單元集與求解器輸入文件中的命名集(
*NSET/*ELSET)完全一致。abaqus_results工具支持通過簡單的平面定義(如{"plane": "x=max"})直接引用這些集。 - 權限檢查:插件運行在 DSH 進程上下文中,請確保安裝前檢查源碼與許可證,並確認對求解器目錄和輸出目錄的讀寫權限。
結語¶
dsh-abaqus 提供了將結構化數據轉化爲有限元分析流程的標準化路徑。對於需要集成 CAE 能力的 DeepSeek Harness 智能體開發,它提供了一個以 JSON 爲中心的、可驗證的起點。源碼與詳細文檔可參考項目倉庫。