后处理中动画十分有用,借助动画可以获得更为全面的计算结果信息,应用图形方式可以解释很多分析结果,包括非线性或者与时间有关的问题等,这对于向导师或者领导汇报工作的时候无疑是一个加分的操作。ANSYS中本身有提供动画制作的功能,然而功能有限且单一,有时候并不能达到我们想要的效果。利用ANSYS APDL强大的后处理编程功能,可以制作我们想要的动画效果,例如以上周水哥新出课程框架结构的地震时程响应为例,做了如下动画。
该图中有两个动画窗口,其中上面窗口为地震时程分析中某个节点的X方向地震响应曲线,蓝色线为总的位移响应曲线,随着时间的推移,红色的线逐渐覆盖,表达其走势。
下面窗口为对应的位移响应云图,也即在地震响应过程中结构的位移响应动态情况。本动画的目的就是为了获取整个地震响应过程中结构的云图情况以及对应时刻节点响应的曲线走势,并放在同一窗口中,利于观察。
如果要实现上述功能,ANSYS自带动画功能基本不能满足需要,主要原因在于ANSYS动画制作功能较为单一,ANSYS用户自定义动画输出其实就是利用了DISPLAY程序制作动画。ANSYS DISPLAY程序有如下优势:
1、允许各种图形彼此重叠,可用于创建复杂动画;
2、可创建多个窗口,允许任意调整窗口大小;
3、支持用户自定义色彩配置,用于修改动画背景颜色;
在动画制作之前,用户首先应规划好窗口个数以及动画的内容,并将其指定到grph文件,最后用ANSYS DISPLAY程序打开前面生成的grph文件制作动画。
下面水哥就简单简述本文的动画制作过程,供大家参考。
1、利用/show,file命令新建file.grph文件,并指定大小,注意此命令使用之后一定要在最后面输入/show,close命令完成创建,也即这两个命令是成套使用的。
/show,file !新建动画GRPH文件
/gfil,2400 !指定图像大小
/nopr !关闭输入数据插值
2、基本图形设置,主要涉及窗口的位置、大小、标签显示等问题。
!基本图形设置
/reset !首先恢复默认设置
/device,vect,off !填充颜色格式,而不是线框格式
/plop,info, 3 !以Multi-legend模式显示legend
/plop,minm, 0 !不显示最大、最小值
/triad,off !关闭整体坐标系标识
/gropt,view,1 !曲线显示设置
/xrange, 0.0000,0.83330E-03 !x坐标的范围
/psym,ldiv,off !符号显示控制
/col,curv,red,1 !曲线颜色设为红色
/trlcy,on !打开半透明设置开关
!
!1号窗口设置
/wind,1,-0.3375,0.9975,-1,0 !设置窗口大小
/VIEW, 1, -0.49,-0.74,0.44
/ANG, 1,56.3
/REPLO
/AUTO,1
/REP,FAST
/type,1,6 !定义显示类型为Z-buffered
/edg,1,0,45.000 !边界设置
/dsca,0 !位移显示的乘子设置
/udoc,1,cntr,left !图形标记设置
/udoc,1,logo,off
/udoc,1,type,off
/udoc,1,typ2,off
/cont,1,5,auto !云图设置
!/UDOC,1,CNTR,0
!
!2号窗口设置
/wind,2,-0.3375,0.9975,0,1 !设置窗口大小
/view,2,0.0000,0.0000,1.0000 !设置窗口视角
/foc,2,0.49011,0.49736,0.50000 !设置窗口中心点位置
/dist,2, 0.76963 !指定观察距离
/type,2, 6 !定义显示类型为Z-buffered
/edg,2,0,45.000 !边界设置
/cont,2,5,auto !云图设置
/udoc,2,logo,off !图形标记设置
/udoc,2,type,off
/udoc,2,typ2,off
/go
有的同学可能会有疑问,就是如何设置窗口的大小、位置以及模型查看角度等,因为看文中的命令流,数据都是小数,好像并无规律可循,这里水哥介绍一下比较常用的方法,供大家参考。
窗口的大小和位置同学们是直接可以计算的,为什么这么说呢?大家可打开/wind这个命令的Help,里面详细介绍了窗口位置和大小的计算方式,ANSYS窗口尺寸横坐标变化范围为-1~1.67,纵向变化为-1~1,例如要实现窗口在纵向占据一半,在分布范围为0~1,从上面的命令流大家也可以很好理解了。
其实最难理解的是窗口的放大、缩小,观测点,这些数值也无法准确计算,故一个较为方便的方法就是在ANSYS中调整到位后,然后利用输出的log文件,直接复制即可。
例如 打开一个模型后,尽量在几步之内调整到适合观测的角度,然后打开log文件,复制相应的命令流即可。
3、通过/post1处理器获取荷载步数或者子步数以及计算结束的时间值,准备在各个荷载步或者荷载子步数之间循环。
注意对地震时程分析,我们需要查看的是各个荷载步之间的结果,而对于非线性问题,我们需要查看的是各个荷载子步之间的结果。
/post1
set,last
*get,MYSBST,active,,set,lstp !获得载荷子步数
*get,MYENDT,active,,set,time !获得求解结束时的时间
finish
4、通过循环,依次指定每个窗口的内容。这一步是用户自定义动画最大的优势,在这一步,你可以根据你自己的需求在每个窗口输出相应的内容,不管是时间历程后处理还是通用后处理,一个主要的原则是为了保证窗口之间不相互影响,在书写一个窗口的内容时,需要关闭其他的窗口,窗口之间的打开与关闭通过/win命令实现。
!循环并生成动画
*do,ICOUNT,1,300,1
!激活1号窗口
/win,1,off
/win,2,off
/post1
/win,1,on
! 打开第ICOUNT子步获得子步对应的时间(MYTIME)
set,ICOUNT,last
*get,MYTIME,active,,set,time
/cont,1,5,auto !云图设置
/dscale,100
allsel,all
esel,u,type,,5
/DSCALE,ALL,500
/EFACET,1
PLNSOL, U,X, 0,1.0
/noerase
finish
!激活2号窗口
/win,1,off
/win,2,on
/post26
nsol,2,16886,u,y
!时间历程曲线坐标轴设置
/axlab,x,Time
/axlab,y,Displacement
/xrang,0,MYENDT
/yrang,-4,2
!用蓝色绘制全程曲线
/color,curve,blue,1
pltime,0,MYENDT
plvar,2
!用红色绘制直到当前时间MYTIME的数据曲线
/color,curve,red,1
pltime,0,MYTIME
plvar,2
/erase
finish
*enddo
!
!关闭动画GRPH文件,恢复ANSYS图形窗口
/show,close
5、运行完上述命令之后,会在工作目录下生成名为file的grph文件,使用ANSYS DISPLAY UTILiTY打开改文件。
有同学可能会问该程序在哪里,一般情况下,他的路径为:
电脑开始菜单>ANSYS>ANSYS Product Launcher>Tools>Run Display Utliity。
如果新版本在上述路径中无法查看到,则在下面路径中直接找到其程序:
“安装盘符ANSYS Incv211ansysbinwinx64DisplayW.exe”
6、打开Display程序,并打开生成的grph文件,点击Display–>Animate>Create制作动画文件。建议文件名带路径输入,否则输出的文件位于C:Users用户名 下。每帧直接的间隔时间可根据自己需要设置,右侧分包设置开始和结束的帧数以及动画显示的帧数间隔。比如水哥这里输出了300个荷载步的结果,那么就有300帧,每一帧时间间隔取0.1,那么生成的视频就有30s。
通过上述方法,用户即可实现自定义的动画输出了。
以上方法,仅供参考~!
祝好
ANSYS结构院
2021.5.17
- 最新
- 最热
只看作者