首页/文章/ 详情

【HyperWorks优化实例向导】之HyperMesh后台生成参数化优化模型

7月前浏览4921

本文摘要(由AI生成):

本文是 HyperWorks 优化实例向导的第三期,重点讲解了使用 TCL 脚本实现梁结构参数优化的方法。内容分为优化三要素、优化目标、优化步骤、预备工作、编写优化 TCL 文件、添加模型、定义设计变量、创建响应、选择优化算法、展示优化结果、导入优化结果以及优化实例的扩展十二个部分,展示了 Altair HyperMesh 的另类用法。




HyperWorks优化实例向导第三期来啦!上一讲我们介绍了各种梁单元相关的优化方法,这一讲打算再扩展一下这个主题,顺便展示一下Altair HyperMesh™的另类用法。


 

第一期回顾:【HyperWorks优化实例向导】之多模型优化技术


 

第二期回顾:【HyperWorks优化实例向导】之高考数学一题九解及梁单元优化



   


首先介绍一个使用tcl脚本实现梁结构参数优化的例子。



优化三要素如下:

1


     

设计变量


     


👉 L2是顶部长度尺寸变量,范围是10~18米(底部是车道/人行道位置,所以L1是固定值,不进行优化)。

👉H是外形高度尺寸变量,范围是1~10米

👉L2分成的段数也是一个变量,取值范围是3~20段

   


👉 圆形截面的半径也是一个优化变量,取值范围是20mm~100mm

👉 工字梁截面也是优化变量,但是只能在预定义的5种工字梁截面中进行选择。

所以模型可能是这样的:

     

也可能是这样的:

     


下图是右上角三个梁连接部位的局部放大视图,3D显示分离只是软件显示的效果,实际上是完全焊接为一体的。

     


响应是下图中底边中点999999号节点的y向位移绝对值和体积响应。

     

2


   

优化约束


   


999999号节点的y向位移绝对值小于50mm

3


   

优化目标


   


体积最小化


整个优化过程分为两步:

第一步:通过HyperMesh批处理程序hmbatch.exe运行一个tcl文件产生后续Altair OptiStruct™计算用的fem模型文件。为了方便后续Altair HyperStudy优化时选取响应点,对提取优化位移响应的节点进行了重新编号。


第二步:HyperStudy调用OptiStruct运行刚刚得到的fem文件得到优化计算结果。


TIPS:为了防止还没有开始优化就栽跟头,还需要以下预备工作!


 

1

编写tcl脚本,这个脚本从零开始完成了所有建模工作,如果有兴趣可以看看下面的视频教程(目前已经是HyperMesh二次开发视频教程库)的一部分。

     
     
   

(点击上方图片获取下载链接)


 

2

在cmd窗口用hmbatch.exe运行tcl脚本得到fem文件具体方法是用cd命令切换到tcl脚本所在目录后,执行如下程序:

     

如果执行成功,会在tcl目录下生成一个bridge.fem文件。


 

3

使用OptiStruct程序运行bridge.fem文件得到计算结果。

     


如果计算结果正确,那么说明tcl脚本得到的fem文件没毛病,接下来可以开始优化工作了!


     

  优化tcl文件


使用HyperStudy的Editor工具参数化tcl文件,并保存为tpl文件。文件很长,涉及参数化的部分如下:

 
 

     

  添加模型


启动HyperStudy,工作目录设定为tcl文件所在目录,然后添加两个模型。


模型1是Parameterized File,求解器选择HM Batch ,参数输入-tcl ${file}

 


模型2的类型是Operator,需要fem文件作为输入文件,但是此时还没有fem文件在该目录下,需要先点击Next到Test Models步骤后先运行一下model1生成一个fem文件(也可以从外部拷贝一个到模型1的目录下骗一下HyperStudy😄)。

 


运行后再次回到Define Models步骤继续,点击Model Resources,然后在对话框中添加一个resource,类型是Add File,表示每一次迭代运算都会生成一个新的模型。

 

Define Models设置好后如下图所示:

 

     

  定义设计变量


5个设计变量的范围如下:

 


设计变量的数据类型、模式及离散取值如下图:

 

