2. 工况载荷与边界条件的参数化建模
在OptiStruct多工况优化中,载荷与边界条件不是“一次性画上去的图形”,而是一组可被工况(Subcase)反复引用的参数化实体。理解这一点,是掌握多工况建模的关键:HyperMesh中的载荷与约束本质上是卡片(Card)与集合(Set)的组合,工况通过引用这些集合来组装分析工况。因此,参数化建模的核心不是重复创建载荷,而是建立“载荷/约束定义一次、工况多次引用”的引用关系。
一、载荷与约束的卡片化本质
在HyperMesh的OptiStruct用户配置(OptiStruct User Profile)下,每一个载荷或约束都对应一张求解器卡片。常见的载荷卡片包括:
- FORCE:集中力,需指定节点、方向矢量、幅值;
- MOMENT:集中力矩;
- PLOAD4:压力载荷,作用于壳单元或面;
- GRAV:重力/加速度惯性载荷,通过加速度矢量与方向定义;
- RLOAD2 / TLOAD1:频响与瞬态载荷(本节暂不展开)。
约束卡片主要是SPC(单点约束),通过SPCADD可对多个SPC集合做叠加。这些卡片在HyperMesh中通常以Load Collector(载荷集合)的形式组织,每个Load Collector对应一个卡片类型,并拥有唯一的名称与ID。参数化的第一步,就是给每个载荷集合起一个语义化名称,例如LC_FORCE_Y、LC_SPC_BASE,而不是默认的loadcol1。
二、工况(Subcase)与引用关系
工况在OptiStruct中由SUBCASE卡片定义,每个工况通过LOAD、SPC、METHOD等关键字引用对应的集合ID。例如:
SUBCASE 1
LABEL = 工况A_垂向冲击
LOAD = 10
SPC = 20
METHOD = 30
SUBCASE 2
LABEL = 工况B_侧向制动
LOAD = 11
SPC = 20
METHOD = 30
这里工况1与工况2共享同一个约束集合(SPC=20)和同一个求解方法(METHOD=30),但引用了不同的载荷集合(LOAD=10与LOAD=11)。这正是参数化建模的价值:约束只定义一次,载荷按工况切换,工况组合通过引用关系自动组装。
.fem文件来创建工况。推荐在HyperMesh中创建,因为界面会自动维护ID引用关系,避免手工编辑导致的ID冲突。
三、载荷步与工况组合的建立流程
实际建模时,建议按以下顺序组织:
- 创建约束集合:将所有边界条件(如底座固定、对称面约束)放入一个或多个SPC Load Collector,命名如
SPC_BASE。 - 创建载荷集合:按载荷类型和方向分别建立Load Collector,例如
FORCE_Y_UP、FORCE_X_BRAKE、GRAV_Z。 - 创建工况:在Subcase面板中新建工况,指定其引用的LOAD与SPC集合ID。
- 检查引用完整性:确认每个工况的LOAD与SPC均指向已存在的集合,且ID不重复。
对于多工况优化,还需要注意:OptiStruct的优化求解器会同时处理所有工况,目标函数与约束通常按工况加权或取极值。因此,工况的命名与分组应清晰反映其物理含义,便于后续在DESOBJ、DRESP等卡片中引用。
四、参数化建模的引用关系图解
下图展示了载荷集合、约束集合与工况之间的引用关系。左侧是定义层(Load Collector),右侧是引用层(Subcase),箭头表示引用方向。可以看到,多个工况可以共享同一个约束集合,而载荷集合则按工况独立引用。
五、参数化建模中的常见问题与检查要点
在实际操作中,最容易出现的问题不是卡片写错,而是引用关系断裂。例如:修改了某个Load Collector的ID,但工况中的LOAD字段没有同步更新,导致求解器报“LOAD ID not found”。因此,建议在提交计算前做一次引用完整性检查:
- 每个SUBCASE的LOAD、SPC、METHOD字段是否都指向已存在的集合ID;
- 是否存在未被任何工况引用的“孤立”载荷集合(可能是误建或遗漏);
- 同一工况中是否重复引用了同一类型的集合(如两个SPC),此时需用SPCADD合并;
- 工况的LABEL是否清晰表达了载荷组合与约束状态,便于后续优化结果解读。
六、从参数化建模到多工况优化
当工况与载荷/约束的引用关系建立完成后,多工况优化的输入就准备好了。后续在DESOBJ中定义目标(如最小化所有工况的最大柔度),在DRESP中定义约束(如各工况下节点位移不超过许用值),OptiStruct会自动遍历所有SUBCASE并组装灵敏度信息。此时,工况的命名与分组是否清晰,直接决定了优化结果的可读性与可维护性。
因此,参数化建模不仅是“把载荷加上去”,更是为后续优化建立一套可追溯、可复用、可扩展的工况引用体系。建议在项目初期就制定命名规范,例如LC_载荷类型_方向、SUBCASE_工况编号_描述,并在整个优化流程中保持一致。