ABAQUS,python自動(dòng)提取應(yīng)力云圖、位移云圖,提取節(jié)點(diǎn)LPD曲
#非線性屈曲分析計(jì)算結(jié)果,自動(dòng)提取應(yīng)力云圖、位移云圖,提取節(jié)點(diǎn)LPD曲線
#要提取Abaqus的非線性屈曲分析計(jì)算結(jié)果中的應(yīng)力云圖、位移云圖和節(jié)點(diǎn)LPD曲線,可以使用Abaqus的Python Scripting接口。


#
#應(yīng)力云圖和位移云圖的提取可以使用OdbAccess模塊中的ElementSet類和Field類,示例代碼如下:
#```python
from abaqus import *
from odbAccess import *
# 打開(kāi)ODB文件
odb = openOdb('Job-1.odb')
# 獲取步驟和最后一幀的結(jié)果數(shù)據(jù)
lastFrame = odb.steps['Step-1'].frames[-1]
displacement = lastFrame.fieldOutputs['U']
stress = lastFrame.fieldOutputs['S']
# 定義ElementSet,這里定義為所有元素
elementSet = odb.rootAssembly.instances['Part-1-1'].elementSets['All Elements']
# 獲取ElementSet的應(yīng)力和位移字段數(shù)據(jù)
stressData = stress.getSubset(region=elementSet).values
displacementData = displacement.getSubset(region=elementSet).values
# 創(chuàng)建云圖
vpName = "Viewport: 1"
session.viewports[vpName].makeCurrent()
odbDisplay = session.Viewport(name=vpName).odbDisplay
odbDisplay.setFrame(step=0, frame=0)
odbDisplay.setPrimaryVariable(variableLabel='S', outputPosition=INTEGRATION_POINT)
odbDisplay.display.setValues(plotState=(CONTOURS_ON_DEF,))
odbDisplay.setPrimaryVariable(variableLabel='U', outputPosition=NODAL)
odbDisplay.display.setValues(plotState=(DEFORMED,))
```
節(jié)點(diǎn)LPD曲線的提取可以使用OdbAccess模塊中的Node類和HistoryOutput類,示例代碼如下:
```python
from abaqus import *
from odbAccess import *
# 打開(kāi)ODB文件
odb = openOdb('Job-1.odb')
# 獲取節(jié)點(diǎn)
node = odb.rootAssembly.instances['Part-1-1'].nodeSets['Node-1']
# 定義HistoryOutput,獲取節(jié)點(diǎn)的位移和載荷歷程
displacement = odb.steps['Step-1'].historyOutputs['U'+'_'+ str(node.name)]
load = odb.steps['Step-1'].historyOutputs['RF'+'_'+ str(node.name)]
# 獲取位移和載荷數(shù)據(jù)
displacementData = displacement.data
loadData = load.data
# 創(chuàng)建LPD曲線
xyValues = []
for d, l in zip(displacementData, loadData):
? ? xyValues.append((d[1], l[1]))
xLabel = 'Displacement'
yLabel = 'Load'
chartName = 'LPD'
chart = session.XYData(name=chartName, data=xyValues)
chart.setValues(xColumnName=xLabel, yColumnName=yLabel)
chart.show()
#```
#
#以上示例代碼需要根據(jù)實(shí)際情況進(jìn)行修改和擴(kuò)展,例如定義ElementSet和NodeSet、
#選擇特定的結(jié)果變量、修改云圖和LPD曲線的顯示參數(shù)等。
鏈接:https://pan.baidu.com/s/1BoPXkmfVi2--UdavMTmceg?
提取碼:p4f5?
