基于ANSYS的结构拓扑优化及其二次开发
摘要:本文吸收了“基结构法”和“均匀化法”的思想,提出了“通过力传递的路径来构造拓扑”和“逐次去劣、两极分化”的拓扑优化新思路和方法,对有限元软件ANSYS的拓扑优化功能作了二次开发,拓展了ANSYS拓扑优化结构单元的适用种类,且不仅可以求解连续结构的拓扑优化问题,还可以求解桁架结构的拓扑优化问题,编制了相应程序考证了连续体和桁架两种类型的典型算例,最后将此方法应用于一个船舶板架结构优化中,得到了预期的结果。
关键词:结构分析;拓扑优化;APDL
中图法分类号:U661.43;O189.1 文献标志码:A
1、引 言
结构优化设计大致可以分为三类,即尺寸优化,形状优化,和拓扑优化。相对于前两种优化,拓扑优化能从根本上改变结构的拓扑,更能体现真正意义上的最优设计。虽然拓扑优化的价值很可观,但是拓扑优化设计被公认为结构优化领域中比较困难的课题。这是由于在优化过程中,结构分析和优化模型以及设计空间、可行域都在不断变化,而且拓扑变量(逻辑性变量)的0—1特性造成了问题的不连续性和不可微性。
结构拓扑优化研究可以认为是从1904年Michell提出的Michell桁架理论开始的[1]。其后人们又陆续提出了一些优化方法,Dorn等人[2]提出了基结构法,他们建立由结构节点、荷载作用点和支撑点组成的节点集合,集合中所有节点之间用杆件相连,形成所谓“基结构”。在单工况下考虑应力约束,以内力为设计变量,构造线性规划求解。此外,程耿东等人[3]在弹性板的最优厚度分布研究中将最优拓扑问题转化为尺寸优化问题。而Bendsoe、Kikuchi[4]提出了“均匀化法”,用带有孔洞的微结构构造设计区域,微结构孔洞大小作为设计变量,将拓扑优化问题转化为材料最优分布问题。隋允康[5]对拓扑变量进行了重新思考与定义,从拓扑变量的“独立性”和“光滑性”出发,按“关系映射反演”原则去解决问题。
本文介绍了ANSYS拓扑优化,并在此基础上通过APDL(ANSYS参数化设计语言)作了二次开发。二次开发工作在“基结构法”和“均匀化法”的基本思想上,提出了一种原理简单的思路:“通过力传递的路径来构造拓扑”和“逐步去劣、两极分化”,来研究拓扑优化问题。不但拓展了ANSYS拓扑优化适用的单元范围,而且还解决了ANSYS不能解决的桁架拓扑优化问题。
基于ANSYS的结构拓扑优化及其二次开发
2、ANSYS拓扑优化
2.1 ANSYS的拓扑优化功能
ANSYS拓扑优化功能可以用于求结构的最大刚度,最小体积和最大自然频率。拓扑优化的目标函数是在满足结构的约束情况下减少结构的变形能。减小结构的变形能相当于提高结构的刚度。这个技术通过使用设计变量(?i)给每个有限元的单元赋予内部密度来实现。
2.2 ANSYS拓扑优化理论
ANSYS也是将拓扑优化问题转化为一种特殊形式的形状优化问题。优化的目标是在一定约束的情况下寻求结构的材料最有效性,对目标(体积,全局刚度,自然频率)取最大或者最小值。在拓扑优化中,结构的材料分配功能作为优化参数。使用者需要定义结构问题(材料属性,有限元模型,加载等),目标函数以及状态变量。
拓扑优化的理论是在限制条件(gj)定义下,寻求最大或者最小的目标函数(f)。在拓扑问题中,设计变量赋给每个有限单元(i)内部伪密度(?i)。伪密度值从0到1,?i≈0代表材料被移除,?i≈1则代表材料应该被保留。总体积就是所有单元体积之和。V=
??V,伪密度影响每个单元的体积和弹性张量, [E
iiii]=[E(?i)]。在常用的线弹性方程
里,弹性张量用来等价于应力和应变矢量,{σi}=[Ei]{εi}。在式中,{σi}为单元i的应力矢量,{εi}为单元i的应变矢量。
以求最大静态结构刚度为例,在体积约束的条件下,求最大结构刚度就是在给定载荷下寻求最小静态变形能。求最小挠度等同于求最大结构刚度。在这种情况下,公式为:
uc=Min f(?i)
s.t. 0<?i≤1 (i=1,2, ?,N)
V≤V0-V
其中,uc为柔顺性,N为单元数量,V为计算体积,V0为原体积,V被除掉的体积。 对于多载况条件下,求最大刚度问题可表达为
1F(UC2, UCK,?, UC**)=
?WUii?1kiC ,Wi?0
第 2 页 共 7 页
基于ANSYS的结构拓扑优化及其二次开发
式中UC为第j种载况下的柔顺性,Wi为最小变形能的载况分量。
ANSYS的拓扑优化的效率和效果都不错,但缺陷是只适用有限的5种单元,而且只能解决连续体问题而不能求解桁架问题。本文通过利用ANSYS参数化设计语言APDL,结合拓扑优化的思想,对拓扑优化功能进行了二次开发和拓展。二次开发得到的结果不仅适合于各种结构单元,而且连续体和桁架都能适用。
j
3、基于ANSYS的二次开发
3.1 ANSYS基础
本文借鉴了ANSYS拓扑优化模块的思想和长处,编制的二次开发程序,对ANSYS及其他类似的有限元软件均适用。使用ANSYS作二次开发的好处是不仅有强大的计算分析能力,图形显示能力和方便的提取数据功能,而且还有其他长处:一是用直观的有限单元模型来代替复杂的数学表达式来作为优化的载体,极大的减轻了不必要的数学建模方面的工作量;二是ANSYS提供单元生死的技术,不但适合使每一轮迭代中作用小的单元失效,而且适合多次重分析中将前一轮失效而去除的单元重新恢复;三是APDL的编程功能让用户可以进行二次开发,自主定义算法和功能,而ANSYS可以方便的把二次开发的程序作为外部命令调用。
3.2二次开发的基本思想
本文提出的方法是基于将结构的最优拓扑问题转化为在给定的设计区域内寻求最优材料的分布问题的思想。假设给定结构的设计区域由许多微结构组成。这时可将整体结构离散为有限单元。在承受载荷的过程中,有些单元对结构承受载荷的作用大,相对的有些单元则作用小,寻找这些贡献较大的单元的集合体,其实也就是寻找力传递的途径。但是实际结构中,大部分单元的作用是介于两者之间,力的传递途径并不明显,所以需要通过多次而逐步的弱化作用相对小的单元区域,来逐步强化作用相对大的单元区域,使结构单元的作用“两极分化”。最终力的传递就会逐步的凸现出来,即为留下来的作用强的单元集合,也就是优化的拓扑结构。总之,就是“通过力传递的路径来构造拓扑”和“逐次去劣、两极分化”的思路,来寻求最优的材料分布。 3.3 APDL的拓扑优化程序
拓扑优化的思想是有效作用的材料分布区域的寻求。因此需要对初始设计首先进行均匀而且细密的单元分网,然后进行应力分析并获得每个单元的应力数据,通过设置应力值
[4]
第 3 页 共 7 页
基于ANSYS的结构拓扑优化及其二次开发
相对小的应力门槛值,提取出对强度贡献相对小的单元区域,将其单元刚度矩阵乘以一个很小的因子[ESTIF],因子的值为1.0E-6,即相当于“杀死”这些单元区域,从而不对载荷向量生效,而留下来的单元即为求得的每一轮的拓扑优化结果。每一轮优化循环的执行,都需要检查收敛条件和约束条件。收敛条件控制程序是否结束,约束条件可以包括应力,应变,稳性等方面的内容。在程序中,应力门槛值是程序的关键,它决定了收敛的速度和步长,是一个相对值,值的大小由每一轮迭代的结果决定。程序流程框图见图1。
否 建模,细密分网 求解,提取单元节点应力值,存入数据表 设定应力“门槛值” 小于门槛值,“杀死”此单元,否则保留 是 满足收敛条件 否 满足约束条件 是 图1 拓扑优化程序流程图
Fig.1 The flow step chat of topology optimization
结束
4、典型算例和工程实例
4.1 连续体结构典型算例
如图2所示悬臂梁在自由端受到竖向集中力P的作用,悬臂梁长l为1.6米,高h为1米,悬臂梁另外一端为刚性固定。其拓扑优化结果如图3所示,从图3可以看出原为实体悬臂梁,而优化结果使原设计区域产生了孔洞,使结构拓扑发生了变化。图4是同条件下ANSYS拓扑优化得到的结果,经过20轮迭代,材料去除率为80%。图中用不同的彩色层次描绘不同伪密度(?i)的值,其中蓝色层次代表?i≈0,即材料被移除,红色层次代表?i≈1,即材料被保留。则蓝色和红色之间的层次代表?i值从0到1。图5是ANSYS二
第 4 页 共 7 页
[6]
基于ANSYS的结构拓扑优化及其二次开发
次开发得到的拓扑优化结果,经过了27轮迭代,材料去除率为62.5%。
图2 悬臂梁受集中力作用 图3 优化结构拓扑 fig.2 Force on cantilever fig.3 Topology optimization
图4 ANSYS的优化拓扑 图5二次开发得到的优化拓扑
fig.4 Topology optimization of ANSYS fig.5 Topology optimization of this paper 4.2 桁架结构典型算例
如图6所示12杆平面桁架,有6个节点,节点位置、杆号、以及杆的尺寸见图6,杆的许用压应力与许用拉应力相同。载况是2节点和4节点受到Y轴负方向的力,力的值都为4.45e5牛。经过6轮迭代后,二次开发的程序构造的优化拓扑结构见图7,与文献[7]330页得到的拓扑相同,并得到余下各杆的应力值。余下各杆组成一个静定结构,根据满应力准则,对各杆截面积作二级优化。满应力准则是各杆的应力之比等于各杆的优化截面积之比,只需要一次迭代。AI代表第I杆的截面积。其中A4杆的应力值最小,因此截面积取为1,其他各杆的截面积分别为A1=A3=2,A7=A8=A9=1.414。与文献[5]192页得到的最优结果相同。
第 5 页 共 7 页
基于ANSYS的结构拓扑优化及其二次开发



