用声明式 JSON 规格驱动有限元建模与求解
29.8/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/30 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add feihong-li/dsh-abaqus该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
装得上吗[实装验证]—
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →数据截至 2026/09/30·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 声明式JSON驱动建模
- AbaqusCAE建模
DeepSeek Harness 插件:用声明式 JSON 规格驱动 Abaqus CAE 建模,并带一个经验证免费的 CalculiX 后端做求解和结果提取。
README
由 DeepSeek 最新模型翻译生成dsh-abaqus — 面向 DeepSeek Harness 的 Abaqus / CalculiX 建模驱动
一个 DeepSeek Harness Host 插件,让智能体能够构建、求解和检查有限元模型。一份声明式 JSON 规格驱动两个后端:
| 后端 | 几何 | 网格划分 | 计算文件 | 求解 | 结果 |
| abaqus | CAE 内核中的真实 CAD 特征 | Abaqus CAE 网格划分器 | 由 writeInput 写出 | abaqus job= interactive | 用 odbAccess 读取 .odb |
| calculix | 内置网格划分器中的 box / cylinder | 结构化六面体(实心圆柱采用楔形核心) | 直接写出 | ccx -i | 在进程内解析 .frd |
CalculiX 后端正是让该插件当下无需 Abaqus 许可证即可使用的关键:它生成一份真正可运行的 deck,并且其截面、分析步、边界条件、载荷和集合词汇与 Abaqus 路径所写出的完全一致。
安装
插件管理器接受包名、GitHub 仓库地址或本地目录路径。
展开完整文档(README 剩余 1 节)
dsh-abaqus — 面向 DeepSeek Harness 的 Abaqus / CalculiX 建模驱动
一个 DeepSeek Harness Host 插件,让智能体能够构建、求解和检查有限元模型。一份声明式 JSON 规格驱动两个后端:
| 后端 | 几何 | 网格划分 | 计算文件 | 求解 | 结果 |
| abaqus | CAE 内核中的真实 CAD 特征 | Abaqus CAE 网格划分器 | 由 writeInput 写出 | abaqus job= interactive | 用 odbAccess 读取 .odb |
| calculix | 内置网格划分器中的 box / cylinder | 结构化六面体(实心圆柱采用楔形核心) | 直接写出 | ccx -i | 在进程内解析 .frd |
CalculiX 后端正是让该插件当下无需 Abaqus 许可证即可使用的关键:它生成一份真正可运行的 deck,并且其截面、分析步、边界条件、载荷和集合词汇与 Abaqus 路径所写出的完全一致。
安装
插件管理器接受包名、GitHub 仓库地址或本地目录路径。
从本仓库安装 — 在 DSH Web UI 中,打开 Settings → Plugins → install 并粘贴仓库地址,或在命令行中:
dsh plugin --profile add
从克隆副本安装(用于开发):
git clone
dsh plugin --profile add /absolute/path/to/dsh-abaqus
然后重启 DSH:插件会在启动时加载,其六个工具会出现(abaqus_env、abaqus_spec、abaqus_build、abaqus_run、abaqus_status、 abaqus_results)。让智能体调用 abaqus_env 查看它发现了什么。
你需要一个求解器
- CalculiX(免费,GPL)足以应对除 CAE 后端之外的一切。可从 calculix/CalculiX-Windows 获取 Windows 构建版(releases/CalculiX-2.23.0-win-x64.zip)或你发行版的软件包,然后要么把它放在插件发现机制能找到的位置,要么在配置中设置 ccxPath。
- Abaqus 是商业软件,需要许可证。当你拥有许可证时,将 abaqusCommand 设置为启动器(abq2023.bat)。
工具
| 工具 | 用途 |
| abaqus_env | 报告检测到的 Abaqus 启动器、CalculiX 求解器和 python |
| abaqus_spec | 完整的模型规格参考以及一个完整示例 |
| abaqus_build | 规格 → .inp(CalculiX)和/或 build_.py(CAE) |
| abaqus_run | 提交 deck、运行 CAE 脚本、运行 python 脚本或原始命令 |
| abaqus_status | 作业状态、求解器错误/警告、.sta 增量、产物 |
| abaqus_results | 最大/最小位移、最大 von Mises 应力、各节点集值、CSV |
一个典型会话:
abaqus_env # 已安装的内容 abaqus_spec # 学习该 DSL
abaqus_build { spec: {...}, backend: "both" } # 写出 deck + CAE 脚本
abaqus_run { caseDir: "...", backend: "calculix" }
abaqus_status { caseDir: "..." }
abaqus_results { caseDir: "...", set: "beam_xmax", writeCsv: true }
规格是一个单一的 JSON 对象:
{
"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"] }
}
调用 abaqus_spec 获取完整参考:几何、截面、分析步、载荷类型、区域形式、单位、单元类型,以及一次运行留下的每个文件的含义。
命名集合:一套词汇
内置网格划分器创建这些集合,输入文件写出器将它们逐字声明为 NSET / ELSET,而 abaqus_results 接受完全相同的名称:
NALL, EALL 每个节点 / 每个单元 _NALL, _EALL 一个实例
_{x|y|z}{min|max} 一个实例的一个边界平面
实例 beam 上的规格区域 {"plane":"x=max"} 解析为集合 beam_xmax,因此 BOUNDARY/CLOAD 卡片引用 beam_xmin/beam_xmax,手工阅读者可以在 .inp 中 grep 出 abaqus_results 所接受的集合名称。测试套件对此进行了断言,因为早期修订版本存在三套互不一致的命名方案。
配置
bundle 行接受一个未经校验的 config 对象:
- insert:
- id: dsh-abaqus
name: '@local/dsh-abaqus'
config:
abaqusCommand: 'C:\SIMULIA\Commands\abq2023.bat' # optional, else auto-detected
ccxPath: 'F:\tools\calculix\bin\ccx.exe' # optional, else auto-detected
pythonPath: 'D:\Python39\python.exe' # optional, syntax checks only
defaultCaseDir: 'F:\cases' # optional
timeoutSec: 900 # optional per-run kill timeout
Abaqus 的发现顺序:config.abaqusCommand → ABAQUS_COMMAND → ABAQUS_HOME\Commands\.bat → where abaqus → SIMULIA 注册表键 → C:/D:/E:/F:/G: 上的 \SIMULIA 和 \Abaqus 目录。
对于 CalculiX:config.ccxPath → CCX_PATH → where ccx → 常见安装根目录,包括便携式 \\tools\calculix 布局。
验证
以下所有内容均使用 CalculiX 2.23 测量。自己运行它——两个脚本都会求解真实模型,并在数值漂移时大声失败:
CCX_PATH=/path/to/ccx npm test
test/pipeline-check.mjs —— 14 个断言,全部通过:输入文件词汇与结果读取器接受的词汇表一致,没有任何 BC/载荷卡片引用未声明的集合,{"plane":"x=max"} 恰好选中 beam_xmax 的节点,并且每条 deck 路径都复现出一个独立的数值:
| 案例 | 检查 | 结果 |
| 箱体 + 集中载荷 | 端部挠度 vs Euler-Bernoulli | FE/理论 = 0.876,在 20×2×2 下(受网格限制) |
| 管 R20/r15,环形端面施加 5 MPa | FE σ_zz = −p | −5.0000 MPa |
| 实心圆柱,y 轴,C3D6 楔形核心,重力 | σ vs ρgH = 2.119e-3 MPa | 1.927e-3 MPa |
| 固支杆,freq 步,6 阶模态 | f₁ vs Euler-Bernoulli 208.88 Hz | 223.07 Hz(+6.8 %) |
test/beam-convergence.mjs —— 一根 100×10×10 mm 钢制悬臂梁,端部载荷 100 N,与理论对比(端部挠度 0.190476 mm,外纤维弯曲应力 60.0 MPa):
| 单元 | 80 单元 | 640 单元 | 5120 单元 | 最大 von Mises(最细网格) |
| C3D8 | 0.878 | 0.968 | 0.994 | 58.96 MPa |
| C3D8R | 1.180 | 1.042 | 1.013 | 50.32 MPa(理论的 0.84×) |
| C3D8I | 0.997 | 1.001 | 1.003 | 65.06 MPa |
数值为最大位移的 FE/理论之比。在选择单元之前,有三项发现值得了解:
- C3D8 在每种网格下都比梁理论更刚,并从下方收敛到它。这个方向在物理上是必然的:完全固支的端部会抑制泊松收缩,因此梁确实比 Euler-Bernoulli 更刚。
- C3D8I(非协调模式)即使在最粗的网格上也在理论值的 0.3 % 以内。对于弯曲主导的模型,它就是应当使用的单元。
- C3D8R(单积分点)要软得多,并从上方收敛,而且它报告的节点应力是单元中心值:当厚度方向单元数很少时,它无法分辨弯曲梯度,在外纤维承受 60 MPa 的地方报告 50 MPa。绝不要从厚度方向只划分了几个单元的 C3D8R 模型中读取峰值弯曲应力。它的 ZZ 误差估计也会退化为 0 %。
未验证
Abaqus/CAE 后端从未被执行过。开发机器上不存在 Abaqus 安装或许可证,因此 build_.py 是生成的,经 py_compile 确认对四种不同模型形状均为有效的 Python 3,并经过人工审查——但 CAE API 调用尚未在真实内核上得到验证。CalculiX 路径已按上述方式验证。
限制(v1)
- 仅支持 box 和 cylinder 几何;四面体(C3D4)需要 Abaqus 后端。
- 壳截面会被拒绝,而不是被静默地当作实体求解。
- traction 载荷仅限 Abaqus 且未经测试。
- 区域按包围盒解析:与另一个面共享包围平面的面(台阶或轴肩)会同时选中两者,而曲面(孔、圆角)完全无法寻址。
- .frd 读取器会将整个文件加载到内存中。
仓库布局
index.js 插件:六个工具定义 lib/spec.js 规范验证 + 交给模型的参考文本 lib/mesh.js 结构化箱体/圆柱网格划分器与区域解析 lib/inp.js CalculiX / Abaqus 计算文件写入器 lib/cae.js Abaqus/CAE Python 生成器 lib/results.js .frd 解析器、汇总计算、.odb 提取脚本 lib/detect.js Abaqus / CalculiX / Python 发现 lib/util.js 进程与文件系统辅助工具 test/ 上述两个验证脚本 cordis.patch.yml 插入插件行的捆绑补丁
操作说明
- DSH 在启动时加载模块生成:编辑插件文件后,请重启 Harness。将插件条目关闭再打开不会重新导入它。
- ccx 临时文件(.frd、.sta、.dat、.12d、.cvg、spooles.out)会生成在计算文件所在的案例目录中。
许可证
MIT — 参见 LICENSE。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
feihong-li/dsh-abaqus
用声明式 JSON 规格驱动有限元建模与求解
相关插件 · 其他
模型破甲清洗HunYiSage/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,993已汉化DeepSeek 客户端
73
女娲蒸馏alchaincyf/nuwa-skill
输入名人名字,提炼其思维模型与决策方式供你调用
★ 37,308已汉化DSH
72
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 888已汉化DSH
71.6
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,270已汉化DSH
70.8
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。