abaqus 獲取odb場輸出中某一集合的數據
瀏覽:3196 收藏:8
獲取odb中某一個集合的數據,有代碼實現和cae實現
代碼實現:主要的是一個getSubset的函數,可以參考abaqus手冊
odb = openOdb(path='Job-2.odb') # 打開odb文件
print odb.rootAssembly.elementSets.keys() # 查看odb文件中可用的單元集合
elementset=odb.rootAssembly.elementSets[odb.rootAssembly.elementSets.keys()[1]] # 創建一個OdbSet
stressField = odb.steps['Step-1'].frames[1].fieldOutputs['S'] # 創建整個場輸出數據
field = stressField.getSubset(region=elementset, position=INTEGRATION_POINT, elementType='C3D6') # 獲取單元集的輸出數據
fieldValues = field.values # fieldValues的數據類型為 FieldValueArray
for v in fieldValues:
print v
# 想獲取什么內容,就輸入對應的名稱,比如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, 0.0132824070751667, 1.27494768094039e-05, 8.11893332866021e-05,-0.0778346583247185], 'f'),
# 'dataDouble': 'unknown', 'elementLabel': 18080, 'face': None, 'instance': 'OdbInstance
# object', 'integrationPoint': 2, 'inv3': 1.69891095161438, 'localCoordSystem': None,
# 'localCoordSystemDouble':'unknown', 'magnitude': None, 'maxInPlanePrincipal': 0.0, 'maxPrincipal': 1.71781802177429,
# 'midPrincipal':0.086165688931942, 'minInPlanePrincipal': 0.0, 'minPrincipal': -0.0698400065302849, 'mises': 1.71498501300812,
# 'nodeLabel': None, 'outOfPlanePrincipal': 0.0, 'position': INTEGRATION_POINT, 'precision': SINGLE_PRECISION,
# 'press': -0.578047931194305, 'sectionPoint': None, 'tresca': 1.78765797615051, 'type': TENSOR_3D_FULL}
cae實現:在Visualization-->Tools-->Display Group-->create ,創建集合相應的display group, 再點擊Query-->Probe values,可以選擇輸出相應的display group 的各種數據
技術鄰APP
工程師必備
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP
1
8




















