这篇的正题是要讲一个愚蠢的小故事,无奈之举,恐成笑柄。但是从Python+Abaqus前后处理的角度讲,还是有点意义的,所以才敢拿出来献丑。
三年航天器型号研制工作干下来,积累了不少陋习,但内心还是想努力克服的。抄、改、编、写的报告估计有几千页了,但是涉及到力学分析的报告,我总是尽可能把数据处理的对比清晰,截图也尽可能的整洁、紧凑、清晰。估计是经过《ABAQUS工程实例详解》和《ABAQUS分析之美》的历练养成的习惯。其实不然,早在读研时,导师对报告的撰写格式要求就非常高。以至于首行缩进2个字符和首行敲4个空格缩进的区别,导师一眼就能看出来,更别说对图片、PPT的要求。
作为ABAQUS的“体验”用户,恨不得什么分析问题都用ABAQUS解决,甚至是数据处理之后的再处理。由于经常写报告堆数据,以至于用数据画曲线图的能力都退化了,竟然不习惯用Excel画XY曲线图。还好我会Python和ABAQUS,一个愚蠢的主意诞生了——用Python处理数据在ABAQUS中画XY曲线。
1 准备Python创建XY Data的语句
在ABAQUS/CAE的Visualization模块,先用Keyboard手动创建一个XY Data。
查看该操作的Python记录(见工作区abaqus.rpy),复制到一个.py文件中,如下。
2 准备数据
用Python读Excel数据比较麻烦,没有.txt来得直接。习惯用xlrd的略过。将Excel中的数据直接复制到txt文件,第1列为X值,后续每列为一条Y数据。
3 修改Python脚本
将前面准备的.py文件改为以下形式,并在ABAQUS中运行该脚本文件。
4 查看保存XYData数据
创建的XYData数据可以保存到一个ODB文件中,以后可以打开查看、绘图。
绘制XY曲线如下图。
ABAQUS为XY曲线提供的设置功能(见下图)太丰富了,太好用了,画出来的曲线太干净、清晰,太让人喜欢了。
5 小结
我不是Excel高手,我喜欢用Python处理数据,用ABAQUS画XY曲线,因为我不太会用Matlab和matplotlib。
文中就不插广告了,影响阅读。文底留一个吧。