不知火舞的被虐|伊人天伊人天天综合网|博洛尼亚天气|任你懆这里只有精品4|久久美日韩精品久久|掌中之物漫画免费阅读观看|0丨d老妇

odb的案例

abaqus 獲取odb場(chǎng)輸出中某一集合的數(shù)據(jù)
contextscope=all odb = openOdb(path='Job-2.odb') # 打開(kāi)odb文件 print odb.rootAssembly.elementSets.keys() # 查看odb文件中可用的單元集合 elementset=odb.rootAssembly.elementSets[odb.rootAssembly.elementSets.keys()[1]] # 創(chuàng)建一個(gè)OdbSet stressField = odb.steps['Step-1'].frames[1].fieldOutputs['S'] # 創(chuàng)建整個(gè)場(chǎng)輸出數(shù)據(jù) field = stressField.getSubset(region=elementset, position=INTEGRATION_POINT, elementType='C3D6') # 獲取單元集的輸出數(shù)據(jù) fieldValues = field.values # fieldValues的數(shù)據(jù)類(lèi)型為 FieldValueArray for v in fieldValues: print v # 想獲取什么內(nèi)容,就輸入對(duì)應(yīng)的名稱(chēng),比如v.data=[ 1.71781802177429, 0.00304327975027263, 0.0132824070751667, 1.27494768094039e-05, 8.11893332866021e-05,-0.0778346583247185] # v.elementLabel=18080 #{'baseElementType': 'C3D6', 'conjugateData': None, 'conjugateDataDouble': 'unknown', # 'data': array([1.71781802177429, 0.00304327975027263
展開(kāi)
ODB to Output2:將ABAQUS結(jié)果文件轉(zhuǎn)譯為NASTRAN的output2文件
這個(gè)問(wèn)題的主要原因是:比如nCode2018只支持ABAQUS2017的odb文件。甚至軟件如果更新的比較頻繁,發(fā)布的月份都會(huì)有影響。 我在工作中就遇見(jiàn)過(guò)類(lèi)似的問(wèn)題:ABAQUS2018版本的odb文件不能被nCode2018和Altair2018讀取。通過(guò)錯(cuò)誤提示,我發(fā)現(xiàn)nCode2018和Altair2018均只支持ABAQUS2017。 所以我采用的解決方法是使用ABAQUS內(nèi)置的轉(zhuǎn)譯功能將odb文件轉(zhuǎn)譯成output2文件,這樣一來(lái)2018的odb就變成了2017的output2,就可以在nCode2018和Altair2018之間通用了。 ABAQUS提供的轉(zhuǎn)譯語(yǔ)句是: abaqus toOutput2 job=jobname odb=odbname step=stepid 使用方法: 打開(kāi)Abaqus Command; 指定當(dāng)前工作目錄到需要轉(zhuǎn)譯的odb文件所在的目錄; 鍵入命令:abaqus toOutput2 job=jobname odb=odbname step=stepid。
展開(kāi)
利用Python批量打開(kāi)ODB文件,提取位移數(shù)據(jù)寫(xiě)入txt文件 ¥2
借助abaqus在參數(shù)分析時(shí)經(jīng)常遇見(jiàn)大量的odb數(shù)據(jù)需要處理,本人結(jié)合個(gè)人經(jīng)驗(yàn),編制了以下腳本,可打開(kāi)多個(gè)odb模型,并進(jìn)行數(shù)據(jù)處理。 odb模型列表如下: Job-2000.odb Job-2500.odb Job-3000.odb Job-3500.odb Job-4000.odb
利用Python提取ABAQUS的.odb結(jié)果中的輪軌接觸信息 ¥500
ABAQUS 顯式explicit計(jì)算時(shí)所有結(jié)果都將寫(xiě)入到.odb文件中,在GUI界面進(jìn)行數(shù)據(jù)提取時(shí)效率較低,且有些詳細(xì)結(jié)果不能直接從.odb中獲取。因此,需要利用python讀取.odb,然后進(jìn)行提取關(guān)心的數(shù)據(jù),以此進(jìn)行下一步計(jì)算。
odb圖1
abaqus combine odbs
想將多個(gè)odb文件合并,在后處理中做成一個(gè)動(dòng)畫(huà),對(duì)于combine odb有問(wèn)題, 查了,有用如下的 abaqus restartjoin originalodb=<original odb file name> restartodb=<restart odb file name> [copyoriginal] [history] [compressresult] , 試了沒(méi)效果, 也看了abaqus插件中的combine odbs, 也試不出來(lái)。 求助
abaqus 2017屈曲分析后處理odb轉(zhuǎn)vtu python文件 ¥100
(3)輸出 VTU 格式文件, 輸出位移 (4)函數(shù)調(diào)用buckle_output_result_vtu(job_path, job_name, step_name, Numeig,meshtype) #job_path路徑 #job_name:odb名字 #step_name:載荷步名字 #Numeig:特征值個(gè)數(shù) #meshtype = "UnstructuredGrid" 部分代碼: def buckle_output_result_vtu(job_path, job_name, step_name, Numeig,meshtype): #import abaqusConstants odb = odbAccess.openOdb(path=os.path.join(job_path, str(job_name) + ".odb")) write_eigenvalue_list(job_path,job_name,step_name) assembly = odb.rootAssembly step = odb.steps[step_name] try: for frame_index in range(1,Numeig+1): last_frame = step.frames[frame_index] #單元類(lèi)型和VTU轉(zhuǎn)換關(guān)系 abaqus_to_vtu = { "CAX3" : 5, "CAX3H" : 5, "CAX4R" : 9, "CAX4I" : 9, "C3D8" : 12, "C3D8R" : 12, "C3D8I" : 12, "C3D6" : 13, "C3D10M": 24, "C3D4
展開(kāi)
ABAQUS結(jié)果提取重構(gòu)插件【ODB Extractor and Builder Tool】 ¥19.89
當(dāng)我們用abaqus對(duì)一個(gè)模型計(jì)算完成后,會(huì)得到一個(gè)odb結(jié)果文件,該文件可大可小,有的結(jié)果文件甚至高達(dá)幾十上百G,如果我們想把該odb結(jié)果文件的部分信息提供給其他人查看,出于保密原因考慮,我們不能提供完整的結(jié)果文件,所以這個(gè)時(shí)候我們就可以使用插件OEBT來(lái)完成,提取我們想要的部分或全部結(jié)果信息。 這個(gè)插件提供了一種方法來(lái)重新創(chuàng)建Abaqus結(jié)果數(shù)據(jù)庫(kù)(.odb)的一部分作為一個(gè)新的.odb文件。具體有以下特點(diǎn): 1 和分析團(tuán)隊(duì)/外部合作伙伴分享部分結(jié)果數(shù)據(jù)信息; 2 減少odb數(shù)據(jù)庫(kù)加載時(shí)間(通過(guò)刪除不必要的數(shù)據(jù)); 3 通過(guò)縮減odb文件以只存儲(chǔ)某些相關(guān)結(jié)果來(lái)減少存儲(chǔ)空間占用; OEBT插件界面 插件使用方法: 將壓縮包解壓,復(fù)制到*D:\SIMULIA\CAE\2019\win_b64\code\python2.7\lib\abaqus_plugins 下即可使用 注意:最新版插件名字已經(jīng)由之前的OEBT改為了ORB,該插件對(duì)abaqus2018及以后的版本兼容,對(duì)早期低版本不兼容。 附件是該ORB2.3.0插件和使用說(shuō)明書(shū)
展開(kāi)
Python 提取odb結(jié)果
### python腳本提取解釋 # 導(dǎo)入模塊 from odbAccess import * from abaqusConstants import * from odbMaterial import * from odbSection import * import math # 打開(kāi)odb文件 odb = openOdb(path=r'G:\CABLE_CON\TEXT2\Job-1.odb') Step_1=odb.steps['Step-1'] # 鎖定目標(biāo)繩索 region = Step_1.historyRegions['Element ASSEMBLY.1'] xy1=region.historyOutputs['CTF1'].data[300] # 取最后一幀數(shù)據(jù),并將括號(hào)刪掉 s=str(xy1) s = s.replace("(", "") s = s.replace(")", "") # 將繩力輸出到 F1.txt 文件 disFile=open('F1.txt','w') disFile.write(s) disFile.close() # 取最后一幀數(shù)據(jù) lastFrame=Step_1.frames[-1] Zuobiao=lastFrame.fieldOutputs['COORD'] Regioncare=odb.rootAssembly.nodeSets['RP'] Coor1=Zuobiao.getSubset(region=Regioncare) Zuobiao_x=Coor1.values[0].data[0] Zuobiao_y=Coor1.values[0].data[1] Zuobiao_z=Coor1.values[0].data[2] Zhuanjiao=lastFrame.fieldOutputs
展開(kāi)
用Python代碼獲得ODB文件中某些容器中的key(比如step的名字)
有時(shí)候在利用Python進(jìn)行前后處理的時(shí)候,訪問(wèn)容器中的某一個(gè)對(duì)象時(shí),需要這個(gè)對(duì)象的名字,也就是這個(gè)對(duì)象的key,但是如果對(duì)這個(gè)ODB文件不是很了解,或者時(shí)間長(zhǎng)了忘記了,那么可以通過(guò)如下方式來(lái)獲得容器中的所有key。
Abaqus-利用python處理有多個(gè)instances的odb文件,得到inp模型數(shù)據(jù)用于前處理
在一些情況下,odb文件中包含有多個(gè)instances,instances之間會(huì)有節(jié)點(diǎn)和單元是重合。很多情況下需要得到該odb模型數(shù)據(jù),并將其導(dǎo)入hypermesh進(jìn)行前處理。如果直接從abaqus中得到odb模型數(shù)據(jù)的inp輸入導(dǎo)入到hypermesh中,會(huì)有重合節(jié)點(diǎn)和單元報(bào)錯(cuò),然而利用python可以解決該問(wèn)題。
一個(gè)提高訪問(wèn)Abaqus結(jié)果ODB文件效率的方法技巧
另外一個(gè)問(wèn)題,如果需要訪問(wèn)多個(gè)frame,也是有兩種方式: 方式1: for i in range(len(odb.steps[name].frames)-1): frame[i] = odb.steps[name].frames[i] 方式2: frameRepository = odb.steps[name].frames for i in range(len(frameRepository)-1): frame[i] = frameRepository[i] 明顯,方式2是更經(jīng)濟(jì)的做法。
odb圖2
ABAQUS批量提交Job與Python讀取ODB結(jié)果應(yīng)力應(yīng)變數(shù)據(jù)
# coding: utf-8#微信公眾號(hào):ABAQUS二次開(kāi)發(fā)#作者:阿信老師CAE#email:axin_cae@163.com#2022.03.17 from odbAccess import *from visualization import * frame_num = 20 #定義需要輸出的幀odbName = 'X:/***/***.odb' #odb路徑和名稱(chēng)elemSetName = '***' #單元setodb = openOdb(path=odbName)#打開(kāi)odbregion = odb.rootAssembly.elementSets[elemSetName]frameRps = odb.steps['Step-1'].framesf_S1 = frameRps[frame_num].fieldOutputs['S'] #需要輸出的場(chǎng)變量sub_f_S1 = f_S1.getSubset(region=region) S_Value = sub_f_S1.values#讀取所有單元的應(yīng)力值for i in range(len(S_Value)): Stress =S_Value[i].data print Stressodb.close() 若有緣,江湖再會(huì)。 阿信 2022.3.17 文章來(lái)源:ABAQUS二次開(kāi)發(fā)
展開(kāi)
ABAQUS odb數(shù)據(jù)解析系列文章---總綱
此系列文章將著手于odb文件的結(jié)構(gòu)特征, 進(jìn)而使得在后處理插件開(kāi)發(fā)過(guò)程中少走彎路, 少做重復(fù)性工作.” python是一種面向?qū)ο蟮母呒?jí)語(yǔ)言, 那么在使用python處理odb的時(shí)候就要著手于對(duì)象, 將odb文件的對(duì)象譜系梳理清晰. 在完成上述工作之后, 再進(jìn)行后處理二次開(kāi)發(fā)的時(shí)候就可以直接按圖索驥, 快速找到自己需要使用的方法了. 01 — 解析過(guò)程中的重要工具 ABAQUS為其定義的所有類(lèi)提供了兩個(gè)特別有用的方法: object.__methods__: 可以查看該類(lèi)內(nèi)部的所有方法 object.__members__: 可以查看該類(lèi)內(nèi)部的所有屬性 這兩個(gè)方法為梳理ABAQUS對(duì)象譜系起到了很大的作用, 避免了使用python自帶的dir方法(因其將對(duì)象內(nèi)部所有的方法與屬性同時(shí)返回, 導(dǎo)致解析困難). ABAQUS還提供了優(yōu)化了的print方法, 該方法位于ABAQUS的textRepr中, 名為prettyPrint.
展開(kāi)
用python保存odb文件中每一幀的mises應(yīng)變
直接在abaqus里面調(diào)用就可以了 from abaqus import * from abaqusConstants import * from odbAccess import * import numpy as np import os SavePath = 'G:/Abaqus_jobFile/6/' odb = openOdb(path='G:/Abaqus_jobFile/6.odb ') for i in range(len(odb.steps['static'].frames)): frame = odb.steps['static'].frames[i] #print frame.frameId fileName = SavePath + str(frame.frameId)+'.txt' with open(fileName,'a') as f: s_field = frame.fieldOutputs['S'].values for j in s_field: data = str(j.elementLabel)+'\t' +str(j.mises) + '\n' f.write(data)
展開(kāi)
Abaqus采用Python腳本提取ODB信息,輸出為VTK的UnstructureGrid文件格式 ¥49.99
最近寫(xiě)了兩個(gè)腳本,一個(gè)是保存VTK非結(jié)構(gòu)網(wǎng)格格式的文件,一個(gè)是提取Abaqus計(jì)算結(jié)果中的網(wǎng)格信息、field信息,將兩個(gè)腳本結(jié)合起來(lái)就可以實(shí)現(xiàn)提取ODB中的信息,并保存成為VTK非結(jié)構(gòu)網(wǎng)格文件,當(dāng)然,還是需要有Abaqus環(huán)境。 注意:提取ODB信息的那個(gè)腳本目前僅僅是針對(duì)我自己提供的那個(gè)算例,有能力的朋友完全可以修改一下用于自己的情況。寫(xiě)VTK非結(jié)構(gòu)網(wǎng)格文件的那個(gè)腳本目前應(yīng)該沒(méi)有太大的bug。ODB信息的提取還是需要有Abaqus環(huán)境,并不是解析二進(jìn)制文件。請(qǐng)看清楚再確定是否需要。 之所以做這個(gè),還是希望慢慢完善,從而積累出一定數(shù)量的腳本,用于ODB數(shù)據(jù)的提取。 以下是abaqus中的網(wǎng)格和云圖,和用paraview查看的vtk文件的網(wǎng)格和云圖:
展開(kāi)