Python提取AbaqusODB中的場變量(Field_第1頁
Python提取AbaqusODB中的場變量(Field_第2頁
Python提取AbaqusODB中的場變量(Field_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、Python提取Abaqus ODB中的場變量(Field output)與歷史變量(Historyoutput)方法胡劍橋 (jianqiaohu)(1) 創(chuàng)建bat文件,這一步并不是必須的,但是推薦使用。用來提供ODB路徑以及寫出文件路徑的方法。方便在windows command中提交。也可以直接在Python中提供讀寫路徑。(2) 關(guān)于場變量和歷史變量的提取,Python對接odb時(shí)有很簡單嚴(yán)格的數(shù)據(jù)結(jié)構(gòu)。具體的ODB數(shù)據(jù)結(jié)構(gòu)如下所示:(3) Field output提取方法。場變量輸出是以一個(gè)個(gè)set來輸出的,如果不選擇set,就默認(rèn)為輸出整個(gè)模型的對應(yīng)的場變量,選擇set是為了輸出

2、研究者感興趣區(qū)域的場變量。在abaqus model里面創(chuàng)建set時(shí),是有兩個(gè)地方是可以用來創(chuàng)建set,所以在選出需要輸出場變量區(qū)域的時(shí)候就涉及到了如下的兩種路徑: 一是:odbrootAssemblySets二是:odbrootAssemblyinstancesSets用戶可以通過相關(guān)命令查看對應(yīng)的集合的名稱,以節(jié)點(diǎn)集為例。print 'Node sets = ',odb.rootAssembly.nodeSets.keys()print 'Node sets = ', odb.rootAssembly.instances'PART-1-1'.

3、nodeSets.keys()這兩種分別能打印出所有節(jié)點(diǎn)集合,注意需要預(yù)先區(qū)分個(gè)人定義的節(jié)點(diǎn)集合是否在instances上。 定義需要輸出區(qū)域的語句是:Region=odb.rootAssembly.nodeSets要研究的Set名而定義相關(guān)場變量輸出時(shí),語句就非常簡單了。例如,用戶想要輸出在Step-3,第i個(gè)Frame時(shí)(也可以寫個(gè)循環(huán)來調(diào)用不同F(xiàn)rame)的U3位移場,這樣定義的場變量方式為:Frame=odb.stepsStep-3.frameiRootU3=Frame.fieldOutputsU3或者直接就是RootU3= odb.stepsStep-3.framei .fieldO

4、utputsU3后續(xù)寫出數(shù)據(jù)到文件只需遵照Python的讀寫文件操作即可。讀取Abaqus時(shí)所需要的頭文件也都是一樣的。所以,采用Python讀取Abaqus ODB局部區(qū)域的某一場變量的整理思想是:先定義所關(guān)心的Step中所對應(yīng)的第i個(gè)frame,然后定義自己關(guān)心區(qū)域,最后結(jié)合這兩者。(注意大小寫,)如下最初輸出Set-1集合上的U3存儲到RegioncareU3中:Frame=odb.stepsStep-3.frameiRootU3=Frame.fieldOutputsU3Regioncare=odb.rootAssembly.nodeSetsSet-1RegioncareU3= Root

5、U3.getSubset(region=Regioncare)(4) History output提取方法History output提取方法類似,首先是Pyhton中對應(yīng)的一些頭文件:from odbAccess import *from abaqusConstants import *定義odb對應(yīng)的路徑,寫出文件的路徑(建議這部分在bat文件中進(jìn)行,后續(xù)處理會更簡單)?;舅悸芬彩穷愃频模枰⒁獾氖?,history output中并不存在Frame的問題。所以定義需要輸出的歷史變量僅僅涉及到Step的問題。于是定義區(qū)域基本語句為:Step1=odb.steps'Step-1&

6、#39;RegionPoint1=Step1.historyRegions'位置名稱'同樣,此處需要知道自己輸出了model中那些區(qū)域的“位置名稱”,可以通過如下語句在屏幕中打印出來,打印出step-1加載步中輸出的所有historyregions名稱。Step1=odb.steps'Step-1'print Step1.historyRegions.keys()通過以上命令打印出所有“位置名稱”,選擇自己關(guān)心的區(qū)域即可。選擇需要輸出的場變量(輸出之前選擇的“位置名稱”上的RF3),如下所示:RFPoint1=RegionPoint1.historyOutputs'RF3'.data之后的流程及基本一樣,寫入到文件即可。因此,綜合來講,核心語句有:odb = openOdb(path=odbPath,readOnly=TRUE) Step1=odb.steps'Step-1'R

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論