3. 子模型分析工作流搭建
子模型分析并不是“把网格画细一点再算一遍”,而是一条有明确数据依赖的求解链:粗网格整体模型先提供位移场,切割边界上的位移再被插值到细网格子模型上,子模型在插值边界约束下独立求解。理解这条链上每一步的输入、输出与文件归属,是搭建可复现工作流的前提。本节以 Ansys Mechanical 为操作环境,给出从整体求解到子模型独立求解的完整流程,并配套一套项目文件管理策略。
一、工作流的四个阶段与数据依赖
整条工作流可以拆成四个阶段,每个阶段都有明确的“产物”,这些产物决定了后续步骤能否执行、以及能否复现。
- 阶段 A:整体模型求解——建立或复用粗网格整体模型,施加真实工况(约束、载荷、接触),求解后得到整体位移场。关键产物是结果文件(.rst)与求解输入文件(.dat),二者必须成对保存。
- 阶段 B:子模型切割与网格细化——在整体模型上确定切割边界,把边界附近的几何切出来,形成子模型几何;对子模型重新划分细网格。关键产物是子模型几何与细网格模型。
- 阶段 C:边界插值——把整体模型在切割边界节点上的位移,插值映射到子模型的边界节点上,作为子模型的位移边界条件。关键产物是插值后的边界条件数据。
- 阶段 D:子模型独立求解与验证——子模型在插值边界约束下独立求解,得到局部高精度结果;再与整体模型在切割边界附近的结果对比,判断子模型是否成立。
这四个阶段的数据依赖关系可以用下面的信号链表示。注意箭头方向:位移信息从整体模型流向子模型,而不是反过来;子模型不参与整体求解,也不改变整体结果。
二、整体模型求解:为插值准备“干净”的结果
整体模型的质量直接决定子模型的上限。整体模型不需要在关注区域细化,但必须满足两个条件:一是工况真实,二是切割边界附近的结果足够平滑。如果整体模型在切割边界处应力梯度剧烈、网格过粗,插值出来的位移场本身就带误差,子模型再细也无法修正。
操作上,在 Mechanical 中完成整体模型后,建议在求解设置中打开“保留结果文件”并确认 .rst 与 .dat 同目录。求解完成后,先检查切割边界所在区域的位移云图是否连续、无异常跳变。一个实用的判断是:在切割边界上取若干节点,记录其位移值,作为后续插值结果的对照基准。
三、子模型切割与网格细化
切割边界的确定是子模型分析中最需要经验的一步。原则是:边界要包住所有关注区域,并向外延伸至少 2~3 倍特征尺寸;边界应尽量落在几何规则、便于施加位移约束的位置。在 Mechanical 中,可以用切片或布尔运算从整体几何中切出子模型几何,也可以直接导入独立的子模型几何。
子模型网格需要独立细化。以某支架圆角为例,整体模型圆角处单元尺寸约 4 mm,子模型可将圆角处细化到 0.5 mm,并在边界附近设置过渡。细化后要检查网格质量:雅可比、翘曲度、长宽比应满足求解器要求,否则插值边界上的节点分布会不均匀,影响插值精度。
四、边界插值:把整体位移“搬”到子模型上
边界插值是工作流的核心技术环节。在 Mechanical 中通常通过“Submodeling”分支实现:先定义子模型的切割边界(通常选择边界面上的节点或面),再指定整体模型的结果文件作为插值源,软件会把整体模型在对应位置的位移插值到子模型边界节点上。
插值时需要注意三点。第一,插值的是位移分量(UX、UY、UZ),不是应力;子模型的应力由位移场重新计算得到。第二,插值算法默认使用形函数插值,若整体与子模型网格差异过大,可改用最近节点或加权平均,但精度会下降。第三,插值完成后应检查边界节点上的位移值是否与整体模型对应位置一致,偏差一般应控制在 5% 以内。
# 子模型边界插值的关键设置(Mechanical 中对应项)
Submodeling:
Boundary Definition : 选择切割边界节点/面
Source Result File : overall_model.rst
Interpolation : Shape Function (默认)
DOF : UX, UY, UZ
Scale Factor : 1.0
Check : 对比边界位移,偏差 < 5%
五、子模型独立求解与结果验证
插值完成后,子模型在位移边界约束下独立求解。此时子模型不再需要整体模型的其他载荷,因为边界位移已经包含了整体变形的影响。求解完成后,重点观察关注区域的应力、应变分布,并与整体模型在相同位置的粗略结果对比。
验证的核心指标是切割边界上的位移一致性。如果子模型边界位移与整体模型对应位置偏差超过 5%~10%,说明切割边界太靠近应力集中区,或整体网格过粗,应把边界外移或加密整体网格后重做。另一个验证方式是能量误差:子模型的总应变能应接近整体模型在相同区域的应变能,偏差过大同样说明边界设置不合理。
六、项目文件管理策略
子模型分析涉及整体与子模型两套模型、多个结果文件,文件管理混乱是复现失败的主要原因。建议采用“一项目一目录、整体与子模型分目录、命名带版本”的策略。
| 目录/文件 | 内容 | 命名建议 |
|---|---|---|
| 01_overall/ | 整体模型工程与结果 | overall_v01.mechdb、overall_v01.rst、overall_v01.dat |
| 02_submodel/ | 子模型几何、网格、插值边界 | submodel_v01.mechdb、boundary_v01.txt |
| 03_results/ | 子模型求解结果与对比 | submodel_v01.rst、compare_v01.xlsx |
| 04_docs/ | 切割边界位置、插值设置、验证记录 | workflow_log.md |
每次修改整体模型或切割边界,都应递增版本号,并在 workflow_log.md 中记录:整体模型版本、切割边界坐标或面编号、插值设置、边界位移偏差、结论。这样当子模型结果异常时,可以快速定位是整体模型、边界位置还是插值设置的问题。