01 DRCO:优化四要素
DRCO是四个单词的首字母,也是所有优化建模必须考虑的四个要素。
约束(Constraint)
- 响应的数值限制(上限或下限)
- 例如:应力不超过200MPa
目标(Objective)
- 最终优化的指标,一次优化只允许有一个目标
- 例如:最小化质量、最小化体积、最小化变形等等
下面按照DRCO四个要素的顺序来详细解释结构优化的完整过程。

这一排工具按钮可按照两个设计阶段的分开:
◆ 概念设计阶段
- Topology拓扑优化:在给定设计空间内,按约束和目标找到最佳材料布置形式。
-Free Size自由尺寸:对壳单元,在每个网格上各自找最佳厚度分布。
- Topography形貌优化:在指定区域生成满足要求的起筋样式。
◆ 详细设计阶段
- Size / Gauges尺寸优化:找满足要求的最佳零件厚度。
尺寸(Size)优化一般需要分成参数定义(Size)和参数与属性的关联(Property Realationships)两个步骤,生成的变量和变量属性关系分别放在结构树下的Design Varibles和Design Varible Property Reationships下。而Gauges则是针对壳单元一步自动创建变量并同时设置关联属性,适用于大量壳单元厚度属性批量创建变量。


参数定义(Size)和参数与属性的关联(Property Realationships)按钮

优化浏览器下的参数优化设计变量
- Shape形状优化:在预先定义的一系列形状之间,找最佳组合。
- Free Shape自由形状:让边界上的一组节点自由移动,搜寻更优结构形状。
- Composite / Shuffle:复合材料铺层与铺层顺序优化。

点开Responses,可以开始设置响应的类型并选择该响应相关的对象等等。

Hypermesh直接支持选择的响应类型
Optistruct提供了一套非常完整的响应类型,Hypermesh均提供了很好的支持,包括但不限于以下类型:
- 与工况无关的全局响应:质量MASS、质量分数MASSFRAC、体积VOLUME、体积分数VOLFRAC、重心COG、惯量矩INERTIA、形貌筋离散系数BEADFRAC等等。
- 与静态工况相关:位移DISP、应力STRESS、应变STRAIN、力FORCE、SPC力、节点力GPFORCE、截面力RESFORCE,以及复合材料铺层的CSTRESS / CSTRAIN / CFAILURE、柔度COMP、多工况加权柔度WCOMP。
- 与模态相关:频率FREQ、加权特征值倒数WFREQ等。
- 高级优化响应(进阶应用):使用用户自定义函数定义响应DRESP2(配DEQATN公式)、使用用户外部自定义函数定义响应DRESP3(Compose/OML、Fortran、C、Excel等)。

给部分响应划定范围,对应优化卡片DCONSTR。

优化约束设置
约束设置主要包括:
- 响应(Response)选择;
- 上/下限(Upper Bound / Lower Bound)设置;
- 工况(List of Loadsteps)关联(如果响应与工况相关)。

设置优化目标:
- MIN or MAX:选择单个响应定义为优化的目标函数。例如最经典的优化组合:目标=最小化质量,约束=应力 / 位移 / 频率。
- MINMAX或MAXMIN:通过DOBJREF(Object Reference)定义minmax(maxmin)优化问题的响应及其参考值。例如多工况下,目标为整体变形最小,则可以通过DOBJREF先引用所有工况,再设置Objective为MINMAX,即优化目标为最大变形工况的变形值最小。


DOBJREF(Object Reference)设置
通过以上DRCO四步过程,可以顺利完成优化设置的创建。在DRCO设置好后,可以通过Optimization Browser查看所有的优化设置。

打开优化浏览器Optimization Browser
更一般的情况下,我们往往会在优化设置的最开始就打开Optimization Browser,在优化的设置过程中即开展相应的设置检查和修改。Optimization Browser会按Design Variables / Design Variable Links / Responses / Constraints / Objectives分层展示,不管是检查设置完整性还是进行设置修改都一目了然。

优化浏览器Optimization Browser
最后可以通过Optimize-Run提交,自动输出优化计算文件,并自动调用Optistruct进行优化求解。

提交优化计算
03 DRCO实战案例:轨道接头(Rail Joint)尺寸优化
基于DRCO方法,建立一个基于壳单元的汽车轨道接头的性能参数优化模型。该案例中,管状横梁末端的挠度受到限制,目标是尽可能减少材料用量。
本例实际工程问题和DRCO对应关系如下:

导入jointsize.fem,检查约束与两个工况(ForceX、Force_Z),先提交一次常规分析。正常计算完成退出,结果显示加载点的X向位移Ux=1.273、Z向位移Uz=2.144,超出了0.9和1.6的要求。
◆ D:创建两个尺寸设计变量
本例只有两个壳属性,可以用Size按钮分两步。进入Optimize-Size,为tube1、tube2两个PSHELL的厚度各创建一个设计变量:初始值1.0,下限0.1,上限5.0。变量建好后,还要用Property Relationships把两个变量分别与PSHELL的厚度项T关联起来。
如果面对的是更多的壳厚度需要批量建变量,使用Gauges会更方便,它一步就能同时完成变量创建与属性关联。
通过Gauges批量创建尺寸设计变量
◆R:创建体积与位移响应
按响应清单创建三个响应:
- r_volume:全局体积响应VOLUME,与工况无关,用来衡量材料用量;
- rux:节点5555在工况LOADX下的X向位移(DISP,TX);
- ruz:节点5555在工况LOADZ下的Z向位移(DISP,TZ)。
静态位移响应的创建(节点5555,Z向)
◆C:按工况分别加位移约束
打开约束面板,为两个位移响应各建一个上限约束:cux引用rux,Upper Bound=0.9,关联工况LOADX;cuz引用ruz,Upper Bound=1.6,关联工况LOADZ。
位移响应属于“与工况相关”的响应,要特别留意工况关联。
位移约束的创建(r_ux上限0.9)
◆O:定义目标——最小化体积
打开Objective,选择体积响应r_volume,方向设为Minimize。
至此D、R、C、O四步全部完成。在Optimization Browser里按Design Variables / Responses / Constraints / Objectives四层扫一眼,确认没有漏项,就可以导出求解文件并提交OptiStruct计算了。
Optimization Browser 下的DRCO
本例Optistruct在第4次迭代即收敛,并给出可行设计(所有约束满足):
- 设计变量:gtube1=0.980,gtube2=1.679;
- 目标:体积=2.28294E+05;
- 约束:Ux由1.273降到0.7069(限值0.9);Uz由2.144降到1.601。
计算结束后,用.prop文件把优化后的厚度回写到模型。回写后的模型可以直接继续做强度、模态等校核。
回顾整个案例,把“变形不超、用料最少”翻译成D、R、C、O之后,剩下的就是在Optimize面板上从左点到右,这也正是DRCO方法最实用的一面
04 合理又简单的工作流
在实际项目进程中,结构优化真正具有挑战的不是工具该怎么用,而是如何把实际的工程设计问题转换为优化的设计参数和指标,并快速开展优化设计迭代。Hypermesh的功能则是尽量让工具层面的事情变得简单,让迭代变得高效。
通过对实际工程问题的理解形成可执行的优化指标,再通过DRCO四个顺序流程步骤,工程问题就被翻译成了Optistruct求解器语言的模型,进而通过优化得到满足各项约束条件的优化结果,进而指导我们的设计。
因此在每次成功搭完可分析的结构模型后,在Optistruct优化设置开始前,心中默念DRCO四个字母,顺序点选DRCO相应工具按钮,即可完整快速地完成优化设置,实现结构快速设计优化。