.ThermoSysPro.UsersGuide.ReleaseNotes.Version_3_2

Information

Version 3.2 (August 5, 2020)

ThermoSysPro modifications from version 3.1

 

o   New Function Misc.Function_FM

o   New Function Thermal.Function_U1

o   Introduction of connector  InputReal Kcorr and variable Kcor

o   New  parameters hr, Xco20, Xh2o0, Xo20, Xso20

o   Initial section is modified to replace state variable T with state variable h.

o   Equation V*(ThermoSysPro.Properties.FlueGases.FlueGases_drhodp(P, T, Xco2, Xh2o, Xo2, Xso2)*der(P) + ThermoSysPro.Properties.FlueGases.FlueGases_drhodh(P, T, Xco2, Xh2o, Xo2, Xso2)*cp*der(T)) = BQ; is replaced by V*(ThermoSysPro.Properties.FlueGases.FlueGases_drhodp(P, T, Xco2, Xh2o, Xo2, Xso2)*der(P) + ThermoSysPro.Properties.FlueGases.FlueGases_drhodh(P, T, Xco2, Xh2o, Xo2, Xso2)*der(h - Xh2o*hr)) = BQ;

o   Equation V*((h*ThermoSysPro.Properties.FlueGases.FlueGases_drhodp(P, T, Xco2, Xh2o, Xo2, Xso2) - 1)*der(P) + (h*ThermoSysPro.Properties.FlueGases.FlueGases_drhodh(P, T, Xco2, Xh2o, Xo2, Xso2) + rho)*cp*der(T)) = BH; is replaced by  V*(((h - Xh2o*hr)*ThermoSysPro.Properties.FlueGases.FlueGases_drhodp(P, T, Xco2, Xh2o, Xo2, Xso2) - 1)*der(P) + ((h - Xh2o*hr)*ThermoSysPro.Properties.FlueGases.FlueGases_drhodh(P, T, Xco2, Xh2o, Xo2, Xso2) + rho)*der(h - Xh2o*hr)) = BH;

o   Equation BH = Ce1.Q*he1 + Ce2.Q*he2 - Cs1.Q*hs1 - Cs2.Q*hs2 + Cth.W;  is replaced by  BH = Ce1.Q*(he1 - Ce1.Xh2o*hr) + Ce2.Q*(he2 - Ce2.Xh2o*hr) - Cs1.Q*(hs1 - Cs1.Xh2o*hr) - Cs2.Q*(hs2 - Cs2.Xh2o*hr) + Cth.W;

o   Equation BH = Ce1.Q*he1 + Ce2.Q*he2 + Ce3.Q*he3 - Cs.Q*hs + Cth.W; is replaced by  BH = Ce1.Q*(he1 - Ce1.Xh2o*hr) + Ce2.Q*(he2 - Ce2.Xh2o*hr) + Ce3.Q*(he3 - Ce3.Xh2o*hr) - Cs.Q*(hs - Cs.Xh2o*hr) + Cth.W;

o   Equation BH = Ce1.Q*he1 – Cs1.Q*hs1 – Cs2.Q*hs2 – Cs3.Q*hs3 + Cth.W; is replaced by   BH = Ce.Q*(he - Ce.Xh2o*hr) - Cs1.Q*(hs1 - Cs1.Xh2o*hr) - Cs2.Q*(hs2 - Cs2.Xh2o*hr) - Cs3.Q*(hs3 - Cs3.Xh2o*hr) + Cth.W;

o   Equation 0 = Ce1.Q*he1 + Ce2.Q*he2 - Cs.Q*hs; is replaced by   0 = Ce1.Q*(he1 - Ce1.Xh2o*hr) + Ce2.Q*(he2 - Ce2.Xh2o*hr) - Cs.Q*(hs - Cs.Xh2o*hr);

o   Equation 0 = Ce.Q*he - Cs1.Q*hs1 - Cs2.Q*hs2 is replaced by   0 = Ce.Q*(he - Ce.Xh2o*hr) - Cs1.Q*(hs1 - Cs1.Xh2o*hr) - Cs2.Q*(hs2 - Cs2.Xh2o*hr);

o   New component SourceQX

