python算法时长计算研究生版.py 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. from flask import Flask, request, jsonify
  2. app = Flask(__name__)
  3. @app.route('/calculate_defrost_time', methods=['POST'])
  4. def calculate_defrost_time():
  5. data = request.json
  6. w = data['w'] / 100 # 含水率转换为小数
  7. rho_coal = data['rho_coal']
  8. rho_ice = data['rho_ice']
  9. C_coal = data['C_coal']
  10. C_ice = data['C_ice']
  11. L = data['L']
  12. k_coal = data['k_coal']
  13. print("导热系数", k_coal)
  14. k_ice = data['k_ice']
  15. h = data['h']
  16. T_air = data['T_air']
  17. T_initial = data['T_initial']
  18. T_m = data['T_m']
  19. a, b, c = data['a'], data['b'], data['c']
  20. # 计算体积和表面积
  21. V = a * b * c
  22. A = 2 * (a * b) + 2 * (b * c) + 2 * (a * c)
  23. # 计算混合密度
  24. rho_mix = (1 - w) * rho_coal + w * rho_ice
  25. print("rho_mix值为:", rho_mix)
  26. # 计算混合比热容
  27. C_mix = (1 - w) * C_coal + w * C_ice
  28. print("C_mix值为:", C_mix)
  29. # 计算特征长度
  30. L_char = V / A
  31. print("特征长度为:", L_char)
  32. # 计算体积分数
  33. phi = (w * rho_coal) / rho_ice
  34. print("体积分数为", phi)
  35. # 计算有效导热系数
  36. k_eff = (k_coal * (2 * k_coal + k_ice - 2 * phi * (k_coal - k_ice)) / (2 * k_coal + k_ice + phi * (k_coal - k_ice))) + 1.1
  37. print("有效导热系数为", k_eff)
  38. # 计算初步解冻时间 t1
  39. t1 = ((0.2 * rho_mix * C_mix * L_char ** 2) / k_eff * ((T_m - T_initial) / (T_air - T_initial))) / 3600
  40. print("T1为", t1)
  41. # 计算进一步解冻时间 t2
  42. k_char = h # 近似处理 k_char
  43. t2 = ((rho_mix * w * L * L_char * L_char / (k_eff * (T_air - T_m))) * ((0.5 + k_eff / (k_char * L_char))/6))/3600
  44. print("T2为", t2)
  45. # 计算总解冻时间
  46. t_total = t1 + t2
  47. return jsonify({"t1": t1, "t2": t2, "t_total": t_total})
  48. if __name__ == '__main__':
  49. app.run(host='127.0.0.1', port=9996, debug=True)