Python提取ABAQUS后处理XY数据到excel表格

大家在使用ABAQUS软件在 后处理绘图的时候不知道有没有想过将xy数据提取出来,当然我知道有人说可以通过:Plug-ins——>tools里面的表格输出到excel,这种方法是有效的但是却只适合少数的xy数据表提取,当你计算了几百个odb文件,想要提取同一个单元应力和位移的时候,就需要借助python了。不废话直接看如何操作。首先说明我是小白,这个提取方法是我自己研究整出来的,因为我看网上的那些提取方法太高大上了,看不懂。

我演示的大多数代码都是来自于PythonReader软件(PS:使用Python做ABAQUS的应该都有这个软件的吧)

如果你在ABAQUS的后处理界面点击创建XY数据,然后选择某个模型的某个单元提取它的场输出数据,就会产生如下代码,我这里代码表示的是:我在场输出中提取部件名为TAOGUAN-1的511号单元的mises应力。

odb = session.odbs['D:/FSJ/Gypsum bed for abaqus/ABAQUS simulation/python_creep/206.38_Stratified_creep/n1.0/A_1e-10n_1_0m_-0_5.odb']
xyList = xyPlot.xyDataListFromField(odb=odb, outputPosition=INTEGRATION_POINT, 
    variable=(('S', INTEGRATION_POINT, ((INVARIANT, 'Mises'), )), ), 
    elementLabels=(('TAOGUAN-1', ('511', )), ))
xyp = session.xyPlots['XYPlot-1']
chartName = xyp.charts.keys()[0]
chart = xyp.charts[chartName]
curveList = session.curveSet(xyData=xyList)
chart.setValues(curvesToPlot=curveList)
session.charts[chartName].autoColor(lines=True, symbols=True)

从第二行代码那一串我们可以看到数据被写入了xyList里面,再下面的行数文件其实是在后处理中绘图,那些不用管。现在就是用Python的excel函数将xyList里面的函数写入excel表格,但是要注意,xyList数据其实是要通过这个表达式输出来xyLis[0].data(至于为什么我已经忘记了),具体写入excel方法如下:

import xlwt
%创建一个新的excel表格
f=xlwt.Workbook()
# 新建sheet表
sheet1=f.add_sheet('sheet1',cell_overwrite_ok=True)
# 使用循环将xy数据写入表格sheet中
for i in range(len(xyList[0].data)):
    for j in range(len(xyList[0].data[i])):
        sheet1.write(i,j,xyList[0].data[i][j])
    #     sheet1.write('\t')
    # sheet1.write('\n')
# 保存数据excel表,完成数据提取
f.save('text.xls')

我这里只给出了xy数据提取的核心代码,具体打开odb文件到数据提取的内容还是要根据实际模型操作,完毕!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值