python弹簧/气囊刚度数据计算软件

弹簧/气囊的刚度可以通过公式K=F/S进行求解,其中F为施加在弹簧/气囊上的作用力,S为在该作用力下弹簧/气囊的变形量。力和位移通常很容易通过实验的手段获得(比如使用气缸或电缸),则求解刚度的难点就变成离散点求导的问题。

(用于不同类型的座椅,主要用于商用车座椅的驾驶座,如公交车、客车、卡车等)
对于任意函数上某点的值,我们都可以通过泰勒展开式近似求解。

常见的差分求解方法有前向差分、中心差分和后向差分三种,具体区别如下:

前向差分与后向差分区别不大,中心差分的求解精度最高,但是前后边界处会有部分失真。为此,本文选择中心差分的方法求解弹簧/气囊的刚度。
别担心,我已经编写好了一个小程序,在文末的链接中下载就可以自己使用啦!

(软件使用过程)
1.软件界面
使用鼠标左键,双击两下,等到4~5秒程序即自动打开,打开后的界面如下图所示。

2.单击“读入excel数据”按钮,选择打开一个Excel文件。此时读取到的力时间曲线和位移时间曲线会显示在主界面左侧面板上。

3.单击“计算并显示静刚度”按钮,程序将自动使用中心差分的方法计算刚度,并将结果显示在主界面的右上角。

4.保存刚度至txt。
把计算结果保存在txt文本文件中,以方便查阅,对比和存档。
5.帮助文件。
在主界面左上角点击帮助,或者在主界面任意位置单击右键均会弹出帮助菜单,单击对应选项可以查看对应的内容。

软件的使用也就这些内容了。如果想了解程序原理的可以参考下面这个代码。
工作原理
以下代码为python原始代码,可以在python中运行。代码中不包括GUI内容。
import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] =['Microsoft YaHei']plt.rcParams['axes.unicode_minus'] = Falses = open("C:\Pythonwork\气囊静刚度\Hsix.txt", 'r') if re.match('^[0-9]', line) is not None: force1.append(float(line.split()[0])) dis1.append(float(line.split()[3])) time1.append(float(line.split()[6]))force = np.array(force1).Td_force = np.gradient(force)d_force2 = np.diff(force)k2 = 1000*d_force2/d_dis2k_k2= np.column_stack((k[1:len(k)], k2))np.savetxt(r"C:\Pythonwork\气囊静刚度\out1.txt", k_k2)plt.figure(dpi=200, facecolor='white')plt.plot(time, force, color='k')plt.title("原始数据载荷-时间", fontsize=8)plt.ylabel(ylabel="载荷(N)", fontsize=8, rotation=90)plt.xlabel(xlabel="时间(s)", fontsize=8)plt.plot(time, dis, color='k')plt.title("原始数据位移-时间", fontsize=8)plt.ylabel(ylabel="位移(mm)", fontsize=8, rotation=90)plt.xlabel(xlabel="时间(s)", fontsize=8)plt.plot(dis, force, color='b')plt.title("原始数据载荷-位移", fontsize=8)plt.ylabel(ylabel="载荷(N)", fontsize=8, rotation=90)plt.xlabel(xlabel="位移(mm)", fontsize=8)plt.plot(time, k, color='b', label="中心差分法", linewidth=1)plt.plot(time[1:len(time)], k2, color='r',label="向前差分法", linewidth=0.3, alpha=0.4)plt.title("静刚度",fontsize=8)plt.ylabel(ylabel="静刚度(N/m)", fontsize=8, rotation=90)plt.xlabel(xlabel="时间(s)", fontsize=8)链接:https://pan.baidu.com/s/1PEmJfa4FnFNptHMQS1hYLg
【免责声明】本文来自座椅知多少,版权归原作者所有!仅用于个人学习和经验分享,若涉及版权问题等请及时告知删除,感谢大家的关注!

硕士
|
CAE仿真负责人
个人著作《汽车NVH一本通》
获赞 1151粉丝 6358文章 974课程 20