注意到isecname项设置为了Categorical,表示各个截面之间没有先后关系。如果设置为离散变量,HyperStudy认为各个截面是有先后顺序的,DOE的时候可能只取前后两个截面进行。


     

  创建两个响应


分别是体积和999999节点的y向位移绝对值。

 

     

  优化设置


优化只需要设置好目标和约束。

 

     

  优化算法选择GRSM


迭代次数为15次(问题比较简单,因此不需要太多迭代步,以节约时间)。

 

     

  优化结果


 

     

  导入结果


将优化结果的fem文件导入到HyperMesh看看劳动成果,效果如下:

 

各个设计变量的值以及响应如下:

体积从1.42e9减小到了1.14e9

y向位移绝对值从48减小到了37

刚度提高的同时重量还变小了,有什么理由不使用优化呢?


其实上面这个优化例子,绝大部分的工作量都被写脚本给揽走了,从节点-单元-材料-属性-载荷-工况一步步都是代码搞定的。


实际优化时大部分时候可以不要这么老实,该偷懒的时候要偷懒😜。


具体方法我们也来举个🌰。下面这个例子是HyperStudy开发部门的同事分享的。

   


RIB1板只可以调厚度,其余板只可以选择有或者没有。

 


对下图中ID号为3的component选择export

 

对应命令*entitysuppressoutput components 3 0

修改ID号为1的属性的厚度为0.00545

 


对应命令*setvalue props id=1 STATUS=1 95=0.00545


前后再加上打开模型,加载OptiStruct模板,后面在加上导出fem文件,完整的tcl脚本如下(总共就10行,而且大部分都是抄的command.tcl):

 

有了tcl脚本后,剩下的事情和上一个例子也就差别不大了。


     

  优化tcl文件


使用HyperStudy的Editor工具参数化tcl文件,并保存为tpl文件。

 

     

  添加模型


启动HyperStudy,工作目录设定为tcl文件所在目录,然后添加第一个模型。


模型1是Parameterized File,求解器选择HM Batch ,参数输入-tcl ${file}


 


由于每次运行都需要rib_parameterization.hm,所以需要通过Model Resources 复 制到工作目录。


模型2的类型是Operator,需要fem文件作为输入文件,但是此时还没有fem文件在该目录下,需要先点击Next到Test Models步骤后先运行一下model1生成一个fem文件(也可以从外部拷贝一个到模型1的目录下骗一下HyperStudy😄)。


 


运行后再次回到Define Models步骤继续,点击Model Resources,然后在对话框中添加一个resource,类型是Add File。


 


Define Models设置好后如下图所示:

 



     

  定义设计变量


4个设计变量的变化范围如下:

 

设计变量的数据类型、模式及离散取值如下图:

 



     

  创建两个响应并设置好目标和约束


 



     

  优化算法选择GRSM


迭代次数为15次(问题比较简单,因此不需要太多迭代步,以节约时间)。

 



     

  优化结果


 


各个设计变量的值以及响应如下图所示:


 
 

这个例子当然不是实际的结构,主要目的是展示一下HyperMesh怎么样在后台修改模型的。


   

实际上如果要做DOE也是类似的


我们可以做一个部分因子法DOE:

 


各次试验的变量组合即响应如下:

 


线性效应如下:

 


帕累托图如下:

 


通过使用程序控制HyperMesh,优化一下就变得自由了,例如某处的结构可以如下所示的各种不同结构中的一种。实际上几乎有无限的可能性。

 


或者是下图的样式

 


这些变形对于morph来说恐怕要求太高了,但是HyperMesh脚本却是可以轻松搞定的,只需要把morph的几个中间状态网格预存到hm文件里面,优化时就可以轻松切换了。


例2的的HyperMesh模型需要使用2020版才能打开哟~


如果你要优化下图中的输电塔,你可以这样做:

1.先从拓扑优化得到各个梁的位置分布

2.创建梁单元模型进行截面大小的优化

3.如果你想更进一步,还可以在上一步中同时加上形状优化

  


来源:Altair澳汰尔
OptiStructHyperMesh形状优化拓扑优化二次开发HyperWorks设计与仿真平台焊接参数优化材料控制试验Altair
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-03-21
最近编辑:7月前
Altair澳汰尔
澳汰尔工程软件(上海)有限公司
获赞 137粉丝 464文章 737课程 4
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