前言¶
在 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 为中心的、可验证的起点。源码与详细文档可参考项目仓库。