《abaqus-Python实例-操作excel文件.docx》由会员分享,可在线阅读,更多相关《abaqus-Python实例-操作excel文件.docx(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、word格式可编辑感谢下载支持abaqus Python实例操作excel文件目前处理数据离不开excel,所以pythoner必须学会用python操作excel表格。Python与excel交互 方法也比较多,我一开始就接触的xlrd/xlwt包。直到现在也没有发现什么bug或者缺点,而且上次从uj s505那里知道Win32com的方法在64bit系统下无效了,但是xlrd/xlwt方法依然好用,我欣喜万分。 这里给出我一个从材料单轴拉伸数据TRA文件中处理得到拉伸过程中各种应力应变量并记录到excel中 的例子,其实这个例子比较乱,但是实在没有时间给弄个明了的版本了。大家将就看看 fr
2、om math import * import sys import re import xlrd from xlwt import Workbook book=Workbook()sheet=book, add sheet(J test_NT,, cell_overwrite_ok=True) sheetl=book. add_sheetengineer , cell_overwrite_ok=True) sheet2=book. add sheet C True ,cell_overwrite_ok=True) sheet3=book. add_sheetPlastic , cell_ov
3、erwrite_ok=True) sheet4=book. add sheet C Plastic_modify,, cell_overwrite_ok=True) total_nubmer=46 nclown=0 nclown_e=0 nclown_t=0 nclown_p=0 nclown_pm=0for i in range(total_nubmer):myfile=,tensile- +str(i + 1)import csv from odbAccess import *from abaqusConstants import *filename=getInputPlease inpu
4、t the ODB file name,)# 下面这样都是我定义的字典或者list,用来存保存提取数据的elementArea= elementConn= nodeArea =timeTP=# 下面可以看做普通的从odb文件中提取结果的步骤# 打开指定的odb文件odb=openOdb(path二f ilename)# 得到assembly中所有的instanceinst=odb. rootAssembly. instances# 或者取第一个instance中的所有单元,因为我这个odb里面惟独一个instance# . keys。方法可以获得一个list有所有的instance名字elme
5、nts=instinst. keys() 0. elements# 下面一段对单元循环,得到每一个单元的几个结点,然后记录下来for el in elments:label=el. labelnodes=el. connectivitye1ementConn1abe1=nodes#节点nodes=instinst. keys() 0. nodes for nd in nodes: label=nd. labelnodeArealabel=0#打开指定的stepst=odb.stepsodb. steps, keys()0#对指定step的某个特定场变量做循环for v in st. frame
6、s-l. fieldOutputs? EV0L,. values:label=v. elementLabeldata =v.dataelementArealabel =datafor k, v in elementArea. iteritemsO : nds=elementConnk for nd in nds:nodeAreand+=0. 25*v#下面是提取每一个frame中每一个节点的NT11值 frames=st. framesfor fr in frames:ntll=fr. fieldOutputsf NT1T.valuestime二fr. frameValuesumTp=0sum
7、Ar=0for va in ntll:label=va. nodeLabeldata=va. data if data400000.0:i_temp=irunning=Falseelse:modifed_strain=engineer_straini-engineer_straini_tempmodifed_plastic_strain=log(1.0+modifed_strain)-engineer_stressi*(1.0+modifed_strain)/E_modulussheet4.write(nrows,nclown_pm,modifed_plastic_strain)sheet4.
8、write(nrows,nclown_pm+l,test_forcei)nrows+=l#output simulation resultnrows=3 for j in range(len(simu_P_strain):sheet4.write(nrows,nclown_pm+2/simu_P_strainj)sheet4.write(nrows,nclown_pm+3/simu_forcej)sheet4.write(nrows,nclown_pm+4,simu_triaxj) nrows+=l#next file(Test result)nclown_pm+=5book.save(material_treat.xls)另一例子