public static RefHTCandDPResult HTCandDP(string[] fluid, double[] composition, double d, double g, double p, double x, double l, double q, double zh, double zdp) { //Main function for 2-phase flow HTC and calculation double href = 0; double PressD = 0; //*************Smoothening HTC & DP at single-to-2 phase transitions**************** //********divided to 2 region based on quality (0 - 0.95 - 1) to calculated HTC & DP******** if (x <= 0.95 && x >= 0) { href = RefrigerantTPHTC.Shah_Evap_href(fluid, composition, d, g, p, x, q, l); PressD = RefrigerantTPDP.deltap_smooth(fluid, composition, d, g, p, x, l); } if (x < 1 && x > 0.95) //vapor to 2-phase { href = RefrigerantTPHTC.Shah_Evap_href(fluid, composition, d, g, p, 0.95, q, l); PressD = RefrigerantTPDP.deltap_smooth(fluid, composition, d, g, p, 0.95, l); } //********divided to 4 region based on quality (0 - 0.05 - 0.9 - 0.95 - 1) to calculated HTC & DP END******** href = href * zh; PressD = PressD * zdp; return(new RefHTCandDPResult { Href = href, DPref = PressD }); }
public static RefHTCandDPResult HTCandDP_2p(string fluid, double d, double g, double p, double x, double l, double q, double zh, double zdp, double hexType, AbstractState coolprop) { //Main function for 2-phase flow HTC and calculation double href = 0; double PressD = 0; //********Smoothening HTC & DP at single-to-2 phase transitions********" //Use lambda to avoid discontinutities of the two phase-liquid and vapor-two-phase and liquid" double x_transition; double lambdaL = 0; double lambdaV = 0; double h_ref_2phase, deltap_2phase; double beta = 50; //"Controlling factor for the sharpness of the transition" RefHTCandDPResult htc_dp_single_sat = new RefHTCandDPResult(); if (x <= 0.05 && x >= 0) { x_transition = 0.05; lambdaL = (1 + Math.Tanh(beta * (x - x_transition))) / 2; } else if (x < 1 && x > 0.9) { x_transition = 0.9; //"0.95 for pressure drop" lambdaV = (1 + Math.Tanh(beta * (x - x_transition))) / 2; } //"********Smoothening HTC & DP at single-to-2 phase transitions END********" //*************Smoothening HTC & DP at single-to-2 phase transitions**************** //********divided to 3 region based on quality (0 - 0.05 - 0.95 - 1) to calculated HTC & DP******** if (hexType == 0) { if (x < 0.05 && x > 0) { h_ref_2phase = RefrigerantTPHTC.Shah_Evap_href(fluid, d, g, p, x, q, l, coolprop); //href = RefrigerantTPHTC.Kandlikar_Evap_href(fluid, composition, d, g, p, x, q, l); //href = RefrigerantTPHTC.JR_Evap_href(fluid, composition, d, g, p, x, q, l); deltap_2phase = RefrigerantTPDP.deltap_smooth(fluid, d, g, p, x, l, coolprop); //PressD = RefrigerantTPDP.deltap_JR(fluid, composition, d, g, p, x, l); //PressD = RefrigerantTPDP.deltap_MS(fluid, composition, d, g, p, x, l); htc_dp_single_sat = RefrigerantHTCandDP.HTCandDP_1p_sat(fluid, d, g, p, 0, l, coolprop); //x=0 href = (1 - lambdaL) * htc_dp_single_sat.Href + lambdaL * h_ref_2phase; PressD = (1 - lambdaL) * htc_dp_single_sat.DPref + lambdaL * deltap_2phase; } else if (x <= 0.9) { href = RefrigerantTPHTC.Shah_Evap_href(fluid, d, g, p, x, q, l, coolprop); //href = RefrigerantTPHTC.Kandlikar_Evap_href(fluid, composition, d, g, p, x, q, l); //href = RefrigerantTPHTC.JR_Evap_href(fluid, composition, d, g, p, x, q, l); PressD = RefrigerantTPDP.deltap_smooth(fluid, d, g, p, x, l, coolprop); //PressD = RefrigerantTPDP.deltap_JR(fluid, composition, d, g, p, x, l); //PressD = RefrigerantTPDP.deltap_MS(fluid, composition, d, g, p, x, l); } else //vapor to 2-phase { h_ref_2phase = RefrigerantTPHTC.Shah_Evap_href(fluid, d, g, p, x, q, l, coolprop); //href = RefrigerantTPHTC.Kandlikar_Evap_href(fluid, composition, d, g, p, x, q, l); //href = RefrigerantTPHTC.JR_Evap_href(fluid, composition, d, g, p, x, q, l); deltap_2phase = RefrigerantTPDP.deltap_smooth(fluid, d, g, p, x, l, coolprop); //PressD = RefrigerantTPDP.deltap_JR(fluid, composition, d, g, p, x, l); //PressD = RefrigerantTPDP.deltap_MS(fluid, composition, d, g, p, x, l); htc_dp_single_sat = RefrigerantHTCandDP.HTCandDP_1p_sat(fluid, d, g, p, 1, l, coolprop); //x=1 href = (1 - lambdaV) * h_ref_2phase + lambdaV * htc_dp_single_sat.Href; PressD = (1 - lambdaV) * deltap_2phase + lambdaV * htc_dp_single_sat.DPref; } } else { if (x < 0.05 && x >= 0) { h_ref_2phase = RefrigerantTPHTC.Shah_Cond_href(fluid, d, g, p, x, q, l, coolprop); //href = RefrigerantTPHTC.Dobson_Cond_href(fluid, composition, d, g, p, x, Ts, l);//需要考虑Ts的参数传递 deltap_2phase = RefrigerantTPDP.deltap_smooth(fluid, d, g, p, x, l, coolprop); //PressD = RefrigerantTPDP.deltap_JR(fluid, composition, d, g, p, x, l); //PressD = RefrigerantTPDP.deltap_MS(fluid, composition, d, g, p, x, l); htc_dp_single_sat = RefrigerantHTCandDP.HTCandDP_1p_sat(fluid, d, g, p, 0, l, coolprop); //x=0 href = (1 - lambdaL) * htc_dp_single_sat.Href + lambdaL * h_ref_2phase; PressD = (1 - lambdaL) * htc_dp_single_sat.DPref + lambdaL * deltap_2phase; } else if (x <= 0.9) { href = RefrigerantTPHTC.Shah_Cond_href(fluid, d, g, p, x, q, l, coolprop); //href = RefrigerantTPHTC.Dobson_Cond_href(fluid, composition, d, g, p, x, Ts, l);//需要考虑Ts的参数传递 PressD = RefrigerantTPDP.deltap_smooth(fluid, d, g, p, x, l, coolprop); //PressD = RefrigerantTPDP.deltap_JR(fluid, composition, d, g, p, x, l); //PressD = RefrigerantTPDP.deltap_MS(fluid, composition, d, g, p, x, l); } else //vapor to 2-phase { h_ref_2phase = RefrigerantTPHTC.Shah_Cond_href(fluid, d, g, p, x, q, l, coolprop); //href = RefrigerantTPHTC.Dobson_Cond_href(fluid, composition, d, g, p, x, Ts, l);//需要考虑Ts的参数传递 deltap_2phase = RefrigerantTPDP.deltap_smooth(fluid, d, g, p, x, l, coolprop); //PressD = RefrigerantTPDP.deltap_JR(fluid, composition, d, g, p, x, l); //PressD = RefrigerantTPDP.deltap_MS(fluid, composition, d, g, p, x, l); htc_dp_single_sat = RefrigerantHTCandDP.HTCandDP_1p_sat(fluid, d, g, p, 1, l, coolprop); //x=1 href = (1 - lambdaV) * h_ref_2phase + lambdaV * htc_dp_single_sat.Href; PressD = (1 - lambdaV) * deltap_2phase + lambdaV * htc_dp_single_sat.DPref; } //********divided to 3 region based on quality (0 - 0.05 - 0.95 - 1) to calculated HTC & DP END******** } href = href * zh; PressD = PressD * zdp; return(new RefHTCandDPResult { Href = href, DPref = PressD }); }