资源描述:
《如何能利用ansys进行拓扑优化(转)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、标准实用如何利用ANSYS进行拓扑优化前言就目前而言,利用有限元进行优化主要分成两个阶段:(1)进行拓扑优化,明确零件最佳的外形、刚度、体积,或者合理的固有频率,主要目的是确定优化的方向;(2)进行尺寸优化,主要目的是确定优化后的的零件具体尺寸值,通常是在完成拓扑优化之后,再执行尺寸优化。在ANSYS中,利用拓扑优化,可以完成以下两个目的:(1)在特定载荷和约束的条件下,确定零件的最佳外形,或者最小的体积(或者质量);(2)利用拓扑优化,使零件达到需要的固有频率,避免在使用过程中产生共振等不利影响。本文主要就在ANSYS环境中如何执行拓扑优化进行说明。文案大全标准实用1、
2、利用ANSYS进行拓扑优化的过程在ANSYS中,执行优化,通常分为以下6个步骤:定义需要求解的结构问题选择合理的优化单元类型设定优化和非优化的区域定义载荷步或者需要提取的频率对优化过程进行定义和控制计算并查看结果1.1、定义需要求解的结构问题文案大全标准实用对于结构进行优化分析,定义结构的物理特性必不可少,例如,需要定义结构的杨氏模量、泊松比(其值在0.1~0.4之间)、密度等相关的结构特性方面的信息,以供结构计算能够正常执行下去。1.2、选择合理的优化单元类型在ANSYS中,不是所有的单元类型都可以执行优化的,必须满足如下的规定:(1)2D平面单元:PLANE82单元和
3、PLANE183单元;(2)3D实体单元:SOLID92单元和SOLID95单元;(3)壳单元:SHELL93单元。上述单元的特性在帮助文件中有详细的说明,同时对于2D单元,应使用平面应力或者轴对称的单元选项。1.3、指定优化和非优化的区域在ANSYS中规定,单元类型编号为1的单元,才执行优化计算;否则,就不执行优化计算。例如,对于结构分析中,对于不能去除的部分区域将单元类型编号设定为≥2,就可以不执行优化计算,请见下面的代码片段:…………Et,1,solid92Et,2,solid92……Type,1Vsel,s,num,,1,2文案大全标准实用Vmesh,all……T
4、ype,2Vsel,s,num,,3Vmesh,all…………说明:上述代码片段定义相同的单元类型(solid92),但编号分别为1和2,并将单元类型编号1利用网格划分分配给了1#体和2#体,从而对其进行优化计算;而单元编号为2利用网格划分分配给了3#体,从而不执行优化计算。1.4、定义载荷步或者需要提取的频率1.4.1线性结构静态分析对于结构优化而言,其总是在特定的载荷(或者载荷步),约束和目标下进行的,在优化分析的过程中,必须执行线性结构静态分析,才能获得需要的优化之后的形状。在ANSYS中,可以对单步载荷或者多步载荷执行优化分析,当然,单步载荷是最简单的了。然而,对
5、于某个特定载荷步,必须使用LSWRITE载荷步存储命令将载荷步预存起来,再用LSSOLVE命令进行求解。先看看下面的代码片段:…………D,10,all,0,,20,1文案大全标准实用Nsel,s,loc,y,0Sf,AllselLswrite,1Ddel,Sfdel,Nsel,s,loc,x,0,1D,all,all,0F,212,fx,Lswrite,2…………Lswrite,3…………Finish……Tocomp,mcomp,multiple,3Tovar,mcomp,objTovar,volume,con,,10TodefToloop,20文案大全标准实用…………说
6、明:该代码片段首先定义了3个载荷步,并利用LSWRITE命令将载荷步预存;之后利用Tocomp命令定义优化任务目标名称mcomp,并将体积减少10%作为优化的约束条件,之后用Todef初始化优化过程,最后利用Toloop命令执行优化计算,最大计算次数20次。相关命令:TOCOMP、TOVAR、TODEF、TOEXE、TOLOOP和简要说明。(1)TOCOMP:定义结构优化任务目标。(如何理解COMPLIANCE:Compliance本意是一致性,统一性,在结构优化分析中,特别是对于多个载荷步,需要在多个载荷步之间取得一致性的结果,才能满足结构优化分析的目标)(2)TOVA
7、R:定义优化变量,可以是目标变量,也可以是约束变量等;(3)TODEF:定义优化的初始化条件或者收敛准则;(4)TOEXE:执行单次优化计算;(5)TOLOOP:批量执行多次优化分析计算。说说TOEXE和TOLOOP之间的区别:TOEXE执行单次优化分析计算,其本身不执行结构分析过程,因此,在利用TOEXE命令执行优化计算之前,需要利用SOLVE或者LSSOLVE命令先执行结构静态分析计算;而TOLOOP是一个执行优化计算的宏命令,其中包含了SOLVE和LSSOLVE等命令,因此在上述代码片段中没有出现SOLVE或者LSSOL