o   New component GenericCombustion1D

o   Equations  Hfuel = Cpfuel*Tfuel;    Hcv = Cpcd*Tsf;  Hbf = Cpcd*Tbf;  are replaced by Hfuel = Cpfuel*(Tfuel - 273.16);  Hcv = Cpcd*(Tsf - 273.16);  Hbf = Cpcd*(Tbf - 273.16);

o   Equation Wcpat = Qea*XQat*(Hiscpat - Hecpat)/eta_isc; is replaced by Wcpat = Qea*XQat*(Hiscpat - Hecpat)*eta_isc;

o  Parameter rho=0.72 is replaced by rho=720

o   New Package Properties.DryAirIdealGas

o   New Package Properties.SolarSalt

o   Package Properties.Fluid has been completed

o   Package Properties.C3H3F5 has been completed

o   Package Properties.MoltenSalt has been completed

o   Package Properties.Oil_TherminolVP1 has been completed

o   New package Solar

o   New component HeatExchangerWallWithLosses

o   New component CoolingTower

o   New component DynamicOnePhaseFlowShell

o   New component DynamicTwoPhaseFlowRiser

o   New component DynamicTwoFlowHeatExchangerShell

o   New component SteamGenerator_1SG

o   New component SteamGenerator_4SG

o   New component StaticCondenserHEI

o   Component TemperatureWallBoiler is removed

o   New component TwoPhaseCavityOnePipe

o   New parameter eta_is_wet(start=0.83) "Isentropic efficiency for wet steam"; eta_is_wet = xm*eta_is;

o   New parameter ntubes

o   Equation mu = ThermoSysPro.Properties.WaterSteam.IF97.DynamicViscosity_rhoT(rho, T); is replaced by mu = ThermoSysPro.Properties.Fluid.DynamicViscosity_Ph(Pm,h,fluid,mode, 0.1,0.1,0.1,0); for fluid = 2

o   Equation deltaP = if noEvent(abs(Q) < Qeps) then 1.e10 else K*ThermoSysPro.Functions.ThermoSquare(Q, eps)/rho; is replaced by deltaP = if noEvent(abs(Q) < Qeps) then 1.e-10 else K*ThermoSysPro.Functions.ThermoSquare(Q, eps)/rho;

o   Equation hc[i] = hcCorr*3.66*k[i]/D;  is replaced by hc[i] = hcCorr*k[i]/D*max(4.36,0.023*Re1[i]^0.8*Pr[i]^0.4);

o   Equation dpa[i] = noEvent(Q[i]* abs Q[i]*(1/rhoc[i + 1] - 1/rhoc[i])/A^2); is replaced by dpa[i] = Q[i]^2*(1/rhoc[i + 1] - 1/rhoc[i])/A^2;

o   Equation xv1[i] = pro1[i].x); is replaced by xv1[i] = if noEvent((P[i+1] > pcrit) or (T1[i] > Tcrit)) then 1 else pro1[i].x;

o   Equation xv2[i] = pro2[i].x); is replaced by xv2[i] = if noEvent(((P[i] + P[i + 1])/2 > pcrit) or (T2[i] > Tcrit)) then 1 else pro2[i].x;

o   Equation dpa[i] = noEvent(Q[i]* abs Q[i]*(1/rhoc[i + 1] - 1/rhoc[i])/A^2); is replaced by dpa[i] = Q[i]^2*(1/rhoc[i + 1] - 1/rhoc[i])/A^2;

o   parameter Real alpha = 1 "Steam extraction rate (0 <= alpha <= 1)"; is replaced by  parameter Real alpha = 1 "Vapor mass fraction at the extraction/Vapor mass fraction at the inlet (0 <= alpha <= 1)";

o   Equation x_ex = 1 - alpha*(1 - proe.x); is replaced by x_ex = alpha*proe.x;

o   Component is replaced by new component DynamicCondenser (from SEPTEN)

o   Equation DPc[i] = p_Kc*Qc[i]^2/rhoc[i]; is replaced by DPc[i] = p_Kc*ThermoSysPro.Functions.ThermoSquare(Qc[i], 1.e-3)/rhoc[i];

