6_APDL基础及仿真理论-多工况下的拓扑优化
!多工况下的拓扑优化
!学习重点:
!1、 何为拓扑优化
!区分尺寸优化、形状优化、拓扑优化。拓扑优化是形状优化的一种特殊形式。网上资料和ansys help文件都有详细说明。
!2、单一工况载荷下的拓扑优化。单一工况拓扑操作流程很简单,APDL命令也很简单。Workbench也可以轻松实现。
!3、多工况下的拓扑优化。需要apdl用到lswrite 命令。目前不清楚如何完全由workbench完成多工况的拓扑优化。有可能在workbench中借助APDL命令来实现,按下不表,后期再做学习。(更新,这是以前写的了。貌似workbench做多工况也毫无鸭梨了,感兴趣的可以试试)
!案例如下:
! 平面应力问题。一个100*100的平面。左边固定,分别承受两种工况载荷情况。两种载荷并不是同时作用,所以要进行多工况下的拓扑优化分析。
首先,对只有向上作用力fy=100时,或者只有向下作用力fy = -100时进行topo分析,结果如下图
然后,对fy=100和fy=-100作为同一工况下加载,进行topo分析,结果如下图
然后,对多工况进行topo分析,结果如下图
上述结果可以证明,下列程序确实可以满足多工况的拓扑优化。但是处理起来复杂模型,还是多有不便,所以如何将其应用到workbench,是下一次考虑的重点。
!APDL命令:
finish
/clear
/prep7 !进入前处理
et,1,plane82 !定义能进行topo分析的单元,将其编号为1,其他编号则不参与优化。
mp,ex,1,2e11
mp,prxy,1,0.3 !定义材料属性
rectng,0,100,0,100 !画个矩形面
esize,2,0
amesh,all !划分网格
nsel,s,loc,x,0
d,all,all !定义fix约束,第一个工况
nsel,s,loc,y,100
f,all,fy,-100 !施加节点力,第一个工况
allsel,all
lswrite,1 !写第一个工况文件
ddele,all
fdele,all !删除所有边界条件,以便于进行第二个工况的读写
nsel,s,loc,x,0
d,all,all ! 定义fix约束,第二个工况
nsel,s,loc,y,0
f,all,fy,100 !施加节点力,第二个工况
allsel,all
lswrite,2 !写第二个工况文件
/pbc,all, , 1 !显示BC
finish
/solu
tocomp,mcomp,multiple,2 !两个工况的作用,定义目标函数名称为mcomp。如果是单个工况,则是tocomp,**,sing,1
tovar,mcomp,obj !将mcomp定义为目标函数
tovar,volume,con,,50, !以体积减少50%为约束函数
todef,0.001 !收敛容差0.001
toloop,30,1 !拓扑进行最多30步
finish
/post1
plnsol,topo !显示优化结果
finish