【HyperWorks优化实例向导】之自由形状优化
- 技术邻 >
- CAE仿真 >
- 仿真优化 ,
- HyperWorks
本文模型主要使用如下图所示简单模型:
大家可以先下载模型跟着教程一步一步操作体验。全文模型及操作视频下载链接如下:
https://nas.altair.com.cn:5001/sharing/kPMjKGJXX
(建议在电脑端用chrome浏览器下载)
形状优化与自由形状优化
所谓自由形状是和形状优化比较而言的,自由形状优化节点变形的形式更加自由。进行形状优化的时候需要事先创建形状变量,优化算法的优化对象就是每个形状变量的系数。最终的优化结果只能是原始网格位置与各个形状的线性叠加。
拿下面这张图来说,蓝色内圈是原始网格边界,左图外圈红线是网格变形创建的形状变量的最远处。如果形状变量的范围是 [0, 1],那么最终优化结果的网格位置只能是蓝圈和红圈之间某个位置的一个圆。自由形状优化的每个节点都可以随意运动。
打个比方,形状优化就像计划经济,自由形状优化就像市场经济。
自由形状优化最常用的场景是解决应力集中问题,当然,也可以用于别的场合。
Altair OptiStruct™ 自由形状优化算法:
classic 和 vertex morphing
Altair OptiStruct™ 自由形状优化算法分 classic 和 vertex morphing 两类,vertex morphing 方法自由度更大,但是计算量也会随之大幅度增加,而且 vertex morphing 方法目前还是 beta 版本,使用时需谨慎。
对于2D单元:
classic 方法中的变量只能是自由边上的节点。节点可以沿着 2D 单元自由边法向移动。
vertex morphing 方法中的变量可以是任意节点,面内的节点的运动方向是单元法向,外侧节点可以沿着 2D 单元自由边法向移动。
以下动画是一个2D自由形状变量的例子:
对于3D单元:
classic 和 vertex morphing 方法中的节点变量都只能是外表面的节点(自动忽略内部节点),而且都只能沿着外表面的法向运动。
以下动画是 3D 自由形状优化的一个例子:
接下来我们通过具体的例子来说明用法。
例1 内外边界节点优化 (classic 方法)
优化三要素
变量节点位置如下图所示,限制四个角点只能沿着y轴方向移动。
01优化结果
02优化迭代动画
例2 内外边界节点优化 (vertex 方法)
本例中将节点移动的最远距离通过 2D 单元进行限制,这些单元需要设置为 BMFACE 单元类型。
01优化前的应力分布
02优化后的应力分布
03变形结果
04优化结果
(对,你没有看错,应力变成了10%!)
例3 实体网格优化 (vertex 方法)
工况和 2D 模型类似,为了应力级别一致修改了力的大小。设置两个表面的节点作为自由形状优化的设计变量。限制边界上的节点只能沿着厚度方向运动。
01优化前应力
02优化后应力
03优化后形状的截面图(1/4模型)
04优化结果
拓展:根据制造要求施加挤压约束、拔模约束、对称约束
01挤压约束施加方法
02自由形状变量
自由形状变量为下图中的节点,左侧箭头为挤压约束方向。限制边界上的节点只能沿着厚度方向运动。
设置好的模型文件为:freeshape3D_ext_done.hm
03优化结果
04优化前的应力
05优化后的应力
计划和市场都是调节经济的手段,计划经济中可以有市场,形状和自由形状都是优化的手段,自由形状优化和形状优化也是可以同时使用的。
同时创建形状变量和自由形状变量
比如下图中的零件既希望改变厚度(单一厚度)又希望同时进行变形形状的优化。可以同时创建形状变量和自由形状变量。
01自由形状变量的节点
02形状变量
形状变量仅仅是为了改变半径件的厚度。形状变量请参考:
03优化控制选项
这个例子中的形状变量使用了离散变量,使用默认的优化算法时形状变量可能会不起作用,这时需要加一个优化控制选项:
04优化结果中由形状变量导致的形状改变
05优化结果中由自由形状变量导致的形状改变
文章来源:Altair官方技术论坛