根据四缸四冲程发动机,缸径86mm,活塞行程86mm,连杆长度144mm ,活塞组质量0.41kg,连杆组质量0.615kg,转速4000,往复运动质量0.82kg,旋转运动质量0.697kg,连杆比0.3最大爆发压力6Mpa 写一个求发动机整机转矩曲线图的python程序
1条回答 默认 最新
关注本答案参考 多次询问 ChatGPT-3.5 后选择的最佳回答,若是满意,还请采纳,谢谢
import numpy as np import matplotlib.pyplot as plt # 发动机基本参数 bore = 0.086 # 缸径,单位:m stroke = 0.086 # 活塞行程,单位:m L = 0.144 # 连杆长度,单位:m m_p = 0.41 # 活塞组质量,单位:kg m_r = 0.615 # 连杆组质量,单位:kg n = 4000 / 60 # 转速,单位:rps m_j = 0.82 # 往复运动质量,单位:kg m_q = 0.697 # 旋转运动质量,单位:kg lambda_ = 0.3 # 连杆比 p_zmax = 6e6 # 最大爆发压力,单位:Pa # 计算每缸工作容积 V_s = np.pi * (bore / 2) ** 2 * stroke # 曲柄转角数组 theta = np.linspace(0, 720, 360) # 计算转矩的函数 def calculate_torque(theta): theta_rad = np.radians(theta) r = stroke / 2 # 往复惯性力 F_j = -m_j * r * (n * 2 * np.pi) ** 2 * (np.cos(theta_rad) + lambda_ * np.cos(2 * theta_rad)) # 旋转惯性力 F_q = -m_q * r * (n * 2 * np.pi) ** 2 # 气体压力产生的力(简化计算,假设压力按正弦规律变化) F_g = p_zmax * np.pi * (bore / 2) ** 2 * np.sin(theta_rad) # 总切向力 F_t = (F_g + F_j + F_q) * np.sin(theta_rad + np.arcsin(lambda_ * np.sin(theta_rad) / np.sqrt(1 - lambda_ ** 2 * np.sin(theta_rad) ** 2))) # 转矩 T = F_t * r return T # 计算四缸发动机的总转矩 def total_torque(theta): num_cylinders = 4 single_cylinder_torque = calculate_torque(theta) total_torque = np.zeros_like(single_cylinder_torque) for i in range(num_cylinders): total_torque += single_cylinder_torque return total_torque # 计算转矩 torque = total_torque(theta) # 绘制转矩曲线 plt.plot(theta, torque) plt.xlabel('Crank Angle (degrees)') plt.ylabel('Torque (N*m)') plt.title('Engine Torque Curve') plt.grid(True) plt.show()请注意,上述代码中的气体压力计算是一种简化的假设,实际的发动机气体压力变化是一个复杂的过程,取决于燃烧过程、进气和排气等多种因素。但这个程序可以作为一个初步的转矩曲线计算和绘制示例。
解决 无用评论 打赏 举报