Bridge 后期规划:多求解器导出路线图
摘要:从 Civil 单目标执行,升级到 Ansys/Abaqus 双导出能力的分阶段计划与技术边界。
为什么现在做这件事
Bridge 早期验证的重点是把工作流跑通,所以执行端主要围绕 Midas Civil。
这个策略在最初阶段是正确的,因为它让我们快速验证了节点抽象、执行链路和 Registry 结构是否稳定。
但随着工作流能力逐步完善,单目标求解器开始成为明显瓶颈:同一套建模语义无法复用于其他分析平台,跨团队协作和结果对比成本也在上升。
这次规划的核心目标,不是“做一个导出按钮”,而是把 Bridge 从单执行端能力,推进到“同一套流程语义可落到多个求解器”的平台能力。
目标边界:先导出可运行模型
当前阶段不追求一次覆盖全部高级场景,而是先建立稳定的最小闭环。
最小闭环定义为:节点、单元、材料、截面、边界、荷载可以从工作流稳定导出到目标求解器,并能在目标环境中完成一次无报错求解。
我们优先保证什么
优先保证“可运行”和“可解释”。
可运行意味着导出文件能被求解器接受并完成计算;可解释意味着导出结果中的每一块定义,都能追溯回工作流中的来源节点和字段。
我们暂时不做什么
暂时不做全量概念等价映射,不在第一阶段处理所有求解器专有高级功能。
例如施工阶段、移动荷载、复杂组合工况等 Civil 专有能力,现阶段以明确降级和注释提示为主,不阻塞主路径。
架构改动最小化方案
这次扩展遵循“Registry 之前不动、Registry 之后新增”的原则。
保持不变的层
nodeConfigs -> Executors -> Registry 这一段保持不变。
原因很直接:这三层已经具备较强的抽象稳定性,是 Bridge 当前最核心的资产,不能为了导出目标扩展把已有语义层打散。
新增 ExporterService 路由层
在 Registry 之后新增统一导出路由层:
ExporterService负责按目标求解器分发MidasExporter承接现有 Civil 输出能力AnsysExporter生成 APDL/CDBAbaqusExporter生成 INP
这样做的好处是求解器差异被限制在导出层,业务节点和执行器无需感知“目标是谁”。
核心技术策略
多求解器导出不是简单字符串拼接,真正难点在于“语义对齐”。
材料映射策略
当前 user_material 节点已经包含显式参数(E、nu、rho 等),阶段一直接使用显式参数导出,不引入额外材料库。
标准材料数据库(如 C30/Q345)作为阶段二能力预留,避免在第一阶段引入过多前置依赖。
截面映射策略
已有截面形状代码(H/L/C/P/B/T/SB/SR)继续复用,但在导出端分别映射到 Ansys 和 Abaqus 可接受的截面定义。
针对无直接等价类型的场景(如部分槽钢),优先采用可解释的降级方案,并在导出中标注说明,避免“静默错误”。
梁法向量自动推导
法向量由系统自动计算,用户无需手工输入。
默认规则是:普通梁优先对齐全局 Z 参考;接近竖向构件时切换到全局 X 参考,减少局部坐标突变带来的截面翻转问题。
梁网格细分策略
细分由导出设定节点控制,默认 standard。
算法保持简单可控:max(minSegs, ceil(length/maxElemSize))。它的目标不是做最优网格,而是提供可预测、可复现的导出行为。
导出设定节点设计
导出设定节点定位为“全局策略节点”,不参与主执行流的数据传递。
默认值优先
无导出设定节点时系统自动采用默认策略,不报错、不阻塞导出。
默认值的设计目标是让首次使用用户可以直接导出可运行文件,而不是先学习大量求解器参数。
求解器差异的显式化
Ansys 与 Abaqus 的字段命名和分析步机制不同,但在 UI 层保持一致的心智模型:
- 分析类型
- 网格精度
- 单位制
- 求解控制/非线性开关
统一操作模型可以降低跨求解器切换成本。
UI 交互计划
UI 改动保持最小,不重做主界面。
工具栏动作
在现有“执行到 Civil”旁新增“导出 Ansys”“导出 Abaqus”入口。
导出过程纯前端生成文本并下载,不依赖后端服务,保证离线场景可用。
节点库扩展
新增“导出设定”分类,放置 Ansys/Abaqus 两类配置节点。
节点本身不连边,作为工作流级配置存在,行为类似分析控制节点。
分阶段实施计划
Phase 1:Ansys 基础导出(优先)
目标是优先打通常规静力模型。
可交付包括:法向量、网格细分、材料/截面/单元序列化、边界与荷载映射、基本求解控制、前端下载导出文件。
验收标准是简单桥墩模型导出后可在 APDL 环境无报错运行并完成求解。
Phase 2:Abaqus 基础导出
在复用阶段一大部分抽象逻辑的前提下,增加 Abaqus INP 输出。
验收标准是同等模型在 Abaqus 提交后可完成分析,并能定位核心实体与工作流来源。
Phase 3:荷载工况与组合
把单工况输出扩展到多工况管理,支持求解器侧多步或工况集映射。
这一阶段会提升结果组织复杂度,因此放在基础导出稳定之后。
Phase 4:高级能力与质量体系
补充材料库、单位转换边界校验、导出结果快照、回归测试集。
阶段四的目标是工程化可维护,而不是继续堆新功能入口。
风险与应对
概念不对齐风险
不同求解器对同一结构语义的表达并不完全一致。
应对方式是建立“显式降级 + 注释提示 + 文档可追溯”机制,避免出现用户误判为“完全等价”的风险。
单位制风险
单位换算是导出层最容易出现隐蔽错误的区域。
应对方式是把单位转换集中到单一工具模块,并在导出头部写入单位声明,降低后续追错成本。
验证成本风险
多求解器意味着验证矩阵指数增长。
应对方式是先定义最小验收模型集,从一组稳定样例开始做自动化回归,不追求第一天就覆盖全部场景。
验收标准与里程碑
每个阶段都用“可执行样例”验收,而不是只看代码完成度。
里程碑定义如下:
- 单模型导出可运行
- 导出结果可追溯到节点字段
- 常见错误可定位并提示
- 回归样例在升级后持续通过
这四条比“新增多少文件”更能反映真实工程质量。
未来两月执行清单
第一月聚焦 Phase 1 最小闭环:
- 完成
ExporterService与AnsysExporter骨架 - 落地法向量和网格细分工具
- 打通工具栏导出与文件下载
第二月聚焦稳定性:
- 补齐截面映射边界处理
- 增加最小样例回归脚本
- 输出第一版“导出限制说明”文档
结语
这次规划的本质不是“多加两个导出菜单”,而是把 Bridge 的语义层能力从单点执行提升到多求解器可复用。
我们会继续坚持一个原则:优先把系统行为做成稳定、可追溯、可维护,再逐步扩大功能覆盖面。