欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    abaqusPython实例-操作excel文件.pdf

    • 资源ID:76259027       资源大小:14.49KB        全文页数:12页
    • 资源格式: PDF        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    abaqusPython实例-操作excel文件.pdf

    abaqus Python实例 操作 excel文件目前处理数据离不开excel,所以 pythoner 必须学会用python 操作 excel 表格。Python与 excel 交互方法也比较多,我一开始就接触的xlrd/xlwt包。直到现在也没有发现什么bug或者缺点,而且上次从ujs505 那里知道Win32Com 的方法在64bit 系统下无效了,但是xlrd/xlwt 方法依然好用,我欣喜万分。这里给出我一个从材料单轴拉伸数据TRA 文件中处理得到拉伸过程中各种应力应变量并记录到 excel 中的例子,其实这个例子比较乱,但是实在没有时间给弄个明了的版本了。大家将就看看from math import*import sys import re import xlrd from xlwt import Workbook book=Workbook()sheet=book.add_sheet(test_NT,cell_overwrite_ok=True)sheet1=book.add_sheet(engineer,cell_overwrite_ok=True)sheet2=book.add_sheet(True,cell_overwrite_ok=True)sheet3=book.add_sheet(Plastic,cell_overwrite_ok=True)sheet4=book.add_sheet(Plastic_modify,cell_overwrite_ok=True)total_nubmer=46 nclown=0 nclown_e=0 nclown_t=0 nclown_p=0 nclown_pm=0 for i in range(total_nubmer):myfile=tensile-+str(i+1)f=open(myfile+.TRA,r)engineer_strain=true_strain=engineer_stress=true_stress=plastic_strain=test_force=s1=f.readline()s2=f.readline()s3=f.readline()s4=f.readline()s1=re.sub(|t|;|n,s1)s1=re.split(+,s1)name=s12 little=name-2:s2=re.sub(|t|;|n,s2)s2=re.split(+,s2)times=s22 print name+run+str(times)bk=xlrd.open_workbook(Static report.xls)sh=bk.sheet_by_name(Stat)diameter=sh.cell_value(i+2,4)area=pi*(diameter)*2)/4 E_modulus=sh.cell_value(i+2,7)state=True s0=f.readlines()s0=s0-2 s0=re.sub(;,s0)s0=re.split(+,s0)f.seek(0)s1=f.readline()s2=f.readline()s3=f.readline()s4=f.readline()while state:s=f.readline()s=re.sub(;,s)s=re.split(+,s)#print s#print s0 if(s=EOF)|(s=s0):state=False else:force=float(s1)eee=float(s0)/100.0 sss=force/area test_force.append(force)engineer_strain.append(eee)engineer_stress.append(sss)true_strain.append(log(1.0+eee)true_stress.append(sss*(1.0+eee)plastic_strain.append(log(1.0+eee)-sss*(1.0+eee)/E_modulus)f.close()#3 simu_strain=simu_P_strain=simu_triax=simu_force=simu_E=204323.0 simu_little=str(int(little)+3)simu_name=New_pass+simu_little+test.dat print refer to+simu_name simu_f=open(simu_name,r)simu_state=True s0=simu_f.readlines()s0=s0-1 s0=re.sub(;,s0)s0=re.split(+,s0)#print s0 simu_f.seek(0)simu_s1=simu_f.readline()while simu_state:simu_s2=simu_f.readline()simu_s2=re.sub(;,simu_s2)simu_s2=re.split(+,simu_s2)if(simu_s2=EOF)|(simu_s2=s0):simu_state=False else:#print simu_s2 s_force=float(simu_s25)s_eee=float(simu_s22)s_triax=float(simu_s23)s_sss=s_force/area simu_force.append(s_force)simu_triax.append(s_triax)simu_strain.append(s_eee)simu_P_strain.append(log(1.0+s_eee)-s_sss*(1.0+s_eee)/simu_E)simu_f.close()#3 nrows=3 sheet.write(0,nclown,sample)sheet.write(0,nclown+2,name)sheet.write(1,nclown,area)sheet.write(1,nclown+2,area)sheet.write(1,nclown+1,diameter)sheet.write(1,nclown+3,E_modulus)sheet.write(1,nclown+4,E_modulus)sheet.write(2,nclown,E_strain)sheet.write(2,nclown+1,E_stress)sheet.write(2,nclown+2,T_strain)sheet.write(2,nclown+3,T_stress)sheet.write(2,nclown+4,PL_strain)for i in range(len(engineer_strain):sheet.write(nrows,nclown,engineer_straini)sheet.write(nrows,nclown+1,engineer_stressi)sheet.write(nrows,nclown+2,true_straini)sheet.write(nrows,nclown+3,true_stressi)sheet.write(nrows,nclown+4,plastic_straini)nrows+=1 nclown+=5#output engineer strain and stress nrows=3 sheet1.write(0,nclown_e,file)sheet1.write(0,nclown_e+1,myfile)sheet1.write(0,nclown_e+2,E_modulus)sheet1.write(0,nclown_e+3,E_modulus)sheet1.write(1,nclown_e,sample)sheet1.write(1,nclown_e+1,name)sheet1.write(1,nclown_e+2,run)sheet1.write(1,nclown_e+3,times)sheet1.write(2,nclown_e,E_strain)sheet1.write(2,nclown_e+1,E_stress)for i in range(len(engineer_strain):sheet1.write(nrows,nclown_e,engineer_straini)sheet1.write(nrows,nclown_e+1,engineer_stressi)nrows+=1 nclown_e+=4#output true strain and stress nrows=3 sheet2.write(0,nclown_t,file)sheet2.write(0,nclown_t+1,myfile)sheet2.write(0,nclown_t+2,E_modulus)sheet2.write(0,nclown_t+3,E_modulus)sheet2.write(1,nclown_t,sample)sheet2.write(1,nclown_t+1,name)sheet2.write(1,nclown_t+2,run)sheet2.write(1,nclown_t+3,times)sheet2.write(2,nclown_t,T_strain)sheet2.write(2,nclown_t+1,T_stress)for i in range(len(engineer_strain):sheet2.write(nrows,nclown_t,true_straini)sheet2.write(nrows,nclown_t+1,true_stressi)nrows+=1 nclown_t+=4#output plastic strain and stress nrows=3 sheet3.write(0,nclown_p,file)sheet3.write(0,nclown_p+1,myfile)sheet3.write(0,nclown_p+2,E_modulus)sheet3.write(0,nclown_p+3,E_modulus)sheet3.write(1,nclown_p,sample)sheet3.write(1,nclown_p+1,name)sheet3.write(1,nclown_p+2,run)sheet3.write(1,nclown_p+3,times)sheet3.write(2,nclown_p,PL_strain)sheet3.write(2,nclown_p+1,T_stress)for i in range(len(engineer_strain):sheet3.write(nrows,nclown_p,plastic_straini)sheet3.write(nrows,nclown_p+1,true_stressi)nrows+=1 nclown_p+=4#output modified plastic strain and true stress nrows=3 i_temp=1 sheet4.write(0,nclown_pm,file)sheet4.write(0,nclown_pm+1,myfile)sheet4.write(0,nclown_pm+2,E_modulus)sheet4.write(0,nclown_pm+3,E_modulus)sheet4.write(1,nclown_pm,sample)sheet4.write(1,nclown_pm+1,name)sheet4.write(1,nclown_pm+2,run)sheet4.write(1,nclown_pm+3,times)sheet4.write(2,nclown_pm,PL_strain)sheet4.write(2,nclown_pm+1,Force)running=True for i in range(len(engineer_strain):if running:mincr=150 temp_e=(test_forcei-test_forcei+mincr)/(plastic_straini-plastic_straini+mincr)if temp_e400000.0:i_temp=i running=False else:modifed_strain=engineer_straini-engineer_straini_temp modifed_plastic_strain=log(1.0+modifed_strain)-engineer_stressi*(1.0+modifed_strain)/E_modulus sheet4.write(nrows,nclown_pm,modifed_plastic_strain)sheet4.write(nrows,nclown_pm+1,test_forcei)nrows+=1#output simulation result nrows=3 sheet4.write(2,nclown_pm+2,PL_strain)sheet4.write(2,nclown_pm+3,Force)sheet4.write(2,nclown_pm+4,TRIAX)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+=1#next file(Test result)nclown_pm+=5 book.save(material_treat.xls)另一例子import csv from odbAccess import*from abaqusConstants import*filename=getInput(Please input the ODB file name)#下面这样都是我定义的字典或list,用来存保存提取数据的elementArea=elementConn=nodeArea =timeTP =#下面可以看做一般的从odb 文件中提取结果的步骤#打开指定的odb 文件odb=openOdb(path=filename)#得到 assembly 中所有的instance inst=odb.rootAssembly.instances#或取第一个instance中的所有单元,因为我这个odb 里面只有一个instance#.keys()方法可以获得一个list有所有的instance名字elments=instinst.keys()0.elements#下面一段对单元循环,得到每个单元的几个结点,然后记录下来for el in elments:label=el.label nodes=el.connectivity elementConnlabel=nodes#节点nodes=instinst.keys()0.nodes for nd in nodes:label=nd.label nodeArealabel=0#打开指定的step st=odb.stepsodb.steps.keys()0#对指定 step 的某个特定场变量做循环for v in st.frames-1.fieldOutputsEVOL.values:label=v.elementLabel data=v.data elementArealabel=data for k,v in elementArea.iteritems():nds=elementConnk for nd in nds:nodeAreand+=0.25*v#下面是提取每个frame 中每个节点的NT11值frames=st.frames for fr in frames:nt11=fr.fieldOutputsNT11.values time=fr.frameValue sumTp=0 sumAr=0 for va in nt11:label=va.nodeLabel data=va.data if data0:area=nodeArealabel sumTp+=data*area sumAr+=area try:mean=float(sumTp)/float(sumAr)timeTP.append(time,mean)except:print fr.frameId filename=getInput(pleae input the csv file n name to save)wr=csv.writer(file(filename,wb)#这个把结果写进csv 文件,只要一句,很简单,也可以在这一句之前写个表头wr.writerows(timeTP)

    注意事项

    本文(abaqusPython实例-操作excel文件.pdf)为本站会员(索****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开