欢迎光临散文网 会员登陆 & 注册

abaaqus非线性屈曲分析自动后处理脚本输出应力位移云图、LPD曲线和最大应力值

2023-05-08 07:25 作者:仿真资料吧  | 我要投稿

以下是针对abaaqus非线性屈曲分析后处理的代码,其中输出应力位移云图、LPD曲线和最大应力值。

#```python
import numpy as np
import matplotlib.pyplot as plt
from abaqus import *
from abaqusConstants import *
from visualize import *

# 获取ODB文件
odb = openOdb('job_name.odb')

# 获取应力和位移历程数据
stressStrain = odb.steps['Step-1'].historyRegions['ElementSet 1'].historyOutputs['LE22'].data

# 获取元素历程数据
instance = odb.rootAssembly.instances['PART-1-1']
elemData = odb.steps['Step-1'].historyRegions['ElementSet 1'].historyOutputs['LE'].data
elemLabels = elemData[0][4:]

# 获取最大应力和LPD曲线
maxStress = np.max(stressStrain[:,1])
lpdData = odb.steps['Step-1'].historyRegions['ElementSet 1'].historyOutputs['LPD'].data
lpdTime = lpdData[:,0]
lpdValues = lpdData[:,1]

# 绘制应力-位移曲线
plt.plot(stressStrain[:,0], stressStrain[:,1])
plt.xlabel('Strain')
plt.ylabel('Stress')
plt.title('Stress-Strain Curve')
plt.grid()
plt.show()

# 绘制应力-位移云图
plot = plotXYData(odb=odb, xyData=(('LE22',('E','EV')),), 
                  position=(25,'MIDDLE'))
plot.viewportAnnotationOptions.setValues(coordinates=(0.05,0.05))
plot.setValues(renderStyle=UNFILLED)
plot.setValues(lineWidth=1)
plot.setValues(markerSize=2)
plot.setValues(axisTitles=('', 'Stress'))
plot.setValues(legend=OFF)
plot.show()

# 绘制LPD曲线
plt.plot(lpdTime, lpdValues)
plt.xlabel('Time')
plt.ylabel('LPD')
plt.title('LPD Curve')
plt.grid()
plt.show()

# 输出最大应力值
print('The maximum stress is:', maxStress)

需要注意的是,其中的'job_name.odb'需要替换成实际的ODB文件名,另外需要根据自己的具体情况修改其他参数。

链接:https://pan.baidu.com/s/1zst2QwmMq604fnIYX3PWJw 

提取码:hwc2 

--来自百度网盘超级会员V6的分享




abaaqus非线性屈曲分析自动后处理脚本输出应力位移云图、LPD曲线和最大应力值的评论 (共 条)

分享到微博请遵守国家法律