3. 设计变量建模实战
在OptiStruct多目标优化流程中,设计变量是连接“几何模型”与“数学优化问题”的桥梁。HyperMesh的Optimization面板提供了三类基础设计变量:尺寸变量(size)、形状变量(shape)与拓扑变量(topology)。它们分别对应不同的设计空间表达方式,也决定了后续响应、约束与目标的建立方式。本节以一个简化的支架结构为例,说明如何在HyperMesh中实际创建这三类变量,并把它们与属性、单元或节点正确关联。
一、三类设计变量的本质差异
尺寸变量作用于属性(property),典型对象是壳单元的厚度(T)或梁单元的截面尺寸。它不改变网格形状,只改变单元属性值,因此优化后几何拓扑保持不变,适合板厚分布优化、复合材料铺层厚度优化等场景。
形状变量作用于节点(node),通过定义节点扰动方向与幅值来改变结构外形。它通常借助HyperMorph生成,可控制圆角、加强筋位置、翻边高度等。形状变量不改变网格连接关系,但会改变节点坐标,因此需要保证变形后网格质量仍可接受。
拓扑变量作用于单元(element),通过单元密度(density)在0~1之间连续变化,决定材料保留或删除。它允许结构发生孔洞、开槽、材料重分布等根本性变化,适合概念设计阶段的材料布局探索。
二、尺寸变量创建与属性关联
在HyperMesh中创建尺寸变量的一般路径为:Optimization → size → create。以支架底板为例,假设底板由PSHELL属性plate_mid定义,初始厚度为2.0 mm。我们希望厚度在1.0~3.0 mm之间变化,步长0.1 mm。
Optimization → size → create
name: t_plate_mid
type: thickness
property: plate_mid
initial: 2.0
lower bound: 1.0
upper bound: 3.0
move limit: 0.1
cards: PSHELL
关键点在于property选择:必须选中实际承载的PSHELL,而不是单元集合。若模型中存在多个PSHELL,可一次创建多个尺寸变量,或使用desvar批量关联。创建完成后,可在Optimization → size → review中检查变量列表、初始值与上下限。若变量未出现在列表中,通常是因为属性未被正确选中,或卡片类型与变量类型不匹配。
尺寸变量的响应通常包括质量、体积、应力、位移等。例如,将t_plate_mid与mass响应关联后,优化器即可在满足应力约束的前提下搜索最小质量对应的厚度分布。
三、形状变量创建与节点关联
形状变量依赖HyperMorph。首先需要在Morph面板中建立域(domain)、手柄(handle)或直接使用shape变量。以支架侧板翻边高度为例,操作流程如下:
- 进入
Morph → create → domains,框选侧板区域,生成一个morph域。 - 进入
Morph → create → handles,在翻边顶部创建手柄,并设置扰动方向为Z向。 - 进入
Optimization → shape → create,选择该手柄,设置幅值范围-5~+5 mm。 - 在
shape → review中预览变形效果,确认网格无翻转、无穿透。
形状变量的核心是节点扰动方向与幅值。方向定义错误会导致优化结果与预期相反,因此建议在创建后先用Morph → animate检查变形方向。若翻边需要同时沿Z向和Y向变化,可创建两个形状变量并分别控制,或使用组合变量。
四、拓扑变量创建与单元关联
拓扑变量通过Optimization → topology → create创建。与尺寸、形状不同,拓扑变量通常作用于一个设计区域,而非单个属性。以支架中间腹板为例,假设设计区域由单元集合design_region定义,材料为钢,体积分数目标为0.3。
Optimization → topology → create
name: topo_web
design area: design_region
material: steel
volume frac: 0.3
draw direction: Z
member size: 3.0
其中volume frac表示保留材料体积占设计区域总体积的比例;draw direction用于控制拔模方向,适合铸造件;member size用于控制最小成员尺寸,避免出现过于细碎的材料分布。创建后需在topology → review中确认设计区域单元数量与材料属性。
拓扑优化的结果通常以单元密度云图呈现。密度接近1的区域表示材料应保留,接近0的区域表示可删除。实际工程中,还需结合OSSmooth或HyperMesh的等值面提取功能,将密度结果转化为可再设计的几何模型。
五、变量关联与检查清单
三类变量创建完成后,必须与响应、约束和目标建立关联,否则优化器无法识别设计空间。建议按以下顺序检查:
| 检查项 | 尺寸变量 | 形状变量 | 拓扑变量 |
|---|---|---|---|
| 作用对象 | PSHELL/PBEAM属性 | Morph手柄/节点 | 单元集合 |
| 典型上下限 | 1.0~3.0 mm | -5~+5 mm | 体积分数0.2~0.5 |
| 常见响应 | 质量、应力、位移 | 应力、模态、位移 | 柔度、体积、频率 |
| 结果形式 | 厚度分布云图 | 变形后几何 | 密度云图 |
完成关联后,可在Optimization → opti control中设置最大迭代次数、收敛容差等参数,然后提交OptiStruct求解。若求解日志中出现“no design variables”或“design variable not linked”,应返回检查变量是否被响应或约束引用。
最后需要强调:三类变量的关联属性不是一次性动作,而是贯穿建模、求解与后处理的连续检查。尺寸变量要确认PSHELL卡片被正确引用;形状变量要确认Morph域与手柄方向一致;拓扑变量要确认设计区域单元未被其他属性覆盖。只有变量、响应、约束三者形成闭环,OptiStruct才能正确构造优化问题并给出可信的权衡方案。