材料試験数据处理
My_blog,在这里可以看见jupyter源代码
钢材的材料试验自动数据处理python脚本
可以实现大量数据的一键处理,算出自动算出材料试验的屈服强度,最大强度,弹性模量,泊松比,最后自动出图,并输出结果在excel表李
Google colab ソースコードsource_code
導入
最开始从csv的初始数据里,读取必要的数据然后根据截面积算出载荷对应的应力,应变。然后算各应变的平均值。
在这里,原始数据得来的ch. 为了更好实现一键化处理,增加了横向应变和纵向应变的判定。通过判断中间段数据应变的正负来判断拉应变还是压应变,以此区分横向应变和纵向应变
from glob import glob
from google.colab import drive
import csv
import numpy as np
from openpyxl import load_workbook
import matplotlib.pyplot as plt
###google drive 链接google云盘
drive.mount('/content/drive')
%cd '/content/drive/MyDrive/Colab_Notebooks/material_test'
###
filenames = glob('*.csv')
print(filenames)
#for filename in filenames:
with open('材料試験_H300W_No.1_データリスト.csv',encoding="utf8",errors='ignore') as f:
f_csv = csv.reader(f)
next(f_csv)
data = list(f_csv)
a = np.array(data)
load = a[1:,2]
a = a[1:,:] #文字列の次から
x = range(np.shape(a)[0])
y = len(data) - 1 #行数を数える
case1 = np.empty([y,8],dtype = float)
#########################应变的判定,csv数据位置不会变的可以忽略这段
for i in x:
case1[i,0] = a[i,2] #load
case1[i,1] = a[i,3] #disp
if float(a[int(y/2),4]) > 0 : #应变的判定
case1[i,2] = a[i,4] #縦ひずみ1を定義する
if float(a[int(y/2),5]) > 0 : #縦ひずみを判定する
case1[i,3] = a[i,5] #縦ひずみ2を定義する
case1[i,4] = a[i,6] #横ひずみ1を定義する
case1[i,5] = a[i,7] #横ひずみ2を定義する
else :
case1[i,4] = a[i,5] #横ひずみ1を定義する
case1[i,5] = a[i,7] #横ひずみ2を定義する
case1[i,3] = a[i,6] #縦ひずみ2を定義する
if i == y :
break
striantate = (case1[:,2]+case1[:,3])/2 #縦ひずみ平均値
strianyoko = (case1[:,4]+case1[:,5])/2 #横ひずみ平均値
############################
# エクセルシート(テンプレート)を読み込む
wb = load_workbook("template_mt.xlsx", data_only=True) #エクセルシートを導入する
wb1 = wb.active #シートを選択する
#################
A = wb1['F9'].value #获取材料试验片的断面积
case1[:,6] = case1[:,0] *1000/ A #算出应力
#################
屈服强度的计算
对于标准的材料试验,根据弹塑性力学原理,一般来说,钢材的应变在4000左右是处在屈服点之后,应变强化之前。所以对于屈服强度的判定,如以下:
应变在4000之前的最大应力则为屈服强度
拉升强度则为整个实验的最大应力值
sigma_y = 0
i = 0
while striantate[i] < 4000:
sigma_y= max(sigma_y,case1[i,6])
i = i+1
sigma_u = max(case1[:,6])
print('屈服强度:',sigma_y)
print('最大强度:',sigma_u)
通过最小二乘法计算弹性模量E
- 为了去除实验初期载荷的不规律变化,以及屈服点附近的塑性变形的影响。试验数据一般采用 [ 0.2 σ y − 0.7 σ y ] [0.2\sigma_y - 0.7\sigma_y] [0.2σy−0.7σy

该博客介绍了一个使用Python和Matlab处理材料试验数据的自动化脚本,包括读取CSV数据,计算应变、应力,判断屈服强度和最大强度,利用最小二乘法估算弹性模量和泊松比,绘制应力-应变曲线,并将结果输出到Excel。脚本适用于批量处理多个文件,简化了材料性能分析的过程。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



