fieldcraft - 纯 Rust 编写的开源 CAE 应用,从参数化零件到有限元求解
fieldcraft 是 tangency-labs 维护的开源 CAE 桌面应用,用纯 Rust 写成,覆盖几何导入、四面体与六面体网格划分、隐式/显式/热/格子玻尔兹曼求解,并能导出 Abaqus、Nastran、LS-DYNA 计算文件。桌面端、命令行与 AI 代理共用同一套命令。
fieldcraft 是 tangency-labs 维护的一个开源 CAE(计算机辅助工程)应用,用纯 Rust 编写。按项目自述,它试图把一条完整的分析链路放进同一个工具里:从参数化实体零件出发,划分四面体或六面体网格,定义材料、约束与载荷,求解,再查看结果;同时还能写出 Abaqus、Nastran 和 LS-DYNA 的计算文件。它面向的是需要做结构、热或流动分析、又希望工具可脚本化、可被程序驱动的工程师与研究者——桌面应用、命令行和 AI 代理通过 MCP 调用的是同一套命令。
维护者与状态
项目由 tangency-labs 维护,仓库创建于 2026-10-13,最后一次提交在 2026-11-07。最新发布版本为 v0.7.5,发布于 2026-11-05。截至 2026-11-09,仓库星标数为 348。
据项目自述,当前状态是「早期但端到端可用」:打开零件、划网格、定义分析、求解、查看结果这条链路已经能跑通,非线性隐式求解器(大变形、塑性、橡胶材料)也已就位。六面体网格是当前的重心,后续计划包括屈曲与弧长法、接触,以及更广的材料与多物理场库。
主要能力
以下内容均据项目 README 自述,未经本站独立验证。
- 几何输入:读取 SolidCraft 设计文件(
.solidcraft),保留面、边、体的持久名称;也支持带面标记的 3MF 网格,并提供焊接、流形性、朝向、自相交等表面检查。 - 网格划分:约束 Delaunay 四面体(tet4、tet10),带精确谓词与有效性校验;Delaunay 细化、光顺与薄片单元清除;通过扫掠、旋转、映射生成结构化六面体(hex8、hex20),支持把零件切分为多个 cell 后生成共形多块六面体,也提供适用于任意零件的八叉树全六面体网格;另有二维四边形与三角形网格,以及按单元和按集合的质量指标。
- 单元库:实体单元(tet4、tet10、wedge6、hex8 含非协调模式、hex20 全积分与减缩积分、用于近不可压材料的 u–p 混合单元)、平面应力、平面应变、轴对称、桁架、Timoshenko 梁、MITC3/MITC4 壳、弹簧、阻尼器与集中质量。
- 模型定义:集合绑定到几何名称,重新划网格后仍然有效;各向同性与正交各向异性弹性、J2 塑性(各向同性/随动硬化、Johnson–Cook)、Johnson–Cook 损伤、neo-Hookean、Mooney–Rivlin 与 Yeoh 超弹性、热属性;固定、位移、对称与温度条件;力、力矩、压力、重力、离心与热载荷;参考点及运动耦合与分布耦合;支持撤销、重做,模型文件为可文本比对的
.fieldcraft。 - 求解器:线性静力与模态(超节点 Cholesky、块 Lanczos);非线性静力用 Newton–Raphson 加自动增量,所有实体单元支持大变形(总拉格朗日格式)、随动压力、有限应变与小应变塑性(与显式求解器共用同一返回映射)、橡胶与热应变;稳态与瞬态传热及热应力耦合;显式动力学含塑性、损伤、侵蚀与刚性墙;D3Q19 格子玻尔兹曼流动,可输出作用在零件表面上的力。项目称结果不随线程数变化。
- 结果与验证:应力、应变、位移云图与图例,变形形状、模态、显式与非线性帧、探针与反力求和;视口中绘制支撑、载荷、参考点与耦合。项目称每项能力都在
tests/oracle中对照闭式解与公开基准(NAFEMS、MacNeal–Harder、Scordelis–Lo、elastica、Hill 塑性圆柱、Rivlin 管)校验,176 个量中 170 个通过、6 个为已记录的已知失败。
使用入口
仓库地址:tangency-labs/fieldcraft;文档站点:fieldcraft 文档。
据项目说明,各平台的分发方式为:macOS 打开 .dmg 拖入 Applications(Apple silicon 与 Intel);Windows 解压后运行 fieldcraft.exe;Linux 使用 .AppImage 或 .tar.gz;也可以直接在浏览器中试用,无需安装。命令行工具 fieldcraft-cli 随每个安装包提供,AI 代理通过 MCP 连接它。
从源码构建需要 Rust 1.95 或更高版本,并安装 wasm32-unknown-unknown 目标。README 给出的常用命令包括:
cargo xtask ci cargo xtask test --heavy cargo run -p fieldcraft-cli -- commands cargo run -p fieldcraft-cli -- run script.json cargo run -p fieldcraft-cli -- snapshot script.json --out shot.png cargo run -p fieldcraft-cli -- mcp
项目还附带若干可直接求解的示例(落锤冲击、橡胶密封圈、加热支架、六面体网格支架、自行车曲柄臂、绕支架流动),可从 File ▸ Samples 打开,或用 fieldcraft --sample NAME 启动后直接求解。
许可与限制
按仓库信息,许可证为 Apache-2.0。需要注意的是,项目 README 自述采用 MIT 或 Apache-2.0 双许可、由使用者选择,与仓库元数据标注的单一 Apache-2.0 不一致,实际授权范围建议以仓库中的 LICENSE 与 NOTICE 文件为准。
已知限制方面,项目自述视口目前不绘制流动结果,格子玻尔兹曼算例只能得到数值而无法在界面中查看云图;六面体网格虽已覆盖扫掠、旋转、映射、多块共形与八叉树等多种路径,但屈曲、弧长法与接触尚未实现,材料与多物理场库仍在扩充中。验证套件中存在 6 个已记录的失败量,使用相关能力前应查阅 docs/oracle.md。此外,项目声明自身为独立项目,与 Dassault Systèmes、MSC Software、Siemens、Ansys 无隶属或背书关系,Abaqus、Nastran、LS-DYNA 等名称仅用于描述文件兼容性。
隐私方面,据项目说明,首次启动会询问一次是否共享匿名使用数据(仅涉及使用了哪些工具,不含模型内容),可在设置中更改,或用 FIELDCRAFT_TELEMETRY=0 关闭;崩溃报告与日志保留在本机。