2. HyperMesh模型数据组织基础

在HyperMesh中,模型数据并不是“画完网格就结束”,而是由一组有层级、有引用关系的对象共同承载。理解这些对象的组织方式,是后续模型标准化、批处理与自动化的前提。本节围绕组件(Component)、集合(Set)、属性(Property)、材料(Material)、载荷步(Load Step)五类核心对象,说明它们之间的层级关系,并给出一套可直接落地的标准化命名规范。

一、五类核心对象的职责与层级关系

HyperMesh的模型树本质上是一棵“引用树”。最上层是载荷步,它决定“分析什么工况”;载荷步向下引用载荷集合与边界条件集合;集合再引用具体的单元、节点或几何;而单元必须归属于某个组件,组件通过属性关联到材料与单元类型。可以用一句话概括:载荷步管工况,集合管选择,组件管归属,属性管物理定义,材料管本构参数。

需要特别强调的是“归属唯一、引用可多”的原则。一个单元只能属于一个组件,但可以被多个集合引用;一个组件只能绑定一个属性,但一个属性可以被多个组件共享;一个材料可以被多个属性引用。这种“单归属、多引用”的结构,正是标准化命名能够发挥作用的地方——只要命名规则统一,自动化脚本就能通过名称快速定位对象、批量替换属性或重建载荷步。

载荷步 Load Step 工况定义:约束 + 载荷 + 分析类型 集合 Set 选择集:节点/单元/面/几何 集合 Set 边界条件集 / 载荷集 组件 Component 单元归属容器(唯一归属) 属性 Property 单元类型/厚度/截面/积分 材料 Material 弹性模量/泊松比/密度/屈服 引用单元 绑定 引用 归属唯一:1个单元 → 1个组件 → 1个属性 → 1个材料 引用可多:1个集合可引用多个组件中的单元 载荷步通过集合间接引用模型,不直接持有单元

二、标准化命名规范的设计原则

命名规范不是“好看”,而是为了让脚本可解析、让人可读、让模型可复用。建议采用“类型前缀 + 业务标识 + 序号”的三段式结构,用下划线分隔,全部使用英文或拼音缩写,避免中文、空格和特殊字符。例如:COMP_BODY_001、PROP_SHELL_2MM、MAT_STEEL_Q345、SET_BC_FIXED、LS_LC1_BRAKE。

前缀用于区分对象类型,建议固定为:COMP(组件)、PROP(属性)、MAT(材料)、SET(集合)、LS(载荷步)。业务标识描述用途或部位,如BODY、DOOR、SUSP、BRAKE。序号用于同类型多实例区分,统一三位数字,便于排序和正则匹配。这样命名后,一条正则表达式就能批量筛选出所有组件,自动化脚本无需依赖ID,只依赖名称即可稳定运行。

三、实际建模中的组织流程与示例

以一个简化白车身模型为例,假设包含前地板、后地板、侧围、门槛四个区域,材料为Q345钢,板厚2mm,分析工况为制动工况。推荐的组织顺序如下:

  1. 先建材料:MAT_STEEL_Q345,弹性模量210000 MPa,泊松比0.3,密度7.85e-9 t/mm³,屈服强度345 MPa。
  2. 再建属性:PROP_SHELL_2MM,类型为PSHELL,厚度2.0,材料指向MAT_STEEL_Q345。
  3. 建组件并绑定属性:COMP_FLOOR_FRONT、COMP_FLOOR_REAR、COMP_SIDE、COMP_SILL,全部绑定PROP_SHELL_2MM。
  4. 建集合:SET_BC_FIXED存放约束节点,SET_LOAD_BRAKE存放制动载荷施加节点。
  5. 建载荷步:LS_LC1_BRAKE,引用上述两个集合,分析类型设为线性静力。

完成后的模型树应呈现清晰的层级:载荷步在最上层,集合在第二层,组件与属性、材料在底层。此时若需要把板厚从2mm改为2.5mm,只需修改PROP_SHELL_2MM的厚度值,所有引用该属性的组件自动更新,无需逐个组件修改。这就是标准化组织带来的直接收益。

命名检查要点:前缀是否与对象类型一致;是否包含业务标识;序号是否统一位数;是否出现中文、空格、连字符;同一模型内是否存在重名。建议在模型交付前用脚本扫描一次,重名或不合规名称直接报错。

四、常见错误与规避方式

实际项目中最常见的问题有三类。第一类是“组件不绑属性”,单元直接挂在组件下但没有属性引用,求解器会报错或使用默认值,导致结果不可信。第二类是“集合引用混乱”,同一个集合里混放了约束节点和载荷节点,载荷步引用后边界条件互相干扰。第三类是“命名随意”,如comp1、new_comp、组件A混用,自动化脚本无法稳定识别。

规避方式很直接:建模前先确定命名表,建模中按“材料→属性→组件→集合→载荷步”的顺序创建,建模后用HyperMesh的Model Browser逐层检查引用关系。对于批量模型,建议把命名规范写成配置文件,由脚本在导入阶段自动重命名,从源头保证一致性。

注意:HyperMesh中组件名称与属性名称是独立命名空间,允许同名,但强烈建议不要同名。同名会导致脚本按名称查找时产生歧义,尤其在批量替换属性时可能误操作。

五、可直接使用的命名规范示例表

对象类型 前缀 命名示例 说明
组件 COMP_ COMP_FLOOR_FRONT_001 部位+区域+序号
属性 PROP_ PROP_SHELL_2MM 类型+关键参数
材料 MAT_ MAT_STEEL_Q345 材料类别+牌号
集合 SET_ SET_BC_FIXED 用途+条件类型
载荷步 LS_ LS_LC1_BRAKE 工况编号+工况名

这套规范的核心逻辑是:名称即接口。只要名称稳定,自动化脚本就可以通过名称完成对象查找、属性替换、集合重建和载荷步生成,而不依赖易变的内部ID。下一阶段无论做模型检查、批量赋属性还是自动出报告,都可以在这套命名体系上直接构建。