o   Equation DPf[i] = p_Kf*Qf[i]^2/rhof[i]; is replaced  by DPf[i] = p_Kf*ThermoSysPro.Functions.ThermoSquare(Qf[i], 1.e-3)/rhof[i];

o   Equation DPc = p_Kc*Qc^2/rhoc; is replaced by DPc = p_Kc*ThermoSysPro.Functions.ThermoSquare(Qc, 1.e-3)/rhoc;

o   Equation DPf = p_Kf*Qf^2/rhof; is replaced by DPf = p_Kf*ThermoSysPro.Functions.ThermoSquare(Qf, 1.e-3)/rhof;

o   parameter Integer mode=0  is replaced by  parameter Integer mode=1 

o  Equation Wm - Wr = 0; is replaced by Cm - Cr = 0;  

o   parameter Integer mode=0  is replaced by  parameter Integer mode=1 

o   parameter Integer mode=0  is replaced by  parameter Integer mode=1 

o   parameter Real Cevap=0.5 "Evaporation coefficient";  is replaced by  parameter Real Cevap=0.1 "Evaporation coefficient";

o   Equation  Qcond = noEvent(Ccond*rhov*Vv*(hvs - hv)/(hvs - hls) + (Cas.Q*(hls - Cas.h) + 0.5*(Wpv + abs(Wpv)) + Wlv)/(hv - hls));  is replaced by  Qcond = Ccond*rhov*Vv*(hvs - hv)/(hvs - hls);

o   Deleted variable Real eta1(start=1.0) "Vapor mass fraction at outlet (0 < eta <= 1)";

o    Deleted equation eta1 = noEvent(max(xe, eta));

o   Equation Csl.h_vol = noEvent(if  (Csv.Q > 0) then (if (xe > 0) then lsat1.h else Cev.h) else  h); is replaced by Csl.h_vol = noEvent(if (xe > 0) then lsat1.h else Cev.h);

o   Equation Csv.Q = Cev.Q*xe/eta1; is replaced by Csv.Q = noEvent(if (xe > 0) then Cev.Q*(1-eta*(1-xe)) else 0);

o   Parameter Pnom is removed

o   Constant Real Gamma=1.3333 "Flue gases gamma = Cp/Cv"; is replaced by parameter Real Gamma=1.3333 "Flue gases gamma = Cp/Cv";

o   Equation Tfcb = (Wcomb - Wpth_ref)/ThermoSysPro.Properties.FlueGases.FlueGases_cp(Pfcp, (Tfcp + Tfcb)/2, XsfCO2, XsfH2O, XsfO2, XsfSO2)/0.75/Qsf + Tfcp;  is replaced by  Tfcb = Wcomb/ThermoSysPro.Properties.FlueGases.FlueGases_cp(Pfcp, (Tfcp + Tfcb)/2, XsfCO2, XsfH2O, XsfO2, XsfSO2)/Qsf + Tfcp;

o   Equation   if (Wmeca > (Pnom * 0.5)) then Welec = (Wmeca*Relec)*(0.0479*Cosphi + 0.952);   else Welec = (Wmeca*Relec_red)*(0.0479*Cosphi + 0.952);   end if;  is replaced by Welec = Wmeca*Relec;

o   New parameter  Boiler_efficiency_type = 1 "1: Taking into account LHV only - 2: Using the total incoming power";

o   Equation eta_boil = 100*Wboil/Wfuel; is replaced by if (Boiler_efficiency_type == 1) then eta_boil = 100*Wboil/Wfuel; else eta_boil = 100*Wboil/Wtot; end if;

o   New block AdaptorForFMU.AdaptorModelicaTSP

o   New block AdaptorForFMU.AdaptorTSPModelica

o   Parameter Pnom is removed

o   Parameter Surf_ext becomes public

o   Component is renamed as DynamicOnePhaseFlowShell

o   The momentum balance equations are replaced by singular pressure losses that represent the pressure losses at the orifices.

o   The spring torque Cr is removed.

o   Component is completely modified (previous version was incorrect).


Generated at 2024-12-21T19:25:56Z by OpenModelicaOpenModelica 1.24.3 using GenerateDoc.mos