Abaqus后处理二次开发显示运动轨迹

Abaqus的Visualization模块提供了丰富的可视化、数据处理功能,但有时我们可能有一些“过分”的要求,比如想要在结果中显示运动轨迹,在常规操作的情况下目前还实现不了,好在Abaqus提供了丰富的二次开发接口,使用Python可以很方便的实现这个“过分”的要求。

gifhome_523x519.gif

简单的说一下通过*.rpy文件学习Python Scripts for Abaqus的方法:只要你在操作Abaqus,不管是否有存档的动作,主工作目录下的*.rpy文件都会像“阿赖耶识”一样悄无声息而准确地记录你在GUI界面下的每一个操作,因为Python很直观,所以你可以通过阅读的方式来学习这个Replay File,从而提高自己使用Python来进行前、后处理的能力,遇到不懂的地方可以查找帮助文档的Scripting部分,有详细的内容可以参考。

捕获.png

Abaqus帮助文档-Scripting

我们最终的码为tracing.py,使用它可以实现在Abaqus后处理时显示节点的运动轨迹,下面是tracing.py的文字释义与部分代码:

#指定作业名(ODB文件名称)、实例名称、节点编号、轨迹颜色代码
jobName = 'YourJobNAME'
instance='InstanceNAMEinODB!!!'
NLabel= 1
USim='#000000'
from abaqus import *
from abaqusConstants import *
from odbAccess import *
...
#定义视角、部件隐藏网格、变形显示模式,并按part instance进行色彩渲染
session.viewports['Viewport: 1'].view.setValues(session.views['Iso'])
session.viewports['Viewport: 1'].odbDisplay.display.setValues(plotState=(    DEFORMED, ))
session.viewports['Viewport: 1'].enableMultipleColors()
session.viewports['Viewport: 1'].setColor(initialColor='#BDBDBD')
cmap=session.viewports['Viewport: 1'].colorMappings['Part instance']
session.viewports['Viewport: 1'].setColor(colorMapping=cmap)
session.viewports['Viewport: 1'].disableMultipleColors()
#显示注释,隐藏坐标、罗盘、图例等其他信息
session.viewports['Viewport: 1'].viewportAnnotationOptions.setValues(triad=OFF,     legend=OFF, title=OFF, state=OFF, annotations=ON, compass=OFF)
#使用NodeSetFromNodeLabels抓取ODB中已指定编号的节点,并创建为新的节点集合对象,后面用
#以显示轨迹,注意代码中NodeSetFromNodeLabels抓取的是instance层级的节点对象,抓取assembly层
#级的参考点时请自行调整
...    
nodeSet = instance.NodeSetFromNodeLabels(name=nodeSetName, nodeLabels=(nodeLabel,))
...
#定义背景色彩等
session.graphicsOptions.setValues(backgroundStyle=SOLID,     backgroundColor='#FFFFFF')
session.printOptions.setValues(vpDecorations=OFF, vpBackground=ON)
#显示轨迹、定义轨迹线型等
...

Abaqus案例应用

A. 在这个模型中,小球以一定的初速度扔进漏斗,弹跳几下之后沿着漏斗曲面来回滚动,最终落入漏斗,图中显示的是球心的运动轨迹。

ezgif.com-optimize (1).gif

小球落入漏斗

B. 该模型为示意模型,演示了行星公转时卫星绕行星的运动,图中显示的是卫星的运动轨迹。

gifhome_693x503.gif

卫星运动

C. 这个模型是一个三级球面摆,外圈以恒定的速度转动,内圈在重力作用下做非规则运动,图中显示的是最内圈的摆端部中心点的运动轨迹。

gifhome_523x519.gif
三级球面摆

D. 最后这一个模型是之前的文章-奇妙的单摆中介绍过的,这里不再赘述,我们用此模型作为tracing.py的教学演示。

gifhome_615x645.gif

冲浪者单摆

本文章付费部分目录

1. tracing.py使用方法详细教学

2. tracing.py与冲浪者inp文件surfer.inp的Baidu网盘下载链接

该付费内容为:1. tracing.py使用方法详细教学 2. tracing.py与冲浪者inp文件surfer.inp的Baidu网盘下载链接

6张图片 11人购买
(9条)
默认 最新
厉害了我的哥,为老师点赞,出套付费课程来讲讲过程吧。
评论 点赞
为老师点赞!老师,出套付费视频教程详细讲解下这些案例的实现过程吧!
评论 点赞

查看更多评论 >

点赞 26 评论 11 收藏 12
关注