基于术语弹性的疲劳寿命识别
IR-FLife的Python项目详细描述
基于热弹性的疲劳寿命估算
从热图像采集估计振动疲劳寿命。 该等级基于热弹性的模态损伤[1]和飞片包装[2]。在
使用pip安装包
。。代码块::python
pip install IR_FLife
导入程序包
。。代码块::python
^{pr2}$材料参数
。。代码块::python
k = 6.51 # Slope endurance curve
B = 800.26 # Endurance curve limit [MPa]
C = 7.94 * 10**18 # Fatigue strenght [MPa**k]
km = 1.2 * 10**(-8) # Thermoelastic coefficient [Pa**(-1)]
输入热视频
。。代码块::python
filename = './data/rec.sfmov' # Filename of thermal acquisition
data = sfmov.get_data(filename) # Using pysfmov to open it as numpy array [°C]
fs = 400 # Smapling frequency [Hz]
dt = 1 / fs # Time step [s]
stress = 10 * (data / km ) * 10**-6 # Stress [MPa]
类初始化
。。代码块::python
td = irfl.IR_FLife(stress, dt) # Class initialization
热视频的自然频率识别
如果用鼠标点击选择了位置
。。代码块::python
td.loc_selection() # Mouse selection of central pixel of the roi
f = td.nf_identification() # Natural frequency identification
如果位置id与roi协调
。。代码块::python
band_pass = [5,100] # Band pass filter applied during the natural frequency identification
roi_size = 5 # ROI size [pixel]
location = (39, 79, 5, 5) # Location of interest in the field of view [pixel]
f = td.nf_identification(location = location, roi_size = roi_size, band_pass = band_pass)
疲劳寿命估算
如果在特定位置需要疲劳寿命
。。代码块::python
location = (39, 79, 5, 5) # Location of interest in the field of view [pixel]
md = td.get_life(C, k, 'Modal', f = f, location = location)
tb = td.get_life(C, k, 'TovoBenasciutti', location = location)
dk = td.get_life(C, k, 'Dirlik', location = location)
rf = td.get_life(C, k, 'Rainflow', location = location)
print(f' Rainflow: {rf:4.0f} s')
print(f' Dirlik: {dk:4.0f} s')
print(f' Tovo-Benasciutti: {tb:4.0f} s')
print(f' Modal: {md:4.0f} s')
如果疲劳寿命是在空间域内
。。代码块::python
md = td.get_life(C, k, 'Modal', f = f)
tb = td.get_life(C, k, 'TovoBenasciutti')
dk = td.get_life(C, k, 'Dirlik')
rf = td.get_life(C, k, 'Rainflow')
然后,显示空间域结果:
。。代码块::python
plt.figure()
plt.subplot(2,2,1)
plt.imshow(dk)
plt.colorbar()
plt.title('Dirlik')
plt.subplot(2,2,2)
plt.imshow(md)
plt.colorbar()
plt.title('Modal approach')
plt.subplot(2,2,3)
plt.imshow(rf)
plt.colorbar()
plt.title('Rainflow')
plt.subplot(2,2,4)
plt.imshow(tb)
plt.colorbar()
plt.title('Tovo-Benasciutti')
参考文献:
[1]基于热弹性的模态损伤识别。 洛伦佐·卡波尼、扬科·斯拉维奇、詹卢卡·罗西、米哈·博尔特扎尔 国际疲劳杂志(2020)
[2]振动疲劳频谱法,从结构动力学到疲劳损伤-理论和实验。 扬科·斯拉维奇、马特亚季姆什尼克、马丁·采斯尼克、贾卡·贾瓦、米哈·博尔特扎尔。 ISBN:9780128221907,爱思唯尔,2020年9月1日。在
- 项目
标签: