from flask import Flask, request, jsonify app = Flask(__name__) @app.route('/calculate_defrost_time', methods=['POST']) def calculate_defrost_time(): data = request.json w = data['w'] / 100 # 含水率转换为小数 rho_coal = data['rho_coal'] rho_ice = data['rho_ice'] C_coal = data['C_coal'] C_ice = data['C_ice'] L = data['L'] k_coal = data['k_coal'] print("导热系数", k_coal) k_ice = data['k_ice'] h = data['h'] T_air = data['T_air'] T_initial = data['T_initial'] T_m = data['T_m'] a, b, c = data['a'], data['b'], data['c'] # 计算体积和表面积 V = a * b * c A = 2 * (a * b) + 2 * (b * c) + 2 * (a * c) # 计算混合密度 rho_mix = (1 - w) * rho_coal + w * rho_ice print("rho_mix值为:", rho_mix) # 计算混合比热容 C_mix = (1 - w) * C_coal + w * C_ice print("C_mix值为:", C_mix) # 计算特征长度 L_char = V / A print("特征长度为:", L_char) # 计算体积分数 phi = (w * rho_coal) / rho_ice print("体积分数为", phi) # 计算有效导热系数 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 print("有效导热系数为", k_eff) # 计算初步解冻时间 t1 t1 = ((0.2 * rho_mix * C_mix * L_char ** 2) / k_eff * ((T_m - T_initial) / (T_air - T_initial))) / 3600 print("T1为", t1) # 计算进一步解冻时间 t2 k_char = h # 近似处理 k_char 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 print("T2为", t2) # 计算总解冻时间 t_total = t1 + t2 return jsonify({"t1": t1, "t2": t2, "t_total": t_total}) if __name__ == '__main__': app.run(host='127.0.0.1', port=9996, debug=True)