diff --git a/MetroscopeModelingLibrary/Examples/CCGT/Evaporator_noRecirculation_direct.mo b/MetroscopeModelingLibrary/Examples/CCGT/Evaporator_noRecirculation_direct.mo index 502a3250..4c0dfbf1 100644 --- a/MetroscopeModelingLibrary/Examples/CCGT/Evaporator_noRecirculation_direct.mo +++ b/MetroscopeModelingLibrary/Examples/CCGT/Evaporator_noRecirculation_direct.mo @@ -12,8 +12,6 @@ model Evaporator_noRecirculation_direct // Parameters parameter Utilities.Units.Area S=10; parameter Utilities.Units.HeatExchangeCoefficient Kth=102000; - parameter Utilities.Units.FrictionCoefficient Kfr_hot=0; - parameter Utilities.Units.FrictionCoefficient Kfr_cold=1; MultiFluid.HeatExchangers.Evaporator evaporator annotation (Placement(transformation(extent={{-38,-36},{40,36}}))); WaterSteam.Volumes.FlashTank flashTank annotation (Placement(transformation(extent={{-26,38},{-46,58}}))); @@ -35,15 +33,13 @@ equation evaporator.S = S; evaporator.Kth = Kth; - evaporator.Kfr_hot = Kfr_hot; - evaporator.Kfr_cold = Kfr_cold; - connect(flashTank.C_in, evaporator.C_cold_out) annotation (Line(points={{-26,52},{-10.7,52},{-10.7,25.2}}, color={28,108,200})); + connect(flashTank.C_in, evaporator.C_cold_out) annotation (Line(points={{-26,52},{-14.6,52},{-14.6,28.8}}, color={28,108,200})); connect(flashTank.C_hot_steam, cold_steam_sink.C_in) annotation (Line(points={{-46,52},{-85,52}}, color={28,108,200})); connect(flashTank.C_hot_liquid, cold_liquid_sink.C_in) annotation (Line(points={{-46,44},{-76,44},{-76,-52},{-83,-52}}, color={28,108,200})); - connect(evaporator.C_hot_in, hot_source.C_out) annotation (Line(points={{-26.3,-0.72},{-55.65,-0.72},{-55.65,0},{-85,0}}, color={95,95,95})); - connect(evaporator.C_hot_out, hot_sink.C_in) annotation (Line(points={{28.3,-0.72},{45.65,-0.72},{45.65,0},{59,0}}, color={95,95,95})); - connect(evaporator.C_cold_in, cold_source.C_out) annotation (Line(points={{12.7,25.2},{12.7,40},{57,40}}, color={28,108,200})); + connect(evaporator.C_hot_in, hot_source.C_out) annotation (Line(points={{-38,0},{-55.65,0},{-55.65,0},{-85,0}}, color={95,95,95})); + connect(evaporator.C_hot_out, hot_sink.C_in) annotation (Line(points={{40,0},{45.65,0},{45.65,0},{59,0}}, color={95,95,95})); + connect(evaporator.C_cold_in, cold_source.C_out) annotation (Line(points={{16.6,28.8},{16.6,40},{57,40}}, color={28,108,200})); annotation (Icon(coordinateSystem(preserveAspectRatio=false), graphics={ Ellipse( extent={{-40,76},{-4,40}}, diff --git a/MetroscopeModelingLibrary/Examples/CCGT/MetroscopiaCCGT/MetroscopiaCCGT_direct.mo b/MetroscopeModelingLibrary/Examples/CCGT/MetroscopiaCCGT/MetroscopiaCCGT_direct.mo index f3277fb4..b140a450 100644 --- a/MetroscopeModelingLibrary/Examples/CCGT/MetroscopiaCCGT/MetroscopiaCCGT_direct.mo +++ b/MetroscopeModelingLibrary/Examples/CCGT/MetroscopiaCCGT/MetroscopiaCCGT_direct.mo @@ -7,7 +7,7 @@ model MetroscopiaCCGT_direct // Air source input Real P_source_air(start=1) "bar"; input Units.MassFlowRate Q_source_air(start=500) "kg/s"; - input Real T_source_air(start=24) "degC"; + Real T_source_air(start=24) "degC"; input Real Relative_Humidity(start=0.5); // Fuel source input Real P_fuel_source(start=30) "bar"; @@ -88,7 +88,7 @@ model MetroscopiaCCGT_direct // Calibrated parameters (input used for calibration in comment) // Gas Turbine - parameter Units.FrictionCoefficient Filter_Kfr=0.04432005; // Filter outlet pressure + Units.FrictionCoefficient Filter_Kfr; // Filter outlet pressure parameter Real compression_rate = 18.88889; // Air compressor outlet pressure parameter Real compressor_eta_is = 0.878675; // Air compressor outlet temperature parameter Real turbine_eta_is = 0.8304104; // Gas turbine power output @@ -130,6 +130,7 @@ model MetroscopiaCCGT_direct parameter Real pumpRec_CV_Cvmax = 52.329174; // Recirculation control valve opening MetroscopeModelingLibrary.MultiFluid.HeatExchangers.Economiser economiser( + S=100, nominal_DT_default=false, QCp_max_side=Eco_QCp_max_side, Q_cold_0=56.89394, @@ -169,6 +170,7 @@ model MetroscopiaCCGT_direct rotation=180, origin={56,34}))); MetroscopeModelingLibrary.MultiFluid.HeatExchangers.Evaporator evaporator( + S=100, x_steam_out(start=1), faulty=false, Q_cold_0=47.517586, @@ -185,6 +187,7 @@ model MetroscopiaCCGT_direct h_0=2691576) annotation (Placement(transformation(extent={{-34,28},{-46,40}}))); MetroscopeModelingLibrary.MultiFluid.HeatExchangers.Superheater HPsuperheater1( + S=100, nominal_DT_default=false, QCp_max_side="unidentified", Q_cold_0=47.517586, @@ -255,6 +258,7 @@ model MetroscopiaCCGT_direct MetroscopeModelingLibrary.Sensors.Power.PowerSensor W_ST_out_sensor(W_MW(start=64.77)) annotation (Placement(transformation(extent={{90,274},{102,286}}))); MetroscopeModelingLibrary.WaterSteam.HeatExchangers.Condenser condenser( + S=100, Q_cold_0=2730.2332, Q_hot_0=49.734425, Psat_0=4973.1817, @@ -374,6 +378,7 @@ model MetroscopiaCCGT_direct T_0=913.15) annotation (Placement(transformation(extent={{-370,-7},{-358,5}}))); MetroscopeModelingLibrary.MultiFluid.HeatExchangers.Superheater Reheater( + S=100, nominal_DT_default=false, QCp_max_side=ReH_QCp_max_side, Q_cold_0=49.734425, @@ -566,9 +571,9 @@ model MetroscopiaCCGT_direct extent={{-5,-5},{5,5}}, rotation=90, origin={-442,-21}))); - MetroscopeModelingLibrary.Power.Machines.Generator GT_generator + MetroscopeModelingLibrary.Power.Machines.Generator GT_generator(eta=0.99) annotation (Placement(transformation(extent={{-380,50},{-348,70}}))); - MetroscopeModelingLibrary.Power.Machines.Generator ST_generator + MetroscopeModelingLibrary.Power.Machines.Generator ST_generator(eta=0.99) annotation (Placement(transformation(extent={{50,270},{82,290}}))); MetroscopeModelingLibrary.Sensors.FlueGases.TemperatureSensor T_flue_gas_sink_sensor( Q_0=510.45065, @@ -589,13 +594,14 @@ model MetroscopiaCCGT_direct Q_0=500, T_0=297.149994, h_0=301935.4) - annotation (Placement(transformation(extent={{-576,-10},{-556,10}}))); + annotation (Placement(transformation(extent={{-580,-10},{-560,10}}))); MetroscopeModelingLibrary.Sensors.FlueGases.PressureSensor P_filter_out_sensor( Q_0=500, P_0=100000, h_0=301935.4) annotation (Placement(transformation(extent={{-548,-6},{-536,6}}))); MetroscopeModelingLibrary.MultiFluid.HeatExchangers.Superheater HPsuperheater2( + S=100, nominal_DT_default=false, QCp_max_side=HPSH_QCp_max_side, Q_cold_0=49.734425, @@ -667,8 +673,22 @@ model MetroscopiaCCGT_direct rotation=180, origin={-90,180}))); Sensors.MoistAir.RelativeHumiditySensor H_sensor(sensor_function="BC") annotation (Placement(transformation(extent={{-694,-6},{-682,6}}))); + FlueGases.Pipes.FrictionPipe HRSG_friction annotation (Placement(transformation(extent={{40,10},{60,-10}}))); + Utilities.Interfaces.RealInput HRSG_Kfr(start=0.022388678) + annotation (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=90, + origin={50,-20}), iconTransformation(extent={{-36,-16},{4,24}}))); + Utilities.Interfaces.RealExpression AirFilter_Kfr(y=0.04432005 + T_source_air*1e-4) annotation (Placement(transformation( + extent={{-20,-12},{20,12}}, + rotation=0, + origin={-570,40}))); equation + T_source_air = 24 + time*10; + + Filter_Kfr = 0.04432005 + T_source_air * 1e-4; + //AirFilter.Kfr = Filter_Kfr; //--- Air / Flue Gas System --- // Air source @@ -689,9 +709,7 @@ equation // Quantities definition P_filter_out_sensor.P_barA = P_filter_out; // Calibrated parameters - AirFilter.Kfr = Filter_Kfr; - // Parameters - AirFilter.delta_z = 1; + // Air Compressor // Quantities definition @@ -713,58 +731,45 @@ equation // Calibrated parameters gasTurbine.tau = turbine_compression_rate; gasTurbine.eta_is = turbine_eta_is; - // Parameters - gasTurbine.eta_mech = 0.99; // Generator // Quantities definition W_GT_sensor.W_MW = W_GT; - // Parameters - GT_generator.eta = 0.99; // Flue Gas sink //Quantities definition P_flue_gas_sink_sensor.P_barA = P_flue_gas_sink; T_flue_gas_sink_sensor.T_degC = T_flue_gas_sink; - // --- Water / Steam Circuit // Economizer // Quantities definition T_w_eco_out_sensor.T_degC = T_w_eco_out; P_w_eco_out_sensor.P_barA = P_w_eco_out; // Parameters - economiser.S = 100; economiser.nominal_cold_side_temperature_rise = 235; economiser.nominal_hot_side_temperature_drop = 150; T_w_eco_in_sensor.T_degC = T_w_eco_in; // Calibrated parameters economiser.Kth = Eco_Kth; - economiser.Kfr_hot = Eco_Kfr_hot; economiser.Kfr_cold = Eco_Kfr_cold; // Evaporator // Quantities definition P_w_evap_out_sensor.P_barA = P_w_evap_out; - evaporator.x_steam_out = Evap_x_steam_out; Evap_opening_sensor.Opening = Evap_opening; // Parameters - evaporator.S = 100; - evaporator.Kfr_hot = 0; // Calibrated parameters - Evap_controlValve.Cv_max = Evap_CV_Cvmax; + Evap_controlValve.Cv_max = Evap_CV_Cvmax; evaporator.Kth = Evap_Kth; - evaporator.Kfr_cold = Evap_Kfr_cold; // HP Superheater 1 // Quantities definition P_w_HPSH1_out_sensor.P_barA = P_w_HPSH1_out; T_w_HPSH1_out_sensor.T_degC = T_w_HPSH1_out; // Parameters - HPsuperheater1.S = 100; HPsuperheater1.nominal_cold_side_temperature_rise = 250; HPsuperheater1.nominal_hot_side_temperature_drop = 180; - HPsuperheater1.Kfr_hot = 0; // Calibrated parameters HPsuperheater1.Kth = HPSH1_Kth; HPsuperheater1.Kfr_cold = HPSH1_Kfr_cold; @@ -773,10 +778,8 @@ equation // Quantities definition P_w_HPSH2_out_sensor.P_barA = P_w_HPSH2_out; // Parameters - HPsuperheater2.S = 100; HPsuperheater2.nominal_cold_side_temperature_rise = 150; HPsuperheater2.nominal_hot_side_temperature_drop = 180; - HPsuperheater2.Kfr_hot = 0; T_w_HPSH2_out_sensor.T_degC = T_w_HPSH2_out; // Calibrated parameters HPsuperheater2.Kth = HPSH2_Kth; @@ -787,17 +790,15 @@ equation deSH_opening_sensor.Opening = deSH_opening; Q_deSH_sensor.Q = Q_deSH; // Calibrated parameters - deSH_controlValve.Cv_max = deSH_CV_Cvmax; + deSH_controlValve.Cv_max = deSH_CV_Cvmax; // Reheater // Quantities definition T_w_ReH_out_sensor.T_degC = T_w_ReH_out; P_w_ReH_out_sensor.P_barA = P_w_ReH_out; // Parameters - Reheater.S = 100; Reheater.nominal_cold_side_temperature_rise = 100; Reheater.nominal_hot_side_temperature_drop = 180; - Reheater.Kfr_hot = 0; // Calibrated parameters Reheater.Kth = ReH_Kth; Reheater.Kfr_cold = ReH_Kfr_cold; @@ -807,8 +808,6 @@ equation // Steam Turbine Generator // Quantities definition W_ST_out_sensor.W_MW = W_ST_out; - // Parameters - ST_generator.eta = 0.99; // High Pressure Level // Quantities definition @@ -836,10 +835,7 @@ equation T_circulating_water_out_sensor.T_degC = T_circulating_water_out; P_Cond_sensor.P_barA = P_Cond; // Parameters - condenser.S = 100; - condenser.water_height = 1; condenser.C_incond = 0; - condenser.P_offset = 0; condenser.Kfr_cold = 1; // Calibrated parameters condenser.Kth = Cond_Kth; @@ -865,7 +861,7 @@ equation // Calibrated parameters pumpRec.hn = pumpRec_hn; pumpRec.rh = pumpRec_rh; - pumpRec_controlValve.Cv_max = pumpRec_CV_Cvmax; + pumpRec_controlValve.Cv_max = pumpRec_CV_Cvmax; connect(HPsuperheater1.C_cold_out, T_w_HPSH1_out_sensor.C_in) annotation ( Line(points={{-173.4,15.8},{-172,15.8},{-172,34},{-178,34}}, @@ -912,9 +908,6 @@ equation color={28,108,200}, pattern=LinePattern.Dash, thickness=1)); - connect(evaporator.C_hot_out, economiser.C_hot_in) annotation (Line(points={{6,-1},{84,-1},{84,-0.25}}, - color={95,95,95}, - thickness=1)); connect(gasTurbine.C_out, turbine_T_out_sensor.C_in) annotation (Line(points={{-382,-0.5},{-382,-1},{-370,-1}}, color={95,95,95}, @@ -1050,10 +1043,10 @@ equation color={28,108,200}, thickness=0.5)); connect(AirFilter.C_out, P_filter_out_sensor.C_in) - annotation (Line(points={{-556,0},{-548,0}}, color={95,95,95}, + annotation (Line(points={{-560,0},{-548,0}}, color={95,95,95}, thickness=1)); connect(Q_source_air_sensor.C_out, AirFilter.C_in) - annotation (Line(points={{-588,0},{-576,0}}, color={95,95,95}, + annotation (Line(points={{-588,0},{-580,0}}, color={95,95,95}, thickness=1)); connect(P_filter_out_sensor.C_out, airCompressor.C_in) annotation (Line(points={{-536,0},{-524,0}}, color={95,95,95}, @@ -1133,6 +1126,10 @@ equation points={{-694,0},{-703,0}}, color={85,170,255}, thickness=1)); + connect(HRSG_friction.Kfr,HRSG_Kfr) annotation (Line(points={{50,-4},{50,-20}}, color={0,0,127})); + connect(evaporator.C_hot_out, HRSG_friction.C_in) annotation (Line(points={{6,-1},{22,-1},{22,0},{40,0}}, color={95,95,95})); + connect(HRSG_friction.C_out, economiser.C_hot_in) annotation (Line(points={{60,0},{84,0},{84,-0.25}}, color={95,95,95})); + connect(AirFilter_Kfr.y, AirFilter.Kfr) annotation (Line(points={{-570,34},{-570,4}}, color={0,0,127})); annotation (Icon(coordinateSystem(preserveAspectRatio=false, extent={{-720,-120},{260,300}})), Diagram( coordinateSystem(preserveAspectRatio=false, extent={{-720,-120},{260,300}}), diff --git a/MetroscopeModelingLibrary/Examples/CCGT/MetroscopiaCCGT/MetroscopiaCCGT_direct_withStartValues.mo b/MetroscopeModelingLibrary/Examples/CCGT/MetroscopiaCCGT/MetroscopiaCCGT_direct_withStartValues.mo index 2dfc7899..ea932107 100644 --- a/MetroscopeModelingLibrary/Examples/CCGT/MetroscopiaCCGT/MetroscopiaCCGT_direct_withStartValues.mo +++ b/MetroscopeModelingLibrary/Examples/CCGT/MetroscopiaCCGT/MetroscopiaCCGT_direct_withStartValues.mo @@ -11,8 +11,6 @@ model MetroscopiaCCGT_direct_withStartValues Q(start=-500.0), h_outflow(start=299616.5)), DP(start=-10000.0), - DP_f(start=-9989.122), - DP_z(start=-10.877613), P_in(start=100000.0), P_out(start=90000.0), Q(start=500.0), @@ -24,7 +22,6 @@ model MetroscopiaCCGT_direct_withStartValues rho(start=1.1092079), state_in(T(start=297.15)), state_out(T(start=297.15))), - Evap_Kfr_cold(start=0.0), Evap_controlValve( C_in( P(start=12250000.0), @@ -93,14 +90,10 @@ model MetroscopiaCCGT_direct_withStartValues state_is(T(start=481.81647), h(start=2849046.8)), state_out(T(start=528.64996), h(start=2955357.2)), x_in(start=1.0), - h_vap_sat_in( - start=2700337.8), - h_vap_sat_out( - start=2777119.5), - h_liq_sat_in( - start=1462717.5), - h_liq_sat_out( - start=762682.9)), + h_vap_sat_in(start=2700337.8), + h_vap_sat_out(start=2777119.5), + h_liq_sat_in(start=1462717.5), + h_liq_sat_out(start=762682.9)), HPsuperheater1( C_cold_in( P(start=12000000.0), @@ -160,8 +153,6 @@ model MetroscopiaCCGT_direct_withStartValues Q(start=-48.0), h_outflow(start=3216404.0)), DP(start=-400000.0), - DP_f(start=-400000.0), - DP_z(start=0.0), P_in(start=12000000.0), P_out(start=11600000.0), Q(start=48.0), @@ -193,30 +184,7 @@ model MetroscopiaCCGT_direct_withStartValues h_out(start=908245.6), rho(start=0.43560895), state_in(T(start=884.8291)), - state_out(T(start=842.38007))), - hot_side_pipe( - C_in( - P(start=110000.0), - Q(start=510.5244), - h_outflow(start=0.0)), - C_out( - P(start=110000.0), - Q(start=-510.5244), - h_outflow(start=958153.94)), - DP(start=0.0), - DP_f(start=0.0), - DP_z(start=0.0), - P_in(start=110000.0), - P_out(start=110000.0), - Q(start=510.5244), - T_in(start=884.8291), - T_out(start=884.8291), - h(start=958153.94), - h_in(start=958153.94), - h_out(start=958153.94), - rho(start=0.42490312), - state_in(T(start=884.8291)), - state_out(T(start=884.8291)))), + state_out(T(start=842.38007)))), HPsuperheater2( C_cold_in( P(start=11600000.0), @@ -276,8 +244,6 @@ model MetroscopiaCCGT_direct_withStartValues Q(start=-50.0), h_outflow(start=3529789.0)), DP(start=-200000.0), - DP_f(start=-200000.0), - DP_z(start=0.0), P_in(start=11600000.0), P_out(start=11400000.0), Q(start=50.0), @@ -309,30 +275,7 @@ model MetroscopiaCCGT_direct_withStartValues h_out(start=958153.94), rho(start=0.4167522), state_in(T(start=920.1309)), - state_out(T(start=884.8291))), - hot_side_pipe( - C_in( - P(start=110000.0), - Q(start=510.5244), - h_outflow(start=0.0)), - C_out( - P(start=110000.0), - Q(start=-510.5244), - h_outflow(start=1000000.0)), - DP(start=0.0), - DP_f(start=0.0), - DP_z(start=0.0), - P_in(start=110000.0), - P_out(start=110000.0), - Q(start=510.5244), - T_in(start=920.1309), - T_out(start=920.1309), - h(start=1000000.0), - h_in(start=1000000.0), - h_out(start=1000000.0), - rho(start=0.40860128), - state_in(T(start=920.1309)), - state_out(T(start=920.1309)))), + state_out(T(start=884.8291)))), LHV_plant(start=48130000.0), LPST_control_valve( C_in( @@ -379,14 +322,10 @@ model MetroscopiaCCGT_direct_withStartValues state_is(T(start=306.01938), h(start=2258843.2)), state_out(T(start=306.01807), h(start=2421463.8)), x_in(start=1.0), - h_vap_sat_in( - start=2768302.2), - h_vap_sat_out( - start=2560765.0), - h_liq_sat_in( - start=721017.9), - h_liq_sat_out( - start=137765.12)), + h_vap_sat_in(start=2768302.2), + h_vap_sat_out(start=2560765.0), + h_liq_sat_in(start=721017.9), + h_liq_sat_out(start=137765.12)), P_Cond(start=0.05), P_Cond_sensor( C_in( @@ -814,8 +753,6 @@ model MetroscopiaCCGT_direct_withStartValues Q(start=-50.0), h_outflow(start=3160163.2)), DP(start=-100000.0), - DP_f(start=-100000.0), - DP_z(start=0.0), P_in(start=1000000.0), P_out(start=900000.0), Q(start=50.0), @@ -847,30 +784,7 @@ model MetroscopiaCCGT_direct_withStartValues h_out(start=888187.2), rho(start=0.4509584), state_in(T(start=842.38007)), - state_out(T(start=825.2085))), - hot_side_pipe( - C_in( - P(start=110000.0), - Q(start=510.5244), - h_outflow(start=0.0)), - C_out( - P(start=110000.0), - Q(start=-510.5244), - h_outflow(start=908245.6)), - DP(start=0.0), - DP_f(start=0.0), - DP_z(start=0.0), - P_in(start=110000.0), - P_out(start=110000.0), - Q(start=510.5244), - T_in(start=842.38007), - T_out(start=842.38007), - h(start=908245.6), - h_in(start=908245.6), - h_out(start=908245.6), - rho(start=0.44631478), - state_in(T(start=842.38007)), - state_out(T(start=842.38007)))), + state_out(T(start=825.2085)))), T_circulating_water_in_sensor( C_in( P(start=500000.0), @@ -1261,8 +1175,6 @@ model MetroscopiaCCGT_direct_withStartValues Q(start=-2730.2144), h_outflow(start=63375.0)), DP(start=-7459.403), - DP_f(start=-7459.403), - DP_z(start=0.0), P_in(start=500000.0), P_out(start=492540.6), Q(start=2730.2144), @@ -1349,8 +1261,6 @@ model MetroscopiaCCGT_direct_withStartValues Q(start=-50.0), h_outflow(start=137734.06)), DP(start=9754.728), - DP_f(start=0.0), - DP_z(start=9754.728), P_in(start=5000.0), P_out(start=14754.728), Q(start=50.0), @@ -1443,8 +1353,6 @@ model MetroscopiaCCGT_direct_withStartValues Q(start=-57.402336), h_outflow(start=1460173.4)), DP(start=-4750000.0), - DP_f(start=-4750000.0), - DP_z(start=0.0), P_in(start=17000000.0), P_out(start=12250000.0), Q(start=57.402336), @@ -1476,30 +1384,7 @@ model MetroscopiaCCGT_direct_withStartValues h_out(start=650319.44), rho(start=0.51299495), state_in(T(start=725.2495)), - state_out(T(start=616.1443))), - hot_side_pipe( - C_in( - P(start=110000.0), - Q(start=510.5244), - h_outflow(start=0.0)), - C_out( - P(start=100000.0), - Q(start=-510.5244), - h_outflow(start=772973.06)), - DP(start=-10000.0), - DP_f(start=-10000.0), - DP_z(start=0.0), - P_in(start=110000.0), - P_out(start=100000.0), - Q(start=510.5244), - T_in(start=725.2495), - T_out(start=725.2495), - h(start=772973.06), - h_in(start=772973.06), - h_out(start=772973.06), - rho(start=0.49483284), - state_in(T(start=725.2495)), - state_out(T(start=725.2495)))), + state_out(T(start=616.1443)))), evaporator( C_cold_in( P(start=12000000.0), @@ -1549,29 +1434,6 @@ model MetroscopiaCCGT_direct_withStartValues rho(start=662.2967), state_in(T(start=593.15), h(start=1460173.4)), state_out(T(start=597.8455), h(start=1491327.0))), - cold_side_pipe( - C_in( - P(start=12000000.0), - Q(start=48.0), - h_outflow(start=0.0)), - C_out( - P(start=12000000.0), - Q(start=-48.0), - h_outflow(start=1460173.4)), - DP(start=0.0), - DP_f(start=0.0), - DP_z(start=0.0), - P_in(start=12000000.0), - P_out(start=12000000.0), - Q(start=48.0), - T_in(start=593.15), - T_out(start=593.15), - h(start=1460173.4), - h_in(start=1460173.4), - h_out(start=1460173.4), - rho(start=669.4822), - state_in(T(start=593.15), h(start=1460173.4)), - state_out(T(start=593.15), h(start=1460173.4))), cold_side_vaporising( C_in( P(start=12000000.0), @@ -1616,29 +1478,6 @@ model MetroscopiaCCGT_direct_withStartValues rho(start=0.51748085), state_in(T(start=727.82007)), state_out(T(start=725.2495))), - hot_side_pipe( - C_in( - P(start=110000.0), - Q(start=510.5244), - h_outflow(start=0.0)), - C_out( - P(start=110000.0), - Q(start=-510.5244), - h_outflow(start=888187.2)), - DP(start=0.0), - DP_f(start=0.0), - DP_z(start=0.0), - P_in(start=110000.0), - P_out(start=110000.0), - Q(start=510.5244), - T_in(start=825.2085), - T_out(start=825.2085), - h(start=888187.2), - h_in(start=888187.2), - h_out(start=888187.2), - rho(start=0.45560202), - state_in(T(start=825.2085)), - state_out(T(start=825.2085))), hot_side_vaporising( C_in( P(start=110000.0), diff --git a/MetroscopeModelingLibrary/Examples/CCGT/MetroscopiaCCGT/MetroscopiaCCGT_reverse.mo b/MetroscopeModelingLibrary/Examples/CCGT/MetroscopiaCCGT/MetroscopiaCCGT_reverse.mo index 380d2cb8..48dc439e 100644 --- a/MetroscopeModelingLibrary/Examples/CCGT/MetroscopiaCCGT/MetroscopiaCCGT_reverse.mo +++ b/MetroscopeModelingLibrary/Examples/CCGT/MetroscopiaCCGT/MetroscopiaCCGT_reverse.mo @@ -4,812 +4,911 @@ model MetroscopiaCCGT_reverse // Boundary conditions - // Air source - input Real P_source_air(start=1) "bar"; - input Units.MassFlowRate Q_source_air(start=500) "kg/s"; - input Real T_source_air(start=24) "degC"; - input Real Relative_Humidity(start=0.5); // Fuel source - input Real P_fuel_source(start=30) "bar"; - input Real T_fuel_source(start=156) "degC"; input Units.SpecificEnthalpy LHV_plant(start=48130e3) "Directly assigned in combustion chamber modifiers"; - // Circulating water circuit - input Real P_circulating_water_in(start=5, min=0, nominal=5) "barA"; - input Real T_circulating_water_in(start = 15, min = 0, nominal = 15) "degC"; - // Flue gas sink - input Real P_flue_gas_sink(start=1, min=0, nominal=1) "barA"; - // Parameters - - // Gas Turbine - parameter Units.SpecificEnthalpy GT_h_out=1e6; // This enthalpy corresponds to T = 640°C at 1.1 bar - parameter Real combustionChamber_eta = 0.9999; - parameter Units.FrictionCoefficient combustionChamber_Kfr = 1e-3; - // Economizer - parameter String Eco_QCp_max_side = "hot"; - parameter Real T_w_eco_in = 85 "degC"; // Controlled by the economizer recirculation pump flow rate - // Evaporator - parameter Real Evap_x_steam_out=1; - parameter Units.FrictionCoefficient Evap_Kfr_cold=0; - // High Pressure Superheater - parameter String HPSH_QCp_max_side = "hot"; - // High Pressure Superheater 2 - parameter Real T_w_HPSH2_out = 566.5 "degC"; // Controlled by the desuperheater mass flow rate - // Low Pressure Superheater (resuperheater) - parameter String ReH_QCp_max_side = "hot"; - - // Observables used for calibration - - // Gas Turbine - input Real P_filter_out(start=0.9) "barA"; - input Real compressor_P_out(start = 17) "barA"; - input Real compressor_T_out(start = 450) "degC"; - input Real W_GT(start = 150) "MW"; - input Real turbine_P_out(start=1.1) "barA"; - // Economizer - input Real P_w_eco_out(start = 122.5, min= 0, nominal = 122.5) "barA"; - input Real T_w_eco_out(start = 320, min = 0, nominal = 320) "degC"; - // Evaporator - input Real Evap_opening(start=0.35); - input Real P_w_evap_out(start = 120, min= 0, nominal = 120) "barA"; - // High Pressure Superheater 1 - input Real P_w_HPSH1_out(start=116, min=0, nominal=116) "barA"; - input Real T_w_HPSH1_out(start=450, min= 200, nominal=450) "degC"; - // High Pressure Superheater 2 - input Real P_w_HPSH2_out(start=114, min=0, nominal=114) "barA"; - // De-superheater - input Real deSH_opening(start=0.15); - input Real Q_deSH(start=2) "kg/s"; - // Reheater - input Real T_w_ReH_out(start = 350, min = 0, nominal = 350) "degC"; - input Real P_w_ReH_out(start=9, min=0, nominal=9) "barA"; - // Steam Turbine - input Real P_ST_in(start=113) "barA"; - input Real P_ST_out(start=10) "barA"; - input Real W_ST_out(start=65, unit="MW", nominal=65, min=0) "MW"; - input Real T_HPST_out(start=255.5) "degC"; - input Real P_LPST_in(start=8, min=0, nominal=4.9) "bar"; - // Condenser - input Real P_Cond(start=0.05, min=0, nominal=0.05) "bar"; - input Real T_circulating_water_out(start=25, min=10, nominal=25) "degC"; - // Extraction Pump - input Real P_pump_out(start=170) "barA"; - input Real T_pump_out(start=35) "degC"; - input Real Q_pump_out(start=50) "kg/s"; - // Recirculation Pump - input Real P_pumpRec_out(start=180) "barA"; - input Real T_pumpRec_out(start=324) "degC"; - input Real pumpRec_opening(start=0.35); - - // Calibrated parameters (input used for calibration in comment) - - // Gas Turbine - output Units.FrictionCoefficient Filter_Kfr; // Filter outlet pressure - output Real compression_rate; // Air compressor outlet pressure - output Real compressor_eta_is; // Air compressor outlet temperature - output Real turbine_eta_is; // Gas turbine power output - // Economizer - output Units.HeatExchangeCoefficient Eco_Kth; // Economizer water outlet temperature - output Units.FrictionCoefficient Eco_Kfr_hot; // Gas turbine outlet pressure - output Units.FrictionCoefficient Eco_Kfr_cold; // Economizer water outlet pressure - // Evaporator - output Units.Cv Evap_CV_Cvmax; // Evaporator control valve opening - output Units.HeatExchangeCoefficient Evap_Kth; // Extraction pump mass flow rate - // High Pressure Superheater 1 - output Units.HeatExchangeCoefficient HPSH1_Kth; // HP superheater outlet temperature - output Units.FrictionCoefficient HPSH1_Kfr_cold; // HP superheater inlet pressure - // High Pressure Superheater 2 - output Units.HeatExchangeCoefficient HPSH2_Kth; // De-superheater mass flow rate - output Units.FrictionCoefficient HPSH2_Kfr_cold; // HP superheater inlet pressure - // De-superheater - output Units.Cv deSH_CV_Cvmax; // Desuperheater control valve opening - // Reheater - output Units.HeatExchangeCoefficient ReH_Kth; // LP superheater outlet temperature - output Units.FrictionCoefficient ReH_Kfr_cold; // LP superheater inlet pressure - // High Pressure Steam Turbine - output Units.Cv HPST_CV_Cv; // HP superheater outlet pressure - output Units.Cst HPST_Cst; // HP steam turbine inlet pressure - output Units.Yield HPST_eta_is; // HP steam turbine outlet temperature - output Units.Yield LPST_eta_is; // Power output - // Low Pressure Steam Turbine - output Units.Cv LPST_CV_Cv; // Low pressure superheater outlet pressure - output Units.Cst LPST_Cst; // LP steam turbine inlet pressure - // Condenser - output Units.HeatExchangeCoefficient Cond_Kth; // Condensation pressure - output Units.VolumeFlowRate Qv_cond_cold; // Circulating water outlet temperature - // Exctraction Pump - output Real pump_hn; // Exctraction pump outlet pressure - output Real pump_rh; // Exctraction pump outlet temperature - // Recirculation pump - output Real pumpRec_hn; // Recirculation pump outlet pressure - output Real pumpRec_rh; // Recirculation pump outlet temperature - output Units.Cv pumpRec_CV_Cvmax;// Recirculation control valve opening - - // Observables of interest - output Units.PositiveMassFlowRate Q_fuel_source; // Observable: controlled by the gas turbine outlet temperature - output Real T_flue_gas_sink; // Observable - output Real Q_pumpRec_out; // Observable: controlled by the economizer input temperature - output Real turbine_compression_rate; // Observable of interest - - MetroscopeModelingLibrary.MultiFluid.HeatExchangers.Economiser economiser(nominal_DT_default=false, - QCp_max_side=Eco_QCp_max_side) - annotation (Placement(transformation(extent={{74,-56},{132,3}}))); + MetroscopeModelingLibrary.MultiFluid.HeatExchangers.Economiser economiser( + QCp_max_side="hot") + annotation (Placement(transformation(extent={{71,-29.5},{129,29.5}}))); MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Sink flue_gas_sink annotation (Placement(transformation( extent={{-10,-10},{10,10}}, rotation=90, - origin={222,198}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.TemperatureSensor T_w_eco_out_sensor(sensor_function="Calibration", causality="Eco_Kth") + origin={222,224}))); + MetroscopeModelingLibrary.Sensors_Control.WaterSteam.TemperatureSensor T_w_eco_out_sensor(sensor_function="Calibration", causality="Eco_Kth") annotation (Placement(transformation( extent={{-6,6},{6,-6}}, rotation=180, - origin={8,8}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor P_w_eco_out_sensor(sensor_function="Calibration", causality="Eco_Kfr") + origin={12,34}))); + MetroscopeModelingLibrary.Sensors_Control.WaterSteam.PressureSensor P_w_eco_out_sensor(sensor_function="Calibration", causality="Eco_Kfr") annotation (Placement(transformation( extent={{-6,6},{6,-6}}, rotation=180, - origin={56,8}))); + origin={56,34}))); MetroscopeModelingLibrary.MultiFluid.HeatExchangers.Evaporator evaporator(faulty=false) - annotation (Placement(transformation(extent={{-46,-56},{12,4.5}}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor P_w_evap_out_sensor(sensor_function="Calibration", causality="SH1_Kfr") - annotation (Placement(transformation(extent={{-34,2},{-46,14}}))); - MetroscopeModelingLibrary.MultiFluid.HeatExchangers.Superheater HPsuperheater1(nominal_DT_default=false, - QCp_max_side=HPSH_QCp_max_side) - annotation (Placement(transformation(extent={{-186,-56},{-126,4}}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.TemperatureSensor T_w_HPSH1_out_sensor(sensor_function="Calibration", causality="SH1_Kth") + annotation (Placement(transformation(extent={{-36,-30},{20,30}}))); + MetroscopeModelingLibrary.Sensors_Control.WaterSteam.PressureSensor P_w_evap_out_sensor(sensor_function="Calibration", causality="SH1_Kfr") + annotation (Placement(transformation(extent={{-34,28},{-46,40}}))); + MetroscopeModelingLibrary.MultiFluid.HeatExchangers.Superheater HPsuperheater1( + QCp_max_side="hot") + annotation (Placement(transformation(extent={{-186,-30},{-126,30}}))); + Sensors_Control.WaterSteam.TemperatureSensor T_w_HPSH1_out_sensor(sensor_function="Calibration", causality="SH1_Kth") annotation (Placement(transformation( extent={{-6,6},{6,-6}}, rotation=180, - origin={-184,8}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor P_w_HPSH1_out_sensor(sensor_function="Calibration", causality="SH2_Kfr") + origin={-184,34}))); + Sensors_Control.WaterSteam.PressureSensor P_w_HPSH1_out_sensor(sensor_function="Calibration", causality="SH2_Kfr") annotation (Placement(transformation( extent={{-6,6},{6,-6}}, rotation=180, - origin={-208,8}))); + origin={-208,34}))); WaterSteam.Pipes.SlideValve HPST_control_valve - annotation (Placement(transformation(extent={{-203.25,144.738},{-186.75, - 162.677}}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor P_HPST_in_sensor(sensor_function="Calibration", causality="HPST_Cst") + annotation (Placement(transformation(extent={{-223.25,176.738},{-206.75,194.677}}))); + MetroscopeModelingLibrary.Sensors_Control.WaterSteam.PressureSensor P_HPST_in_sensor(sensor_function="Calibration", causality="HPST_Cst") annotation (Placement(transformation( extent={{-6,-6},{6,6}}, rotation=0, - origin={-174,148}))); - MetroscopeModelingLibrary.WaterSteam.Machines.SteamTurbine HPsteamTurbine annotation (Placement(transformation(extent={{-160,132},{-126,164}}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor P_HPST_out_sensor(sensor_function="Calibration", causality="RHT_Kfr") - annotation (Placement(transformation(extent={{-114,142},{-102,154}}))); - MetroscopeModelingLibrary.Sensors.Power.PowerSensor W_ST_out_sensor(sensor_function="Calibration", causality="LPST_eta_is") - annotation (Placement(transformation(extent={{90,250},{102,262}}))); + origin={-194,180}))); + MetroscopeModelingLibrary.WaterSteam.Machines.SteamTurbine HPsteamTurbine annotation (Placement(transformation(extent={{-180,164},{-146,196}}))); + MetroscopeModelingLibrary.Sensors_Control.WaterSteam.PressureSensor P_HPST_out_sensor(sensor_function="Calibration", causality="RHT_Kfr") + annotation (Placement(transformation(extent={{-134,174},{-122,186}}))); + MetroscopeModelingLibrary.Sensors_Control.Power.PowerSensor W_ST_out_sensor(sensor_function="Calibration", causality="LPST_eta_is") + annotation (Placement(transformation(extent={{90,314},{102,326}}))); MetroscopeModelingLibrary.WaterSteam.HeatExchangers.Condenser condenser - annotation (Placement(transformation(extent={{32,144.778},{72,176.778}}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.TemperatureSensor T_circulating_water_out_sensor(sensor_function="Calibration", causality="Cond_Qv") - annotation (Placement(transformation(extent={{86,171},{96,181}}))); + annotation (Placement(transformation(extent={{40,185.778},{80,217.778}}))); + MetroscopeModelingLibrary.Sensors_Control.WaterSteam.TemperatureSensor T_circulating_water_out_sensor(sensor_function="Calibration", causality="Cond_Qv") + annotation (Placement(transformation(extent={{105,195},{115,205}}))); MetroscopeModelingLibrary.WaterSteam.BoundaryConditions.Source circulating_water_source annotation (Placement(transformation( extent={{-10,-10},{10,10}}, rotation=0, - origin={-16,159}))); + origin={-40,200}))); MetroscopeModelingLibrary.WaterSteam.BoundaryConditions.Sink circulating_water_sink - annotation (Placement(transformation(extent={{98,168},{114,184}}))); + annotation (Placement(transformation(extent={{122,192},{138,208}}))); WaterSteam.Machines.FixedSpeedPump pump annotation (Placement( transformation( extent={{-7,-7},{7,7}}, - origin={116,131}, + origin={110,160}, rotation=0))); - MetroscopeModelingLibrary.Sensors.WaterSteam.TemperatureSensor T_pump_out_sensor(sensor_function="Calibration", causality="rh") + MetroscopeModelingLibrary.Sensors_Control.WaterSteam.TemperatureSensor T_pump_out_sensor(sensor_function="Calibration", causality="rh") annotation (Placement(transformation( extent={{5,5},{-5,-5}}, rotation=180, - origin={137,131}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor P_pump_out_sensor(sensor_function="Calibration", causality="hn") - annotation (Placement(transformation(extent={{-5,-5},{5,5}}, origin={155, - 131}))); + origin={130,160}))); + MetroscopeModelingLibrary.Sensors_Control.WaterSteam.PressureSensor P_pump_out_sensor(sensor_function="Calibration", causality="hn") + annotation (Placement(transformation(extent={{-5,-5},{5,5}}, origin={150,160}))); MetroscopeModelingLibrary.WaterSteam.Pipes.LoopBreaker loopBreaker annotation (Placement(transformation( extent={{-10,-10},{10,10}}, rotation=270, - origin={182,28}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.FlowSensor Q_pump_out_sensor(sensor_function="Calibration", causality="Evap_Kth") - annotation (Placement(transformation(extent={{166,126},{176,136}}))); + origin={180,54}))); + MetroscopeModelingLibrary.Sensors_Control.WaterSteam.FlowSensor Q_pump_out_sensor(sensor_function="Calibration", causality="Evap_Kth") + annotation (Placement(transformation(extent={{165,155},{175,165}}))); MetroscopeModelingLibrary.FlueGases.Machines.AirCompressor airCompressor(h_out( start=7e5)) - annotation (Placement(transformation(extent={{-524,-40},{-496,-12}}))); + annotation (Placement(transformation(extent={{-524,-14},{-496,14}}))); MetroscopeModelingLibrary.FlueGases.Machines.GasTurbine gasTurbine( eta_is(start=0.73), eta_mech(start=0.9), h_out(start=0.5e6)) - annotation (Placement(transformation(extent={{-414,-42},{-382,-10}}))); + annotation (Placement(transformation(extent={{-412,-16},{-380,16}}))); MetroscopeModelingLibrary.Power.BoundaryConditions.Sink sink_power - annotation (Placement(transformation(extent={{-332,24},{-312,44}}))); + annotation (Placement(transformation(extent={{-332,90},{-312,110}}))); MetroscopeModelingLibrary.MultiFluid.Machines.CombustionChamber combustionChamber(LHV=LHV_plant) - annotation (Placement(transformation(extent={{-452,-36},{-432,-16}}))); + annotation (Placement(transformation(extent={{-450,-10},{-430,10}}))); MetroscopeModelingLibrary.Fuel.BoundaryConditions.Source source_fuel(h_out( start=0.9e6)) annotation (Placement(transformation( extent={{-10,-10},{10,10}}, rotation=90, - origin={-442,-110}))); - MetroscopeModelingLibrary.Sensors.FlueGases.PressureSensor compressor_P_out_sensor(sensor_function="Calibration", causality="compressor_tau") - annotation (Placement(transformation(extent={{-490,-32},{-478,-20}}))); - MetroscopeModelingLibrary.Sensors.FlueGases.TemperatureSensor compressor_T_out_sensor(sensor_function="Calibration", causality="compressor_eta_is") - annotation (Placement(transformation(extent={{-472,-32},{-460,-20}}))); - MetroscopeModelingLibrary.Sensors.FlueGases.PressureSensor turbine_P_out_sensor(sensor_function="Calibration", causality="hrsg_kf_hot") - annotation (Placement(transformation(extent={{-350,-32},{-338,-20}}))); - MetroscopeModelingLibrary.Sensors.Power.PowerSensor W_GT_sensor(sensor_function="Calibration", causality="turbine_eta_is") - annotation (Placement(transformation(extent={{-346,28},{-334,40}}))); - MetroscopeModelingLibrary.Sensors.FlueGases.TemperatureSensor turbine_T_out_sensor(sensor_function="BC") - annotation (Placement(transformation(extent={{-370,-32},{-358,-20}}))); - MetroscopeModelingLibrary.MultiFluid.HeatExchangers.Superheater Reheater(nominal_DT_default=false, - QCp_max_side=ReH_QCp_max_side) - annotation (Placement(transformation(extent={{-102,-56},{-42,4}}))); - MetroscopeModelingLibrary.WaterSteam.Machines.SteamTurbine LPsteamTurbine annotation (Placement(transformation(extent={{-14,198},{20,230}}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.TemperatureSensor T_w_ReH_out_sensor(sensor_function="Calibration", causality="RHT_Kth") + origin={-440,-100}))); + Sensors_Control.FlueGases.PressureSensor compressor_P_out_sensor(sensor_function="Calibration", causality="compressor_tau") + annotation (Placement(transformation(extent={{-490,-6},{-478,6}}))); + Sensors_Control.FlueGases.TemperatureSensor compressor_T_out_sensor(sensor_function="Calibration", causality="compressor_eta_is", + T_0=723.15) + annotation (Placement(transformation(extent={{-472,-6},{-460,6}}))); + Sensors_Control.FlueGases.PressureSensor turbine_P_out_sensor(sensor_function="Calibration", causality="hrsg_kf_hot") + annotation (Placement(transformation(extent={{-350,-6},{-338,6}}))); + MetroscopeModelingLibrary.Sensors_Control.Power.PowerSensor W_GT_sensor(sensor_function="Calibration", causality="turbine_eta_is") + annotation (Placement(transformation(extent={{-346,94},{-334,106}}))); + Sensors_Control.FlueGases.TemperatureSensor turbine_T_out_sensor(sensor_function="BC", T_0=913.15) + annotation (Placement(transformation(extent={{-370,-6},{-358,6}}))); + MetroscopeModelingLibrary.MultiFluid.HeatExchangers.Superheater Reheater(nominal_DT_default=true, + QCp_max_side="hot") + annotation (Placement(transformation(extent={{-108,-30},{-48,30}}))); + MetroscopeModelingLibrary.WaterSteam.Machines.SteamTurbine LPsteamTurbine annotation (Placement(transformation(extent={{-14,264},{20,296}}))); + Sensors_Control.WaterSteam.TemperatureSensor T_w_ReH_out_sensor(sensor_function="Calibration", causality="RHT_Kth") annotation (Placement(transformation( extent={{6,6},{-6,-6}}, rotation=270, - origin={-80,29}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor P_w_ReH_out_sensor(sensor_function="Calibration", causality="LPST_valve_CV") + origin={-90,50}))); + Sensors_Control.WaterSteam.PressureSensor P_w_ReH_out_sensor(sensor_function="Calibration", causality="LPST_valve_CV") annotation (Placement(transformation( extent={{-6,-6},{6,6}}, rotation=90, - origin={-80,49}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor P_Cond_sensor(sensor_function="Calibration", causality="Cond_Kth") - annotation (Placement(transformation(extent={{28,208},{40,220}}))); - MetroscopeModelingLibrary.Sensors.FlueGases.PressureSensor P_source_air_sensor(sensor_function="BC") - annotation (Placement(transformation(extent={{-636,-32},{-624,-20}}))); - MetroscopeModelingLibrary.Sensors.FlueGases.TemperatureSensor T_source_air_sensor(sensor_function="BC") - annotation (Placement(transformation(extent={{-618,-32},{-606,-20}}))); - MetroscopeModelingLibrary.Sensors.FlueGases.FlowSensor Q_source_air_sensor(sensor_function="BC", display_output=true) - annotation (Placement(transformation(extent={{-600,-32},{-588,-20}}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.TemperatureSensor T_circulating_water_in_sensor(sensor_function="BC") + origin={-90,70}))); + MetroscopeModelingLibrary.Sensors_Control.WaterSteam.PressureSensor P_Cond_sensor(sensor_function="Calibration", causality="Cond_Kth", + display_unit="mbar", + signal_unit="mbar") + annotation (Placement(transformation(extent={{28,274},{40,286}}))); + Sensors_Control.FlueGases.PressureSensor P_source_air_sensor(sensor_function="BC", P_start=1) + annotation (Placement(transformation(extent={{-646,-6},{-634,6}}))); + Sensors_Control.FlueGases.TemperatureSensor T_source_air_sensor(sensor_function="BC") + annotation (Placement(transformation(extent={{-626,-6},{-614,6}}))); + Sensors_Control.FlueGases.FlowSensor Q_source_air_sensor(sensor_function="BC") + annotation (Placement(transformation(extent={{-606,-6},{-594,6}}))); + MetroscopeModelingLibrary.Sensors_Control.WaterSteam.TemperatureSensor T_circulating_water_in_sensor(sensor_function="BC") annotation (Placement(transformation( extent={{5,5},{-5,-5}}, rotation=180, - origin={3,159}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor P_circulating_water_in_sensor(sensor_function="BC") - annotation (Placement(transformation(extent={{-5,-5},{5,5}}, origin={19,159}))); + origin={-20,200}))); + MetroscopeModelingLibrary.Sensors_Control.WaterSteam.PressureSensor P_circulating_water_in_sensor(sensor_function="BC") + annotation (Placement(transformation(extent={{-5,-5},{5,5}}, origin={0,200}))); WaterSteam.Pipes.SlideValve LPST_control_valve - annotation (Placement(transformation(extent={{-61.25,210.738},{-44.75, - 228.677}}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor P_LPST_in_sensor(sensor_function="Calibration", causality="LPST_Cst") + annotation (Placement(transformation(extent={{-61.25,276.738},{-44.75,294.677}}))); + MetroscopeModelingLibrary.Sensors_Control.WaterSteam.PressureSensor P_LPST_in_sensor(sensor_function="Calibration", causality="LPST_Cst") annotation (Placement(transformation( extent={{-6,-6},{6,6}}, rotation=0, - origin={-28,214}))); + origin={-28,280}))); WaterSteam.Machines.FixedSpeedPump pumpRec(Q_0=1) annotation (Placement(transformation( extent={{-7,-7},{7,7}}, - origin={94,48.5455}, + origin={94,80.5455}, rotation=0))); - MetroscopeModelingLibrary.Sensors.WaterSteam.TemperatureSensor T_pumpRec_out_sensor(sensor_function="Calibration", causality="rh") + MetroscopeModelingLibrary.Sensors_Control.WaterSteam.TemperatureSensor T_pumpRec_out_sensor(sensor_function="Calibration", causality="rh") annotation (Placement(transformation( extent={{5,5},{-5,-5}}, rotation=180, - origin={115,48.5455}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor P_pumpRec_out_sensor(sensor_function="Calibration", causality="hn") - annotation (Placement(transformation(extent={{-5,-5},{5,5}}, origin={131, - 48.5455}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.FlowSensor Q_pumpRec_out_sensor - annotation (Placement(transformation(extent={{140,43.5455},{150,53.5455}}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.TemperatureSensor T_w_eco_in_sensor(sensor_function="BC") + origin={115,80.5455}))); + MetroscopeModelingLibrary.Sensors_Control.WaterSteam.PressureSensor P_pumpRec_out_sensor(sensor_function="Calibration", causality="hn") + annotation (Placement(transformation(extent={{-5,-5},{5,5}}, origin={131,80.5455}))); + MetroscopeModelingLibrary.Sensors_Control.WaterSteam.FlowSensor Q_pumpRec_out_sensor + annotation (Placement(transformation(extent={{140,75.5455},{150,85.5455}}))); + MetroscopeModelingLibrary.Sensors_Control.WaterSteam.TemperatureSensor T_w_eco_in_sensor(sensor_function="BC") annotation (Placement(transformation( extent={{-5,5},{5,-5}}, rotation=180, - origin={145,9}))); + origin={140,34}))); MetroscopeModelingLibrary.WaterSteam.Pipes.ControlValve pumpRec_controlValve - annotation (Placement(transformation(extent={{157,46},{170,60}}))); - MetroscopeModelingLibrary.Sensors.Outline.OpeningSensor pumpRec_opening_sensor(sensor_function="Calibration", causality="Cvmax") - annotation (Placement(transformation(extent={{158,68},{168,78}}))); - MetroscopeModelingLibrary.Sensors.FlueGases.PressureSensor P_flue_gas_sink_sensor(sensor_function="BC") + annotation (Placement(transformation(extent={{153.5,77.4545},{166.5,91.4545}}))); + MetroscopeModelingLibrary.Sensors_Control.Outline.OpeningSensor pumpRec_opening_sensor(sensor_function="Calibration", causality="Cvmax", + output_signal_unit="") + annotation (Placement(transformation(extent={{155,95},{165,105}}))); + MetroscopeModelingLibrary.Sensors_Control.FlueGases.PressureSensor P_flue_gas_sink_sensor(sensor_function="BC") annotation (Placement(transformation( extent={{-6,-6},{6,6}}, rotation=90, - origin={222,172}))); + origin={222,198}))); MetroscopeModelingLibrary.Power.BoundaryConditions.Sink sink - annotation (Placement(transformation(extent={{110,246},{130,266}}))); - MetroscopeModelingLibrary.Sensors.Fuel.PressureSensor P_fuel_source_sensor(sensor_function="BC") + annotation (Placement(transformation(extent={{110,310},{130,330}}))); + Sensors_Control.Fuel.PressureSensor P_fuel_source_sensor(sensor_function="BC") annotation (Placement(transformation( extent={{-5,-5},{5,5}}, rotation=90, - origin={-442,-61}))); - MetroscopeModelingLibrary.Sensors.Fuel.TemperatureSensor T_fuel_source_sensor(sensor_function="BC") + origin={-440,-40}))); + Sensors_Control.Fuel.TemperatureSensor T_fuel_source_sensor(sensor_function="BC") annotation (Placement(transformation( extent={{-5,-5},{5,5}}, rotation=90, - origin={-442,-75}))); - MetroscopeModelingLibrary.Sensors.Fuel.FlowSensor Q_fuel_source_sensor + origin={-440,-60}))); + Sensors_Control.Fuel.FlowSensor Q_fuel_source_sensor(causality="") annotation (Placement(transformation( extent={{-5,-5},{5,5}}, rotation=90, - origin={-442,-47}))); + origin={-440,-20}))); MetroscopeModelingLibrary.Power.Machines.Generator GT_generator - annotation (Placement(transformation(extent={{-380,24},{-348,44}}))); + annotation (Placement(transformation(extent={{-380,90},{-348,110}}))); MetroscopeModelingLibrary.Power.Machines.Generator ST_generator - annotation (Placement(transformation(extent={{50,246},{82,266}}))); - MetroscopeModelingLibrary.Sensors.FlueGases.TemperatureSensor T_flue_gas_sink_sensor + annotation (Placement(transformation(extent={{50,310},{82,330}}))); + MetroscopeModelingLibrary.Sensors_Control.FlueGases.TemperatureSensor T_flue_gas_sink_sensor annotation (Placement(transformation( extent={{-6,-6},{6,6}}, rotation=0, - origin={170,-26}))); + origin={170,0}))); MetroscopeModelingLibrary.FlueGases.Pipes.Filter AirFilter - annotation (Placement(transformation(extent={{-576,-36},{-556,-16}}))); - MetroscopeModelingLibrary.Sensors.FlueGases.PressureSensor P_filter_out_sensor( - display_unit="mbar", sensor_function="Calibration", causality="filter_Kfr") - annotation (Placement(transformation(extent={{-548,-32},{-536,-20}}))); - MetroscopeModelingLibrary.MultiFluid.HeatExchangers.Superheater HPsuperheater2(nominal_DT_default=false, - QCp_max_side=HPSH_QCp_max_side) - annotation (Placement(transformation(extent={{-302,-56},{-242,4}}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.TemperatureSensor T_w_HPSH2_out_sensor(sensor_function="BC", display_unit="degC") + annotation (Placement(transformation(extent={{-576,-10},{-556,10}}))); + Sensors_Control.FlueGases.PressureSensor P_filter_out_sensor( + display_unit="mbar", sensor_function="Calibration", causality="Filter_Kfr", + signal_unit="barA") + annotation (Placement(transformation(extent={{-546,-6},{-534,6}}))); + MetroscopeModelingLibrary.MultiFluid.HeatExchangers.Superheater HPsuperheater2(QCp_max_side="hot") + annotation (Placement(transformation(extent={{-302,-30},{-242,30}}))); + Sensors_Control.WaterSteam.TemperatureSensor T_w_HPSH2_out_sensor(sensor_function="BC", display_unit="degC") annotation (Placement(transformation( extent={{-6,-6},{6,6}}, rotation=90, - origin={-282,34}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor P_w_HPSH2_out_sensor(sensor_function="Calibration", causality="HPST_valve_CV") + origin={-280,60}))); + Sensors_Control.WaterSteam.PressureSensor P_w_HPSH2_out_sensor(sensor_function="Calibration", causality="HPST_valve_CV") annotation (Placement(transformation( extent={{-6,-6},{6,6}}, rotation=90, - origin={-282,52}))); + origin={-280,80}))); MetroscopeModelingLibrary.WaterSteam.Pipes.ControlValve deSH_controlValve - annotation (Placement(transformation(extent={{-158.75,89.4545},{-171.25, - 103.455}}))); - MetroscopeModelingLibrary.Sensors.Outline.OpeningSensor deSH_opening_sensor(sensor_function="Calibration", causality="Cvmax") - annotation (Placement(transformation(extent={{-170,114},{-160,124}}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.FlowSensor Q_deSH_sensor(sensor_function="Calibration", causality="SH2_Kth") - annotation (Placement(transformation(extent={{-132,86},{-144,98}}))); + annotation (Placement(transformation(extent={{-173.75,117.454},{-186.25,131.455}}))); + MetroscopeModelingLibrary.Sensors_Control.Outline.OpeningSensor deSH_opening_sensor(sensor_function="Calibration", causality="Cvmax", + output_signal_unit="") + annotation (Placement(transformation(extent={{-185,139},{-175,149}}))); + MetroscopeModelingLibrary.Sensors_Control.WaterSteam.FlowSensor Q_deSH_sensor(sensor_function="Calibration", causality="SH2_Kth") + annotation (Placement(transformation(extent={{-132,114},{-144,126}}))); MetroscopeModelingLibrary.WaterSteam.Pipes.ControlValve Evap_controlValve - annotation (Placement(transformation(extent={{41.25,5.4545},{28.75,19.455}}))); - MetroscopeModelingLibrary.Sensors.Outline.OpeningSensor Evap_opening_sensor(sensor_function="Calibration", causality="Cvmax") - annotation (Placement(transformation(extent={{30,34},{40,44}}))); - MetroscopeModelingLibrary.MultiFluid.Converters.MoistAir_to_FlueGases moistAir_to_FlueGases annotation (Placement(transformation(extent={{-672,-36},{-652,-16}}))); - MetroscopeModelingLibrary.MoistAir.BoundaryConditions.Source source_air(h_out(start=47645.766)) annotation (Placement(transformation(extent={{-734,-36},{-714,-16}}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.TemperatureSensor T_HPST_out_sensor(sensor_function="Calibration", causality="HPST_eta_is") + annotation (Placement(transformation(extent={{36.25,31.4545},{23.75,45.455}}))); + MetroscopeModelingLibrary.Sensors_Control.Outline.OpeningSensor Evap_opening_sensor(sensor_function="Calibration", causality="Cvmax", + output_signal_unit="") + annotation (Placement(transformation(extent={{25,53},{35,63}}))); + MetroscopeModelingLibrary.MultiFluid.Converters.MoistAir_to_FlueGases moistAir_to_FlueGases annotation (Placement(transformation(extent={{-682,-10},{-662,10}}))); + MetroscopeModelingLibrary.MoistAir.BoundaryConditions.Source source_air(h_out(start=47645.766)) annotation (Placement(transformation(extent={{-744,-10},{-724,10}}))); + MetroscopeModelingLibrary.Sensors_Control.WaterSteam.TemperatureSensor T_HPST_out_sensor(sensor_function="Calibration", causality="HPST_eta_is") annotation (Placement(transformation( extent={{6,6},{-6,-6}}, rotation=180, - origin={-90,148}))); - Sensors.Displayer.WaterDisplayer displayer annotation (Placement(transformation(extent={{-248,138},{-228,158}}))); + origin={-110,180}))); + Sensors.Displayer.WaterDisplayer displayer annotation (Placement(transformation(extent={{-248,170},{-228,190}}))); Sensors.Displayer.FuelDisplayer fuelDisplayer annotation (Placement(transformation( extent={{-10,-10},{10,10}}, rotation=90, - origin={-442,-92}))); - Sensors.Displayer.MoistAirDisplayer moistAirDisplayer annotation (Placement(transformation(extent={{-700,-36},{-680,-16}}))); - Sensors.Displayer.FlueGasesDisplayer flueGasesDisplayer annotation (Placement(transformation(extent={{-654,-36},{-634,-16}}))); - Sensors.MoistAir.RelativeHumiditySensor H_sensor(sensor_function="BC") annotation (Placement(transformation(extent={{-712,-32},{-700,-20}}))); + origin={-440,-80}))); + Sensors.Displayer.MoistAirDisplayer moistAirDisplayer annotation (Placement(transformation(extent={{-710,-10},{-690,10}}))); + Sensors.Displayer.FlueGasesDisplayer flueGasesDisplayer annotation (Placement(transformation(extent={{-664,-10},{-644,10}}))); + Sensors_Control.MoistAir.RelativeHumiditySensor Relative_Humidity_sensor(sensor_function="BC") annotation (Placement(transformation(extent={{-722,-6},{-710,6}}))); + Utilities.Interfaces.RealInput Relative_Humidity(start=0.5) + annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={-716,14}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput P_source_air(start=1) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={-640,14}),iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput T_source_air(start=24) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={-620,14}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput Q_source_air(start=500) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={-600,14}),iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput P_filter_out(start=0.9) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={-540,20}),iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput compressor_P_out(start=17) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=-90, + origin={-484,14}),iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealOutput Filter_Kfr "P_filter_out" + annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={-566,14}),iconTransformation(extent={{-628,-4},{-608,16}}))); + Utilities.Interfaces.RealOutput compression_rate annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={-522,22}),iconTransformation(extent={{-628,-4},{-608,16}}))); + Utilities.Interfaces.RealOutput compressor_eta_is annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={-520,28}),iconTransformation(extent={{-628,-4},{-608,16}}))); + Utilities.Interfaces.RealInput compressor_T_out(start=450) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={-466,14}),iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealOutput Q_fuel_source annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=0, + origin={-450,-20}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput P_fuel_source(start=30) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=0, + origin={-450,-40}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput T_fuel_source(start=156) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=0, + origin={-450,-60}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealOutput turbine_eta_is annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={-412,20}), iconTransformation(extent={{-454,4},{-434,24}}))); + Utilities.Interfaces.RealInput turbine_T_out( + start=640) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={-364,12}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput turbine_P_out(start=1.1) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={-344,12}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealOutput economizer_Kfr_cold(nominal=1e-3) + annotation (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=90, + origin={114,-30}), iconTransformation(extent={{-62,-16},{-42,4}}))); + Utilities.Interfaces.RealOutput economizer_Kth(start=1e3, nominal=1e3) + annotation (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=90, + origin={86,-30}), iconTransformation(extent={{-62,-16},{-42,4}}))); + FlueGases.Pipes.FrictionPipe HRSG_friction annotation (Placement(transformation(extent={{30,10},{50,-10}}))); + Utilities.Interfaces.RealOutput HRSG_friction_Kfr(start=0.022388678) annotation (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=90, + origin={40,-10}), iconTransformation(extent={{-36,-16},{4,24}}))); + Utilities.Interfaces.RealOutput Reheater_Kth(start=1e3, nominal=1e3) annotation (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=90, + origin={-92,-30}), iconTransformation(extent={{-62,-16},{-42,4}}))); + Utilities.Interfaces.RealOutput Reheater_Kfr_cold(nominal=1e-3) annotation (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=90, + origin={-62,-30}), iconTransformation(extent={{-62,-16},{-42,4}}))); + Utilities.Interfaces.RealOutput HPsuperheater1_Kfr_cold(nominal=1e-3) annotation (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=90, + origin={-140,-30}), iconTransformation(extent={{-62,-16},{-42,4}}))); + Utilities.Interfaces.RealOutput HPsuperheater1_Kth(start=1e3, nominal=1e3) annotation (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=90, + origin={-170,-30}), iconTransformation(extent={{-62,-16},{-42,4}}))); + Utilities.Interfaces.RealOutput HPsuperheater2_Kfr_cold(nominal=1e-3) annotation (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=90, + origin={-256,-30}), iconTransformation(extent={{-62,-16},{-42,4}}))); + Utilities.Interfaces.RealOutput HPsuperheater2_Kth(start=1e3, nominal=1e3) annotation (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=90, + origin={-286,-30}), iconTransformation(extent={{-62,-16},{-42,4}}))); + Utilities.Interfaces.RealInput P_w_HPSH1_out(start=116) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={-208,44}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput T_w_HPSH1_out(start=450) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={-184,44}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput P_w_HPSH1_out1(start=9) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=0, + origin={-100,70}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput T_w_HPSH1_out1(start=350) + annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=0, + origin={-100,50}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput P_w_HPSH2_out(start=114) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=0, + origin={-290,80}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput T_w_HPSH2_out(start=566.5) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=0, + origin={-290,60}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput P_w_evap_out(start=120) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={-40,44}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput T_w_eco_out(start=320) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={12,44}),iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput P_w_eco_out(start=122.5) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={56,44}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput T_w_eco_in(start=85) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={140,44}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput T_pumpRec_out(start=324) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={114,92}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput P_pumpRec_out(start=180) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={130,92}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput P_flue_gas_sink(start=1) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=0, + origin={210,198}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput W_GT(start=150) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={-340,112}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput P_pump_out(start=170) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={150,170}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput T_pump_out(start=35) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={130,170}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput Q_pump_out(start=50) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={170,170}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput T_circulating_water_out(start=25) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={110,210}),iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput T_circulating_water_in(start=15) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={-20,210}), + iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput P_circulating_water_in(start=5) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={0,210}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput P_Cond(start=50) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={34,292}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput P_LPST_in(start=8) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={-28,292}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput P_HPST_out(start=10) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={-128,190}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput T_HPST_out(start=255.5) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={-110,190}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput Q_deSH(start=2) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={-138,132}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealOutput pumpRec_hn annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={89,107}), iconTransformation(extent={{46,68},{66,88}}))); + Utilities.Interfaces.RealOutput pumpRec_rh annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={81,97}), iconTransformation(extent={{46,68},{66,88}}))); + Utilities.Interfaces.RealOutput pump_hn annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={104,180}), iconTransformation(extent={{46,68},{66,88}}))); + Utilities.Interfaces.RealOutput pump_rh annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={96,170}), iconTransformation(extent={{46,68},{66,88}}))); + Utilities.Interfaces.RealOutput LPsteamTurbine_Cst annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={-13,301}), iconTransformation(extent={{46,68},{66,88}}))); + Utilities.Interfaces.RealOutput LPsteamTurbine_eta_is annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={-9,309}), iconTransformation(extent={{46,68},{66,88}}))); + Utilities.Interfaces.RealOutput HPsteamTurbine_Cst annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={-179,201}), iconTransformation(extent={{46,68},{66,88}}))); + Utilities.Interfaces.RealOutput HPsteamTurbine_eta_is annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={-175,209}), iconTransformation(extent={{46,68},{66,88}}))); + Utilities.Interfaces.RealOutput LPST_control_valve_Cv annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=0, + origin={-67,289}), iconTransformation(extent={{46,68},{66,88}}))); + Utilities.Interfaces.RealOutput HPST_control_valve_Cv annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=0, + origin={-227,189}), iconTransformation(extent={{46,68},{66,88}}))); + Utilities.Interfaces.RealOutput T_flue_gas_sink(start=1) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={170,10}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput W_ST_out(start=65) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={96,332}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput P_HPST_in(start=113) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={-194,192}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput deSH_opening(start=0.15) + annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={-180,154}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput Evap_opening(start=0.35) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={30,68}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealInput pumpRec_opening(start=0.35) annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=270, + origin={160,110}), iconTransformation(extent={{-754,-34},{-714,6}}))); + Utilities.Interfaces.RealOutput deSH_controlValve_Cv_max annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=180, + origin={-167,127}), iconTransformation(extent={{46,68},{66,88}}))); + Utilities.Interfaces.RealOutput Evap_controlValve_Cv_max annotation (Placement(transformation( + extent={{-3,-3},{3,3}}, + rotation=180, + origin={39,41}), iconTransformation(extent={{46,68},{66,88}}))); + Utilities.Interfaces.RealOutput pumpRec_controlValve_Cv_max annotation (Placement(transformation( + extent={{3,-3},{-3,3}}, + rotation=180, + origin={147,105}), iconTransformation(extent={{46,68},{66,88}}))); + Utilities.Interfaces.RealOutput Q_pumpRec_out annotation (Placement(transformation( + extent={{3,-3},{-3,3}}, + rotation=90, + origin={145,93}), iconTransformation(extent={{46,68},{66,88}}))); + Utilities.Interfaces.RealOutput condenser_Kth annotation (Placement(transformation( + extent={{3,-3},{-3,3}}, + rotation=90, + origin={40,230}), iconTransformation(extent={{46,68},{66,88}}))); + Utilities.Interfaces.RealOutput condenser_Qv_cold_in annotation (Placement(transformation( + extent={{3,-3},{-3,3}}, + rotation=90, + origin={20,230}), iconTransformation(extent={{46,68},{66,88}}))); + Modelica.Blocks.Sources.RealExpression condenser_Kfr_cold(y=0) annotation (Placement(transformation( + extent={{-3,-8},{3,8}}, + rotation=270, + origin={32,225}))); + Modelica.Blocks.Sources.RealExpression combustionChamber_eta(y=0.9999) annotation (Placement(transformation( + extent={{-4,-8},{4,8}}, + rotation=270, + origin={-448,24}))); + Modelica.Blocks.Sources.RealExpression combustionChamber_Kfr(y=1e-3) + annotation (Placement(transformation( + extent={{-4,-8},{4,8}}, + rotation=270, + origin={-432,24}))); + Utilities.Interfaces.RealOutput Evap_Kth(nominal=1e-3) annotation (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=90, + origin={-8,-30}), iconTransformation(extent={{-62,-16},{-42,4}}))); equation //--- Air / Flue Gas System --- - - // Air source - // Quantities definition - P_source_air_sensor.P_barA = P_source_air; - T_source_air_sensor.T_degC = T_source_air; - Q_source_air_sensor.Q = Q_source_air + 10*time; - H_sensor.relative_humidity=Relative_Humidity; - // Fuel Source // Quantities definition - Q_fuel_source_sensor.Q = Q_fuel_source; - P_fuel_source_sensor.P_barA = P_fuel_source; - T_fuel_source_sensor.T_degC = T_fuel_source; source_fuel.Xi_out = {0.90,0.05,0,0,0.025,0.025}; - // Air Filter - // Quantities definition - P_filter_out_sensor.P_barA = P_filter_out; - // Calibrated parameters - AirFilter.Kfr = Filter_Kfr; - // Parameters - AirFilter.delta_z = 1; - - // Air Compressor - // Quantities definition - compressor_T_out_sensor.T_degC = compressor_T_out; - compressor_P_out_sensor.P_barA = compressor_P_out; - // Calibrated parameters - airCompressor.tau = compression_rate; - airCompressor.eta_is = compressor_eta_is; - - // Combustion chamber - // Parameters - combustionChamber.Kfr = combustionChamber_Kfr; - combustionChamber.eta = combustionChamber_eta; - - // Gas Turbine - // Quantities definition - gasTurbine.h_out = GT_h_out; - turbine_P_out_sensor.P_barA = turbine_P_out; - // Calibrated parameters - gasTurbine.tau = turbine_compression_rate; - gasTurbine.eta_is = turbine_eta_is; - // Parameters - gasTurbine.eta_mech = 0.99; - - // Generator - // Quantities definition - W_GT_sensor.W_MW = W_GT; - // Parameters - GT_generator.eta = 0.99; - - // Flue Gas sink - //Quantities definition - P_flue_gas_sink_sensor.P_barA = P_flue_gas_sink; - T_flue_gas_sink_sensor.T_degC = T_flue_gas_sink; - - // --- Water / Steam Circuit - - // Economizer - // Quantities definition - T_w_eco_out_sensor.T_degC = T_w_eco_out; - P_w_eco_out_sensor.P_barA = P_w_eco_out; - // Parameters - economiser.S = 100; - economiser.nominal_cold_side_temperature_rise = 235; - economiser.nominal_hot_side_temperature_drop = 150; - T_w_eco_in_sensor.T_degC = T_w_eco_in; - // Calibrated parameters - economiser.Kth = Eco_Kth; - economiser.Kfr_hot = Eco_Kfr_hot; - economiser.Kfr_cold = Eco_Kfr_cold; - - // Evaporator - // Quantities definition - P_w_evap_out_sensor.P_barA = P_w_evap_out; - evaporator.x_steam_out = Evap_x_steam_out; - Evap_opening_sensor.Opening = Evap_opening; - // Parameters - evaporator.S = 100; - evaporator.Kfr_hot = 0; - // Calibrated parameters - Evap_controlValve.Cv_max = Evap_CV_Cvmax; - evaporator.Kth = Evap_Kth; - evaporator.Kfr_cold = Evap_Kfr_cold; - - // HP Superheater 1 - // Quantities definition - P_w_HPSH1_out_sensor.P_barA = P_w_HPSH1_out; - T_w_HPSH1_out_sensor.T_degC = T_w_HPSH1_out; - // Parameters - HPsuperheater1.S = 100; - HPsuperheater1.nominal_cold_side_temperature_rise = 250; - HPsuperheater1.nominal_hot_side_temperature_drop = 180; - HPsuperheater1.Kfr_hot = 0; - // Calibrated parameters - HPsuperheater1.Kth = HPSH1_Kth; - HPsuperheater1.Kfr_cold = HPSH1_Kfr_cold; - - // HP Superheater 2 - // Quantities definition - P_w_HPSH2_out_sensor.P_barA = P_w_HPSH2_out; - // Parameters - HPsuperheater2.S = 100; - HPsuperheater2.nominal_cold_side_temperature_rise = 150; - HPsuperheater2.nominal_hot_side_temperature_drop = 180; - HPsuperheater2.Kfr_hot = 0; - T_w_HPSH2_out_sensor.T_degC = T_w_HPSH2_out; - // Calibrated parameters - HPsuperheater2.Kth = HPSH2_Kth; - HPsuperheater2.Kfr_cold = HPSH2_Kfr_cold; - - // De-superheater - // Quantities definition - deSH_opening_sensor.Opening = deSH_opening; - Q_deSH_sensor.Q = Q_deSH; - // Calibrated parameters - deSH_controlValve.Cv_max = deSH_CV_Cvmax; - - // Reheater - // Quantities definition - T_w_ReH_out_sensor.T_degC = T_w_ReH_out; - P_w_ReH_out_sensor.P_barA = P_w_ReH_out; - // Parameters - Reheater.S = 100; - Reheater.nominal_cold_side_temperature_rise = 100; - Reheater.nominal_hot_side_temperature_drop = 180; - Reheater.Kfr_hot = 0; - // Calibrated parameters - Reheater.Kth = ReH_Kth; - Reheater.Kfr_cold = ReH_Kfr_cold; - - // Steam Turbines - - // Steam Turbine Generator - // Quantities definition - W_ST_out_sensor.W_MW = W_ST_out; - // Parameters - ST_generator.eta = 0.99; - - // High Pressure Level - // Quantities definition - P_HPST_in_sensor.P_barA = P_ST_in; - P_HPST_out_sensor.P_barA = P_ST_out; - T_HPST_out_sensor.T_degC = T_HPST_out; - // Calibrated Parameters - HPST_control_valve.Cv = HPST_CV_Cv; - HPsteamTurbine.Cst = HPST_Cst; - HPsteamTurbine.eta_is = HPST_eta_is; - - // Low Pressure Level - // Quantities definition - P_LPST_in_sensor.P_barA = P_LPST_in; - // Calibrated Parameters - LPsteamTurbine.eta_is = LPST_eta_is; - LPST_control_valve.Cv = LPST_CV_Cv; - LPsteamTurbine.Cst = LPST_Cst; // Condenser - // Quantities definition - P_circulating_water_in_sensor.P_barA = P_circulating_water_in; - T_circulating_water_in_sensor.T_degC = T_circulating_water_in; - T_circulating_water_out_sensor.T_degC = T_circulating_water_out; - P_Cond_sensor.P_barA = P_Cond; // Parameters - condenser.S = 100; - condenser.water_height = 1; condenser.C_incond = 0; - condenser.P_offset = 0; - condenser.Kfr_cold = 1; - // Calibrated parameters - condenser.Kth = Cond_Kth; - condenser.Qv_cold_in = Qv_cond_cold; - - // Exctraction Pump - // Quantities definition - T_pump_out_sensor.T_degC = T_pump_out; - P_pump_out_sensor.P_barA = P_pump_out; - Q_pump_out_sensor.Q = Q_pump_out; - - // Calibrated parameters - pump.hn = pump_hn; - pump.rh = pump_rh; - - //--- Recirculation pump --- - // Quantities definition - T_pumpRec_out_sensor.T_degC = T_pumpRec_out; - P_pumpRec_out_sensor.P_barA = P_pumpRec_out; - pumpRec_opening_sensor.Opening = pumpRec_opening; - Q_pumpRec_out_sensor.Q = Q_pumpRec_out; - - // Calibrated parameters - pumpRec.hn = pumpRec_hn; - pumpRec.rh = pumpRec_rh; - pumpRec_controlValve.Cv_max = pumpRec_CV_Cvmax; connect(HPsuperheater1.C_cold_out, T_w_HPSH1_out_sensor.C_in) annotation ( - Line(points={{-168,-2},{-166,-2},{-166,8},{-178,8}}, color={28,108,200})); + Line(points={{-168,24},{-166,24},{-166,34},{-178,34}}, + color={28,108,200})); connect(P_HPST_out_sensor.C_in, HPsteamTurbine.C_out) - annotation (Line(points={{-114,148},{-126,148}}, color={28,108,200})); + annotation (Line(points={{-134,180},{-146,180}}, color={28,108,200})); connect(P_HPST_in_sensor.C_out, HPsteamTurbine.C_in) - annotation (Line(points={{-168,148},{-160,148}}, color={28,108,200})); + annotation (Line(points={{-188,180},{-180,180}}, color={28,108,200})); connect(T_circulating_water_out_sensor.C_out, circulating_water_sink.C_in) - annotation (Line(points={{96,176},{102,176}},color={28,108,200})); - connect(combustionChamber.outlet,gasTurbine. C_in) annotation (Line(points={{-432, - -26},{-414,-26}}, color={95,95,95})); - connect(airCompressor.C_out,compressor_P_out_sensor. C_in) annotation (Line(points={{-496, - -26},{-490,-26}}, color={95,95,95})); - connect(compressor_P_out_sensor.C_out,compressor_T_out_sensor. C_in) annotation (Line(points={{-478, - -26},{-472,-26}}, color={95,95,95})); - connect(compressor_T_out_sensor.C_out,combustionChamber. inlet) annotation (Line(points={{-460, - -26},{-452,-26}}, color={95,95,95})); + annotation (Line(points={{115,200},{126,200}}, + color={28,108,200})); + connect(combustionChamber.outlet,gasTurbine. C_in) annotation (Line(points={{-430,0},{-412,0}}, + color={95,95,95})); + connect(airCompressor.C_out,compressor_P_out_sensor. C_in) annotation (Line(points={{-496,0},{-490,0}}, + color={95,95,95})); + connect(compressor_P_out_sensor.C_out,compressor_T_out_sensor. C_in) annotation (Line(points={{-478,0},{-472,0}}, + color={95,95,95})); + connect(compressor_T_out_sensor.C_out,combustionChamber. inlet) annotation (Line(points={{-460,0},{-450,0}}, + color={95,95,95})); connect(evaporator.C_cold_in, T_w_eco_out_sensor.C_out) annotation (Line( - points={{-5.4,-1.55},{-5.4,8},{2,8}}, color={28,108,200})); + points={{3.2,24},{3.2,34},{6,34}}, color={28,108,200})); connect(condenser.C_cold_out, T_circulating_water_out_sensor.C_in) - annotation (Line(points={{71.6,159},{74,159},{74,158},{78,158},{78,176},{86,176}}, + annotation (Line(points={{79.6,200},{92,200},{92,200},{105,200}}, color={28,108,200})); - connect(condenser.C_hot_out, pump.C_in) annotation (Line(points={{52,144.778},{52,131},{109,131}}, + connect(condenser.C_hot_out, pump.C_in) annotation (Line(points={{60,185.778},{60,160},{103,160}}, color={28,108,200})); connect(HPsuperheater1.C_cold_in, P_w_evap_out_sensor.C_out) annotation (Line( - points={{-144,-2},{-144,8},{-46,8}}, color={28,108,200})); + points={{-144,24},{-144,34},{-46,34}},color={28,108,200})); connect(evaporator.C_cold_out, P_w_evap_out_sensor.C_in) annotation (Line( - points={{-28.6,-1.55},{-24,-1.55},{-24,8},{-34,8}}, - color={28,108,200})); + points={{-19.2,24},{-20,24},{-20,34},{-34,34}}, color={28,108,200})); connect(economiser.C_cold_out, P_w_eco_out_sensor.C_in) annotation (Line( - points={{91.4,-2.9},{94,-2.9},{94,8},{62,8}}, + points={{88.4,23.6},{88,23.6},{88,34},{62,34}}, color={28,108,200})); - connect(evaporator.C_hot_out, economiser.C_hot_in) annotation (Line(points={{12,-25.75},{51,-25.75},{51,-26.5},{74,-26.5}}, - color={95,95,95})); connect(gasTurbine.C_out, turbine_T_out_sensor.C_in) - annotation (Line(points={{-382,-26},{-370,-26}}, color={95,95,95})); + annotation (Line(points={{-380,0},{-370,0}}, color={95,95,95})); connect(turbine_P_out_sensor.C_in, turbine_T_out_sensor.C_out) - annotation (Line(points={{-350,-26},{-358,-26}}, color={95,95,95})); - connect(evaporator.C_hot_in, Reheater.C_hot_out) annotation (Line(points={{-46,-25.75},{-46,-26},{-42,-26}}, + annotation (Line(points={{-350,0},{-358,0}}, color={95,95,95})); + connect(evaporator.C_hot_in, Reheater.C_hot_out) annotation (Line(points={{-36,0},{-48,0}}, color={95,95,95})); connect(HPsuperheater1.C_hot_out, Reheater.C_hot_in) - annotation (Line(points={{-126,-26},{-102,-26}},color={95,95,95})); + annotation (Line(points={{-126,0},{-108,0}}, color={95,95,95})); connect(Reheater.C_cold_out, T_w_ReH_out_sensor.C_in) - annotation (Line(points={{-84,-2},{-80,-2},{-80,23}}, color={28,108,200})); + annotation (Line(points={{-90,24},{-90,44}}, color={28,108,200})); connect(P_Cond_sensor.C_in, LPsteamTurbine.C_out) - annotation (Line(points={{28,214},{20,214}}, color={28,108,200})); - connect(P_Cond_sensor.C_out, condenser.C_hot_in) annotation (Line(points={{40,214},{52,214},{52,177.134}}, + annotation (Line(points={{28,280},{20,280}}, color={28,108,200})); + connect(P_Cond_sensor.C_out, condenser.C_hot_in) annotation (Line(points={{40,280},{60,280},{60,218.134}}, color={28,108,200})); connect(P_source_air_sensor.C_out, T_source_air_sensor.C_in) - annotation (Line(points={{-624,-26},{-618,-26}}, color={95,95,95})); + annotation (Line(points={{-634,0},{-626,0}}, color={95,95,95})); connect(T_source_air_sensor.C_out, Q_source_air_sensor.C_in) - annotation (Line(points={{-606,-26},{-600,-26}}, color={95,95,95})); + annotation (Line(points={{-614,0},{-606,0}}, color={95,95,95})); connect(condenser.C_cold_in, P_circulating_water_in_sensor.C_out) annotation ( - Line(points={{32,159},{30,159},{30,159},{24,159}}, color={28, + Line(points={{40,200},{22,200},{22,200},{5,200}}, color={28, 108,200})); connect(P_LPST_in_sensor.C_out, LPsteamTurbine.C_in) - annotation (Line(points={{-22,214},{-14,214}}, color={28,108,200})); + annotation (Line(points={{-22,280},{-14,280}}, color={28,108,200})); connect(P_LPST_in_sensor.C_in, LPST_control_valve.C_out) annotation (Line( - points={{-34,214},{-40,214},{-40,214},{-44.75,214}}, color={ + points={{-34,280},{-40,280},{-40,280},{-44.75,280}}, color={ 28,108,200})); connect(P_w_ReH_out_sensor.C_out, LPST_control_valve.C_in) annotation (Line( - points={{-80,55},{-80,214},{-61.25,214}}, color={28,108,200})); + points={{-90,76},{-90,280},{-61.25,280}}, color={28,108,200})); connect(P_w_ReH_out_sensor.C_in, T_w_ReH_out_sensor.C_out) - annotation (Line(points={{-80,43},{-80,35}}, color={28,108,200})); + annotation (Line(points={{-90,64},{-90,56}}, color={28,108,200})); connect(T_w_HPSH1_out_sensor.C_out, P_w_HPSH1_out_sensor.C_in) - annotation (Line(points={{-190,8},{-202,8}}, color={28,108,200})); + annotation (Line(points={{-190,34},{-202,34}}, + color={28,108,200})); connect(HPST_control_valve.C_out, P_HPST_in_sensor.C_in) annotation (Line( - points={{-186.75,148},{-184,148},{-184,148},{-180,148}}, color={28,108,200})); + points={{-206.75,180},{-204,180},{-204,180},{-200,180}}, color={28,108,200})); connect(T_circulating_water_in_sensor.C_out, P_circulating_water_in_sensor.C_in) - annotation (Line(points={{8,159},{14,159}}, color={28,108,200})); + annotation (Line(points={{-15,200},{-5,200}}, color={28,108,200})); connect(circulating_water_source.C_out, T_circulating_water_in_sensor.C_in) - annotation (Line(points={{-11,159},{-2,159}}, color={28,108,200})); + annotation (Line(points={{-35,200},{-25,200}}, color={28,108,200})); connect(pump.C_out, T_pump_out_sensor.C_in) - annotation (Line(points={{123,131},{132,131}}, color={28,108,200})); + annotation (Line(points={{117,160},{125,160}}, color={28,108,200})); connect(T_pump_out_sensor.C_out, P_pump_out_sensor.C_in) annotation (Line( - points={{142,131},{150,131}}, color={28,108,200})); + points={{135,160},{145,160}}, color={28,108,200})); connect(P_pump_out_sensor.C_out, Q_pump_out_sensor.C_in) annotation (Line( - points={{160,131},{166,131}}, color={28,108,200})); + points={{155,160},{165,160}}, color={28,108,200})); connect(P_pumpRec_out_sensor.C_out, Q_pumpRec_out_sensor.C_in) - annotation (Line(points={{136,48.5455},{140,48.5455}}, + annotation (Line(points={{136,80.5455},{140,80.5455}}, color={28,108,200})); connect(pumpRec_controlValve.Opening, pumpRec_opening_sensor.Opening) - annotation (Line(points={{163.5,58.7273},{163.5,62},{163,62},{163,67.9}}, - color={0,0,127})); - connect(pumpRec.C_in, P_w_eco_out_sensor.C_in) annotation (Line(points={{87,48.5455}, - {74,48.5455},{74,8},{62,8}}, + annotation (Line(points={{160,90.1818},{160,94.9}}, color={0,0,127})); + connect(pumpRec.C_in, P_w_eco_out_sensor.C_in) annotation (Line(points={{87,80.5455},{80,80.5455},{80,34},{62,34}}, color={28,108,200})); connect(economiser.C_cold_in, T_w_eco_in_sensor.C_out) annotation (Line( - points={{114.6,-2.9},{114.6,9},{140,9}}, + points={{111.6,23.6},{111.6,34},{135,34}}, color={28,108,200})); - connect(T_w_eco_in_sensor.C_in, loopBreaker.C_out) annotation (Line(points={{150,9}, - {150,8},{182,8},{182,18}}, color={28,108,200})); + connect(T_w_eco_in_sensor.C_in, loopBreaker.C_out) annotation (Line(points={{145,34},{180,34},{180,44}}, + color={28,108,200})); connect(Q_pump_out_sensor.C_out, loopBreaker.C_in) - annotation (Line(points={{176,131},{182,131},{182,38}}, + annotation (Line(points={{175,160},{180,160},{180,64}}, color={28,108,200})); connect(T_pumpRec_out_sensor.C_out, P_pumpRec_out_sensor.C_in) annotation ( - Line(points={{120,48.5455},{126,48.5455}}, color={ + Line(points={{120,80.5455},{126,80.5455}}, color={ 28,108,200})); connect(Q_pumpRec_out_sensor.C_out, pumpRec_controlValve.C_in) - annotation (Line(points={{150,48.5455},{154,48.5455},{154,48.5455},{157,48.5455}}, + annotation (Line(points={{150,80.5455},{154,80.5455},{154,80},{153.5,80}}, color={28,108,200})); connect(flue_gas_sink.C_in, P_flue_gas_sink_sensor.C_out) - annotation (Line(points={{222,193},{222,178}}, color={95,95,95})); + annotation (Line(points={{222,219},{222,204}}, color={95,95,95})); connect(sink.C_in, W_ST_out_sensor.C_out) - annotation (Line(points={{115,256},{101.88,256}},color={244,125,35})); + annotation (Line(points={{115,320},{101.88,320}},color={244,125,35})); connect(combustionChamber.inlet1, Q_fuel_source_sensor.C_out) - annotation (Line(points={{-442,-36},{-442,-42}}, color={213,213,0})); + annotation (Line(points={{-440,-10},{-440,-15}}, color={213,213,0})); connect(Q_fuel_source_sensor.C_in, P_fuel_source_sensor.C_out) annotation ( - Line(points={{-442,-52},{-442,-54},{-442,-54},{-442,-56}}, color={213,213, + Line(points={{-440,-25},{-440,-35}}, color={213,213, 0})); connect(P_fuel_source_sensor.C_in, T_fuel_source_sensor.C_out) annotation ( - Line(points={{-442,-66},{-442,-68},{-442,-68},{-442,-70}}, color={213,213, + Line(points={{-440,-45},{-440,-55}}, color={213,213, 0})); connect(GT_generator.C_out, W_GT_sensor.C_in) - annotation (Line(points={{-352.8,34},{-346,34}}, color={244,125,35})); + annotation (Line(points={{-352.8,100},{-346,100}}, + color={244,125,35})); connect(W_GT_sensor.C_out, sink_power.C_in) - annotation (Line(points={{-334.12,34},{-327,34}}, color={244,125,35})); + annotation (Line(points={{-334.12,100},{-327,100}}, + color={244,125,35})); connect(GT_generator.C_in, gasTurbine.C_W_shaft) annotation (Line( - points={{-373.92,34},{-382,34},{-382,-10}}, + points={{-373.92,100},{-380,100},{-380,16}}, color={244,125,35}, smooth=Smooth.Bezier)); connect(W_ST_out_sensor.C_in, ST_generator.C_out) - annotation (Line(points={{90,256},{77.2,256}},color={244,125,35})); + annotation (Line(points={{90,320},{77.2,320}},color={244,125,35})); connect(HPsteamTurbine.C_W_out, ST_generator.C_in) annotation (Line( - points={{-126,161.44},{-126,161.44},{-126,194},{-126,256},{56.08,256}}, + points={{-146,193.44},{-146,193.44},{-146,266},{-146,320},{56.08,320}}, color={244,125,35}, smooth=Smooth.Bezier)); connect(LPsteamTurbine.C_W_out, ST_generator.C_in) annotation (Line( - points={{20,227.44},{20,256},{56.08,256}}, + points={{20,293.44},{20,320},{56.08,320}}, color={244,125,35}, smooth=Smooth.Bezier)); - connect(pumpRec_controlValve.C_out, loopBreaker.C_in) annotation (Line(points={{170,48.5455},{174,48.5455},{174,50},{182,50},{182,38}}, + connect(pumpRec_controlValve.C_out, loopBreaker.C_in) annotation (Line(points={{166.5,80},{180,80},{180,64}}, color={28,108,200})); - connect(pumpRec.C_out, T_pumpRec_out_sensor.C_in) annotation (Line(points={{101, - 48.5455},{110,48.5455}}, color={28,108,200})); + connect(pumpRec.C_out, T_pumpRec_out_sensor.C_in) annotation (Line(points={{101,80.5455},{110,80.5455}}, + color={28,108,200})); connect(AirFilter.C_out, P_filter_out_sensor.C_in) - annotation (Line(points={{-556,-26},{-548,-26}}, color={95,95,95})); + annotation (Line(points={{-556,0},{-546,0}}, color={95,95,95})); connect(Q_source_air_sensor.C_out, AirFilter.C_in) - annotation (Line(points={{-588,-26},{-576,-26}}, color={95,95,95})); + annotation (Line(points={{-594,0},{-576,0}}, color={95,95,95})); connect(P_filter_out_sensor.C_out, airCompressor.C_in) - annotation (Line(points={{-536,-26},{-524,-26}}, color={95,95,95})); + annotation (Line(points={{-534,0},{-524,0}}, color={95,95,95})); connect(HPsuperheater1.C_hot_in, HPsuperheater2.C_hot_out) - annotation (Line(points={{-186,-26},{-242,-26}}, color={95,95,95})); + annotation (Line(points={{-186,0},{-242,0}}, color={95,95,95})); connect(P_w_HPSH1_out_sensor.C_out, HPsuperheater2.C_cold_in) annotation ( - Line(points={{-214,8},{-260,8},{-260,-2}}, color={28,108,200})); + Line(points={{-214,34},{-260,34},{-260,24}}, + color={28,108,200})); connect(turbine_P_out_sensor.C_out, HPsuperheater2.C_hot_in) - annotation (Line(points={{-338,-26},{-302,-26}}, color={95,95,95})); + annotation (Line(points={{-338,0},{-302,0}}, color={95,95,95})); connect(deSH_opening_sensor.Opening, deSH_controlValve.Opening) - annotation (Line(points={{-165,113.9},{-165,102.182}}, color={0,0,127})); - connect(Q_deSH_sensor.C_in, loopBreaker.C_in) annotation (Line(points={{-132,92}, - {182,92},{182,38}}, color={28,108,200})); - connect(Q_deSH_sensor.C_out, deSH_controlValve.C_in) annotation (Line(points={{-144,92},{-152,92},{-152,92},{-158.75,92}}, + annotation (Line(points={{-180,138.9},{-180,130.182}}, color={0,0,127})); + connect(Q_deSH_sensor.C_in, loopBreaker.C_in) annotation (Line(points={{-132,120},{180,120},{180,64}}, + color={28,108,200})); + connect(Q_deSH_sensor.C_out, deSH_controlValve.C_in) annotation (Line(points={{-144,120},{-158,120},{-158,120},{-173.75,120}}, color={28,108,200})); connect(deSH_controlValve.C_out, HPsuperheater2.C_cold_in) annotation (Line( - points={{-171.25,92},{-230,92},{-230,8},{-260,8},{-260,-2}}, color={28,108, + points={{-186.25,120},{-230,120},{-230,34},{-260,34},{-260,24}}, + color={28,108, 200})); connect(T_w_HPSH2_out_sensor.C_in, HPsuperheater2.C_cold_out) annotation ( - Line(points={{-282,28},{-282,12},{-282,-2},{-284,-2}}, color={28,108,200})); + Line(points={{-280,54},{-280,24},{-284,24}}, color={28,108,200})); connect(P_w_HPSH2_out_sensor.C_in, T_w_HPSH2_out_sensor.C_out) - annotation (Line(points={{-282,46},{-282,40}}, color={28,108,200})); + annotation (Line(points={{-280,74},{-280,66}}, color={28,108,200})); connect(P_w_eco_out_sensor.C_out, Evap_controlValve.C_in) annotation (Line( - points={{50,8},{45.625,8},{45.625,8.00005},{41.25,8.00005}}, color={28,108, + points={{50,34},{44,34},{44,34},{36.25,34}}, color={28,108, 200})); connect(T_w_eco_out_sensor.C_in, Evap_controlValve.C_out) annotation (Line( - points={{14,8},{21.375,8},{21.375,8.00005},{28.75,8.00005}}, color={28,108, + points={{18,34},{20,34},{20,34},{23.75,34}}, color={28,108, 200})); connect(Evap_controlValve.Opening, Evap_opening_sensor.Opening) - annotation (Line(points={{35,18.1822},{35,33.9}}, color={0,0,127})); + annotation (Line(points={{30,44.1822},{30,52.9}}, color={0,0,127})); connect(economiser.C_hot_out, T_flue_gas_sink_sensor.C_in) annotation (Line( - points={{132,-26.5},{132,-26},{164,-26}}, color={95,95,95})); - connect(P_HPST_out_sensor.C_out, T_HPST_out_sensor.C_in) annotation (Line(points={{-102,148},{-96,148}}, color={28,108,200})); - connect(T_HPST_out_sensor.C_out, Reheater.C_cold_in) annotation (Line(points={{-84,148},{-60,148},{-60,-2}}, color={28,108,200})); + points={{129,0},{164,0}}, color={95,95,95})); + connect(P_HPST_out_sensor.C_out, T_HPST_out_sensor.C_in) annotation (Line(points={{-122,180},{-116,180}},color={28,108,200})); + connect(T_HPST_out_sensor.C_out, Reheater.C_cold_in) annotation (Line(points={{-104,180},{-66,180},{-66,24}},color={28,108,200})); connect(airCompressor.C_W_in, gasTurbine.C_W_shaft) annotation (Line( - points={{-496,-15.5},{-496,8},{-382,8},{-382,-10}}, + points={{-496,10.5},{-496,34},{-380,34},{-380,16}}, color={244,125,35}, smooth=Smooth.Bezier)); - connect(T_flue_gas_sink_sensor.C_out, P_flue_gas_sink_sensor.C_in) annotation (Line(points={{176,-26},{222,-26},{222,166}}, color={95,95,95})); - connect(HPST_control_valve.C_in, displayer.C_out) annotation (Line(points={{-203.25,148},{-216,148},{-216,148},{-235,148}}, color={28,108,200})); - connect(displayer.C_in, P_w_HPSH2_out_sensor.C_out) annotation (Line(points={{-241,148},{-280,148},{-280,82},{-282,82},{-282,58}}, color={28,108,200})); - connect(source_fuel.C_out, fuelDisplayer.C_in) annotation (Line(points={{-442,-105},{-442,-95}}, color={213,213,0})); - connect(fuelDisplayer.C_out, T_fuel_source_sensor.C_in) annotation (Line(points={{-442,-89},{-442,-80}}, color={213,213,0})); - connect(moistAir_to_FlueGases.inlet, moistAirDisplayer.C_out) annotation (Line(points={{-672,-26},{-687,-26}}, color={85,170,255})); - connect(P_source_air_sensor.C_in, flueGasesDisplayer.C_out) annotation (Line(points={{-636,-26},{-641,-26}}, color={95,95,95})); - connect(flueGasesDisplayer.C_in, moistAir_to_FlueGases.outlet) annotation (Line(points={{-647,-26},{-652,-26}}, color={95,95,95})); - connect(moistAirDisplayer.C_in, H_sensor.C_out) annotation (Line(points={{-693,-26},{-700,-26}}, color={85,170,255})); - connect(H_sensor.C_in, source_air.C_out) annotation (Line(points={{-712,-26},{-719,-26}}, color={85,170,255})); - annotation (Icon(coordinateSystem(preserveAspectRatio=false, extent={{-740,-120},{260,280}})), + connect(T_flue_gas_sink_sensor.C_out, P_flue_gas_sink_sensor.C_in) annotation (Line(points={{176,0},{222,0},{222,192}}, color={95,95,95})); + connect(HPST_control_valve.C_in, displayer.C_out) annotation (Line(points={{-223.25,180},{-230,180},{-230,180},{-235,180}}, color={28,108,200})); + connect(displayer.C_in, P_w_HPSH2_out_sensor.C_out) annotation (Line(points={{-241,180},{-280,180},{-280,86}}, color={28,108,200})); + connect(source_fuel.C_out, fuelDisplayer.C_in) annotation (Line(points={{-440,-95},{-440,-83}}, color={213,213,0})); + connect(fuelDisplayer.C_out, T_fuel_source_sensor.C_in) annotation (Line(points={{-440,-77},{-440,-65}}, color={213,213,0})); + connect(moistAir_to_FlueGases.inlet, moistAirDisplayer.C_out) annotation (Line(points={{-682,0},{-697,0}}, color={85,170,255})); + connect(P_source_air_sensor.C_in, flueGasesDisplayer.C_out) annotation (Line(points={{-646,0},{-651,0}}, color={95,95,95})); + connect(flueGasesDisplayer.C_in, moistAir_to_FlueGases.outlet) annotation (Line(points={{-657,0},{-662,0}}, color={95,95,95})); + connect(moistAirDisplayer.C_in, Relative_Humidity_sensor.C_out) annotation (Line(points={{-703,0},{-710,0}}, color={85,170,255})); + connect(Relative_Humidity_sensor.C_in, source_air.C_out) annotation (Line(points={{-722,0},{-729,0}}, color={85,170,255})); + connect(Relative_Humidity_sensor.H_sensor, Relative_Humidity) annotation (Line(points={{-716,6},{-716,14}}, color={0,0,127})); + connect(P_source_air_sensor.P_sensor, P_source_air) annotation (Line(points={{-640,6},{-640,14}}, color={0,0,127})); + connect(T_source_air, T_source_air_sensor.T_sensor) annotation (Line(points={{-620,14},{-620,6}}, color={0,0,127})); + connect(Q_source_air_sensor.Q_sensor, Q_source_air) annotation (Line(points={{-600,6},{-600,14}}, color={0,0,127})); + connect(P_filter_out_sensor.P_sensor, P_filter_out) annotation (Line(points={{-540,6},{-540,20}}, color={0,0,127})); + connect(compressor_P_out_sensor.P_sensor, compressor_P_out) annotation (Line(points={{-484,6},{-484,14}}, color={0,0,127})); + connect(AirFilter.Kfr, Filter_Kfr) annotation (Line(points={{-566,4},{-566,10},{-566,14},{-566,14}}, + color={0,0,127})); + connect(compression_rate, airCompressor.tau) annotation (Line(points={{-522,22},{-522,12.25},{-522.6,12.25}}, color={0,0,127})); + connect(compressor_eta_is, airCompressor.eta_is) annotation (Line(points={{-520,28},{-519.8,28},{-519.8,11.55}},color={0,0,127})); + connect(compressor_eta_is, compressor_eta_is) annotation (Line(points={{-520,28},{-520,28}}, + color={0,0,127})); + connect(compressor_T_out, compressor_T_out_sensor.T_sensor) annotation (Line(points={{-466,14},{-466,6}}, color={0,0,127})); + connect(Q_fuel_source_sensor.Q_sensor, Q_fuel_source) annotation (Line(points={{-445,-20},{-450,-20},{-450,-20},{-450,-20}}, + color={0,0,127})); + connect(P_fuel_source_sensor.P_sensor, P_fuel_source) annotation (Line(points={{-445,-40},{-450,-40}}, color={0,0,127})); + connect(T_fuel_source_sensor.T_sensor, T_fuel_source) annotation (Line(points={{-445,-60},{-450,-60}}, color={0,0,127})); + connect(gasTurbine.eta_is, turbine_eta_is) annotation (Line(points={{-412,12.8},{-412,18},{-412,20},{-412,20}}, + color={0,0,127})); + connect(turbine_T_out_sensor.T_sensor, turbine_T_out) annotation (Line(points={{-364,6},{-364,12}}, color={0,0,127})); + connect(turbine_P_out_sensor.P_sensor, turbine_P_out) annotation (Line(points={{-344,6},{-344,12}}, color={0,0,127})); + connect(economiser.Kfr_cold, economizer_Kfr_cold) annotation (Line(points={{114.5,-20.65},{114.5,-22.325},{114,-22.325},{114,-30}}, color={0,0,127})); + connect(economiser.Kth, economizer_Kth) annotation (Line(points={{85.5,-20.65},{86,-20.65},{86,-30}}, color={0,0,127})); + connect(evaporator.C_hot_out,HRSG_friction. C_in) annotation (Line(points={{20,0},{30,0}}, color={95,95,95})); + connect(HRSG_friction.C_out, economiser.C_hot_in) annotation (Line(points={{50,0},{71,0}}, color={95,95,95})); + connect(HRSG_friction.Kfr, HRSG_friction_Kfr) annotation (Line(points={{40,-4},{40,-10},{40,-10},{40,-10}}, + color={0,0,127})); + connect(Reheater_Kfr_cold, Reheater.Kfr_cold) annotation (Line(points={{-62,-30},{-63,-30},{-63,-21}}, color={0,0,127})); + connect(Reheater_Kth, Reheater.Kth) annotation (Line(points={{-92,-30},{-93,-30},{-93,-21}}, color={0,0,127})); + connect(HPsuperheater1.Kfr_cold, HPsuperheater1_Kfr_cold) annotation (Line(points={{-141,-21},{-140,-21},{-140,-30}}, color={0,0,127})); + connect(HPsuperheater1.Kth, HPsuperheater1_Kth) annotation (Line(points={{-171,-21},{-170,-21},{-170,-30}}, color={0,0,127})); + connect(HPsuperheater2.Kth, HPsuperheater2_Kth) annotation (Line(points={{-287,-21},{-286,-21},{-286,-30}}, color={0,0,127})); + connect(HPsuperheater2.Kfr_cold, HPsuperheater2_Kfr_cold) annotation (Line(points={{-257,-21},{-256,-21},{-256,-30}}, color={0,0,127})); + connect(T_w_HPSH1_out_sensor.T_sensor, T_w_HPSH1_out) annotation (Line(points={{-184,40},{-184,44}}, color={0,0,127})); + connect(P_w_HPSH1_out_sensor.P_sensor, P_w_HPSH1_out) annotation (Line(points={{-208,40},{-208,44}}, color={0,0,127})); + connect(T_w_HPSH1_out1, T_w_ReH_out_sensor.T_sensor) annotation (Line(points={{-100,50},{-96,50}}, color={0,0,127})); + connect(P_w_ReH_out_sensor.P_sensor, P_w_HPSH1_out1) annotation (Line(points={{-96,70},{-100,70}}, color={0,0,127})); + connect(T_w_HPSH2_out_sensor.T_sensor, T_w_HPSH2_out) annotation (Line(points={{-286,60},{-290,60}}, color={0,0,127})); + connect(P_w_HPSH2_out, P_w_HPSH2_out_sensor.P_sensor) annotation (Line(points={{-290,80},{-286,80}}, color={0,0,127})); + connect(P_w_evap_out, P_w_evap_out_sensor.P_sensor) annotation (Line(points={{-40,44},{-40,40}}, color={0,0,127})); + connect(T_w_eco_out, T_w_eco_out_sensor.T_sensor) annotation (Line(points={{12,44},{12,40}}, + color={0,0,127})); + connect(P_w_eco_out_sensor.P_sensor, P_w_eco_out) annotation (Line(points={{56,40},{56,44}}, color={0,0,127})); + connect(T_w_eco_in, T_w_eco_in_sensor.T_sensor) annotation (Line(points={{140,44},{140,39}}, color={0,0,127})); + connect(T_pumpRec_out, T_pumpRec_out_sensor.T_sensor) annotation (Line(points={{114,92},{115,92},{115,85.5455}}, color={0,0,127})); + connect(P_pumpRec_out_sensor.P_sensor, P_pumpRec_out) annotation (Line(points={{131,85.5455},{131,86.773},{130,86.773},{130,92}}, color={0,0,127})); + connect(P_flue_gas_sink_sensor.P_sensor, P_flue_gas_sink) annotation (Line(points={{216,198},{210,198}}, color={0,0,127})); + connect(W_GT, W_GT_sensor.W_sensor) annotation (Line(points={{-340,112},{-340,106}}, color={0,0,127})); + connect(T_pump_out, T_pump_out_sensor.T_sensor) annotation (Line(points={{130,170},{130,165}}, color={0,0,127})); + connect(P_pump_out, P_pump_out_sensor.P_sensor) annotation (Line(points={{150,170},{150,165}}, color={0,0,127})); + connect(Q_pump_out_sensor.Q_sensor, Q_pump_out) annotation (Line(points={{170,165},{170,170}}, color={0,0,127})); + connect(T_circulating_water_out_sensor.T_sensor, T_circulating_water_out) annotation (Line(points={{110,205},{110,210}}, color={0,0,127})); + connect(P_circulating_water_in_sensor.P_sensor, P_circulating_water_in) annotation (Line(points={{0,205},{0,210}}, color={0,0,127})); + connect(T_circulating_water_in_sensor.T_sensor, T_circulating_water_in) annotation (Line(points={{-20,205},{-20,210}}, color={0,0,127})); + connect(P_Cond_sensor.P_sensor, P_Cond) annotation (Line(points={{34,286},{34,292}}, color={0,0,127})); + connect(P_LPST_in_sensor.P_sensor, P_LPST_in) annotation (Line(points={{-28,286},{-28,292}}, color={0,0,127})); + connect(P_HPST_out, P_HPST_out_sensor.P_sensor) annotation (Line(points={{-128,190},{-128,186}}, color={0,0,127})); + connect(T_HPST_out_sensor.T_sensor, T_HPST_out) annotation (Line(points={{-110,186},{-110,190}}, color={0,0,127})); + connect(Q_deSH_sensor.Q_sensor, Q_deSH) annotation (Line(points={{-138,126},{-138,132}}, color={0,0,127})); + connect(pumpRec_hn, pumpRec.hn) annotation (Line(points={{89,107},{88.54,107}, + {88.54,86.1455}}, color={0,0,127})); + connect(pumpRec_rh, pumpRec.rh) annotation (Line(points={{81,97},{81,83.3455}, + {87,83.3455}}, color={0,0,127})); + connect(pump_rh, pump.rh) annotation (Line(points={{96,170},{96,162.8},{103,162.8}}, color={0,0,127})); + connect(pump_hn, pump.hn) annotation (Line(points={{104,180},{104,165.6},{104.54, + 165.6}}, color={0,0,127})); + connect(LPsteamTurbine_eta_is, LPsteamTurbine.eta_is) annotation (Line(points={{-9,309}, + {-0.74,309},{-0.74,294.72}}, color={0,0,127})); + connect(LPsteamTurbine.Cst, LPsteamTurbine_Cst) annotation (Line(points={{-8.22, + 293.12},{-13,293.12},{-13,301}}, color={0,0,127})); + connect(HPsteamTurbine_Cst, HPsteamTurbine.Cst) annotation (Line(points={{-179, + 201},{-174.22,201},{-174.22,193.12}}, color={0,0,127})); + connect(HPsteamTurbine.eta_is, HPsteamTurbine_eta_is) annotation (Line(points={{-166.74, + 194.72},{-175,194.72},{-175,209}}, color={0,0,127})); + connect(LPST_control_valve.Cv, LPST_control_valve_Cv) annotation (Line(points={{-56.3,288.969},{-56.3,289},{-67,289}}, color={0,0,127})); + connect(HPST_control_valve.Cv, HPST_control_valve_Cv) annotation (Line(points={{-218.3,188.969},{-220,189},{-227,189}}, color={0,0,127})); + connect(T_flue_gas_sink_sensor.T_sensor, T_flue_gas_sink) annotation (Line(points={{170,6},{170,10}}, color={0,0,127})); + connect(W_ST_out_sensor.W_sensor, W_ST_out) annotation (Line(points={{96,326},{96,332}}, color={0,0,127})); + connect(P_HPST_in_sensor.P_sensor, P_HPST_in) annotation (Line(points={{-194,186},{-194,192}}, color={0,0,127})); + connect(deSH_opening, deSH_opening_sensor.opening_sensor) annotation (Line(points={{-180,154},{-180,149.1}}, color={0,0,127})); + connect(Evap_opening_sensor.opening_sensor,Evap_opening) annotation (Line(points={{30,63.1},{30,68}}, color={0,0,127})); + connect(pumpRec_opening, pumpRec_opening_sensor.opening_sensor) annotation (Line(points={{160,110},{160,105.1}}, color={0,0,127})); + connect(deSH_controlValve_Cv_max, deSH_controlValve.Cv_max) annotation (Line(points={{-167,127},{-172,127},{-172,127},{-177.5,127}}, color={0,0,127})); + connect(Evap_controlValve.Cv_max, Evap_controlValve_Cv_max) annotation (Line(points={{32.5,41.0003},{34,41.0003},{34,41},{39,41}}, color={0,0,127})); + connect(pumpRec_controlValve.Cv_max, pumpRec_controlValve_Cv_max) annotation (Line(points={{157.4,87},{152,87},{152,105},{147,105}}, color={0,0,127})); + connect(Q_pumpRec_out_sensor.Q_sensor, Q_pumpRec_out) annotation (Line(points={{145,85.5455},{145,93}}, color={0,0,127})); + connect(condenser_Kth, condenser.Kth) annotation (Line(points={{40,230},{40,219.556},{47.2,219.556}}, + color={0,0,127})); + connect(condenser.Qv_cold_in, condenser_Qv_cold_in) annotation (Line(points={{38,214.222},{27,214.222},{27,230},{20,230}}, color={0,0,127})); + connect(condenser.Kfr_cold, condenser_Kfr_cold.y) annotation (Line(points={{38,207.111},{32,207.111},{32,221.7}}, color={0,0,127})); + connect(combustionChamber_Kfr.y, combustionChamber.Kfr) annotation (Line(points={{-432,19.6},{-432,16},{-437,16},{-437,11}}, color={0,0,127})); + connect(combustionChamber_eta.y, combustionChamber.eta) annotation (Line(points={{-448,19.6},{-448,16},{-443,16},{-443,11}}, color={0,0,127})); + connect(evaporator.Kth, Evap_Kth) annotation (Line(points={{-8,-21},{-8,-30}}, color={0,0,127})); + annotation (Icon(coordinateSystem(preserveAspectRatio=false, extent={{-760,-120},{260,300}})), Diagram( - coordinateSystem(preserveAspectRatio=false, extent={{-740,-120},{260,280}}), + coordinateSystem(preserveAspectRatio=false, extent={{-760,-120},{260,300}}), graphics={Rectangle( - extent={{-324,18},{246,-72}}, + extent={{-324,44},{246,-46}}, pattern=LinePattern.None, lineColor={0,0,0}, fillColor={158,158,158}, - fillPattern=FillPattern.Solid), Text( - extent={{-92,-56},{54,-68}}, + fillPattern=FillPattern.Solid, + radius=0), Text( + extent={{-160,-92},{42,-104}}, textColor={0,0,0}, textStyle={TextStyle.Bold}, textString="Heat Recovery Steam Generator"), Polygon( - points={{-380,-10},{-380,-10},{-380,-42},{-324,-72},{-324,18},{-380,-10}}, + points={{-380,16},{-380,16},{-380,-16},{-324,-46},{-324,44},{-380,16}}, fillColor={158,158,158}, fillPattern=FillPattern.Solid, pattern=LinePattern.None, lineColor={0,0,0}), Rectangle( - extent={{246,16},{200,190}}, + extent={{246,42},{200,216}}, pattern=LinePattern.None, fillColor={158,158,158}, fillPattern=FillPattern.Solid), Text( - extent={{-230,96},{-174,96}}, + extent={{-230,124},{-174,124}}, textColor={28,108,200}, textString="Desuperheater"), Text( - extent={{-306,-48},{-244,-54}}, + extent={{-310,-66},{-232,-72}}, textColor={0,0,0}, textStyle={TextStyle.Bold}, fontSize=6, textString="Superheater 2"), Text( - extent={{-186,-48},{-124,-54}}, + extent={{-194,-66},{-116,-74}}, textColor={0,0,0}, textStyle={TextStyle.Bold}, fontSize=6, textString="Superheater 1"), Text( - extent={{-104,-48},{-42,-54}}, + extent={{-104,-66},{-42,-72}}, textColor={0,0,0}, textStyle={TextStyle.Bold}, fontSize=6, textString="Reheater"), Text( - extent={{-48,-48},{14,-54}}, + extent={{-38,-66},{24,-72}}, textColor={0,0,0}, textStyle={TextStyle.Bold}, fontSize=6, textString="Evaporator"), Text( - extent={{74,-52},{136,-58}}, + extent={{74,-66},{136,-72}}, textColor={0,0,0}, textStyle={TextStyle.Bold}, - fontSize=6, - textString="Economizer -")})); + fontSize=5, + textString="Economizer")})); end MetroscopiaCCGT_reverse; diff --git a/MetroscopeModelingLibrary/Examples/Nuclear/FeedWater/FlashTank_Reheater.mo b/MetroscopeModelingLibrary/Examples/Nuclear/FeedWater/FlashTank_Reheater.mo index d1014591..f620e850 100644 --- a/MetroscopeModelingLibrary/Examples/Nuclear/FeedWater/FlashTank_Reheater.mo +++ b/MetroscopeModelingLibrary/Examples/Nuclear/FeedWater/FlashTank_Reheater.mo @@ -25,8 +25,7 @@ model FlashTank_Reheater extent={{-10,-10},{10,10}}, rotation=-90, origin={-78,78}))); - MetroscopeModelingLibrary.WaterSteam.Pipes.Pipe reheater_to_flash_tank_DP(Q_0=Q_hot_0) - annotation (Placement(transformation( + MetroscopeModelingLibrary.WaterSteam.Pipes.FrictionPipe reheater_to_flash_tank_DP(Q_0=Q_hot_0) annotation (Placement(transformation( extent={{-12.5,-12.5},{12.5,12.5}}, rotation=180, origin={0,10}))); @@ -34,7 +33,7 @@ model FlashTank_Reheater extent={{9,-9},{-9,9}}, rotation=0, origin={-60,-80}))); - MetroscopeModelingLibrary.WaterSteam.Pipes.Pipe flash_tank_to_reheater_DP(Q_0=Q_hot_0/2) annotation (Placement(transformation(extent={{100,42},{73,69}}))); + MetroscopeModelingLibrary.WaterSteam.Pipes.FrictionPipe flash_tank_to_reheater_DP(Q_0=Q_hot_0/2) annotation (Placement(transformation(extent={{100,42},{73,69}}))); MetroscopeModelingLibrary.Power.BoundaryConditions.Source power_source annotation (Placement(transformation( extent={{-10,-10},{10,10}}, rotation=270, diff --git a/MetroscopeModelingLibrary/Examples/Nuclear/MetroscopiaNPP/MetroscopiaNPP_direct.mo b/MetroscopeModelingLibrary/Examples/Nuclear/MetroscopiaNPP/MetroscopiaNPP_direct.mo index c4eb5895..0373ce8d 100644 --- a/MetroscopeModelingLibrary/Examples/Nuclear/MetroscopiaNPP/MetroscopiaNPP_direct.mo +++ b/MetroscopeModelingLibrary/Examples/Nuclear/MetroscopiaNPP/MetroscopiaNPP_direct.mo @@ -285,12 +285,12 @@ model MetroscopiaNPP_direct T_0=425.15, h_0=640e3) annotation (Placement(transformation(extent={{288,-122},{298,-110}}))); MetroscopeModelingLibrary.Sensors.Outline.OpeningSensor LP_reheater_drains_control_valve_opening_sensor annotation (Placement(transformation(extent={{288,-106},{298,-96}}))); - MetroscopeModelingLibrary.WaterSteam.Pipes.Pipe deaerator_inlet_pipe( + MetroscopeModelingLibrary.WaterSteam.Pipes.FrictionPipe deaerator_inlet_pipe( P_in_0=600000, P_out_0=550000, Q_0=1060, T_0=338.15, - h_0=272e3) annotation (Placement(transformation(extent={{186,-80},{166,-60}}))); + h_0=272e3) annotation (Placement(transformation(extent={{186,-80},{166,-60}}))); MetroscopeModelingLibrary.WaterSteam.Pipes.PressureCut steam_dryer_liq_out_pipe( P_in_0=1940000, P_out_0=1940000, @@ -300,12 +300,12 @@ model MetroscopiaNPP_direct extent={{10,-10},{-10,10}}, rotation=90, origin={142,-50}))); - MetroscopeModelingLibrary.WaterSteam.Pipes.Pipe deaerator_outlet_pipe( + MetroscopeModelingLibrary.WaterSteam.Pipes.FrictionPipe deaerator_outlet_pipe( P_in_0=550000, P_out_0=600000, Q_0=1500, T_0=350.05, - h_0=322e3) annotation (Placement(transformation(extent={{114,-80},{94,-60}}))); + h_0=322e3) annotation (Placement(transformation(extent={{114,-80},{94,-60}}))); WaterSteam.Machines.FixedSpeedPump feedwater_pump( T_in_0=350.05, T_out_0=353.15, @@ -555,7 +555,8 @@ equation HP_heater.Kfr_cold = HP_heater_Kfr_cold; HP_reheater_drains_control_valve.Cv_max = HP_heater_drains_control_valve_Cvmax; - connect(HP_control_valve.C_out, HPT_P_in_sensor.C_in) annotation (Line(points={{-125,72},{-116,72},{-116,72},{-106,72}}, color={28,108,200})); + connect(HP_control_valve.C_out, HPT_P_in_sensor.C_in) annotation (Line(points={{-125,72}, + {-116,72},{-116,72},{-106,72}}, color={28,108,200})); connect(HP_control_valve.Opening, HP_control_valve_opening_sensor.Opening) annotation (Line(points={{-130,80.7273},{-130,82},{-131,82},{-131,85.9}}, color={0,0,127})); connect(HPT_1.C_out, HP_extract.C_in) annotation (Line(points={{-61,72},{-50.6,72}}, color={28,108,200})); @@ -569,18 +570,22 @@ equation connect(HPT_1.C_W_out, generator.C_in) annotation (Line(points={{-61,78.72},{-54,78.72},{-54,168},{315.6,168}}, color={244,125,35})); connect(HPT_1.C_in, HPT_P_in_sensor.C_out) annotation (Line(points={{-79,72},{-94,72}}, color={28,108,200})); connect(HPT_P_out_sensor.C_in, HPT_2.C_out) annotation (Line(points={{26,72},{9,72}}, color={28,108,200})); - connect(steam_dryer.C_in, HPT_P_out_sensor.C_out) annotation (Line(points={{56,91.2727},{56,92},{46,92},{46,72},{38,72}}, color={28,108,200})); - connect(superheater.C_cold_in, steam_dryer.C_hot_steam) annotation (Line(points={{72,104},{72,91.2727}}, color={28,108,200})); + connect(steam_dryer.C_in, HPT_P_out_sensor.C_out) annotation (Line(points={{56, + 91.2727},{56,92},{46,92},{46,72},{38,72}}, color={28,108,200})); + connect(superheater.C_cold_in, steam_dryer.C_hot_steam) annotation (Line(points={{72,104}, + {72,91.2727}}, color={28,108,200})); connect(superheater.C_hot_out, superheater_drains_P_sensor.C_in) annotation (Line(points={{88,112},{100,112}}, color={28,108,200})); connect(superheater_T_out_sensor.C_in,superheater. C_cold_out) annotation (Line(points={{88,130},{72,130},{72,120}}, color={28,108,200})); - connect(superheater_control_valve.C_in, HP_control_valve.C_in) annotation (Line(points={{-136,112.182},{-136,112},{-158,112},{-158,72},{-135,72}}, color={28,108,200})); + connect(superheater_control_valve.C_in, HP_control_valve.C_in) annotation (Line(points={{-136, + 112.182},{-136,112},{-158,112},{-158,72},{-135,72}}, color={28,108,200})); connect(superheater.C_hot_in, superheater_bleed_P_sensor.C_out) annotation (Line(points={{56,112},{-35,112},{-35,112.182},{-94,112.182}}, color={28,108,200})); - connect(superheater_bleed_P_sensor.C_in, superheater_control_valve.C_out) annotation (Line(points={{-106,112.182},{-116,112.182},{-116,112.182},{-126,112.182}}, color={28,108,200})); + connect(superheater_bleed_P_sensor.C_in, superheater_control_valve.C_out) annotation (Line(points={{-106, + 112.182},{-116,112.182},{-116,112.182},{-126,112.182}}, color={28,108,200})); connect(LPT1.C_W_out, generator.C_in) annotation (Line(points={{169,136.72},{188,136.72},{188,168},{315.6,168}}, color={244,125,35})); connect(LPT2.C_W_out, generator.C_in) annotation (Line(points={{239,136.72},{262,136.72},{262,168},{315.6,168}}, color={244,125,35})); connect(LPT2.C_out, P_cond_sensor.C_in) annotation (Line(points={{239,130},{286,130}}, color={28,108,200})); - connect(P_cond_sensor.C_out, condenser.C_hot_in) annotation (Line(points={{298,130},{392.5,130},{392.5,74.2864}}, - color={28,108,200})); + connect(P_cond_sensor.C_out, condenser.C_hot_in) annotation (Line(points={{298,130}, + {392.5,130},{392.5,74.2864}}, color={28,108,200})); connect(superheater_T_out_sensor.C_out, LPT1.C_in) annotation (Line(points={{100,130},{151,130}}, color={28,108,200})); connect(extraction_pump.C_out, extraction_pump_T_out_sensor.C_in) annotation (Line(points={{364,-70},{350,-70}}, color={28,108,200})); connect(extraction_pump_T_out_sensor.C_out,extraction_pump_P_out_sensor. C_in) annotation (Line(points={{336,-70},{322,-70}}, color={28,108,200})); @@ -610,12 +615,17 @@ equation connect(superheater_drains_P_sensor.C_out, superheater_drains_pipe.C_in) annotation (Line(points={{112,112},{122,112},{122,40}}, color={28,108,200})); connect(superheater_drains_pipe.C_out, HP_heater.C_hot_in) annotation (Line(points={{122,20},{122,16},{-40,16},{-40,-62}}, color={28,108,200})); connect(HP_heater_T_out_sensor.C_out, Q_feedwater_sensor.C_in) annotation (Line(points={{-98,-70},{-104,-70}}, color={28,108,200})); - connect(HP_reheater_drains_control_valve.Opening, HP_reheater_drains_control_valve_opening_sensor.Opening) annotation (Line(points={{11,-113.091},{11,-108.1}}, color={0,0,127})); - connect(HP_heater_T_drains_sensor.C_out, HP_reheater_drains_control_valve.C_in) annotation (Line(points={{-40,-105},{-40,-121.818},{6,-121.818}}, color={28,108,200})); - connect(LP_reheater_drains_control_valve.Opening, LP_reheater_drains_control_valve_opening_sensor.Opening) annotation (Line(points={{293,-111.091},{293,-106.1}}, color={0,0,127})); - connect(LP_heater.C_hot_out, LP_reheater_drains_control_valve.C_in) annotation (Line(points={{268,-78},{268,-119.818},{288,-119.818}}, color={28,108,200})); + connect(HP_reheater_drains_control_valve.Opening, HP_reheater_drains_control_valve_opening_sensor.Opening) annotation (Line(points={{11, + -113.091},{11,-108.1}}, color={0,0,127})); + connect(HP_heater_T_drains_sensor.C_out, HP_reheater_drains_control_valve.C_in) annotation (Line(points={{-40, + -105},{-40,-121.818},{6,-121.818}}, color={28,108,200})); + connect(LP_reheater_drains_control_valve.Opening, LP_reheater_drains_control_valve_opening_sensor.Opening) annotation (Line(points={{293, + -111.091},{293,-106.1}}, color={0,0,127})); + connect(LP_heater.C_hot_out, LP_reheater_drains_control_valve.C_in) annotation (Line(points={{268,-78}, + {268,-119.818},{288,-119.818}}, color={28,108,200})); connect(steam_generator.steam_outlet, P_steam_sensor.C_in) annotation (Line(points={{-170,-24},{-170,3}}, color={28,108,200})); - connect(P_steam_sensor.C_out, HP_control_valve.C_in) annotation (Line(points={{-170,17},{-170,72},{-135,72}}, color={28,108,200})); + connect(P_steam_sensor.C_out, HP_control_valve.C_in) annotation (Line(points={{-170,17}, + {-170,72},{-135,72}}, color={28,108,200})); connect(superheater.C_vent, pressureCut.C_in) annotation (Line(points={{88,104.2},{88,86},{94,86}}, color={28,108,200})); connect(pressureCut.C_out, superheater_drains_pipe.C_in) annotation (Line(points={{114,86},{122,86},{122,40}}, color={28,108,200})); connect(cold_source.C_out, CW_T_in_sensor.C_in) annotation (Line(points={{305,67.7778},{305,67},{318,67}}, color={28,108,200})); @@ -623,10 +633,13 @@ equation connect(CW_P_in_sensor.C_out, condenser.C_cold_in) annotation (Line(points={{360,67},{378,67},{378,59.679},{377,59.679}}, color={28,108,200})); connect(CW_T_out_sensor.C_out, cold_sink.C_in) annotation (Line(points={{437,60},{455,60}}, color={28,108,200})); connect(condenser.C_cold_out, CW_T_out_sensor.C_in) annotation (Line(points={{407.69,59.679},{407.69,60},{423,60}}, color={28,108,200})); - connect(LP_reheater_drains_control_valve.C_out, condenser.C_hot_in) annotation (Line(points={{298,-119.818},{400,-119.818},{400,-120},{500,-120},{500,100},{392.5,100},{392.5,74.2864}}, - color={28,108,200})); - connect(HP_reheater_drains_control_valve.C_out, deaerator_outlet_pipe.C_in) annotation (Line(points={{16,-121.818},{78,-121.818},{78,-122},{142,-122},{142,-70},{114,-70}}, color={28,108,200})); - connect(steam_generator.purge_outlet, Q_purge_sensor.C_in) annotation (Line(points={{-170,-115.233},{-170,-125}}, color={28,108,200})); + connect(LP_reheater_drains_control_valve.C_out, condenser.C_hot_in) annotation (Line(points={{298, + -119.818},{400,-119.818},{400,-120},{500,-120},{500,100},{392.5,100}, + {392.5,74.2864}}, color={28,108,200})); + connect(HP_reheater_drains_control_valve.C_out, deaerator_outlet_pipe.C_in) annotation (Line(points={{16, + -121.818},{78,-121.818},{78,-122},{142,-122},{142,-70},{114,-70}}, color={28,108,200})); + connect(steam_generator.purge_outlet, Q_purge_sensor.C_in) annotation (Line(points={{-170, + -115.233},{-170,-125}}, color={28,108,200})); connect(Q_feedwater_sensor.C_out, loopBreaker.C_in) annotation (Line(points={{-118,-70},{-132,-70}}, color={28,108,200})); connect(loopBreaker.C_out, steam_generator.feedwater_inlet) annotation (Line(points={{-152,-70},{-159,-70}}, color={28,108,200})); connect(Q_purge_sensor.C_out, sink.C_in) annotation (Line(points={{-170,-139},{-170,-145}}, color={28,108,200})); diff --git a/MetroscopeModelingLibrary/Examples/Nuclear/MetroscopiaNPP/MetroscopiaNPP_faulty.mo b/MetroscopeModelingLibrary/Examples/Nuclear/MetroscopiaNPP/MetroscopiaNPP_faulty.mo index 7f7ede29..1835785c 100644 --- a/MetroscopeModelingLibrary/Examples/Nuclear/MetroscopiaNPP/MetroscopiaNPP_faulty.mo +++ b/MetroscopeModelingLibrary/Examples/Nuclear/MetroscopiaNPP/MetroscopiaNPP_faulty.mo @@ -79,24 +79,30 @@ equation bypass_HP_heater_drains_to_condenser.Q = Fault_bypass_HP_heater_drains_to_condenser_Q + 1e-3; connect(bypass_HP_turbine_to_condenser.C_out, bypass_HP_control_valve_to_condenser.C_out) annotation (Line(points={{-113,42},{-113,32},{-147,32},{-147,42}}, color={217,67,180})); - connect(bypass_HP_turbine_to_condenser.C_out, condenser.C_hot_in) annotation (Line(points={{-113,42},{-113,32},{320,32},{320,100},{392.5,100},{392.5,74.2864}}, - color={217,67,180})); - connect(bypass_LP_turbine_to_condenser.C_out, condenser.C_hot_in) annotation (Line(points={{139,100},{140,100},{140,86},{158,86},{158,32},{320,32},{320,100},{392.5,100},{392.5,74.2864}}, - color={217,67,180})); - connect(bypass_superheater_to_condenser.C_in, superheater_control_valve.C_out) annotation (Line(points={{-113,134},{-113,112.182},{-126,112.182}}, color={217,67,180})); - connect(bypass_superheater_to_condenser.C_out, condenser.C_hot_in) annotation (Line(points={{-113,152},{-112,152},{-112,192},{392.5,192},{392.5,74.2864}}, - color={217,67,180})); - connect(bypass_HP_turbine_ext_to_condenser.C_out, condenser.C_hot_in) annotation (Line(points={{-2,49},{4,49},{4,32},{320,32},{320,100},{392.5,100},{392.5,74.2864}}, - color={217,67,180})); - connect(bypass_LP_heater_drains_to_condenser.C_out, condenser.C_hot_in) annotation (Line(points={{277,-150},{278,-150},{278,-162},{472,-162},{472,100},{392.5,100},{392.5,74.2864}}, - color={217,67,180})); - connect(bypass_HP_heater_drains_to_condenser.C_out, condenser.C_hot_in) annotation (Line(points={{-16,-153},{-16,-162},{472,-162},{472,100},{392.5,100},{392.5,74.2864}}, - color={217,67,180})); + connect(bypass_HP_turbine_to_condenser.C_out, condenser.C_hot_in) annotation (Line(points={{-113,42}, + {-113,32},{320,32},{320,100},{392.5,100},{392.5,74.2864}}, color={217,67,180})); + connect(bypass_LP_turbine_to_condenser.C_out, condenser.C_hot_in) annotation (Line(points={{139,100}, + {140,100},{140,86},{158,86},{158,32},{320,32},{320,100},{392.5,100},{ + 392.5,74.2864}}, color={217,67,180})); + connect(bypass_superheater_to_condenser.C_in, superheater_control_valve.C_out) annotation (Line(points={{-113, + 134},{-113,112.182},{-126,112.182}}, color={217,67,180})); + connect(bypass_superheater_to_condenser.C_out, condenser.C_hot_in) annotation (Line(points={{-113, + 152},{-112,152},{-112,192},{392.5,192},{392.5,74.2864}}, color={217,67,180})); + connect(bypass_HP_turbine_ext_to_condenser.C_out, condenser.C_hot_in) annotation (Line(points={{-2,49}, + {4,49},{4,32},{320,32},{320,100},{392.5,100},{392.5,74.2864}}, color={217,67,180})); + connect(bypass_LP_heater_drains_to_condenser.C_out, condenser.C_hot_in) annotation (Line(points={{277, + -150},{278,-150},{278,-162},{472,-162},{472,100},{392.5,100},{392.5, + 74.2864}}, color={217,67,180})); + connect(bypass_HP_heater_drains_to_condenser.C_out, condenser.C_hot_in) annotation (Line(points={{-16, + -153},{-16,-162},{472,-162},{472,100},{392.5,100},{392.5,74.2864}}, color={217,67,180})); connect(bypass_LP_turbine_to_condenser.C_in, LPT1.C_in) annotation (Line(points={{139,118},{140,118},{140,130},{151,130}}, color={217,67,180})); connect(bypass_HP_turbine_ext_to_condenser.C_in, HP_extract_P_sensor.C_in) annotation (Line(points={{-20,49},{-28,49},{-28,58},{-40,58},{-40,54}}, color={28,108,200})); - connect(bypass_HP_control_valve_to_condenser.C_in, HP_control_valve.C_in) annotation (Line(points={{-147,60},{-148,60},{-148,72},{-135,72}}, color={28,108,200})); + connect(bypass_HP_control_valve_to_condenser.C_in, HP_control_valve.C_in) annotation (Line(points={{-147,60}, + {-148,60},{-148,72},{-135,72}}, color={28,108,200})); connect(bypass_HP_turbine_to_condenser.C_in, HPT_P_in_sensor.C_in) annotation (Line(points={{-113,60},{-113,72},{-106,72}}, color={28,108,200})); - connect(bypass_LP_heater_drains_to_condenser.C_in, LP_reheater_drains_control_valve.C_in) annotation (Line(points={{277,-132},{276,-132},{276,-119.818},{288,-119.818}}, color={217,67,180})); - connect(bypass_HP_heater_drains_to_condenser.C_in, HP_reheater_drains_control_valve.C_in) annotation (Line(points={{-16,-135},{-16,-121.818},{6,-121.818}}, color={28,108,200})); + connect(bypass_LP_heater_drains_to_condenser.C_in, LP_reheater_drains_control_valve.C_in) annotation (Line(points={{277, + -132},{276,-132},{276,-119.818},{288,-119.818}}, color={217,67,180})); + connect(bypass_HP_heater_drains_to_condenser.C_in, HP_reheater_drains_control_valve.C_in) annotation (Line(points={{-16, + -135},{-16,-121.818},{6,-121.818}}, color={28,108,200})); annotation (Icon(coordinateSystem(preserveAspectRatio=false)), Diagram(coordinateSystem(preserveAspectRatio=false))); end MetroscopiaNPP_faulty; diff --git a/MetroscopeModelingLibrary/Examples/Nuclear/MetroscopiaNPP/MetroscopiaNPP_internal_ramp_direct.mo b/MetroscopeModelingLibrary/Examples/Nuclear/MetroscopiaNPP/MetroscopiaNPP_internal_ramp_direct.mo index 31ab1076..ccf9f26e 100644 --- a/MetroscopeModelingLibrary/Examples/Nuclear/MetroscopiaNPP/MetroscopiaNPP_internal_ramp_direct.mo +++ b/MetroscopeModelingLibrary/Examples/Nuclear/MetroscopiaNPP/MetroscopiaNPP_internal_ramp_direct.mo @@ -245,22 +245,22 @@ model MetroscopiaNPP_internal_ramp_direct T_0=425.15, h_0=640e3) annotation (Placement(transformation(extent={{288,-122},{298,-110}}))); MetroscopeModelingLibrary.Sensors.Outline.OpeningSensor LP_reheater_drains_control_valve_opening_sensor annotation (Placement(transformation(extent={{288,-106},{298,-96}}))); - MetroscopeModelingLibrary.WaterSteam.Pipes.Pipe deaerator_inlet_pipe( + MetroscopeModelingLibrary.WaterSteam.Pipes.FrictionPipe deaerator_inlet_pipe( P_in_0=600000, P_out_0=550000, Q_0=1060, T_0=338.15, - h_0=272e3) annotation (Placement(transformation(extent={{186,-80},{166,-60}}))); + h_0=272e3) annotation (Placement(transformation(extent={{186,-80},{166,-60}}))); MetroscopeModelingLibrary.WaterSteam.Pipes.PressureCut steam_dryer_liq_out_pipe annotation (Placement(transformation( extent={{10,-10},{-10,10}}, rotation=90, origin={142,-50}))); - MetroscopeModelingLibrary.WaterSteam.Pipes.Pipe deaerator_outlet_pipe( + MetroscopeModelingLibrary.WaterSteam.Pipes.FrictionPipe deaerator_outlet_pipe( P_in_0=550000, P_out_0=600000, Q_0=1500, T_0=350.05, - h_0=322e3) annotation (Placement(transformation(extent={{114,-80},{94,-60}}))); + h_0=322e3) annotation (Placement(transformation(extent={{114,-80},{94,-60}}))); WaterSteam.Machines.FixedSpeedPump feedwater_pump( T_in_0=350.05, T_out_0=353.15, diff --git a/MetroscopeModelingLibrary/Examples/Nuclear/MetroscopiaNPP/MetroscopiaNPP_reverse.mo b/MetroscopeModelingLibrary/Examples/Nuclear/MetroscopiaNPP/MetroscopiaNPP_reverse.mo index f30efa4e..8017509a 100644 --- a/MetroscopeModelingLibrary/Examples/Nuclear/MetroscopiaNPP/MetroscopiaNPP_reverse.mo +++ b/MetroscopeModelingLibrary/Examples/Nuclear/MetroscopiaNPP/MetroscopiaNPP_reverse.mo @@ -1,228 +1,6 @@ within MetroscopeModelingLibrary.Examples.Nuclear.MetroscopiaNPP; model MetroscopiaNPP_reverse - - // Boundary Conditions - - input Real P_steam(start = 50, unit="bar", min=0, nominal=50) "barA"; // Steam generator steam pressure - input Real CW_P_in(start = 3, unit="bar", min=0, nominal=5) "barA"; // Circulating Water inlet pressure - input Real CW_T_in(start = 15, unit="degC", min=0, nominal=15) "degC"; // Circulating Water inlet temperature - input Real Q_purge(start=5, unit = "kg/s", min=0) "kg/s"; // Steam generator blowdown flow - input Real thermal_power(start=2820, unit="MW", nominal = 1e3) "MW"; // Core thermal power - - // Observables used for calibration - - // HP Control Valve - input Real HP_control_valve_opening(start=0.15); - // HP turbines - input Real HPT_P_in(start=48.5, unit="bar", min=0, nominal=50) "barA"; - input Real HP_extract_P(start=31, unit="bar", min=0, nominal=50) "barA"; - input Real HPT_P_out(start=19.4, unit="bar", min=0, nominal=50) "barA"; - // Superheater - input Real superheater_bleed_P(start=41, unit="bar", min=0, nominal=50) "barA"; - input Real superheater_drains_P(start=40, unit="bar", min=0, nominal=50) "barA"; - input Real superheater_T_out(start=228) "°C"; // superheater_Kth - // LP turbines - input Real LP_extract_P(start=5, unit="bar", min=0, nominal=5) "barA"; - // Condenser - input Real P_cond(start=69.8, unit="mbar", min=0, nominal=70) "mbar"; - input Real CW_T_out(start=25, unit= "degC", min=0, nominal = 25) "degC"; - // Generator - input Real W_elec(start=570) "MW"; // - // Extraction pump - input Real extraction_pump_P_out(start=7, unit="bar", min=0, nominal=70) "barA"; - input Real extraction_pump_T_out(start=39, unit="degC", min=0, nominal=20) "degC"; - // LP Heater - input Real LP_heater_P_out(start=6, min=0, nominal=50) "bar"; // LP_heater_Kfr_cold - input Real LP_heater_T_out(start=65, min=0, nominal=100) "degC"; // LP_heater_Kth - // LP reheater drains Control Valve - input Real LP_reheater_drains_control_valve_opening(start=0.15); - // Feedwater pump - input Real HP_pump_P_out(start=59, unit="bar", min=0, nominal=70) "barA"; - input Real HP_pump_T_out(start=80, unit="degC", min=0, nominal=20) "degC"; - // HP Reheater - input Real HP_heater_P_out(start=58, min=0, nominal=50) "bar"; - input Real HP_heater_T_out(start=210, min=0, nominal=100) "degC"; - input Real HP_heater_T_drains(start=90, min=0, nominal=100) "degC"; - // HP reheater drains Control Valve - input Real HP_reheater_drains_control_valve_opening(start=0.15); - - // Other observables - output Real Q_feedwater(start=1500, unit="kg/s", min=0, nominal=1e3) "kg/s"; // Feedwater flow rate - - // Calibrated parameters (input used for calibration in comment) - // HP turbines inlet control valve - output Utilities.Units.Cv HP_control_valve_Cvmax; // HP valve opening - // HP Turbines - output Utilities.Units.Cst HPT1_Cst; // HP turbine inlet pressure - output Utilities.Units.Cst HPT2_Cst; // HP extract pressure - output Utilities.Units.Yield turbines_eta_is; // Welec - // Superheater inlet control valve - output Utilities.Units.Cv superheater_control_valve_Cvmax; // Superheater bleed pressure - // Superheater - output Utilities.Units.FrictionCoefficient superheater_Kfr_hot; // Superheater drains pressure - output Utilities.Units.HeatExchangeCoefficient superheater_Kth; // Superheater steam outlet temperature - // LP Turbines - output Utilities.Units.Cst LPT1_Cst; // HP turbine outlet pressure - output Utilities.Units.Cst LPT2_Cst; // LP extract pressure - // Condenser - output Utilities.Units.HeatExchangeCoefficient condenser_Kth; // P cond - output Utilities.Units.PositiveMassFlowRate condenser_Q_cold; // Circulating water outlet temperature - // Extraction pump - output Real extraction_pump_hn; // Extraction pump outlet pressure - output Real extraction_pump_rh; // Extraction pump outlet temperature - // LP Heater - output Utilities.Units.HeatExchangeCoefficient LP_heater_Kth; // LP heater outlet temperature - output Utilities.Units.FrictionCoefficient LP_heater_Kfr_cold; // LP heater outlet pressure - output Utilities.Units.Cv LP_heater_drains_control_valve_Cvmax; // LP heater drains valve opening - // Feedwater pump - output Real feedwater_pump_hn; // Feedwater pump outlet pressure - output Real feedwater_pump_rh; // Feedwater pump outlet temperature - // HP Heater - output Utilities.Units.HeatExchangeCoefficient HP_heater_Kth_cond; // HP heater outlet temperature - output Utilities.Units.HeatExchangeCoefficient HP_heater_Kth_subc; // HP heater drains temperature - output Utilities.Units.FrictionCoefficient HP_heater_Kfr_cold; // HP heater outlet pressure - output Utilities.Units.Cv HP_heater_drains_control_valve_Cvmax; // HP heater drains valve opening - - MetroscopeModelingLibrary.WaterSteam.HeatExchangers.SteamGenerator steam_generator annotation (Placement(transformation(extent={{-192,-116},{-148,-24}}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.FlowSensor Q_feedwater_sensor( - Q_0=1500, - P_0=5800000, - h_0=0.9e6) annotation (Placement(transformation(extent={{-104,-77},{-118,-63}}))); - MetroscopeModelingLibrary.WaterSteam.Pipes.ControlValve HP_control_valve( - T_out_0=535.15, - P_in_0=5000000, - P_out_0=4850000, - h_in_0=2.8e6, - h_out_0=2.8e6, - Q_0=1455, - T_0=536.15, - h_0=2.8e6) annotation (Placement(transformation(extent={{-135,69.8182},{-125,81.8182}}))); - MetroscopeModelingLibrary.Sensors.Outline.OpeningSensor HP_control_valve_opening_sensor annotation (Placement(transformation(extent={{-136,86},{-126,96}}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor HPT_P_in_sensor( - Q_0=1455, - P_0=4850000, - h_0=2.8e6) annotation (Placement(transformation(extent={{-106,66},{-94,78}}))); - MetroscopeModelingLibrary.WaterSteam.Machines.SteamTurbine HPT_1( - T_in_0=535.15, - T_out_0=608.85, - P_in_0=4850000, - P_out_0=3100000, - h_in_0=2.8e6, - h_out_0=2.7e6, - Q_0=1455) annotation (Placement(transformation(extent={{-79,64},{-61,80}}))); - MetroscopeModelingLibrary.WaterSteam.Machines.SteamTurbine HPT_2( - T_in_0=508.85, - T_out_0=484.15, - P_in_0=3100000, - P_out_0=1940000, - h_in_0=2.73e6, - h_out_0=2.68e6, - Q_0=1113) annotation (Placement(transformation(extent={{-9,64},{9,80}}))); - MetroscopeModelingLibrary.WaterSteam.Pipes.SteamExtractionSplitter HP_extract( - Q_in_0=1455, - Q_ext_0=340, - P_0=3100000, - T_0=508.85, - h_0=2.73e6) annotation (Placement(transformation(extent={{-50,62},{-30,80}}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor HP_extract_P_sensor( - Q_0=340, - P_0=3100000, - h_0=2.73e6) annotation (Placement(transformation( - extent={{-7,-7},{7,7}}, - rotation=270, - origin={-40,47}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor HPT_P_out_sensor( - Q_0=1113, - P_0=1940000, - h_0=2.68e6) annotation (Placement(transformation(extent={{26,66},{38,78}}))); - MetroscopeModelingLibrary.WaterSteam.Volumes.SteamDryer steam_dryer( - P_0=1940000, - T_0=483.95, - h_in_0=2.68e6, - Q_in_0=1113, - Q_liq_0=50) annotation (Placement(transformation(extent={{56,79.8182},{72,97.8182}}))); - MetroscopeModelingLibrary.WaterSteam.HeatExchangers.Superheater superheater( - Q_cold_0=1059, - Q_hot_0=44, - P_cold_in_0=1940000, - P_cold_out_0=1940000, - P_hot_in_0=4100000, - P_hot_out_0=4000000, - T_cold_in_0=483.95, - T_cold_out_0=501.15, - T_hot_in_0=525.15, - T_hot_out_0=525.15, - h_cold_in_0=2.78e6, - h_cold_out_0=2.85e6, - h_hot_in_0=2.8e6, - h_hot_out_0=1.09e6) annotation (Placement(transformation(extent={{56,104},{88,120}}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor superheater_drains_P_sensor( - Q_0=44, - P_0=4000000, - h_0=1.09e6) annotation (Placement(transformation(extent={{100,106},{112,118}}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.TemperatureSensor superheater_T_out_sensor( - Q_0=1060, - P_0=1940000, - h_0=2.85e6, - T_0=501.15) annotation (Placement(transformation(extent={{88,124},{100,136}}))); - MetroscopeModelingLibrary.WaterSteam.Pipes.ControlValve superheater_control_valve( - P_in_0=5000000, - P_out_0=4100000, - h_in_0=2.778e6, - h_out_0=2.778e6, - Q_0=45, - T_0=537.15, - h_0=2.8e6) annotation (Placement(transformation(extent={{-136,110},{-126,122}}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor superheater_bleed_P_sensor( - Q_0=45, - P_0=4100000, - h_0=2.778e6) annotation (Placement(transformation(extent={{-106,106.182},{-94,118.182}}))); - MetroscopeModelingLibrary.WaterSteam.Pipes.PressureCut superheater_drains_pipe( - P_in_0=4000000, - P_out_0=3100000, - Q_0=44, - T_0=525.15, - h_0=1.09e6) annotation (Placement(transformation( - extent={{10,-10},{-10,10}}, - rotation=90, - origin={122,30}))); - MetroscopeModelingLibrary.WaterSteam.Machines.SteamTurbine LPT1( - T_in_0=501.15, - T_out_0=425.15, - P_in_0=1940000, - P_out_0=500000, - h_in_0=2.85e6, - h_out_0=2.7e6, - Q_0=1060) annotation (Placement(transformation(extent={{151,122},{169,138}}))); - MetroscopeModelingLibrary.WaterSteam.Machines.SteamTurbine LPT2( - T_in_0=425.15, - T_out_0=312.05, - P_in_0=500000, - P_out_0=6900, - h_in_0=2.7e6, - h_out_0=2.4e6, - Q_0=1000) annotation (Placement(transformation(extent={{221,122},{239,138}}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor LP_extract_P_sensor( - Q_0=55, - P_0=500000, - h_0=2.7e6) annotation (Placement(transformation( - extent={{-7,-7},{7,7}}, - rotation=270, - origin={196,111}))); - MetroscopeModelingLibrary.WaterSteam.Pipes.SteamExtractionSplitter LP_extract( - Q_in_0=1060, - Q_ext_0=55, - P_0=500000, - T_0=425.15, - h_0=2.7e6) annotation (Placement(transformation(extent={{186,120},{206,138}}))); - MetroscopeModelingLibrary.Power.BoundaryConditions.Sink powerSink annotation (Placement(transformation(extent={{362,158},{382,178}}))); - MetroscopeModelingLibrary.Power.Machines.Generator generator annotation (Placement(transformation(extent={{308,156},{348,180}}))); - MetroscopeModelingLibrary.Sensors.Power.PowerSensor W_elec_sensor annotation (Placement(transformation(extent={{348,162},{360,174}}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor P_cond_sensor( - Q_0=1000, - P_0=6900, - h_0=2.4e6) annotation (Placement(transformation(extent={{286,124},{298,136}}))); - MetroscopeModelingLibrary.WaterSteam.HeatExchangers.Condenser condenser( + WaterSteam.HeatExchangers.Condenser condenser( Q_cold_0=54000, Q_hot_0=1000, Psat_0=6980, @@ -232,12 +10,74 @@ model MetroscopiaNPP_reverse T_cold_out_0=298.15, h_cold_in_0=63e3, h_cold_out_0=105e3, - h_hot_in_0=2.4e6) annotation (Placement(transformation(extent={{377,48.2222},{408,74}}))); - MetroscopeModelingLibrary.WaterSteam.BoundaryConditions.Sink cold_sink annotation (Placement(transformation( + h_hot_in_0=2.4e6) annotation (Placement(transformation(extent={{4.5, + 8.5432},{35.5,34.321}}))); + WaterSteam.BoundaryConditions.Sink cold_sink annotation (Placement(transformation( extent={{-10,-10},{10,10}}, rotation=0, - origin={460,60}))); - MetroscopeModelingLibrary.WaterSteam.BoundaryConditions.Source cold_source annotation (Placement(transformation(extent={{290,57.7778},{310,77.7778}}))); + origin={90,20}))); + WaterSteam.BoundaryConditions.Source cold_source annotation (Placement(transformation(extent={{-90,10}, + {-70,30}}))); + Sensors_Control.WaterSteam.TemperatureSensor CW_T_in_sensor( + Q_0=54000, + P_0=300000, + h_0=63e3, + sensor_function="BC", + T_0=288.15) annotation (Placement(transformation(extent={{-57,13}, + {-43,27}}))); + Sensors_Control.WaterSteam.PressureSensor CW_P_in_sensor( + Q_0=54000, + P_0=300000, + h_0=63e3, + sensor_function="BC") annotation (Placement(transformation(extent={{-27,13}, + {-13,27}}))); + Sensors_Control.WaterSteam.TemperatureSensor CW_T_out_sensor( + Q_0=54000, + P_0=300000, + h_0=105e3, + sensor_function="Calibration", + causality="condenser_Q_cold", + T_0=298.15) annotation (Placement(transformation(extent={{53,13}, + {67,27}}))); + Utilities.Interfaces.RealInput CW_T_in(start=15) + annotation (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-50,36}), iconTransformation(extent={{-170,22},{-130,62}}))); + Utilities.Interfaces.RealInput CW_P_in(start=3) + annotation (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-20,36}), iconTransformation(extent={{-170,22},{-130,62}}))); + Utilities.Interfaces.RealInput CW_T_out(start=25) + annotation (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={60,36}), iconTransformation(extent={{-154,38},{-134,58}}))); + Utilities.Interfaces.RealOutput condenser_Kth annotation (Placement( + transformation( + extent={{-4,-4},{4,4}}, + rotation=-90, + origin={10,62}),iconTransformation(extent={{-160,20},{-140,40}}))); + Utilities.Interfaces.RealOutput condenser_Q_cold annotation (Placement( + transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-2,54}), iconTransformation(extent={{-174,14},{-154,34}}))); + Sensors_Control.WaterSteam.PressureSensor P_cond_sensor( + Q_0=1000, + P_0=6900, + h_0=2.4e6, + sensor_function="Calibration", + causality="condenser_Kth", + display_unit="mbar", + signal_unit="mbar") annotation (Placement(transformation(extent={{-88,114}, + {-76,126}}))); + Utilities.Interfaces.RealInput P_cond(start=69.8) annotation (Placement( + transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-82,136}), iconTransformation(extent={{-170,22},{-130,62}}))); WaterSteam.Machines.FixedSpeedPump extraction_pump( T_in_0=312.05, T_out_0=312.15, @@ -245,17 +85,92 @@ model MetroscopiaNPP_reverse P_out_0=700000, h_in_0=163e3, h_out_0=164e3, - Q_0=1060) annotation (Placement(transformation(extent={{380,-78},{364,-62}}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.TemperatureSensor extraction_pump_T_out_sensor( + Q_0=1060) annotation (Placement(transformation(extent={{-24,-68}, + {-40,-52}}))); + Sensors_Control.WaterSteam.TemperatureSensor extraction_pump_T_out_sensor( Q_0=1060, P_0=700000, h_0=164e3, - T_0=312.15) annotation (Placement(transformation(extent={{350,-77},{336,-63}}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor extraction_pump_P_out_sensor( + sensor_function="Calibration", + causality="extraction_pump_rh", + T_0=312.15) annotation (Placement(transformation(extent={{-53,-67}, + {-67,-53}}))); + Sensors_Control.WaterSteam.PressureSensor extraction_pump_P_out_sensor( Q_0=1060, P_0=700000, - h_0=164e3) annotation (Placement(transformation(extent={{7,-7},{-7,7}}, origin={315,-70}))); - MetroscopeModelingLibrary.WaterSteam.HeatExchangers.DryReheater LP_heater( + h_0=164e3, + sensor_function="Calibration", + causality="extraction_pump_hn") annotation (Placement(transformation(extent={{7,-7},{-7,7}}, origin={-80,-60}))); + Utilities.Interfaces.RealInput extraction_pump_P_out(start=7) annotation ( + Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-80,-44}), iconTransformation(extent={{-170,22},{-130,62}}))); + Utilities.Interfaces.RealInput extraction_pump_T_out(start=39) annotation ( + Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-60,-44}), iconTransformation(extent={{-170,22},{-130,62}}))); + Utilities.Interfaces.RealOutput extraction_pump_hn annotation (Placement( + transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-22,-44}), iconTransformation(extent={{-174,14},{-154,34}}))); + Utilities.Interfaces.RealOutput extraction_pump_rh annotation (Placement( + transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-14,-42}), iconTransformation(extent={{-174,14},{-154,34}}))); + WaterSteam.Machines.SteamTurbine LPT2( + T_in_0=425.15, + T_out_0=312.05, + P_in_0=500000, + P_out_0=6900, + h_in_0=2.7e6, + h_out_0=2.4e6, + Q_0=1000) annotation (Placement(transformation(extent={{-145,112},{-127,128}}))); + Utilities.Interfaces.RealOutput LPT2_Cst annotation (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-142,134}), iconTransformation(extent={{-174,14},{-154,34}}))); + Utilities.Interfaces.RealOutput turbines_eta_is annotation (Placement( + transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-370,154}), iconTransformation(extent={{-174,14},{-154,34}}))); + Power.BoundaryConditions.Sink powerSink annotation (Placement(transformation(extent={{-54,150}, + {-34,170}}))); + Power.Machines.Generator generator annotation (Placement(transformation(extent={{-108, + 148},{-68,172}}))); + Sensors_Control.Power.PowerSensor W_elec_sensor annotation (Placement(transformation(extent={{-68,154}, + {-56,166}}))); + Utilities.Interfaces.RealInput W_elec(start=570) annotation (Placement( + transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-62,174}), iconTransformation(extent={{-170,22},{-130,62}}))); + WaterSteam.Pipes.SteamExtractionSplitter LP_extract( + Q_in_0=1060, + Q_ext_0=55, + P_0=500000, + T_0=425.15, + h_0=2.7e6) annotation (Placement(transformation(extent={{-210, + 110},{-190,128}}))); + Sensors_Control.WaterSteam.PressureSensor LP_extract_P_sensor( + Q_0=55, + P_0=500000, + h_0=2.7e6, + sensor_function="Calibration", + causality="LPT2_Cst") annotation (Placement(transformation( + extent={{-7,-7},{7,7}}, + rotation=270, + origin={-200,92}))); + Utilities.Interfaces.RealInput LP_extract_P(start=5) annotation (Placement( + transformation( + extent={{-4,-4},{4,4}}, + rotation=180, + origin={-180,92}), iconTransformation(extent={{-170,22},{-130,62}}))); + WaterSteam.HeatExchangers.DryReheater LP_heater( Q_cold_0=1060, Q_hot_0=55, P_cold_in_0=700000, @@ -269,44 +184,98 @@ model MetroscopiaNPP_reverse h_cold_in_0=164e3, h_cold_out_0=272e3, h_hot_in_0=2.7e6, - h_hot_out_0=640e3) annotation (Placement(transformation(extent={{284,-78},{252,-62}}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.TemperatureSensor LP_heater_T_out_sensor( + h_hot_out_0=640e3) annotation (Placement(transformation(extent={{-184, + -68},{-216,-52}}))); + Sensors_Control.WaterSteam.TemperatureSensor LP_heater_T_out_sensor( Q_0=1060, P_0=700000, h_0=272e3, - T_0=338.15) annotation (Placement(transformation(extent={{220,-77},{206,-63}}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor LP_heater_P_out_sensor( + sensor_function="Calibration", + causality="LP_heater_Kth", + T_0=338.15) annotation (Placement(transformation(extent={{-253, + -67},{-267,-53}}))); + Sensors_Control.WaterSteam.PressureSensor LP_heater_P_out_sensor( Q_0=1060, P_0=700000, - h_0=272e3) annotation (Placement(transformation(extent={{242,-77},{228,-63}}))); - MetroscopeModelingLibrary.WaterSteam.Pipes.ControlValve LP_reheater_drains_control_valve( + h_0=272e3, + sensor_function="Calibration", + causality="LP_heater_Kfr_cold") annotation (Placement(transformation(extent={{-223, + -67},{-237,-53}}))); + Utilities.Interfaces.RealInput LP_heater_P_out(start=6) annotation (Placement( + transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-230,-44}), iconTransformation(extent={{-170,22},{-130,62}}))); + Utilities.Interfaces.RealInput LP_heater_T_out(start=65) annotation ( + Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-260,-44}), iconTransformation(extent={{-170,22},{-130,62}}))); + Utilities.Interfaces.RealOutput LP_heater_Kfr_cold annotation (Placement( + transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-174,-42}), iconTransformation(extent={{-328,-88},{-308,-68}}))); + Utilities.Interfaces.RealOutput LP_heater_Kth annotation (Placement( + transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-192,-40}), iconTransformation(extent={{-328,-88},{-308,-68}}))); + WaterSteam.Pipes.ControlValve LP_reheater_drains_control_valve( P_in_0=500000, P_out_0=6900, Q_0=55, T_0=425.15, - h_0=640e3) annotation (Placement(transformation(extent={{288,-122},{298,-110}}))); - MetroscopeModelingLibrary.Sensors.Outline.OpeningSensor LP_reheater_drains_control_valve_opening_sensor annotation (Placement(transformation(extent={{288,-106},{298,-96}}))); - MetroscopeModelingLibrary.WaterSteam.Pipes.Pipe deaerator_inlet_pipe( - P_in_0=600000, - P_out_0=550000, - Q_0=1060, - T_0=338.15, - h_0=272e3) annotation (Placement(transformation(extent={{186,-80},{166,-60}}))); - MetroscopeModelingLibrary.WaterSteam.Pipes.PressureCut steam_dryer_liq_out_pipe( + h_0=640e3) annotation (Placement(transformation(extent={{-145, + -102.182},{-135,-90.182}}))); + Sensors_Control.Outline.OpeningSensor LP_reheater_drains_control_valve_opening_sensor( + output_signal_unit="%") annotation (Placement(transformation(extent={{-145, + -87},{-135,-77}}))); + Utilities.Interfaces.RealInput LP_reheater_drains_control_valve_opening(start=15) + annotation (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-140,-70}), iconTransformation(extent={{-170,22},{-130,62}}))); + Utilities.Interfaces.RealOutput LP_heater_drains_control_valve_Cvmax + annotation (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-150,-78}), iconTransformation(extent={{-328,-88},{-308,-68}}))); + WaterSteam.Machines.SteamTurbine LPT1( + T_in_0=501.15, + T_out_0=425.15, P_in_0=1940000, - P_out_0=1940000, - Q_0=50, - T_0=483.95, - h_0=901606.56) annotation (Placement(transformation( - extent={{10,-10},{-10,10}}, - rotation=90, - origin={142,-50}))); - MetroscopeModelingLibrary.WaterSteam.Pipes.Pipe deaerator_outlet_pipe( - P_in_0=550000, - P_out_0=600000, - Q_0=1500, - T_0=350.05, - h_0=322e3) annotation (Placement(transformation(extent={{114,-80},{94,-60}}))); + P_out_0=500000, + h_in_0=2.85e6, + h_out_0=2.7e6, + Q_0=1060) annotation (Placement(transformation(extent={{-281,112},{-263,128}}))); + Sensors_Control.WaterSteam.TemperatureSensor superheater_T_out_sensor( + Q_0=1060, + P_0=1940000, + h_0=2.85e6, + T_0=501.15) annotation (Placement(transformation(extent={{-346, + 114},{-334,126}}))); + Utilities.Interfaces.RealOutput LPT1_Cst annotation (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-278,134}), iconTransformation(extent={{-174,14},{-154,34}}))); + Utilities.Interfaces.RealInput superheater_T_out(start=228) annotation ( + Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-340,136}), iconTransformation(extent={{-170,22},{-130,62}}))); + WaterSteam.Pipes.HeightVariationPipe deaerator_inlet_pipe + annotation (Placement(transformation(extent={{-390,-60},{-410,-40}}))); + Utilities.Interfaces.RealExpression deaerator_inlet_pipe_delta_z(y=5) + annotation (Placement(transformation(extent={{-410,-46},{-390,-26}}))); + Utilities.Interfaces.RealExpression condenser_Kfr_cold(y=0) + annotation (Placement(transformation(extent={{-10,-10},{10,10}}, + rotation=0, + origin={-8,40}))); + WaterSteam.Pipes.HeightVariationPipe deaerator_outlet_pipe + annotation (Placement(transformation(extent={{-430,-60},{-450,-40}}))); + Utilities.Interfaces.RealExpression deaerator_outlet_pipe_delta_z(y=-5) + annotation (Placement(transformation(extent={{-450,-46},{-430,-26}}))); WaterSteam.Machines.FixedSpeedPump feedwater_pump( T_in_0=350.05, T_out_0=353.15, @@ -314,17 +283,44 @@ model MetroscopiaNPP_reverse P_out_0=5900000, h_in_0=322e3, h_out_0=340e3, - Q_0=1500) annotation (Placement(transformation(extent={{62,-78},{46,-62}}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.TemperatureSensor HP_pump_T_out_sensor( + Q_0=1500) annotation (Placement(transformation(extent={{-506, + -68},{-522,-52}}))); + Utilities.Interfaces.RealOutput feedwater_pump_hn annotation (Placement( + transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-506,-42}), iconTransformation(extent={{-174,14},{-154,34}}))); + Utilities.Interfaces.RealOutput feedwater_pump_rh annotation (Placement( + transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-502,-40}), iconTransformation(extent={{-174,14},{-154,34}}))); + Sensors_Control.WaterSteam.PressureSensor HP_pump_P_out_sensor( Q_0=1500, P_0=5900000, h_0=340e3, - T_0=353.15) annotation (Placement(transformation(extent={{30,-77},{16,-63}}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor HP_pump_P_out_sensor( + sensor_function="Calibration", + causality="feedwater_pump_hn") annotation (Placement(transformation(extent={{7,-7},{-7,7}}, origin={-570,-60}))); + Sensors_Control.WaterSteam.TemperatureSensor HP_pump_T_out_sensor( Q_0=1500, P_0=5900000, - h_0=340e3) annotation (Placement(transformation(extent={{7,-7},{-7,7}}, origin={-3,-70}))); - MetroscopeModelingLibrary.WaterSteam.HeatExchangers.Reheater HP_heater(Q_cold_0=1500, + h_0=340e3, + sensor_function="Calibration", + causality="feedwater_pump_rh", + T_0=353.15) annotation (Placement(transformation(extent={{-533, + -67},{-547,-53}}))); + Utilities.Interfaces.RealInput HP_pump_P_out(start=59) annotation (Placement( + transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-570,-44}), iconTransformation(extent={{-170,22},{-130,62}}))); + Utilities.Interfaces.RealInput HP_pump_T_out(start=80) annotation (Placement( + transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-540,-44}), iconTransformation(extent={{-170,22},{-130,62}}))); + WaterSteam.HeatExchangers.Reheater HP_heater( + Q_cold_0=1500, Q_hot_0=387, P_cold_in_0=5900000, P_cold_out_0=5800000, @@ -337,301 +333,671 @@ model MetroscopiaNPP_reverse h_cold_in_0=340e3, h_cold_out_0=0.9e6, h_hot_in_0=2.55e6, - h_hot_out_0=379e3) annotation (Placement(transformation(extent={{-24,-78},{-56,-62}}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.TemperatureSensor HP_heater_T_out_sensor( + h_hot_out_0=379e3) annotation (Placement(transformation(extent={{-624, + -68},{-656,-52}}))); + Utilities.Interfaces.RealOutput HP_heater_Kfr_cold annotation (Placement( + transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-616,-48}), iconTransformation(extent={{-174,14},{-154,34}}))); + Utilities.Interfaces.RealOutput HP_heater_Kth_subc annotation (Placement( + transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-632,-42}), iconTransformation(extent={{-174,14},{-154,34}}))); + Utilities.Interfaces.RealOutput HP_heater_Kth_cond annotation (Placement( + transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-614,-70}), iconTransformation(extent={{-174,14},{-154,34}}))); + Sensors_Control.WaterSteam.FlowSensor Q_feedwater_sensor( Q_0=1500, P_0=5800000, - h_0=0.9e6) annotation (Placement(transformation(extent={{-84,-77},{-98,-63}}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor HP_heater_P_out_sensor( + h_0=0.9e6) annotation (Placement(transformation(extent={{-743, + -67},{-757,-53}}))); + Sensors_Control.WaterSteam.TemperatureSensor HP_heater_T_out_sensor( Q_0=1500, P_0=5800000, - h_0=0.9e6) annotation (Placement(transformation(extent={{-64,-77},{-78,-63}}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.TemperatureSensor HP_heater_T_drains_sensor( + h_0=0.9e6, + sensor_function="Calibration", + causality="HP_heater_Kth_subc") annotation (Placement(transformation(extent={{-723, + -67},{-737,-53}}))); + Sensors_Control.WaterSteam.PressureSensor HP_heater_P_out_sensor( + Q_0=1500, + P_0=5800000, + h_0=0.9e6, + sensor_function="Calibration", + causality="HP_heater_Kfr_cold") annotation (Placement(transformation(extent={{-703, + -67},{-717,-53}}))); + Utilities.Interfaces.RealInput HP_heater_P_out(start=50) annotation ( + Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-710,-44}), iconTransformation(extent={{-170,22},{-130,62}}))); + Utilities.Interfaces.RealInput HP_heater_T_out(start=100) annotation ( + Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-730,-44}), iconTransformation(extent={{-170,22},{-130,62}}))); + Utilities.Interfaces.RealOutput Q_feedwater(start=1200) + annotation (Placement( + transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-750,-44}), iconTransformation(extent={{-734,-82},{-714,-62}}))); + Sensors_Control.WaterSteam.TemperatureSensor HP_heater_T_drains_sensor( Q_0=387, P_0=3100000, h_0=379e3, + sensor_function="Calibration", + causality="HP_heater_Kth_cond", T_0=363.15) annotation (Placement(transformation( - extent={{7,-7},{-7,7}}, + extent={{7,7},{-7,-7}}, rotation=90, - origin={-40,-98}))); - MetroscopeModelingLibrary.WaterSteam.Pipes.ControlValve HP_reheater_drains_control_valve annotation (Placement(transformation(extent={{6,-124},{16,-112}}))); - MetroscopeModelingLibrary.Sensors.Outline.OpeningSensor HP_reheater_drains_control_valve_opening_sensor annotation (Placement(transformation(extent={{6,-108},{16,-98}}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor P_steam_sensor( + origin={-640,-86}))); + Utilities.Interfaces.RealInput HP_heater_T_drains(start=90) annotation ( + Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=180, + origin={-624,-86}), iconTransformation(extent={{-170,22},{-130,62}}))); + WaterSteam.Pipes.ControlValve HP_reheater_drains_control_valve annotation (Placement(transformation(extent={{-565, + -102.182},{-555,-90.182}}))); + Sensors_Control.Outline.OpeningSensor HP_reheater_drains_control_valve_opening_sensor( + output_signal_unit="%") annotation (Placement(transformation(extent={{-565, + -91},{-555,-81}}))); + Utilities.Interfaces.RealOutput HP_heater_drains_control_valve_Cvmax + annotation (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-570,-80}), iconTransformation(extent={{-328,-88},{-308,-68}}))); + Utilities.Interfaces.RealInput HP_reheater_drains_control_valve_opening(start=15) + annotation (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-560,-74}), iconTransformation(extent={{-170,22},{-130,62}}))); + WaterSteam.HeatExchangers.SteamGenerator steam_generator annotation (Placement(transformation(extent={{-842, + -106},{-798,-14}}))); + Sensors_Control.WaterSteam.FlowSensor Q_purge_sensor( + Q_0=5, + h_0=1154502, + sensor_function="BC") annotation (Placement(transformation( + extent={{-7,-7},{7,7}}, + rotation=270, + origin={-820,-122}))); + Sensors_Control.Power.PowerSensor thermal_power_sensor( + sensor_function="BC") annotation (Placement(transformation(extent={{-862, + -68},{-846,-52}}))); + Sensors_Control.WaterSteam.PressureSensor P_steam_sensor( Q_0=1500, P_0=5000000, - h_0=2.778e6) annotation (Placement(transformation( - extent={{-7,-7},{7,7}}, + h_0=2.778e6, + sensor_function="BC") annotation (Placement(transformation( + extent={{-7,7},{7,-7}}, rotation=90, - origin={-170,10}))); - MetroscopeModelingLibrary.WaterSteam.Pipes.PressureCut pressureCut( + origin={-820,10}))); + Power.BoundaryConditions.Source source annotation (Placement(transformation(extent={{-888, + -70},{-868,-50}}))); + WaterSteam.BoundaryConditions.Sink sink annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=270, + origin={-820,-140}))); + Utilities.Interfaces.RealInput thermal_power(start=2820, nominal=1e3) + annotation (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-854,-42}), iconTransformation(extent={{-170,22},{-130,62}}))); + Utilities.Interfaces.RealInput P_steam(start=50) annotation (Placement( + transformation( + extent={{-4,-4},{4,4}}, + rotation=180, + origin={-804,10}), iconTransformation(extent={{-170,22},{-130,62}}))); + Utilities.Interfaces.RealInput Q_purge(start=5) annotation (Placement( + transformation( + extent={{-4,-4},{4,4}}, + rotation=180, + origin={-802,-122}), iconTransformation(extent={{-170,22},{-130,62}}))); + WaterSteam.Pipes.ControlValve HP_control_valve( + T_out_0=535.15, + P_in_0=5000000, + P_out_0=4850000, + h_in_0=2.8e6, + h_out_0=2.8e6, + Q_0=1455, + T_0=536.15, + h_0=2.8e6) annotation (Placement(transformation(extent={{-785, + 37.818},{-775,49.818}}))); + Sensors_Control.Outline.OpeningSensor HP_control_valve_opening_sensor( + sensor_function="Calibration", causality="HP_control_valve_Cvmax") annotation (Placement(transformation(extent={{-785,51}, + {-775,61}}))); + Sensors_Control.WaterSteam.PressureSensor HPT_P_in_sensor( + Q_0=1455, + P_0=4850000, + h_0=2.8e6, + sensor_function="Calibration", + causality="HPT1_Cst") annotation (Placement(transformation(extent={{-734,34}, + {-722,46}}))); + Utilities.Interfaces.RealOutput HP_control_valve_Cvmax annotation (Placement( + transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-790,56}), iconTransformation(extent={{-328,-88},{-308,-68}}))); + Utilities.Interfaces.RealInput HP_control_valve_opening(start=15) annotation + (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-780,68}), iconTransformation(extent={{-170,22},{-130,62}}))); + Utilities.Interfaces.RealInput HPT_P_in(start=48.5) annotation (Placement( + transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-728,56}), iconTransformation(extent={{-170,22},{-130,62}}))); + WaterSteam.Machines.SteamTurbine HPT_1( + T_in_0=535.15, + T_out_0=608.85, + P_in_0=4850000, + P_out_0=3100000, + h_in_0=2.8e6, + h_out_0=2.7e6, + Q_0=1455) annotation (Placement(transformation(extent={{-697,32},{-679,48}}))); + Utilities.Interfaces.RealOutput HPT1_Cst annotation (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-694,56}), iconTransformation(extent={{-328,-88},{-308,-68}}))); + Sensors_Control.WaterSteam.PressureSensor HP_extract_P_sensor( + Q_0=340, + P_0=3100000, + h_0=2.73e6, + sensor_function="Calibration", + causality="HPT2_Cst") annotation (Placement(transformation( + extent={{-7,-7},{7,7}}, + rotation=270, + origin={-640,8}))); + Utilities.Interfaces.RealInput HPT_extract_P(start=31) annotation (Placement( + transformation( + extent={{-4,-4},{4,4}}, + rotation=180, + origin={-624,8}), iconTransformation(extent={{-170,22},{-130,62}}))); + WaterSteam.Pipes.SteamExtractionSplitter HP_extract( + Q_in_0=1455, + Q_ext_0=340, + P_0=3100000, + T_0=508.85, + h_0=2.73e6) annotation (Placement(transformation(extent={{-650,30}, + {-630,48}}))); + WaterSteam.Machines.SteamTurbine HPT_2( + T_in_0=508.85, + T_out_0=484.15, + P_in_0=3100000, + P_out_0=1940000, + h_in_0=2.73e6, + h_out_0=2.68e6, + Q_0=1113) annotation (Placement(transformation(extent={{-587,32},{-569,48}}))); + Sensors_Control.WaterSteam.PressureSensor HPT_P_out_sensor( + Q_0=1113, + P_0=1940000, + h_0=2.68e6, + sensor_function="Calibration", + causality="LPT1_Cst") annotation (Placement(transformation(extent={{-466,34}, + {-454,46}}))); + Utilities.Interfaces.RealInput HPT_extract_P1(start=19.4) + annotation (Placement( + transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-460,56}), iconTransformation(extent={{-170,22},{-130,62}}))); + Utilities.Interfaces.RealOutput HPT2_Cst annotation (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-584,58}), iconTransformation(extent={{-328,-88},{-308,-68}}))); + WaterSteam.Volumes.SteamDryer steam_dryer( + P_0=1940000, + T_0=483.95, + h_in_0=2.68e6, + Q_in_0=1113, + Q_liq_0=50) annotation (Placement(transformation(extent={{-436, + 27.8182},{-420,45.8182}}))); + WaterSteam.Pipes.PressureCut steam_dryer_liq_out_pipe( P_in_0=4000000, - P_out_0=4000000, - Q_0=2, + P_out_0=3100000, + Q_0=44, T_0=525.15, - h_0=2.8e6) annotation (Placement(transformation(extent={{94,76},{114,96}}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.TemperatureSensor CW_T_in_sensor( - Q_0=54000, - P_0=300000, - h_0=63e3, - T_0=288.15) annotation (Placement(transformation(extent={{318,60},{332,74}}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor CW_P_in_sensor( - Q_0=54000, - P_0=300000, - h_0=63e3) annotation (Placement(transformation(extent={{346,60},{360,74}}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.TemperatureSensor CW_T_out_sensor( - Q_0=54000, - P_0=300000, - h_0=105e3, - T_0=298.15) annotation (Placement(transformation(extent={{423,53},{437,67}}))); - MetroscopeModelingLibrary.Sensors.WaterSteam.FlowSensor Q_purge_sensor(Q_0=5, h_0=1154502) - annotation (Placement(transformation( - extent={{-7,-7},{7,7}}, + h_0=1.09e6) annotation (Placement(transformation( + extent={{10,-10},{-10,10}}, + rotation=90, + origin={-420,0}))); + WaterSteam.HeatExchangers.Superheater superheater + annotation (Placement(transformation(extent={{-416,72},{-384,88}}))); + Utilities.Interfaces.RealOutput superheater_Kth annotation (Placement( + transformation( + extent={{-4,-4},{4,4}}, rotation=270, - origin={-170,-132}))); - MetroscopeModelingLibrary.WaterSteam.BoundaryConditions.Sink sink annotation (Placement(transformation( - extent={{-10,-10},{10,10}}, + origin={-408,102}), iconTransformation(extent={{-174,14},{-154,34}}))); + Sensors_Control.WaterSteam.PressureSensor superheater_bleed_P_sensor( + Q_0=45, + P_0=4100000, + h_0=2.778e6, + sensor_function="Calibration", + causality="superheater_control_valve_Cv_max") annotation (Placement(transformation(extent={{-746,74}, + {-734,86}}))); + Utilities.Interfaces.RealInput superheater_bleed_P(start=41) annotation ( + Placement(transformation( + extent={{-4,-4},{4,4}}, rotation=270, - origin={-170,-150}))); - MetroscopeModelingLibrary.WaterSteam.Pipes.LoopBreaker loopBreaker annotation (Placement(transformation( + origin={-740,98}), iconTransformation(extent={{-170,22},{-130,62}}))); + WaterSteam.Pipes.LoopBreaker loopBreaker annotation (Placement(transformation( extent={{-10,-10},{10,10}}, rotation=180, - origin={-142,-70}))); - MetroscopeModelingLibrary.Power.BoundaryConditions.Source source annotation (Placement(transformation(extent={{-238,-80},{-218,-60}}))); - MetroscopeModelingLibrary.Sensors.Power.PowerSensor thermal_power_sensor annotation (Placement(transformation(extent={{-212,-78},{-196,-62}}))); + origin={-782,-60}))); + WaterSteam.Pipes.PressureCut pressureCut( + P_in_0=4000000, + P_out_0=3100000, + Q_0=44, + T_0=525.15, + h_0=1.09e6) annotation (Placement(transformation( + extent={{10,-10},{-10,10}}, + rotation=180, + origin={-364,40}))); + WaterSteam.Pipes.PressureCut superheater_drains_pipe( + P_in_0=4000000, + P_out_0=3100000, + Q_0=44, + T_0=525.15, + h_0=1.09e6) annotation (Placement(transformation( + extent={{10,-10},{-10,10}}, + rotation=90, + origin={-340,60}))); + Utilities.Interfaces.RealInput steam_generator_vapor_fraction(start=0.99) + annotation (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=180, + origin={-790,-32}), iconTransformation(extent={{-174,14},{-154,34}}))); + Utilities.Interfaces.RealOutput superheater_control_valve_Cv_max annotation ( + Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-780,94}), iconTransformation(extent={{-328,-88},{-308,-68}}))); + WaterSteam.Pipes.SlideValve superheater_control_valve( + P_in_0=5000000, + P_out_0=4100000, + h_in_0=2.778e6, + h_out_0=2.778e6, + Q_0=45, + T_0=537.15, + h_0=2.8e6) annotation (Placement(transformation(extent={{-777, + 77.8182},{-767,89.818}}))); + Utilities.Interfaces.RealExpression condenser_C_incond(y=0) + annotation (Placement(transformation(extent={{20,38},{40,58}}))); equation - - // SteamGenerator - - // Quantities definitions - P_steam_sensor.P_barA = P_steam; - Q_feedwater_sensor.Q = Q_feedwater; - Q_purge_sensor.Q = Q_purge; - thermal_power_sensor.W_MW = thermal_power; - - // Parameters - steam_generator.vapor_fraction = 0.99; - - // Hypothesis - steam_generator.P_purge = P_steam * 1e5; - - // HP Turbines - - // Quantities definitions - HPT_P_in_sensor.P_barA = HPT_P_in; - HP_control_valve_opening_sensor.Opening = HP_control_valve_opening; - HP_extract_P_sensor.P_barA = HP_extract_P; - HPT_P_out_sensor.P_barA = HPT_P_out; - - // Calibrated parameters - HP_control_valve.Cv_max = HP_control_valve_Cvmax; - HPT_1.Cst = HPT1_Cst; - HPT_1.eta_is = turbines_eta_is; - HPT_2.Cst = HPT2_Cst; - HPT_2.eta_is = turbines_eta_is; - - // Parameter - HP_extract.alpha = 1; - - // Dryer - Superheater - - // Quantities definitions - superheater_bleed_P_sensor.P_barA = superheater_bleed_P; - superheater_drains_P_sensor.P_barA = superheater_drains_P; - superheater_T_out_sensor.T_degC = superheater_T_out; - - // Parameters - superheater.S = 100; - superheater.Kfr_cold = 0; - superheater.Q_vent = 1; - steam_dryer.x_steam_out = 0.99; - - // Calibrated parameters - superheater.Kfr_hot = superheater_Kfr_hot; - superheater.Kth = superheater_Kth; - superheater_control_valve.Cv_max = superheater_control_valve_Cvmax; - - // Hypothesis - superheater_control_valve.Opening = 1; - - // LP Turbines and extraction - - // Quantities definitions - LP_extract_P_sensor.P_barA = LP_extract_P; - - // Calibrated parameters - LPT1.Cst = LPT1_Cst; - LPT1.eta_is = turbines_eta_is; - LPT2.Cst = LPT2_Cst; - LPT2.eta_is = turbines_eta_is; - - // Parameters - LP_extract.alpha = 1; - - // Generator - - // Quantities definitions - W_elec_sensor.W_MW = W_elec; - - // Fixed parameter - generator.eta = 0.99; - - // Condenser - - // Quantities definitions - CW_P_in_sensor.P_barA = CW_P_in; // BC - CW_T_in_sensor.T_degC = CW_T_in; // BC - P_cond_sensor.P_mbar = P_cond; - CW_T_out_sensor.T_degC = CW_T_out; - - // Parameters - condenser.S = 100; - condenser.water_height = 1; - condenser.C_incond = 0; - condenser.P_offset = 0; - condenser.Kfr_cold = 0; - - // Calibrated Parameters - condenser.Kth = condenser_Kth; - condenser.Q_cold = condenser_Q_cold; - - // Extraction pump - - // Quantities defintions - extraction_pump_T_out_sensor.T_degC = extraction_pump_T_out; - extraction_pump_P_out_sensor.P_barA = extraction_pump_P_out; - - // Calibrated parameters - extraction_pump.hn = extraction_pump_hn; - extraction_pump.rh = extraction_pump_rh; - - // LP Heater and drains - - // Quantities definitions - LP_heater_P_out_sensor.P_barA = LP_heater_P_out; - LP_heater_T_out_sensor.T_degC = LP_heater_T_out; - LP_reheater_drains_control_valve_opening_sensor.Opening = LP_reheater_drains_control_valve_opening; - - // Parameters - LP_heater.S = 100; - LP_heater.Kfr_hot = 0; - - // Calibrated parameters - LP_heater.Kth = LP_heater_Kth; - LP_heater.Kfr_cold = LP_heater_Kfr_cold; - LP_reheater_drains_control_valve.Cv_max = LP_heater_drains_control_valve_Cvmax; - - // Deaerator - - deaerator_inlet_pipe.Kfr = 0; - deaerator_inlet_pipe.delta_z = 5; - deaerator_outlet_pipe.Kfr = 0; - deaerator_outlet_pipe.delta_z = -5; - - // Feedwater pump - - // Quantities definitions - HP_pump_T_out_sensor.T_degC = HP_pump_T_out; - HP_pump_P_out_sensor.P_barA = HP_pump_P_out; - - // Calibrated parameters - feedwater_pump.hn = feedwater_pump_hn; - feedwater_pump.rh = feedwater_pump_rh; - - // HP Reheater and drains - - // Quantities definitions - HP_heater_P_out_sensor.P_barA = HP_heater_P_out; - HP_heater_T_out_sensor.T_degC = HP_heater_T_out; - HP_heater_T_drains_sensor.T_degC = HP_heater_T_drains; - HP_reheater_drains_control_valve_opening_sensor.Opening = HP_reheater_drains_control_valve_opening; - - // Parameters - HP_heater.S = 100; - HP_heater.Kfr_hot = 0; - HP_heater.level = 0.3; - - // Calibrated parameters - HP_heater.Kth_subc = HP_heater_Kth_subc; - HP_heater.Kth_cond = HP_heater_Kth_cond; - HP_heater.Kfr_cold = HP_heater_Kfr_cold; - HP_reheater_drains_control_valve.Cv_max = HP_heater_drains_control_valve_Cvmax; - - connect(HP_control_valve.C_out, HPT_P_in_sensor.C_in) annotation (Line(points={{-125,72},{-116,72},{-116,72},{-106,72}}, color={28,108,200})); - connect(HP_control_valve.Opening, HP_control_valve_opening_sensor.Opening) annotation (Line(points={{-130,80.7273},{-130,82},{-131,82},{-131,85.9}}, - color={0,0,127})); - connect(HPT_1.C_out, HP_extract.C_in) annotation (Line(points={{-61,72},{-50.6,72}}, color={28,108,200})); - connect(HP_extract.C_main_out, HPT_2.C_in) annotation (Line(points={{-29.4,72},{-9,72}}, color={28,108,200})); - connect(HP_extract.C_ext_out, HP_extract_P_sensor.C_in) annotation (Line(points={{-40,65.2},{-40,54}}, color={28,108,200})); - connect(powerSink.C_in,W_elec_sensor. C_out) annotation (Line(points={{367,168},{359.88,168}}, - color={244,125,35})); - connect(W_elec_sensor.C_in,generator. C_out) annotation (Line(points={{348,168},{342,168}}, - color={244,125,35})); - connect(HPT_2.C_W_out, generator.C_in) annotation (Line(points={{9,78.72},{18,78.72},{18,168},{315.6,168}}, color={244,125,35})); - connect(HPT_1.C_W_out, generator.C_in) annotation (Line(points={{-61,78.72},{-54,78.72},{-54,168},{315.6,168}}, color={244,125,35})); - connect(HPT_1.C_in, HPT_P_in_sensor.C_out) annotation (Line(points={{-79,72},{-94,72}}, color={28,108,200})); - connect(HPT_P_out_sensor.C_in, HPT_2.C_out) annotation (Line(points={{26,72},{9,72}}, color={28,108,200})); - connect(steam_dryer.C_in, HPT_P_out_sensor.C_out) annotation (Line(points={{56,91.2727},{56,92},{46,92},{46,72},{38,72}}, color={28,108,200})); - connect(superheater.C_cold_in, steam_dryer.C_hot_steam) annotation (Line(points={{72,104},{72,91.2727}}, color={28,108,200})); - connect(superheater.C_hot_out, superheater_drains_P_sensor.C_in) annotation (Line(points={{88,112},{100,112}}, color={28,108,200})); - connect(superheater_T_out_sensor.C_in,superheater. C_cold_out) annotation (Line(points={{88,130},{72,130},{72,120}}, color={28,108,200})); - connect(superheater_control_valve.C_in, HP_control_valve.C_in) annotation (Line(points={{-136,112.182},{-136,112},{-158,112},{-158,72},{-135,72}}, color={28,108,200})); - connect(superheater.C_hot_in, superheater_bleed_P_sensor.C_out) annotation (Line(points={{56,112},{-35,112},{-35,112.182},{-94,112.182}}, color={28,108,200})); - connect(superheater_bleed_P_sensor.C_in, superheater_control_valve.C_out) annotation (Line(points={{-106,112.182},{-116,112.182},{-116,112.182},{-126,112.182}}, color={28,108,200})); - connect(LPT1.C_W_out, generator.C_in) annotation (Line(points={{169,136.72},{188,136.72},{188,168},{315.6,168}}, color={244,125,35})); - connect(LPT2.C_W_out, generator.C_in) annotation (Line(points={{239,136.72},{262,136.72},{262,168},{315.6,168}}, color={244,125,35})); - connect(LPT2.C_out, P_cond_sensor.C_in) annotation (Line(points={{239,130},{286,130}}, color={28,108,200})); - connect(P_cond_sensor.C_out, condenser.C_hot_in) annotation (Line(points={{298,130},{392.5,130},{392.5,74.2864}}, - color={28,108,200})); - connect(superheater_T_out_sensor.C_out, LPT1.C_in) annotation (Line(points={{100,130},{151,130}}, color={28,108,200})); - connect(extraction_pump.C_out, extraction_pump_T_out_sensor.C_in) annotation (Line(points={{364,-70},{350,-70}}, color={28,108,200})); - connect(extraction_pump_T_out_sensor.C_out,extraction_pump_P_out_sensor. C_in) annotation (Line(points={{336,-70},{322,-70}}, color={28,108,200})); - connect(condenser.C_hot_out, extraction_pump.C_in) annotation (Line(points={{392.5,48.2222},{392.5,-70},{380,-70}}, - color={28,108,200})); - connect(LP_heater.C_cold_out, LP_heater_P_out_sensor.C_in) annotation (Line(points={{252,-70},{242,-70}}, color={28,108,200})); - connect(LP_heater_P_out_sensor.C_out,LP_heater_T_out_sensor. C_in) annotation (Line(points={{228,-70},{224,-70},{224,-70.5},{220,-70.5},{220,-70}}, - color={28,108,200})); - connect(extraction_pump_P_out_sensor.C_out, LP_heater.C_cold_in) annotation (Line(points={{308,-70},{284.2,-70}}, color={28,108,200})); - connect(LP_extract_P_sensor.C_out, LP_heater.C_hot_in) annotation (Line(points={{196,104},{196,44},{268,44},{268,-62}}, color={28,108,200})); - connect(LP_extract_P_sensor.C_in, LP_extract.C_ext_out) annotation (Line(points={{196,118},{196,123.2}}, color={28,108,200})); - connect(LPT1.C_out, LP_extract.C_in) annotation (Line(points={{169,130},{185.4,130}}, color={28,108,200})); - connect(LPT2.C_in, LP_extract.C_main_out) annotation (Line(points={{221,130},{206.6,130}}, color={28,108,200})); - connect(deaerator_inlet_pipe.C_in, LP_heater_T_out_sensor.C_out) annotation (Line(points={{186,-70},{206,-70}}, color={28,108,200})); - connect(steam_dryer.C_hot_liquid, steam_dryer_liq_out_pipe.C_in) annotation (Line(points={{72,84.7273},{72,-34},{142,-34},{142,-40}}, - color={28,108,200})); - connect(deaerator_inlet_pipe.C_out, deaerator_outlet_pipe.C_in) annotation (Line(points={{166,-70},{114,-70}}, color={28,108,200})); - connect(steam_dryer_liq_out_pipe.C_out, deaerator_outlet_pipe.C_in) annotation (Line(points={{142,-60},{142,-70},{114,-70}}, color={28,108,200})); - connect(feedwater_pump.C_out, HP_pump_T_out_sensor.C_in) annotation (Line(points={{46,-70},{30,-70}}, color={28,108,200})); - connect(HP_pump_T_out_sensor.C_out, HP_pump_P_out_sensor.C_in) annotation (Line(points={{16,-70},{4,-70}}, color={28,108,200})); - connect(feedwater_pump.C_in, deaerator_outlet_pipe.C_out) annotation (Line(points={{62,-70},{94,-70}}, color={28,108,200})); - connect(HP_pump_P_out_sensor.C_out, HP_heater.C_cold_in) annotation (Line(points={{-10,-70},{-23.8,-70}}, color={28,108,200})); - connect(HP_heater.C_cold_out, HP_heater_P_out_sensor.C_in) annotation (Line(points={{-56,-70},{-64,-70}}, color={28,108,200})); - connect(HP_heater_P_out_sensor.C_out, HP_heater_T_out_sensor.C_in) annotation (Line(points={{-78,-70},{-84,-70}}, color={28,108,200})); - connect(HP_heater_T_drains_sensor.C_in, HP_heater.C_hot_out) annotation (Line(points={{-40,-91},{-40,-78}}, color={28,108,200})); - connect(HP_extract_P_sensor.C_out, HP_heater.C_hot_in) annotation (Line(points={{-40,40},{-40,-62}}, color={28,108,200})); - connect(superheater_drains_P_sensor.C_out, superheater_drains_pipe.C_in) annotation (Line(points={{112,112},{122,112},{122,40}}, color={28,108,200})); - connect(superheater_drains_pipe.C_out, HP_heater.C_hot_in) annotation (Line(points={{122,20},{122,16},{-40,16},{-40,-62}}, color={28,108,200})); - connect(HP_heater_T_out_sensor.C_out, Q_feedwater_sensor.C_in) annotation (Line(points={{-98,-70},{-104,-70}}, color={28,108,200})); - connect(HP_reheater_drains_control_valve.Opening, HP_reheater_drains_control_valve_opening_sensor.Opening) annotation (Line(points={{11,-113.091},{11,-108.1}}, color={0,0,127})); - connect(HP_heater_T_drains_sensor.C_out, HP_reheater_drains_control_valve.C_in) annotation (Line(points={{-40,-105},{-40,-121.818},{6,-121.818}}, color={28,108,200})); - connect(LP_reheater_drains_control_valve.Opening, LP_reheater_drains_control_valve_opening_sensor.Opening) annotation (Line(points={{293,-111.091},{293,-106.1}}, color={0,0,127})); - connect(LP_heater.C_hot_out, LP_reheater_drains_control_valve.C_in) annotation (Line(points={{268,-78},{268,-119.818},{288,-119.818}}, color={28,108,200})); - connect(steam_generator.steam_outlet, P_steam_sensor.C_in) annotation (Line(points={{-170,-24},{-170,3}}, color={28,108,200})); - connect(P_steam_sensor.C_out, HP_control_valve.C_in) annotation (Line(points={{-170,17},{-170,72},{-135,72}}, color={28,108,200})); - connect(superheater.C_vent, pressureCut.C_in) annotation (Line(points={{88,104.2},{88,86},{94,86}}, color={28,108,200})); - connect(pressureCut.C_out, superheater_drains_pipe.C_in) annotation (Line(points={{114,86},{122,86},{122,40}}, color={28,108,200})); - connect(cold_source.C_out, CW_T_in_sensor.C_in) annotation (Line(points={{305,67.7778},{305,67},{318,67}}, color={28,108,200})); - connect(CW_T_in_sensor.C_out, CW_P_in_sensor.C_in) annotation (Line(points={{332,67},{346,67}}, color={28,108,200})); - connect(CW_P_in_sensor.C_out, condenser.C_cold_in) annotation (Line(points={{360,67},{378,67},{378,59.679},{377,59.679}}, color={28,108,200})); - connect(CW_T_out_sensor.C_out, cold_sink.C_in) annotation (Line(points={{437,60},{455,60}}, color={28,108,200})); - connect(condenser.C_cold_out, CW_T_out_sensor.C_in) annotation (Line(points={{407.69,59.679},{407.69,60},{423,60}}, color={28,108,200})); - connect(LP_reheater_drains_control_valve.C_out, condenser.C_hot_in) annotation (Line(points={{298,-119.818},{400,-119.818},{400,-120},{500,-120},{500,100},{392.5,100},{392.5,74.2864}}, - color={28,108,200})); - connect(HP_reheater_drains_control_valve.C_out, deaerator_outlet_pipe.C_in) annotation (Line(points={{16,-121.818},{78,-121.818},{78,-122},{142,-122},{142,-70},{114,-70}}, color={28,108,200})); - connect(steam_generator.purge_outlet, Q_purge_sensor.C_in) annotation (Line(points={{-170,-115.233},{-170,-125}}, color={28,108,200})); - connect(Q_feedwater_sensor.C_out, loopBreaker.C_in) annotation (Line(points={{-118,-70},{-132,-70}}, color={28,108,200})); - connect(loopBreaker.C_out, steam_generator.feedwater_inlet) annotation (Line(points={{-152,-70},{-159,-70}}, color={28,108,200})); - connect(Q_purge_sensor.C_out, sink.C_in) annotation (Line(points={{-170,-139},{-170,-145}}, color={28,108,200})); - connect(steam_generator.C_thermal_power, thermal_power_sensor.C_out) annotation (Line(points={{-181,-70},{-196.16,-70}}, color={244,125,35})); - connect(thermal_power_sensor.C_in, source.C_out) annotation (Line(points={{-212,-70},{-223.2,-70}}, color={244,125,35})); - annotation (Icon(coordinateSystem(preserveAspectRatio=false, extent={{-240,-160},{520,200}})), Diagram(coordinateSystem(preserveAspectRatio=false, extent={{-240,-160},{520,200}}))); + connect(superheater_control_valve.C_in, P_steam_sensor.C_out) annotation ( + Line(points={{-777,80},{-800,80},{-800,40},{-820,40},{-820,17}}, color={28, + 108,200})); + connect(LP_reheater_drains_control_valve.C_out, condenser.C_hot_in) + annotation (Line(points={{-135,-100},{120,-100},{120,100},{20,100},{20, + 34.6074}}, + color={28,108,200})); + connect(cold_source.C_out,CW_T_in_sensor. C_in) annotation (Line(points={{-75,20}, + {-57,20}}, color={28,108,200})); + connect(CW_T_in_sensor.C_out,CW_P_in_sensor. C_in) annotation (Line(points={{-43,20}, + {-27,20}}, color={28,108,200})); + connect(CW_P_in_sensor.C_out,condenser. C_cold_in) annotation (Line(points={{-13,20}, + {4.5,20}}, color={28,108,200})); + connect(CW_T_out_sensor.C_out,cold_sink. C_in) annotation (Line(points={{67,20}, + {85,20}}, color={28,108,200})); + connect(condenser.C_cold_out,CW_T_out_sensor. C_in) annotation (Line(points={{35.19, + 20},{53,20}}, color={28,108,200})); + connect(CW_T_in_sensor.T_sensor, CW_T_in) + annotation (Line(points={{-50,27},{-50,36}}, color={0,0,127})); + connect(CW_P_in_sensor.P_sensor, CW_P_in) + annotation (Line(points={{-20,27},{-20,36}}, color={0,0,127})); + connect(CW_T_out_sensor.T_sensor, CW_T_out) + annotation (Line(points={{60,27},{60,36}}, color={0,0,127})); + connect(condenser_Q_cold, condenser.Qv_cold_in) annotation (Line(points={{-2,54}, + {-2,31.4568},{2.95,31.4568}}, color={0,0,127})); + connect(condenser_Kth, condenser.Kth) annotation (Line(points={{10,62},{10, + 35.7531},{10.08,35.7531}}, + color={0,0,127})); + connect(condenser.C_hot_in, P_cond_sensor.C_out) annotation (Line(points={{20, + 34.6074},{20,120},{-76,120}}, color={28,108,200}, + thickness=1)); + connect(P_cond_sensor.P_sensor, P_cond) + annotation (Line(points={{-82,126},{-82,136}}, color={0,0,127})); + connect(extraction_pump.C_out,extraction_pump_T_out_sensor. C_in) annotation (Line(points={{-40,-60}, + {-53,-60}}, color={28,108,200}, + thickness=1)); + connect(extraction_pump_T_out_sensor.C_out,extraction_pump_P_out_sensor. C_in) annotation (Line(points={{-67,-60}, + {-73,-60}}, color={28,108,200}, + thickness=1)); + connect(extraction_pump.C_in, condenser.C_hot_out) annotation (Line(points={{-24, + -60},{20,-60},{20,8.5432}}, color={28,108,200}, + thickness=1)); + connect(extraction_pump_T_out_sensor.T_sensor, extraction_pump_T_out) + annotation (Line(points={{-60,-53},{-60,-44}}, color={0,0,127})); + connect(extraction_pump_P_out_sensor.P_sensor, extraction_pump_P_out) + annotation (Line(points={{-80,-53},{-80,-44}}, color={0,0,127})); + connect(extraction_pump_hn, extraction_pump_hn) + annotation (Line(points={{-22,-44},{-22,-44}}, color={0,0,127})); + connect(extraction_pump.hn, extraction_pump_hn) annotation (Line(points={{-25.76, + -53.6},{-22,-53.6},{-22,-44}}, color={0,0,127})); + connect(extraction_pump.rh, extraction_pump_rh) annotation (Line(points={{-24, + -56.8},{-14,-56.8},{-14,-42}}, color={0,0,127})); + connect(P_cond_sensor.C_in, LPT2.C_out) + annotation (Line(points={{-88,120},{-127,120}}, color={28,108,200}, + thickness=1)); + connect(LPT2.Cst, LPT2_Cst) annotation (Line(points={{-141.94,126.56},{-142, + 126.56},{-142,134}}, + color={0,0,127})); + connect(LPT2_Cst, LPT2_Cst) + annotation (Line(points={{-142,134},{-142,134}}, color={0,0,127})); + connect(turbines_eta_is, LPT2.eta_is) annotation (Line(points={{-370,154},{ + -370,140},{-138,140},{-138,127.36},{-137.98,127.36}}, + color={0,0,127})); + connect(powerSink.C_in,W_elec_sensor. C_out) annotation (Line(points={{-49,160}, + {-56.12,160}}, color={244,125,35})); + connect(W_elec_sensor.C_in,generator. C_out) annotation (Line(points={{-68,160}, + {-74,160}}, color={244,125,35})); + connect(LPT2.C_W_out, generator.C_in) annotation (Line(points={{-127,126.72}, + {-120,126.72},{-120,160},{-100.4,160}},color={244,125,35}, + smooth=Smooth.Bezier)); + connect(W_elec_sensor.W_sensor, W_elec) + annotation (Line(points={{-62,166},{-62,174}}, color={0,0,127})); + connect(LPT2.C_in,LP_extract. C_main_out) + annotation (Line(points={{-145,120},{-189.4,120}}, color={255,0,0}, + thickness=1, + pattern=LinePattern.Dash)); + connect(LP_extract_P_sensor.P_sensor,LP_extract_P) + annotation (Line(points={{-193,92},{-180,92}}, color={0,0,127})); + connect(LP_extract.C_ext_out,LP_extract_P_sensor. C_in) + annotation (Line(points={{-200,113.2},{-200,99}}, color={28,108,200})); + connect(turbines_eta_is, turbines_eta_is) + annotation (Line(points={{-370,154},{-370,154}}, color={0,0,127})); + connect(LP_heater.C_cold_out,LP_heater_P_out_sensor. C_in) + annotation (Line(points={{-216,-60},{-223,-60}}, color={28,108,200}, + thickness=1)); + connect(LP_heater_P_out_sensor.C_out,LP_heater_T_out_sensor. C_in) + annotation (Line(points={{-237,-60},{-253,-60}}, color={28,108,200}, + thickness=1)); + connect(LP_heater_P_out_sensor.P_sensor,LP_heater_P_out) + annotation (Line(points={{-230,-53},{-230,-44}}, color={0,0,127})); + connect(LP_heater_T_out_sensor.T_sensor,LP_heater_T_out) + annotation (Line(points={{-260,-53},{-260,-44}}, color={0,0,127})); + connect(LP_heater.C_cold_in, extraction_pump_P_out_sensor.C_out) + annotation (Line(points={{-183.8,-60},{-87,-60}}, color={28,108,200}, + thickness=1)); + connect(LP_heater.Kfr_cold, LP_heater_Kfr_cold) + annotation (Line(points={{-182,-56},{-174,-56},{-174,-42}}, + color={0,0,127})); + connect(LP_heater.Kth, LP_heater_Kth) + annotation (Line(points={{-192,-50},{-192,-40}}, color={0,0,127})); + connect(LP_reheater_drains_control_valve.Opening, + LP_reheater_drains_control_valve_opening_sensor. Opening) annotation (Line(points={{-140, + -91.2729},{-140,-87.1}}, color={0,0,127})); + connect(LP_heater.C_hot_out, LP_reheater_drains_control_valve.C_in) + annotation (Line(points={{-200,-68},{-200,-100},{-145,-100}}, color={28,108, + 200})); + connect(LP_reheater_drains_control_valve_opening_sensor.opening_sensor, + LP_reheater_drains_control_valve_opening) + annotation (Line(points={{-140,-76.9},{-140,-70}}, color={0,0,127})); + connect(LP_heater_drains_control_valve_Cvmax, + LP_reheater_drains_control_valve.Cv_max) annotation (Line(points={{-150,-78}, + {-150,-94.0002},{-142,-94.0002}}, color={0,0,127})); + connect(LP_heater_drains_control_valve_Cvmax, + LP_heater_drains_control_valve_Cvmax) + annotation (Line(points={{-150,-78},{-150,-78}}, color={0,0,127})); + connect(LP_extract_P_sensor.C_out, LP_heater.C_hot_in) + annotation (Line(points={{-200,85},{-200,-52}}, color={28,108,200})); + connect(superheater_T_out_sensor.C_out, LPT1.C_in) + annotation (Line(points={{-334,120},{-281,120}}, color={255,0,0}, + thickness=1, + pattern=LinePattern.Dash)); + connect(LPT1.C_out, LP_extract.C_in) + annotation (Line(points={{-263,120},{-210.6,120}}, color={255,0,0}, + thickness=1, + pattern=LinePattern.Dash)); + connect(LPT1.C_W_out, generator.C_in) annotation (Line(points={{-263,126.72},{ + -252,126.72},{-252,160},{-100.4,160}}, color={244,125,35}, + smooth=Smooth.Bezier)); + connect(LPT1.Cst, LPT1_Cst) annotation (Line(points={{-277.94,126.56},{ + -277.94,126},{-278,126},{-278,134}}, + color={0,0,127})); + connect(superheater_T_out_sensor.T_sensor, superheater_T_out) + annotation (Line(points={{-340,126},{-340,136}}, color={0,0,127})); + connect(deaerator_inlet_pipe_delta_z.y, deaerator_inlet_pipe.delta_z) + annotation (Line(points={{-400,-40},{-400,-45.2}}, color={0,0,127})); + connect(LPT1.eta_is, turbines_eta_is) annotation (Line(points={{-273.98, + 127.36},{-274,127.36},{-274,140},{-370,140},{-370,154}}, + color={0,0,127})); + connect(condenser_Kfr_cold.y, condenser.Kfr_cold) annotation (Line(points={{-8,36}, + {-8,25.7284},{2.95,25.7284}}, color={0,0,127})); + connect(deaerator_outlet_pipe_delta_z.y, deaerator_outlet_pipe.delta_z) + annotation (Line(points={{-440,-40},{-440,-45.2}}, color={0,0,127})); + connect(feedwater_pump_hn, feedwater_pump_hn) + annotation (Line(points={{-506,-42},{-506,-42}}, color={0,0,127})); + connect(feedwater_pump.rh, feedwater_pump_rh) annotation (Line(points={{-506, + -56.8},{-502,-56.8},{-502,-40}}, color={0,0,127})); + connect(feedwater_pump_rh, feedwater_pump_rh) + annotation (Line(points={{-502,-40},{-502,-40}}, color={0,0,127})); + connect(feedwater_pump.hn, feedwater_pump_hn) annotation (Line(points={{-507.76, + -53.6},{-506,-53.6},{-506,-42}}, color={0,0,127})); + connect(feedwater_pump.C_out, HP_pump_T_out_sensor.C_in) + annotation (Line(points={{-522,-60},{-533,-60}}, color={28,108,200}, + thickness=1)); + connect(HP_pump_T_out_sensor.C_out, HP_pump_P_out_sensor.C_in) + annotation (Line(points={{-547,-60},{-563,-60}}, color={28,108,200}, + thickness=1)); + connect(HP_pump_P_out_sensor.P_sensor, HP_pump_P_out) + annotation (Line(points={{-570,-53},{-570,-44}}, color={0,0,127})); + connect(HP_pump_T_out_sensor.T_sensor, HP_pump_T_out) + annotation (Line(points={{-540,-53},{-540,-44}}, color={0,0,127})); + connect(HP_pump_P_out_sensor.C_out, HP_heater.C_cold_in) + annotation (Line(points={{-577,-60},{-623.8,-60}}, color={28,108,200}, + thickness=1)); + connect(HP_heater.Kfr_cold, HP_heater_Kfr_cold) + annotation (Line(points={{-622,-56},{-616,-56},{-616,-48}}, + color={0,0,127})); + connect(HP_heater.Kth_subc, HP_heater_Kth_subc) + annotation (Line(points={{-632,-50},{-632,-42}}, color={0,0,127})); + connect(HP_heater.Kth_cond, HP_heater_Kth_cond) + annotation (Line(points={{-632.2,-70},{-632.2,-74},{-614,-74},{-614,-70}}, + color={0,0,127})); + connect(HP_heater_Kfr_cold, HP_heater_Kfr_cold) + annotation (Line(points={{-616,-48},{-616,-48}}, color={0,0,127})); + connect(HP_heater_P_out_sensor.C_out,HP_heater_T_out_sensor. C_in) annotation (Line(points={{-717, + -60},{-723,-60}}, color={28,108,200}, + thickness=1)); + connect(HP_heater_T_out_sensor.C_out,Q_feedwater_sensor. C_in) annotation (Line(points={{-737, + -60},{-743,-60}}, color={28,108,200}, + thickness=1)); + connect(HP_heater_P_out_sensor.C_in, HP_heater.C_cold_out) + annotation (Line(points={{-703,-60},{-656,-60}}, color={28,108,200}, + thickness=1)); + connect(HP_heater_P_out_sensor.P_sensor, HP_heater_P_out) + annotation (Line(points={{-710,-53},{-710,-44}}, color={0,0,127})); + connect(HP_heater_T_out_sensor.T_sensor, HP_heater_T_out) + annotation (Line(points={{-730,-53},{-730,-44}}, color={0,0,127})); + connect(Q_feedwater_sensor.Q_sensor, Q_feedwater) + annotation (Line(points={{-750,-53},{-750,-44}}, color={0,0,127})); + connect(HP_heater.C_hot_out, HP_heater_T_drains_sensor.C_in) + annotation (Line(points={{-640,-68},{-640,-79}}, color={28,108,200})); + connect(HP_heater_T_drains_sensor.T_sensor, HP_heater_T_drains) + annotation (Line(points={{-633,-86},{-624,-86}}, color={0,0,127})); + connect(HP_reheater_drains_control_valve.Opening, + HP_reheater_drains_control_valve_opening_sensor. Opening) annotation (Line(points={{-560, + -91.2729},{-560,-91.1}}, color={0,0,127})); + connect(HP_reheater_drains_control_valve.Cv_max, + HP_heater_drains_control_valve_Cvmax) annotation (Line(points={{-562, + -94.0002},{-570,-94.0002},{-570,-80}}, + color={0,0,127})); + connect(HP_reheater_drains_control_valve_opening_sensor.opening_sensor, + HP_reheater_drains_control_valve_opening) + annotation (Line(points={{-560,-80.9},{-560,-74}}, color={0,0,127})); + connect(HP_heater_T_drains_sensor.C_out, HP_reheater_drains_control_valve.C_in) + annotation (Line(points={{-640,-93},{-640,-100},{-565,-100}}, color={28,108, + 200})); + connect(steam_generator.purge_outlet,Q_purge_sensor. C_in) annotation (Line( + points={{-820,-105.233},{-820,-115}}, color={28,108,200})); + connect(Q_purge_sensor.C_out,sink. C_in) + annotation (Line(points={{-820,-129},{-820,-135}}, color={28,108,200})); + connect(source.C_out,thermal_power_sensor. C_in) + annotation (Line(points={{-873.2,-60},{-862,-60}}, color={244,125,35})); + connect(thermal_power_sensor.C_out,steam_generator. C_thermal_power) + annotation (Line(points={{-846.16,-60},{-831,-60}}, + color={244,125,35})); + connect(thermal_power_sensor.W_sensor,thermal_power) + annotation (Line(points={{-854,-52},{-854,-42}}, color={0,0,127})); + connect(P_steam_sensor.C_in,steam_generator. steam_outlet) + annotation (Line(points={{-820,3},{-820,-14}}, color={255,0,0}, + thickness=1)); + connect(P_steam_sensor.P_sensor, P_steam) + annotation (Line(points={{-813,10},{-804,10}}, color={0,0,127})); + connect(Q_purge_sensor.Q_sensor,Q_purge) + annotation (Line(points={{-813,-122},{-802,-122}}, color={0,0,127})); + connect(HP_control_valve.Opening,HP_control_valve_opening_sensor. Opening) + annotation (Line(points={{-780,48.7271},{-780,50.9}}, color={0,0,127})); + connect(HP_control_valve_opening_sensor.opening_sensor, + HP_control_valve_opening) + annotation (Line(points={{-780,61.1},{-780,68}}, color={0,0,127})); + connect(HP_control_valve_Cvmax,HP_control_valve. Cv_max) annotation (Line( + points={{-790,56},{-790,45.9998},{-782,45.9998}}, + color={0,0,127})); + connect(HPT_P_in_sensor.P_sensor,HPT_P_in) + annotation (Line(points={{-728,46},{-728,56}}, color={0,0,127})); + connect(HP_control_valve_Cvmax,HP_control_valve_Cvmax) + annotation (Line(points={{-790,56},{-790,56}}, color={0,0,127})); + connect(HP_control_valve.C_in, P_steam_sensor.C_out) annotation (Line(points={{-785, + 39.9998},{-820,39.9998},{-820,17}}, color={255,0,0}, + thickness=1, + pattern=LinePattern.Dash)); + connect(HPT_P_in_sensor.C_in,HP_control_valve. C_out) annotation (Line(points={{-734,40}, + {-754,40},{-754,39.9998},{-775,39.9998}}, color={255,0,0}, + thickness=1, + pattern=LinePattern.Dash)); + connect(HPT_1.C_in, HPT_P_in_sensor.C_out) annotation (Line(points={{-697,40}, + {-722,40}}, color={255,0,0}, + thickness=1, + pattern=LinePattern.Dash)); + connect(HPT1_Cst,HPT1_Cst) + annotation (Line(points={{-694,56},{-694,56}}, color={0,0,127})); + connect(HPT_1.Cst,HPT1_Cst) annotation (Line(points={{-693.94,46.56},{ + -693.94,56},{-694,56}}, color={0,0,127})); + connect(HPT_1.eta_is, turbines_eta_is) annotation (Line(points={{-689.98, + 47.36},{-689.98,56},{-690,56},{-690,140},{-370,140},{-370,154}}, + color={0,0,127})); + connect(HPT_1.C_W_out, generator.C_in) annotation (Line(points={{-679,46.72},{ + -662,46.72},{-662,160},{-100.4,160}}, color={244,125,35}, + smooth=Smooth.Bezier)); + connect(HP_extract_P_sensor.P_sensor,HPT_extract_P) + annotation (Line(points={{-633,8},{-624,8}}, color={0,0,127})); + connect(HPT_1.C_out, HP_extract.C_in) + annotation (Line(points={{-679,40},{-650.6,40}}, color={255,0,0}, + thickness=1, + pattern=LinePattern.Dash)); + connect(HP_extract.C_ext_out, HP_extract_P_sensor.C_in) + annotation (Line(points={{-640,33.2},{-640,15}}, color={28,108,200})); + connect(HP_heater.C_hot_in, HP_extract_P_sensor.C_out) annotation (Line( + points={{-640,-52},{-640,1}}, color={28,108,200})); + connect(HP_extract.C_main_out,HPT_2. C_in) + annotation (Line(points={{-629.4,40},{-587,40}}, color={255,0,0}, + thickness=1, + pattern=LinePattern.Dash)); + connect(HPT_2.C_out,HPT_P_out_sensor. C_in) + annotation (Line(points={{-569,40},{-466,40}}, color={255,0,0}, + thickness=1, + pattern=LinePattern.Dash)); + connect(HPT_P_out_sensor.P_sensor,HPT_extract_P1) + annotation (Line(points={{-460,46},{-460,56}}, color={0,0,127})); + connect(HPT_2.Cst,HPT2_Cst) annotation (Line(points={{-583.94,46.56},{ + -583.94,46},{-584,46},{-584,58}},color={0,0,127})); + connect(HPT_2.eta_is, turbines_eta_is) annotation (Line(points={{-579.98, + 47.36},{-579.98,46},{-580,46},{-580,140},{-370,140},{-370,154}}, + color={0,0,127})); + connect(HPT_2.C_W_out, generator.C_in) annotation (Line(points={{-569,46.72},{ + -542,46.72},{-542,160},{-100.4,160}}, color={244,125,35}, + smooth=Smooth.Bezier)); + connect(HPT_P_out_sensor.C_out, steam_dryer.C_in) annotation (Line(points={{-454,40}, + {-436,40},{-436,39.2727}}, color={255,0,0}, + thickness=1, + pattern=LinePattern.Dash)); + connect(steam_dryer.C_hot_liquid, steam_dryer_liq_out_pipe.C_in) + annotation (Line(points={{-420,32.7273},{-420,10}}, color={28,108,200})); + connect(steam_dryer.C_hot_steam, superheater.C_cold_in) annotation (Line( + points={{-420,39.2727},{-420,40},{-400,40},{-400,72}}, + color={255,0,0}, + thickness=1, + pattern=LinePattern.Dash)); + connect(superheater_Kth, superheater.Kth) + annotation (Line(points={{-408,102},{-408,90}}, color={0,0,127})); + connect(HPT2_Cst, HPT2_Cst) + annotation (Line(points={{-584,58},{-584,58}}, color={0,0,127})); + connect(superheater_bleed_P_sensor.P_sensor, superheater_bleed_P) + annotation (Line(points={{-740,86},{-740,98}}, color={0,0,127})); + connect(superheater_bleed_P_sensor.C_out, superheater.C_hot_in) + annotation (Line(points={{-734,80},{-416,80}}, color={28,108,200})); + connect(superheater.C_cold_out, superheater_T_out_sensor.C_in) annotation ( + Line(points={{-400,88},{-400,120},{-346,120}}, color={255,0,0}, + thickness=1, + pattern=LinePattern.Dash)); + connect(steam_generator.feedwater_inlet, loopBreaker.C_out) + annotation (Line(points={{-809,-60},{-792,-60}}, color={28,108,200}, + thickness=1)); + connect(loopBreaker.C_in, Q_feedwater_sensor.C_out) + annotation (Line(points={{-772,-60},{-757,-60}}, color={28,108,200}, + thickness=1)); + connect(superheater.C_vent, pressureCut.C_in) annotation (Line(points={{-384, + 72.2},{-384,40},{-374,40}}, + color={28,108,200})); + connect(pressureCut.C_out, HP_heater.C_hot_in) annotation (Line(points={{-354,40}, + {-340,40},{-340,-20},{-640,-20},{-640,-52}}, color={28,108,200})); + connect(superheater_drains_pipe.C_out, HP_heater.C_hot_in) annotation (Line( + points={{-340,50},{-340,-20},{-640,-20},{-640,-52}}, color={28,108,200})); + connect(deaerator_outlet_pipe.C_out, feedwater_pump.C_in) + annotation (Line(points={{-450,-50},{-460,-50},{-460,-60},{-506,-60}}, + color={28,108,200}, + thickness=1)); + connect(HP_reheater_drains_control_valve.C_out, deaerator_outlet_pipe.C_in) + annotation (Line(points={{-555,-100},{-420,-100},{-420,-50},{-430,-50}}, + color={28,108,200})); + connect(steam_dryer_liq_out_pipe.C_out, deaerator_outlet_pipe.C_in) + annotation (Line(points={{-420,-10},{-420,-50},{-430,-50}}, color={28,108,200})); + connect(deaerator_inlet_pipe.C_out, deaerator_outlet_pipe.C_in) + annotation (Line(points={{-410,-50},{-430,-50}}, color={28,108,200}, + thickness=1)); + connect(deaerator_inlet_pipe.C_in, LP_heater_T_out_sensor.C_out) + annotation (Line(points={{-390,-50},{-380,-50},{-380,-60},{-267,-60}}, + color={28,108,200}, + thickness=1)); + connect(steam_generator.vapor_fraction, steam_generator_vapor_fraction) + annotation (Line(points={{-801.3,-32.0167},{-797.466,-32.0167},{-797.466, + -32},{-790,-32}}, + color={0,0,127})); + connect(superheater_control_valve.C_out, superheater_bleed_P_sensor.C_in) + annotation (Line(points={{-767,80},{-756,80},{-756,80},{-746,80}}, color={28, + 108,200})); + connect(superheater_control_valve_Cv_max, superheater_control_valve.Cv) + annotation (Line(points={{-780,94},{-780,85.9999},{-774,85.9999}}, color={0, + 0,127})); + connect(superheater.C_hot_out, superheater_drains_pipe.C_in) annotation (Line( + points={{-384,80},{-340,80},{-340,70}}, color={28,108,200})); + connect(LPT1_Cst, LPT1_Cst) + annotation (Line(points={{-278,134},{-278,134}}, color={0,0,127})); + connect(condenser_C_incond.y, condenser.C_incond) annotation (Line(points={{ + 30,44},{30,35.7531},{29.92,35.7531}}, color={0,0,127})); + connect(condenser_Kth, condenser_Kth) + annotation (Line(points={{10,62},{10,62}}, color={0,0,127})); + annotation (Icon(coordinateSystem(preserveAspectRatio=false, extent={{-900,-160}, + {140,180}})), Diagram( + coordinateSystem(preserveAspectRatio=false, extent={{-900,-160},{140,180}}), + graphics={ + Line( + points={{-424,-72},{-426,-88},{-428,-70},{-430,-92}}, + color={226,0,0}, + pattern=LinePattern.None), + Line( + points={{-438,-68},{-438,-88},{-438,-82},{-428,-90},{-394,-106},{-342, + -82},{-328,-90},{-372,-92}}, + color={226,0,0}, + pattern=LinePattern.None), + Line( + points={{-370,-84},{-376,-132}}, + color={28,108,200}, + pattern=LinePattern.None)})); end MetroscopiaNPP_reverse; diff --git a/MetroscopeModelingLibrary/Examples/Nuclear/MetroscopiaNPP/MetroscopiaNPP_reverse_old.mo b/MetroscopeModelingLibrary/Examples/Nuclear/MetroscopiaNPP/MetroscopiaNPP_reverse_old.mo new file mode 100644 index 00000000..b9bea9ec --- /dev/null +++ b/MetroscopeModelingLibrary/Examples/Nuclear/MetroscopiaNPP/MetroscopiaNPP_reverse_old.mo @@ -0,0 +1,652 @@ +within MetroscopeModelingLibrary.Examples.Nuclear.MetroscopiaNPP; +model MetroscopiaNPP_reverse_old + + // Boundary Conditions + + input Real P_steam(start = 50, unit="bar", min=0, nominal=50) "barA"; // Steam generator steam pressure + input Real CW_P_in(start = 3, unit="bar", min=0, nominal=5) "barA"; // Circulating Water inlet pressure + input Real CW_T_in(start = 15, unit="degC", min=0, nominal=15) "degC"; // Circulating Water inlet temperature + input Real Q_purge(start=5, unit = "kg/s", min=0) "kg/s"; // Steam generator blowdown flow + input Real thermal_power(start=2820, unit="MW", nominal = 1e3) "MW"; // Core thermal power + + // Observables used for calibration + + // HP Control Valve + input Real HP_control_valve_opening(start=0.15); + // HP turbines + input Real HPT_P_in(start=48.5, unit="bar", min=0, nominal=50) "barA"; + input Real HP_extract_P(start=31, unit="bar", min=0, nominal=50) "barA"; + input Real HPT_P_out(start=19.4, unit="bar", min=0, nominal=50) "barA"; + // Superheater + input Real superheater_bleed_P(start=41, unit="bar", min=0, nominal=50) "barA"; + input Real superheater_drains_P(start=40, unit="bar", min=0, nominal=50) "barA"; + input Real superheater_T_out(start=228) "°C"; // superheater_Kth + // LP turbines + input Real LP_extract_P(start=5, unit="bar", min=0, nominal=5) "barA"; + // Condenser + input Real P_cond(start=69.8, unit="mbar", min=0, nominal=70) "mbar"; + input Real CW_T_out(start=25, unit= "degC", min=0, nominal = 25) "degC"; + // Generator + input Real W_elec(start=570) "MW"; // + // Extraction pump + input Real extraction_pump_P_out(start=7, unit="bar", min=0, nominal=70) "barA"; + input Real extraction_pump_T_out(start=39, unit="degC", min=0, nominal=20) "degC"; + // LP Heater + input Real LP_heater_P_out(start=6, min=0, nominal=50) "bar"; // LP_heater_Kfr_cold + input Real LP_heater_T_out(start=65, min=0, nominal=100) "degC"; // LP_heater_Kth + // LP reheater drains Control Valve + input Real LP_reheater_drains_control_valve_opening(start=0.15); + // Feedwater pump + input Real HP_pump_P_out(start=59, unit="bar", min=0, nominal=70) "barA"; + input Real HP_pump_T_out(start=80, unit="degC", min=0, nominal=20) "degC"; + // HP Reheater + input Real HP_heater_P_out(start=58, min=0, nominal=50) "bar"; + input Real HP_heater_T_out(start=210, min=0, nominal=100) "degC"; + input Real HP_heater_T_drains(start=90, min=0, nominal=100) "degC"; + // HP reheater drains Control Valve + input Real HP_reheater_drains_control_valve_opening(start=0.15); + + // Other observables + output Real Q_feedwater(start=1500, unit="kg/s", min=0, nominal=1e3) "kg/s"; // Feedwater flow rate + + // Calibrated parameters (input used for calibration in comment) + // HP turbines inlet control valve + output Utilities.Units.Cv HP_control_valve_Cvmax; // HP valve opening + // HP Turbines + output Utilities.Units.Cst HPT1_Cst; // HP turbine inlet pressure + output Utilities.Units.Cst HPT2_Cst; // HP extract pressure + output Utilities.Units.Yield turbines_eta_is; // Welec + // Superheater inlet control valve + output Utilities.Units.Cv superheater_control_valve_Cvmax; // Superheater bleed pressure + // Superheater + output Utilities.Units.FrictionCoefficient superheater_Kfr_hot; // Superheater drains pressure + output Utilities.Units.HeatExchangeCoefficient superheater_Kth; // Superheater steam outlet temperature + // LP Turbines + output Utilities.Units.Cst LPT1_Cst; // HP turbine outlet pressure + output Utilities.Units.Cst LPT2_Cst; // LP extract pressure + // Condenser + output Utilities.Units.HeatExchangeCoefficient condenser_Kth; // P cond + output Utilities.Units.PositiveMassFlowRate condenser_Q_cold; // Circulating water outlet temperature + // Extraction pump + output Real extraction_pump_hn; // Extraction pump outlet pressure + output Real extraction_pump_rh; // Extraction pump outlet temperature + // LP Heater + output Utilities.Units.HeatExchangeCoefficient LP_heater_Kth; // LP heater outlet temperature + output Utilities.Units.FrictionCoefficient LP_heater_Kfr_cold; // LP heater outlet pressure + output Utilities.Units.Cv LP_heater_drains_control_valve_Cvmax; // LP heater drains valve opening + // Feedwater pump + output Real feedwater_pump_hn; // Feedwater pump outlet pressure + output Real feedwater_pump_rh; // Feedwater pump outlet temperature + // HP Heater + output Utilities.Units.HeatExchangeCoefficient HP_heater_Kth_cond; // HP heater outlet temperature + output Utilities.Units.HeatExchangeCoefficient HP_heater_Kth_subc; // HP heater drains temperature + output Utilities.Units.FrictionCoefficient HP_heater_Kfr_cold; // HP heater outlet pressure + output Utilities.Units.Cv HP_heater_drains_control_valve_Cvmax; // HP heater drains valve opening + + MetroscopeModelingLibrary.WaterSteam.HeatExchangers.SteamGenerator steam_generator annotation (Placement(transformation(extent={{-192,-116},{-148,-24}}))); + MetroscopeModelingLibrary.Sensors.WaterSteam.FlowSensor Q_feedwater_sensor( + Q_0=1500, + P_0=5800000, + h_0=0.9e6) annotation (Placement(transformation(extent={{-104,-77},{-118,-63}}))); + MetroscopeModelingLibrary.WaterSteam.Pipes.ControlValve HP_control_valve( + T_out_0=535.15, + P_in_0=5000000, + P_out_0=4850000, + h_in_0=2.8e6, + h_out_0=2.8e6, + Q_0=1455, + T_0=536.15, + h_0=2.8e6) annotation (Placement(transformation(extent={{-135,69.8182},{-125,81.8182}}))); + MetroscopeModelingLibrary.Sensors.Outline.OpeningSensor HP_control_valve_opening_sensor annotation (Placement(transformation(extent={{-136,86},{-126,96}}))); + MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor HPT_P_in_sensor( + Q_0=1455, + P_0=4850000, + h_0=2.8e6) annotation (Placement(transformation(extent={{-106,66},{-94,78}}))); + MetroscopeModelingLibrary.WaterSteam.Machines.SteamTurbine HPT_1( + T_in_0=535.15, + T_out_0=608.85, + P_in_0=4850000, + P_out_0=3100000, + h_in_0=2.8e6, + h_out_0=2.7e6, + Q_0=1455) annotation (Placement(transformation(extent={{-79,64},{-61,80}}))); + MetroscopeModelingLibrary.WaterSteam.Machines.SteamTurbine HPT_2( + T_in_0=508.85, + T_out_0=484.15, + P_in_0=3100000, + P_out_0=1940000, + h_in_0=2.73e6, + h_out_0=2.68e6, + Q_0=1113) annotation (Placement(transformation(extent={{-9,64},{9,80}}))); + MetroscopeModelingLibrary.WaterSteam.Pipes.SteamExtractionSplitter HP_extract( + Q_in_0=1455, + Q_ext_0=340, + P_0=3100000, + T_0=508.85, + h_0=2.73e6) annotation (Placement(transformation(extent={{-50,62},{-30,80}}))); + MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor HP_extract_P_sensor( + Q_0=340, + P_0=3100000, + h_0=2.73e6) annotation (Placement(transformation( + extent={{-7,-7},{7,7}}, + rotation=270, + origin={-40,47}))); + MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor HPT_P_out_sensor( + Q_0=1113, + P_0=1940000, + h_0=2.68e6) annotation (Placement(transformation(extent={{26,66},{38,78}}))); + MetroscopeModelingLibrary.WaterSteam.Volumes.SteamDryer steam_dryer( + P_0=1940000, + T_0=483.95, + h_in_0=2.68e6, + Q_in_0=1113, + Q_liq_0=50) annotation (Placement(transformation(extent={{56,79.8182},{72,97.8182}}))); + MetroscopeModelingLibrary.WaterSteam.HeatExchangers.Superheater superheater( + Q_cold_0=1059, + Q_hot_0=44, + P_cold_in_0=1940000, + P_cold_out_0=1940000, + P_hot_in_0=4100000, + P_hot_out_0=4000000, + T_cold_in_0=483.95, + T_cold_out_0=501.15, + T_hot_in_0=525.15, + T_hot_out_0=525.15, + h_cold_in_0=2.78e6, + h_cold_out_0=2.85e6, + h_hot_in_0=2.8e6, + h_hot_out_0=1.09e6) annotation (Placement(transformation(extent={{56,104},{88,120}}))); + MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor superheater_drains_P_sensor( + Q_0=44, + P_0=4000000, + h_0=1.09e6) annotation (Placement(transformation(extent={{100,106},{112,118}}))); + MetroscopeModelingLibrary.Sensors.WaterSteam.TemperatureSensor superheater_T_out_sensor( + Q_0=1060, + P_0=1940000, + h_0=2.85e6, + T_0=501.15) annotation (Placement(transformation(extent={{88,124},{100,136}}))); + MetroscopeModelingLibrary.WaterSteam.Pipes.ControlValve superheater_control_valve( + P_in_0=5000000, + P_out_0=4100000, + h_in_0=2.778e6, + h_out_0=2.778e6, + Q_0=45, + T_0=537.15, + h_0=2.8e6) annotation (Placement(transformation(extent={{-136,110},{-126,122}}))); + MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor superheater_bleed_P_sensor( + Q_0=45, + P_0=4100000, + h_0=2.778e6) annotation (Placement(transformation(extent={{-106,106.182},{-94,118.182}}))); + MetroscopeModelingLibrary.WaterSteam.Pipes.PressureCut superheater_drains_pipe( + P_in_0=4000000, + P_out_0=3100000, + Q_0=44, + T_0=525.15, + h_0=1.09e6) annotation (Placement(transformation( + extent={{10,-10},{-10,10}}, + rotation=90, + origin={122,30}))); + MetroscopeModelingLibrary.WaterSteam.Machines.SteamTurbine LPT1( + T_in_0=501.15, + T_out_0=425.15, + P_in_0=1940000, + P_out_0=500000, + h_in_0=2.85e6, + h_out_0=2.7e6, + Q_0=1060) annotation (Placement(transformation(extent={{151,122},{169,138}}))); + MetroscopeModelingLibrary.WaterSteam.Machines.SteamTurbine LPT2( + T_in_0=425.15, + T_out_0=312.05, + P_in_0=500000, + P_out_0=6900, + h_in_0=2.7e6, + h_out_0=2.4e6, + Q_0=1000) annotation (Placement(transformation(extent={{221,122},{239,138}}))); + MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor LP_extract_P_sensor( + Q_0=55, + P_0=500000, + h_0=2.7e6) annotation (Placement(transformation( + extent={{-7,-7},{7,7}}, + rotation=270, + origin={196,101}))); + MetroscopeModelingLibrary.WaterSteam.Pipes.SteamExtractionSplitter LP_extract( + Q_in_0=1060, + Q_ext_0=55, + P_0=500000, + T_0=425.15, + h_0=2.7e6) annotation (Placement(transformation(extent={{186,120},{206,138}}))); + MetroscopeModelingLibrary.Power.BoundaryConditions.Sink powerSink annotation (Placement(transformation(extent={{362,158},{382,178}}))); + MetroscopeModelingLibrary.Power.Machines.Generator generator annotation (Placement(transformation(extent={{308,156},{348,180}}))); + MetroscopeModelingLibrary.Sensors.Power.PowerSensor W_elec_sensor annotation (Placement(transformation(extent={{348,162},{360,174}}))); + MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor P_cond_sensor( + Q_0=1000, + P_0=6900, + h_0=2.4e6) annotation (Placement(transformation(extent={{286,124},{298,136}}))); + MetroscopeModelingLibrary.WaterSteam.HeatExchangers.Condenser condenser( + Q_cold_0=54000, + Q_hot_0=1000, + Psat_0=6980, + P_cold_in_0=300000, + P_cold_out_0=300000, + T_cold_in_0=288.15, + T_cold_out_0=298.15, + h_cold_in_0=63e3, + h_cold_out_0=105e3, + h_hot_in_0=2.4e6) annotation (Placement(transformation(extent={{377,48.2222},{408,74}}))); + MetroscopeModelingLibrary.WaterSteam.BoundaryConditions.Sink cold_sink annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=0, + origin={460,60}))); + MetroscopeModelingLibrary.WaterSteam.BoundaryConditions.Source cold_source annotation (Placement(transformation(extent={{290,57.7778},{310,77.7778}}))); + WaterSteam.Machines.FixedSpeedPump extraction_pump( + T_in_0=312.05, + T_out_0=312.15, + P_in_0=6980, + P_out_0=700000, + h_in_0=163e3, + h_out_0=164e3, + Q_0=1060) annotation (Placement(transformation(extent={{380,-78},{364,-62}}))); + MetroscopeModelingLibrary.Sensors.WaterSteam.TemperatureSensor extraction_pump_T_out_sensor( + Q_0=1060, + P_0=700000, + h_0=164e3, + T_0=312.15) annotation (Placement(transformation(extent={{350,-77},{336,-63}}))); + MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor extraction_pump_P_out_sensor( + Q_0=1060, + P_0=700000, + h_0=164e3) annotation (Placement(transformation(extent={{7,-7},{-7,7}}, origin={315,-70}))); + MetroscopeModelingLibrary.WaterSteam.HeatExchangers.DryReheater LP_heater( + Q_cold_0=1060, + Q_hot_0=55, + P_cold_in_0=700000, + P_cold_out_0=600000, + P_hot_in_0=500000, + P_hot_out_0=500000, + T_cold_in_0=312.15, + T_cold_out_0=338.15, + T_hot_in_0=425.15, + T_hot_out_0=425.15, + h_cold_in_0=164e3, + h_cold_out_0=272e3, + h_hot_in_0=2.7e6, + h_hot_out_0=640e3) annotation (Placement(transformation(extent={{284,-78},{252,-62}}))); + MetroscopeModelingLibrary.Sensors.WaterSteam.TemperatureSensor LP_heater_T_out_sensor( + Q_0=1060, + P_0=700000, + h_0=272e3, + T_0=338.15) annotation (Placement(transformation(extent={{220,-77},{206,-63}}))); + MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor LP_heater_P_out_sensor( + Q_0=1060, + P_0=700000, + h_0=272e3) annotation (Placement(transformation(extent={{242,-77},{228,-63}}))); + MetroscopeModelingLibrary.WaterSteam.Pipes.ControlValve LP_reheater_drains_control_valve( + P_in_0=500000, + P_out_0=6900, + Q_0=55, + T_0=425.15, + h_0=640e3) annotation (Placement(transformation(extent={{288,-122},{298,-110}}))); + MetroscopeModelingLibrary.Sensors.Outline.OpeningSensor LP_reheater_drains_control_valve_opening_sensor annotation (Placement(transformation(extent={{288,-106},{298,-96}}))); + MetroscopeModelingLibrary.WaterSteam.Pipes.FrictionPipe deaerator_inlet_pipe( + P_in_0=600000, + P_out_0=550000, + Q_0=1060, + T_0=338.15, + h_0=272e3) annotation (Placement(transformation(extent={{186,-80},{166,-60}}))); + MetroscopeModelingLibrary.WaterSteam.Pipes.PressureCut steam_dryer_liq_out_pipe( + P_in_0=1940000, + P_out_0=1940000, + Q_0=50, + T_0=483.95, + h_0=901606.56) annotation (Placement(transformation( + extent={{10,-10},{-10,10}}, + rotation=90, + origin={142,-50}))); + MetroscopeModelingLibrary.WaterSteam.Pipes.FrictionPipe deaerator_outlet_pipe( + P_in_0=550000, + P_out_0=600000, + Q_0=1500, + T_0=350.05, + h_0=322e3) annotation (Placement(transformation(extent={{114,-80},{94,-60}}))); + WaterSteam.Machines.FixedSpeedPump feedwater_pump( + T_in_0=350.05, + T_out_0=353.15, + P_in_0=600000, + P_out_0=5900000, + h_in_0=322e3, + h_out_0=340e3, + Q_0=1500) annotation (Placement(transformation(extent={{62,-78},{46,-62}}))); + MetroscopeModelingLibrary.Sensors.WaterSteam.TemperatureSensor HP_pump_T_out_sensor( + Q_0=1500, + P_0=5900000, + h_0=340e3, + T_0=353.15) annotation (Placement(transformation(extent={{30,-77},{16,-63}}))); + MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor HP_pump_P_out_sensor( + Q_0=1500, + P_0=5900000, + h_0=340e3) annotation (Placement(transformation(extent={{7,-7},{-7,7}}, origin={-3,-70}))); + MetroscopeModelingLibrary.WaterSteam.HeatExchangers.Reheater HP_heater(Q_cold_0=1500, + Q_hot_0=387, + P_cold_in_0=5900000, + P_cold_out_0=5800000, + P_hot_in_0=3100000, + P_hot_out_0=3100000, + T_cold_in_0=353.15, + T_cold_out_0=483.15, + T_hot_in_0=508.85, + T_hot_out_0=363.15, + h_cold_in_0=340e3, + h_cold_out_0=0.9e6, + h_hot_in_0=2.55e6, + h_hot_out_0=379e3) annotation (Placement(transformation(extent={{-24,-78},{-56,-62}}))); + MetroscopeModelingLibrary.Sensors.WaterSteam.TemperatureSensor HP_heater_T_out_sensor( + Q_0=1500, + P_0=5800000, + h_0=0.9e6) annotation (Placement(transformation(extent={{-84,-77},{-98,-63}}))); + MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor HP_heater_P_out_sensor( + Q_0=1500, + P_0=5800000, + h_0=0.9e6) annotation (Placement(transformation(extent={{-64,-77},{-78,-63}}))); + MetroscopeModelingLibrary.Sensors.WaterSteam.TemperatureSensor HP_heater_T_drains_sensor( + Q_0=387, + P_0=3100000, + h_0=379e3, + T_0=363.15) annotation (Placement(transformation( + extent={{7,-7},{-7,7}}, + rotation=90, + origin={-40,-98}))); + MetroscopeModelingLibrary.WaterSteam.Pipes.ControlValve HP_reheater_drains_control_valve annotation (Placement(transformation(extent={{6,-124},{16,-112}}))); + MetroscopeModelingLibrary.Sensors.Outline.OpeningSensor HP_reheater_drains_control_valve_opening_sensor annotation (Placement(transformation(extent={{6,-108},{16,-98}}))); + MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor P_steam_sensor( + Q_0=1500, + P_0=5000000, + h_0=2.778e6) annotation (Placement(transformation( + extent={{-7,-7},{7,7}}, + rotation=90, + origin={-170,10}))); + MetroscopeModelingLibrary.WaterSteam.Pipes.PressureCut pressureCut( + P_in_0=4000000, + P_out_0=4000000, + Q_0=2, + T_0=525.15, + h_0=2.8e6) annotation (Placement(transformation(extent={{94,76},{114,96}}))); + MetroscopeModelingLibrary.Sensors.WaterSteam.TemperatureSensor CW_T_in_sensor( + Q_0=54000, + P_0=300000, + h_0=63e3, + T_0=288.15) annotation (Placement(transformation(extent={{318,60},{332,74}}))); + MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor CW_P_in_sensor( + Q_0=54000, + P_0=300000, + h_0=63e3) annotation (Placement(transformation(extent={{346,60},{360,74}}))); + MetroscopeModelingLibrary.Sensors.WaterSteam.TemperatureSensor CW_T_out_sensor( + Q_0=54000, + P_0=300000, + h_0=105e3, + T_0=298.15) annotation (Placement(transformation(extent={{423,53},{437,67}}))); + MetroscopeModelingLibrary.Sensors.WaterSteam.FlowSensor Q_purge_sensor(Q_0=5, h_0=1154502) + annotation (Placement(transformation( + extent={{-7,-7},{7,7}}, + rotation=270, + origin={-170,-132}))); + MetroscopeModelingLibrary.WaterSteam.BoundaryConditions.Sink sink annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=270, + origin={-170,-150}))); + MetroscopeModelingLibrary.WaterSteam.Pipes.LoopBreaker loopBreaker annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=180, + origin={-142,-70}))); + MetroscopeModelingLibrary.Power.BoundaryConditions.Source source annotation (Placement(transformation(extent={{-238,-80},{-218,-60}}))); + MetroscopeModelingLibrary.Sensors.Power.PowerSensor thermal_power_sensor annotation (Placement(transformation(extent={{-212,-78},{-196,-62}}))); +equation + + // SteamGenerator + + // Quantities definitions + P_steam_sensor.P_barA = P_steam; + Q_feedwater_sensor.Q = Q_feedwater; + Q_purge_sensor.Q = Q_purge; + thermal_power_sensor.W_MW = thermal_power; + + // Parameters + steam_generator.vapor_fraction = 0.99; + + // Hypothesis + steam_generator.P_purge = P_steam * 1e5; + + // HP Turbines + + // Quantities definitions + HPT_P_in_sensor.P_barA = HPT_P_in; + HP_control_valve_opening_sensor.Opening = HP_control_valve_opening; + HP_extract_P_sensor.P_barA = HP_extract_P; + HPT_P_out_sensor.P_barA = HPT_P_out; + + // Calibrated parameters + HP_control_valve.Cv_max = HP_control_valve_Cvmax; + HPT_1.Cst = HPT1_Cst; + HPT_1.eta_is = turbines_eta_is; + HPT_2.Cst = HPT2_Cst; + HPT_2.eta_is = turbines_eta_is; + + // Parameter + HP_extract.alpha = 1; + + // Dryer - Superheater + + // Quantities definitions + superheater_bleed_P_sensor.P_barA = superheater_bleed_P; + superheater_drains_P_sensor.P_barA = superheater_drains_P; + superheater_T_out_sensor.T_degC = superheater_T_out; + + // Parameters + superheater.S = 100; + superheater.Kfr_cold = 0; + superheater.Q_vent = 1; + steam_dryer.x_steam_out = 0.99; + + // Calibrated parameters + superheater.Kfr_hot = superheater_Kfr_hot; + superheater.Kth = superheater_Kth; + superheater_control_valve.Cv_max = superheater_control_valve_Cvmax; + + // Hypothesis + superheater_control_valve.Opening = 1; + + // LP Turbines and extraction + + // Quantities definitions + LP_extract_P_sensor.P_barA = LP_extract_P; + + // Calibrated parameters + LPT1.Cst = LPT1_Cst; + LPT1.eta_is = turbines_eta_is; + LPT2.Cst = LPT2_Cst; + LPT2.eta_is = turbines_eta_is; + + // Parameters + LP_extract.alpha = 1; + + // Generator + + // Quantities definitions + W_elec_sensor.W_MW = W_elec; + + // Fixed parameter + generator.eta = 0.99; + + // Condenser + + // Quantities definitions + CW_P_in_sensor.P_barA = CW_P_in; // BC + CW_T_in_sensor.T_degC = CW_T_in; // BC + P_cond_sensor.P_mbar = P_cond; + CW_T_out_sensor.T_degC = CW_T_out; + + // Parameters + condenser.S = 100; + condenser.water_height = 1; + condenser.C_incond = 0; + condenser.P_offset = 0; + condenser.Kfr_cold = 0; + + // Calibrated Parameters + condenser.Kth = condenser_Kth; + condenser.Q_cold = condenser_Q_cold; + + // Extraction pump + + // Quantities defintions + extraction_pump_T_out_sensor.T_degC = extraction_pump_T_out; + extraction_pump_P_out_sensor.P_barA = extraction_pump_P_out; + + // Calibrated parameters + extraction_pump.hn = extraction_pump_hn; + extraction_pump.rh = extraction_pump_rh; + + // LP Heater and drains + + // Quantities definitions + LP_heater_P_out_sensor.P_barA = LP_heater_P_out; + LP_heater_T_out_sensor.T_degC = LP_heater_T_out; + LP_reheater_drains_control_valve_opening_sensor.Opening = LP_reheater_drains_control_valve_opening; + + // Parameters + LP_heater.S = 100; + LP_heater.Kfr_hot = 0; + + // Calibrated parameters + LP_heater.Kth = LP_heater_Kth; + LP_heater.Kfr_cold = LP_heater_Kfr_cold; + LP_reheater_drains_control_valve.Cv_max = LP_heater_drains_control_valve_Cvmax; + + // Deaerator + + deaerator_inlet_pipe.Kfr = 0; + deaerator_inlet_pipe.delta_z = 5; + deaerator_outlet_pipe.Kfr = 0; + deaerator_outlet_pipe.delta_z = -5; + + // Feedwater pump + + // Quantities definitions + HP_pump_T_out_sensor.T_degC = HP_pump_T_out; + HP_pump_P_out_sensor.P_barA = HP_pump_P_out; + + // Calibrated parameters + feedwater_pump.hn = feedwater_pump_hn; + feedwater_pump.rh = feedwater_pump_rh; + + // HP Reheater and drains + + // Quantities definitions + HP_heater_P_out_sensor.P_barA = HP_heater_P_out; + HP_heater_T_out_sensor.T_degC = HP_heater_T_out; + HP_heater_T_drains_sensor.T_degC = HP_heater_T_drains; + HP_reheater_drains_control_valve_opening_sensor.Opening = HP_reheater_drains_control_valve_opening; + + // Parameters + HP_heater.S = 100; + HP_heater.Kfr_hot = 0; + HP_heater.level = 0.3; + + // Calibrated parameters + HP_heater.Kth_subc = HP_heater_Kth_subc; + HP_heater.Kth_cond = HP_heater_Kth_cond; + HP_heater.Kfr_cold = HP_heater_Kfr_cold; + HP_reheater_drains_control_valve.Cv_max = HP_heater_drains_control_valve_Cvmax; + + connect(HP_control_valve.C_out, HPT_P_in_sensor.C_in) annotation (Line(points={{-125,72}, + {-116,72},{-116,72},{-106,72}}, color={28,108,200})); + connect(HP_control_valve.Opening, HP_control_valve_opening_sensor.Opening) annotation (Line(points={{-130,80.7273},{-130,82},{-131,82},{-131,85.9}}, + color={0,0,127})); + connect(HPT_1.C_out, HP_extract.C_in) annotation (Line(points={{-61,72},{-50.6,72}}, color={28,108,200})); + connect(HP_extract.C_main_out, HPT_2.C_in) annotation (Line(points={{-29.4,72},{-9,72}}, color={28,108,200})); + connect(HP_extract.C_ext_out, HP_extract_P_sensor.C_in) annotation (Line(points={{-40,65.2},{-40,54}}, color={28,108,200})); + connect(powerSink.C_in,W_elec_sensor. C_out) annotation (Line(points={{367,168},{359.88,168}}, + color={244,125,35})); + connect(W_elec_sensor.C_in,generator. C_out) annotation (Line(points={{348,168},{342,168}}, + color={244,125,35})); + connect(HPT_2.C_W_out, generator.C_in) annotation (Line(points={{9,78.72},{18,78.72},{18,168},{315.6,168}}, color={244,125,35})); + connect(HPT_1.C_W_out, generator.C_in) annotation (Line(points={{-61,78.72},{-54,78.72},{-54,168},{315.6,168}}, color={244,125,35})); + connect(HPT_1.C_in, HPT_P_in_sensor.C_out) annotation (Line(points={{-79,72},{-94,72}}, color={28,108,200})); + connect(HPT_P_out_sensor.C_in, HPT_2.C_out) annotation (Line(points={{26,72},{9,72}}, color={28,108,200})); + connect(steam_dryer.C_in, HPT_P_out_sensor.C_out) annotation (Line(points={{56, + 91.2727},{56,92},{46,92},{46,72},{38,72}}, color={28,108,200})); + connect(superheater.C_cold_in, steam_dryer.C_hot_steam) annotation (Line(points={{72,104}, + {72,91.2727}}, color={28,108,200})); + connect(superheater.C_hot_out, superheater_drains_P_sensor.C_in) annotation (Line(points={{88,112},{100,112}}, color={28,108,200})); + connect(superheater_T_out_sensor.C_in,superheater. C_cold_out) annotation (Line(points={{88,130},{72,130},{72,120}}, color={28,108,200})); + connect(superheater_control_valve.C_in, HP_control_valve.C_in) annotation (Line(points={{-136, + 112.182},{-136,112},{-158,112},{-158,72},{-135,72}}, color={28,108,200})); + connect(superheater.C_hot_in, superheater_bleed_P_sensor.C_out) annotation (Line(points={{56,112},{-35,112},{-35,112.182},{-94,112.182}}, color={28,108,200})); + connect(superheater_bleed_P_sensor.C_in, superheater_control_valve.C_out) annotation (Line(points={{-106, + 112.182},{-116,112.182},{-116,112.182},{-126,112.182}}, color={28,108,200})); + connect(LPT1.C_W_out, generator.C_in) annotation (Line(points={{169,136.72},{188,136.72},{188,168},{315.6,168}}, color={244,125,35})); + connect(LPT2.C_W_out, generator.C_in) annotation (Line(points={{239,136.72},{262,136.72},{262,168},{315.6,168}}, color={244,125,35})); + connect(LPT2.C_out, P_cond_sensor.C_in) annotation (Line(points={{239,130},{286,130}}, color={28,108,200})); + connect(P_cond_sensor.C_out, condenser.C_hot_in) annotation (Line(points={{298,130}, + {392.5,130},{392.5,74.2864}}, color={28,108,200})); + connect(superheater_T_out_sensor.C_out, LPT1.C_in) annotation (Line(points={{100,130},{151,130}}, color={28,108,200})); + connect(extraction_pump.C_out, extraction_pump_T_out_sensor.C_in) annotation (Line(points={{364,-70},{350,-70}}, color={28,108,200})); + connect(extraction_pump_T_out_sensor.C_out,extraction_pump_P_out_sensor. C_in) annotation (Line(points={{336,-70},{322,-70}}, color={28,108,200})); + connect(condenser.C_hot_out, extraction_pump.C_in) annotation (Line(points={{392.5,48.2222},{392.5,-70},{380,-70}}, + color={28,108,200})); + connect(LP_heater.C_cold_out, LP_heater_P_out_sensor.C_in) annotation (Line(points={{252,-70},{242,-70}}, color={28,108,200})); + connect(LP_heater_P_out_sensor.C_out,LP_heater_T_out_sensor. C_in) annotation (Line(points={{228,-70},{224,-70},{224,-70.5},{220,-70.5},{220,-70}}, + color={28,108,200})); + connect(extraction_pump_P_out_sensor.C_out, LP_heater.C_cold_in) annotation (Line(points={{308,-70},{284.2,-70}}, color={28,108,200})); + connect(LP_extract_P_sensor.C_out, LP_heater.C_hot_in) annotation (Line(points={{196,94}, + {196,44},{268,44},{268,-62}}, color={28,108,200})); + connect(LP_extract_P_sensor.C_in, LP_extract.C_ext_out) annotation (Line(points={{196,108}, + {196,123.2}}, color={28,108,200})); + connect(LPT1.C_out, LP_extract.C_in) annotation (Line(points={{169,130},{185.4,130}}, color={28,108,200})); + connect(LPT2.C_in, LP_extract.C_main_out) annotation (Line(points={{221,130},{206.6,130}}, color={28,108,200})); + connect(deaerator_inlet_pipe.C_in, LP_heater_T_out_sensor.C_out) annotation (Line(points={{186,-70},{206,-70}}, color={28,108,200})); + connect(steam_dryer.C_hot_liquid, steam_dryer_liq_out_pipe.C_in) annotation (Line(points={{72,84.7273},{72,-34},{142,-34},{142,-40}}, + color={28,108,200})); + connect(deaerator_inlet_pipe.C_out, deaerator_outlet_pipe.C_in) annotation (Line(points={{166,-70},{114,-70}}, color={28,108,200})); + connect(steam_dryer_liq_out_pipe.C_out, deaerator_outlet_pipe.C_in) annotation (Line(points={{142,-60},{142,-70},{114,-70}}, color={28,108,200})); + connect(feedwater_pump.C_out, HP_pump_T_out_sensor.C_in) annotation (Line(points={{46,-70},{30,-70}}, color={28,108,200})); + connect(HP_pump_T_out_sensor.C_out, HP_pump_P_out_sensor.C_in) annotation (Line(points={{16,-70},{4,-70}}, color={28,108,200})); + connect(feedwater_pump.C_in, deaerator_outlet_pipe.C_out) annotation (Line(points={{62,-70},{94,-70}}, color={28,108,200})); + connect(HP_pump_P_out_sensor.C_out, HP_heater.C_cold_in) annotation (Line(points={{-10,-70},{-23.8,-70}}, color={28,108,200})); + connect(HP_heater.C_cold_out, HP_heater_P_out_sensor.C_in) annotation (Line(points={{-56,-70},{-64,-70}}, color={28,108,200})); + connect(HP_heater_P_out_sensor.C_out, HP_heater_T_out_sensor.C_in) annotation (Line(points={{-78,-70},{-84,-70}}, color={28,108,200})); + connect(HP_heater_T_drains_sensor.C_in, HP_heater.C_hot_out) annotation (Line(points={{-40,-91},{-40,-78}}, color={28,108,200})); + connect(HP_extract_P_sensor.C_out, HP_heater.C_hot_in) annotation (Line(points={{-40,40},{-40,-62}}, color={28,108,200})); + connect(superheater_drains_P_sensor.C_out, superheater_drains_pipe.C_in) annotation (Line(points={{112,112},{122,112},{122,40}}, color={28,108,200})); + connect(superheater_drains_pipe.C_out, HP_heater.C_hot_in) annotation (Line(points={{122,20},{122,16},{-40,16},{-40,-62}}, color={28,108,200})); + connect(HP_heater_T_out_sensor.C_out, Q_feedwater_sensor.C_in) annotation (Line(points={{-98,-70},{-104,-70}}, color={28,108,200})); + connect(HP_reheater_drains_control_valve.Opening, HP_reheater_drains_control_valve_opening_sensor.Opening) annotation (Line(points={{11, + -113.091},{11,-108.1}}, color={0,0,127})); + connect(HP_heater_T_drains_sensor.C_out, HP_reheater_drains_control_valve.C_in) annotation (Line(points={{-40, + -105},{-40,-121.818},{6,-121.818}}, color={28,108,200})); + connect(LP_reheater_drains_control_valve.Opening, LP_reheater_drains_control_valve_opening_sensor.Opening) annotation (Line(points={{293, + -111.091},{293,-106.1}}, color={0,0,127})); + connect(LP_heater.C_hot_out, LP_reheater_drains_control_valve.C_in) annotation (Line(points={{268,-78}, + {268,-119.818},{288,-119.818}}, color={28,108,200})); + connect(steam_generator.steam_outlet, P_steam_sensor.C_in) annotation (Line(points={{-170,-24},{-170,3}}, color={28,108,200})); + connect(P_steam_sensor.C_out, HP_control_valve.C_in) annotation (Line(points={{-170,17}, + {-170,72},{-135,72}}, color={28,108,200})); + connect(superheater.C_vent, pressureCut.C_in) annotation (Line(points={{88,104.2},{88,86},{94,86}}, color={28,108,200})); + connect(pressureCut.C_out, superheater_drains_pipe.C_in) annotation (Line(points={{114,86},{122,86},{122,40}}, color={28,108,200})); + connect(cold_source.C_out, CW_T_in_sensor.C_in) annotation (Line(points={{305,67.7778},{305,67},{318,67}}, color={28,108,200})); + connect(CW_T_in_sensor.C_out, CW_P_in_sensor.C_in) annotation (Line(points={{332,67},{346,67}}, color={28,108,200})); + connect(CW_P_in_sensor.C_out, condenser.C_cold_in) annotation (Line(points={{360,67},{378,67},{378,59.679},{377,59.679}}, color={28,108,200})); + connect(CW_T_out_sensor.C_out, cold_sink.C_in) annotation (Line(points={{437,60},{455,60}}, color={28,108,200})); + connect(condenser.C_cold_out, CW_T_out_sensor.C_in) annotation (Line(points={{407.69,59.679},{407.69,60},{423,60}}, color={28,108,200})); + connect(LP_reheater_drains_control_valve.C_out, condenser.C_hot_in) annotation (Line(points={{298, + -119.818},{400,-119.818},{400,-120},{500,-120},{500,100},{392.5,100}, + {392.5,74.2864}}, color={28,108,200})); + connect(HP_reheater_drains_control_valve.C_out, deaerator_outlet_pipe.C_in) annotation (Line(points={{16, + -121.818},{78,-121.818},{78,-122},{142,-122},{142,-70},{114,-70}}, color={28,108,200})); + connect(steam_generator.purge_outlet, Q_purge_sensor.C_in) annotation (Line(points={{-170, + -115.233},{-170,-125}}, color={28,108,200})); + connect(Q_feedwater_sensor.C_out, loopBreaker.C_in) annotation (Line(points={{-118,-70},{-132,-70}}, color={28,108,200})); + connect(loopBreaker.C_out, steam_generator.feedwater_inlet) annotation (Line(points={{-152,-70},{-159,-70}}, color={28,108,200})); + connect(Q_purge_sensor.C_out, sink.C_in) annotation (Line(points={{-170,-139},{-170,-145}}, color={28,108,200})); + connect(steam_generator.C_thermal_power, thermal_power_sensor.C_out) annotation (Line(points={{-181,-70},{-196.16,-70}}, color={244,125,35})); + connect(thermal_power_sensor.C_in, source.C_out) annotation (Line(points={{-212,-70},{-223.2,-70}}, color={244,125,35})); + annotation (Icon(coordinateSystem(preserveAspectRatio=false, extent={{-240,-160},{520,200}})), Diagram(coordinateSystem(preserveAspectRatio=false, extent={{-240,-160},{520,200}}))); +end MetroscopiaNPP_reverse_old; diff --git a/MetroscopeModelingLibrary/Examples/Nuclear/MetroscopiaNPP/package.order b/MetroscopeModelingLibrary/Examples/Nuclear/MetroscopiaNPP/package.order index ce891a34..11fe728d 100644 --- a/MetroscopeModelingLibrary/Examples/Nuclear/MetroscopiaNPP/package.order +++ b/MetroscopeModelingLibrary/Examples/Nuclear/MetroscopiaNPP/package.order @@ -1,3 +1,4 @@ +MetroscopiaNPP_reverse_old MetroscopiaNPP_reverse MetroscopiaNPP_direct MetroscopiaNPP_direct_withStartValues diff --git a/MetroscopeModelingLibrary/FlueGases/Machines/AirCompressor.mo b/MetroscopeModelingLibrary/FlueGases/Machines/AirCompressor.mo index 9c6734c1..e9600017 100644 --- a/MetroscopeModelingLibrary/FlueGases/Machines/AirCompressor.mo +++ b/MetroscopeModelingLibrary/FlueGases/Machines/AirCompressor.mo @@ -12,8 +12,8 @@ model AirCompressor import MetroscopeModelingLibrary.Utilities.Units; import MetroscopeModelingLibrary.Utilities.Units.Inputs; - Inputs.InputReal tau(start=15, min = 1) "Compression rate"; - Inputs.InputReal eta_is(start=0.8, min=0, max=1) "Nominal isentropic efficiency"; + parameter Real tau_constant = 15; + parameter Real eta_is_constant = 0.8; Units.SpecificEnthalpy h_is(start=1e6) "Isentropic compression outlet enthalpy"; FlueGasesMedium.ThermodynamicState state_is "Isentropic compression outlet thermodynamic state"; @@ -25,6 +25,20 @@ model AirCompressor Units.Percentage tau_decrease(min = 0, max=100) "percentage decrease of tau"; Power.Connectors.Inlet C_W_in annotation (Placement(transformation(extent={{90,50},{110,70}}), iconTransformation(extent={{90,50},{110,70}}))); + Utilities.Interfaces.GenericReal tau annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={-90,70}), iconTransformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={-90,70}))); + Utilities.Interfaces.GenericReal eta_is annotation (Placement(transformation( + extent={{-10,10},{10,-10}}, + rotation=90, + origin={-80,70}), iconTransformation( + extent={{-10,10},{10,-10}}, + rotation=90, + origin={-70,66}))); equation // Failure modes diff --git a/MetroscopeModelingLibrary/FlueGases/Machines/GasTurbine.mo b/MetroscopeModelingLibrary/FlueGases/Machines/GasTurbine.mo index 0355c218..bdbe194a 100644 --- a/MetroscopeModelingLibrary/FlueGases/Machines/GasTurbine.mo +++ b/MetroscopeModelingLibrary/FlueGases/Machines/GasTurbine.mo @@ -12,9 +12,9 @@ model GasTurbine import MetroscopeModelingLibrary.Utilities.Units; import MetroscopeModelingLibrary.Utilities.Units.Inputs; + parameter Units.Yield eta_is_constant = 0.8; Inputs.InputReal tau(start=15, min = 1) "Compression rate"; - Real eta_is(start=0.8, min=0, max=1) "Nominal isentropic efficiency"; - Inputs.InputReal eta_mech(start=1, min=0, max=1) "Nominal mechanical efficiency"; + parameter Units.Yield eta_mech = 0.99 "Nominal mechanical efficiency"; Units.SpecificEnthalpy h_is(start=1e6) "Isentropic compression outlet enthalpy"; FlueGasesMedium.ThermodynamicState state_is "Isentropic compression outlet thermodynamic state"; @@ -26,6 +26,13 @@ model GasTurbine Units.Percentage eta_is_decrease(min = 0, max=100) "percentage decrease of eta_is"; Power.Connectors.Outlet C_W_shaft annotation (Placement(transformation(extent={{90,90},{110,110}}), iconTransformation(extent={{90,90},{110,110}}))); + Utilities.Interfaces.GenericReal eta_is(start=eta_is_constant) annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={-100,80}), iconTransformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={-100,80}))); equation // Failure modes @@ -46,7 +53,6 @@ equation /* Isentropic expansion */ state_is = Medium.setState_psX(P_out, Medium.specificEntropy(state_in),Xi); h_is = Medium.specificEnthalpy(state_is); - annotation ( Diagram(coordinateSystem( preserveAspectRatio=false, diff --git a/MetroscopeModelingLibrary/FlueGases/Pipes/Filter.mo b/MetroscopeModelingLibrary/FlueGases/Pipes/Filter.mo index f85f2d0a..127e3024 100644 --- a/MetroscopeModelingLibrary/FlueGases/Pipes/Filter.mo +++ b/MetroscopeModelingLibrary/FlueGases/Pipes/Filter.mo @@ -1,6 +1,7 @@ within MetroscopeModelingLibrary.FlueGases.Pipes; model Filter - extends Pipe annotation(IconMap(primitivesVisible=false)); + extends FrictionPipe + annotation(IconMap(primitivesVisible=false)); annotation (Icon(graphics={Rectangle( extent={{-60,100},{60,-100}}, lineColor={28,108,200}, diff --git a/MetroscopeModelingLibrary/FlueGases/Pipes/FrictionPipe.mo b/MetroscopeModelingLibrary/FlueGases/Pipes/FrictionPipe.mo new file mode 100644 index 00000000..e704a5f8 --- /dev/null +++ b/MetroscopeModelingLibrary/FlueGases/Pipes/FrictionPipe.mo @@ -0,0 +1,185 @@ +within MetroscopeModelingLibrary.FlueGases.Pipes; +model FrictionPipe + extends MetroscopeModelingLibrary.Utilities.Icons.KeepingScaleIcon; + package FlueGasesMedium = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium; + extends Partial.Pipes.FrictionPipe + ( + redeclare MetroscopeModelingLibrary.FlueGases.Connectors.Inlet C_in, + redeclare MetroscopeModelingLibrary.FlueGases.Connectors.Outlet C_out, + redeclare package Medium = FlueGasesMedium, + Q_0 = 50, rho_0=1) annotation(IconMap(primitivesVisible=false)); + annotation (Icon(coordinateSystem(preserveAspectRatio=false), graphics={ + Rectangle( + extent={{-100,30},{100,-30}}, + lineColor={95,95,95}, + fillColor={95,95,95}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,30},{-76,24},{-72,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-72,30},{-68,24},{-64,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-56,30},{-52,24},{-48,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-64,30},{-60,24},{-56,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-24,30},{-20,24},{-16,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-32,30},{-28,24},{-24,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-40,30},{-36,24},{-32,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-48,30},{-44,24},{-40,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-16,30},{-12,24},{-8,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-8,30},{-4,24},{0,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{8,30},{12,24},{16,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{0,30},{4,24},{8,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{40,30},{44,24},{48,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{32,30},{36,24},{40,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{24,30},{28,24},{32,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{16,30},{20,24},{24,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{72,30},{76,24},{80,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{64,30},{68,24},{72,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{56,30},{60,24},{64,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{48,30},{52,24},{56,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-80,-30},{-76,-24},{-72,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-72,-30},{-68,-24},{-64,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-56,-30},{-52,-24},{-48,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-64,-30},{-60,-24},{-56,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-24,-30},{-20,-24},{-16,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-32,-30},{-28,-24},{-24,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-40,-30},{-36,-24},{-32,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-48,-30},{-44,-24},{-40,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-16,-30},{-12,-24},{-8,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-8,-30},{-4,-24},{0,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{8,-30},{12,-24},{16,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{0,-30},{4,-24},{8,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{40,-30},{44,-24},{48,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{32,-30},{36,-24},{40,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{24,-30},{28,-24},{32,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{16,-30},{20,-24},{24,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{72,-30},{76,-24},{80,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{64,-30},{68,-24},{72,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{56,-30},{60,-24},{64,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{48,-30},{52,-24},{56,-30}}, + color={0,0,0}, + thickness=0.5)}), Diagram(coordinateSystem(preserveAspectRatio=false)), + Icon(coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}, + grid={2,2}), graphics={ Text( + extent={{-12,14},{16,-14}}, + lineColor={0,0,255}, + fillColor={95,95,95}, + fillPattern=FillPattern.Solid)})); +end FrictionPipe; diff --git a/MetroscopeModelingLibrary/FlueGases/Pipes/Pipe.mo b/MetroscopeModelingLibrary/FlueGases/Pipes/HeightVariationPipe.mo similarity index 89% rename from MetroscopeModelingLibrary/FlueGases/Pipes/Pipe.mo rename to MetroscopeModelingLibrary/FlueGases/Pipes/HeightVariationPipe.mo index 96ce498d..8b8c167c 100644 --- a/MetroscopeModelingLibrary/FlueGases/Pipes/Pipe.mo +++ b/MetroscopeModelingLibrary/FlueGases/Pipes/HeightVariationPipe.mo @@ -1,8 +1,9 @@ within MetroscopeModelingLibrary.FlueGases.Pipes; -model Pipe +model HeightVariationPipe extends MetroscopeModelingLibrary.Utilities.Icons.KeepingScaleIcon; package FlueGasesMedium = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium; - extends Partial.Pipes.Pipe( + extends Partial.Pipes.HeightVariationPipe + ( redeclare MetroscopeModelingLibrary.FlueGases.Connectors.Inlet C_in, redeclare MetroscopeModelingLibrary.FlueGases.Connectors.Outlet C_out, redeclare package Medium = FlueGasesMedium, @@ -21,4 +22,4 @@ model Pipe lineColor={0,0,255}, fillColor={95,95,95}, fillPattern=FillPattern.Solid)})); -end Pipe; +end HeightVariationPipe; diff --git a/MetroscopeModelingLibrary/FlueGases/Pipes/package.order b/MetroscopeModelingLibrary/FlueGases/Pipes/package.order index a04807c9..1faead14 100644 --- a/MetroscopeModelingLibrary/FlueGases/Pipes/package.order +++ b/MetroscopeModelingLibrary/FlueGases/Pipes/package.order @@ -1,4 +1,5 @@ -Pipe +FrictionPipe +HeightVariationPipe Filter ControlValve HeatLoss diff --git a/MetroscopeModelingLibrary/Fuel/Pipes/Pipe.mo b/MetroscopeModelingLibrary/Fuel/Pipes/Pipe.mo index f10e5aa5..ff1b431a 100644 --- a/MetroscopeModelingLibrary/Fuel/Pipes/Pipe.mo +++ b/MetroscopeModelingLibrary/Fuel/Pipes/Pipe.mo @@ -1,7 +1,8 @@ within MetroscopeModelingLibrary.Fuel.Pipes; model Pipe package FuelMedium = MetroscopeModelingLibrary.Utilities.Media.FuelMedium; - extends Partial.Pipes.Pipe( + extends Partial.Pipes.FrictionPipe + ( redeclare MetroscopeModelingLibrary.Fuel.Connectors.Inlet C_in, redeclare MetroscopeModelingLibrary.Fuel.Connectors.Outlet C_out, redeclare package Medium = FuelMedium) annotation(IconMap(primitivesVisible=false)); diff --git a/MetroscopeModelingLibrary/MetroscopeModelingLibrary.Examples.CCGT.MetroscopiaCCGT.MetroscopiaCCGT_reverse.mof b/MetroscopeModelingLibrary/MetroscopeModelingLibrary.Examples.CCGT.MetroscopiaCCGT.MetroscopiaCCGT_reverse.mof new file mode 100644 index 00000000..bf9b0b5e --- /dev/null +++ b/MetroscopeModelingLibrary/MetroscopeModelingLibrary.Examples.CCGT.MetroscopiaCCGT.MetroscopiaCCGT_reverse.mof @@ -0,0 +1,20741 @@ +model MetroscopiaCCGT_reverse + input MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy LHV_plant( + start = 48130000.0) "Directly assigned in combustion chamber modifiers"; + parameter MetroscopeModelingLibrary.Utilities.Units.Area economiser.S = 3000; + parameter Boolean economiser.nominal_DT_default = true; + parameter String economiser.QCp_max_side = "hot"; + parameter String economiser.config = "monophasic_counter_current"; + parameter String economiser.mixed_fluid = "hot"; + parameter Boolean economiser.faulty = false; + parameter MetroscopeModelingLibrary.Utilities.Units.MassFlowRate + economiser.Q_cold_0 = 85; + parameter MetroscopeModelingLibrary.Utilities.Units.MassFlowRate + economiser.Q_hot_0 = 640; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + economiser.T_cold_in_0 = 500.15; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + economiser.T_cold_out_0 = 543.15; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + economiser.T_hot_in_0 = 573.15; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + economiser.T_hot_out_0 = 546.15; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure economiser.P_cold_in_0 + = 17000000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure economiser.P_cold_out_0 + = 16950000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Pressure economiser.P_hot_in_0 + = 110000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure economiser.P_hot_out_0 + = 105000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + economiser.h_cold_in_0 = 977378.7; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + economiser.h_cold_out_0 = 1185904.9; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + economiser.h_hot_in_0 = 608000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + economiser.h_hot_out_0 = 575000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.MassFlowRate + economiser.HX.Q_hot_0 = 50 "Init parameter for Hot mass flow rate at the inlet"; + parameter MetroscopeModelingLibrary.Utilities.Units.MassFlowRate + economiser.HX.Q_cold_0 = 1500 "Init parameter for Cold mass flow rate at the inlet"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + economiser.HX.T_hot_in_0 = 473.15 "Init parameter for Hot mass flow rate at the inlet"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + economiser.HX.T_cold_in_0 = economiser.T_cold_in_0 "Init parameter for Cold mass flow rate at the inlet"; + parameter MetroscopeModelingLibrary.Utilities.Units.HeatCapacity + economiser.HX.Cp_hot_0 = 45 "Init parameter for Hot fluid specific heat capacity"; + parameter MetroscopeModelingLibrary.Utilities.Units.HeatCapacity + economiser.HX.Cp_cold_0 = 75 "Init parameter for Cold fluid specific heat capacity"; + parameter MetroscopeModelingLibrary.Utilities.Units.Area economiser.HX.S_0 = 100 + "init parameter for Heat exchange surface"; + parameter MetroscopeModelingLibrary.Utilities.Units.HeatExchangeCoefficient + economiser.HX.Kth_0 = 5000 "init parameter for Heat exchange coefficient"; + parameter String economiser.HX.config = economiser.config; + parameter String economiser.HX.QCp_max_side = economiser.QCp_max_side; + parameter String economiser.HX.mixed_fluid = economiser.mixed_fluid; + parameter Real economiser.HX.QCpMIN_0(unit = "W/K") = (if economiser.HX.QCp_max_side + == "hot" then economiser.HX.Q_cold_0*economiser.HX.Cp_cold_0 else (if + economiser.HX.QCp_max_side == "cold" then economiser.HX.Q_hot_0* + economiser.HX.Cp_hot_0 else min(economiser.HX.Q_cold_0*economiser.HX.Cp_cold_0, + economiser.HX.Q_hot_0*economiser.HX.Cp_hot_0))); + parameter Real economiser.HX.QCpMAX_0(unit = "W/K") = (if economiser.HX.QCp_max_side + == "cold" then economiser.HX.Q_cold_0*economiser.HX.Cp_cold_0 else (if + economiser.HX.QCp_max_side == "hot" then economiser.HX.Q_hot_0* + economiser.HX.Cp_hot_0 else max(economiser.HX.Q_cold_0*economiser.HX.Cp_cold_0, + economiser.HX.Q_hot_0*economiser.HX.Cp_hot_0))); + parameter Real economiser.HX.NTU_0(unit = "1") = economiser.HX.Kth_0* + economiser.HX.S_0/economiser.HX.QCpMIN_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Fraction economiser.HX.Cr_0 + = 0.8; + parameter MetroscopeModelingLibrary.Utilities.Units.Fraction economiser.HX.epsilon_0 + = 0.9; + parameter MetroscopeModelingLibrary.Utilities.Units.Power economiser.HX.W_max_0 + = economiser.HX.QCpMIN_0*(economiser.HX.T_hot_in_0-economiser.HX.T_cold_in_0); + parameter MetroscopeModelingLibrary.Utilities.Units.Power economiser.HX.W_0 = + economiser.HX.epsilon_0*economiser.HX.W_max_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + economiser.hot_side.T_in_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + economiser.hot_side.T_out_0 = economiser.T_hot_out_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure economiser.hot_side.P_in_0 + = 105000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure economiser.hot_side.P_out_0 + = 105000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + economiser.hot_side.DP_0 = economiser.hot_side.P_out_0-economiser.hot_side.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + economiser.hot_side.h_in_0 = economiser.h_hot_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + economiser.hot_side.h_out_0 = economiser.h_hot_out_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density economiser.hot_side.rho_0 + = 1; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + economiser.hot_side.Q_0 = economiser.Q_hot_0 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure economiser.hot_side.P_0 + = 105000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + economiser.cold_side.T_in_0 = economiser.T_cold_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + economiser.cold_side.T_out_0 = economiser.T_cold_out_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure economiser.cold_side.P_in_0 + = 17000000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure economiser.cold_side.P_out_0 + = 17000000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + economiser.cold_side.DP_0 = economiser.cold_side.P_out_0-economiser.cold_side.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + economiser.cold_side.h_in_0 = economiser.h_cold_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + economiser.cold_side.h_out_0 = economiser.h_cold_out_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density economiser.cold_side.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + economiser.cold_side.Q_0 = economiser.Q_cold_0 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure economiser.cold_side.P_0 + = 17000000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + economiser.cold_side_pipe.T_in_0 = economiser.cold_side_pipe.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + economiser.cold_side_pipe.T_out_0 = economiser.cold_side_pipe.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure economiser.cold_side_pipe.P_in_0 + = 17000000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure economiser.cold_side_pipe.P_out_0 + = 16950000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + economiser.cold_side_pipe.DP_0 = economiser.cold_side_pipe.P_out_0- + economiser.cold_side_pipe.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + economiser.cold_side_pipe.h_in_0 = economiser.cold_side_pipe.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + economiser.cold_side_pipe.h_out_0 = economiser.cold_side_pipe.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density economiser.cold_side_pipe.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + economiser.cold_side_pipe.Q_0 = economiser.Q_cold_0 "Inlet Mass flow rate"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + economiser.cold_side_pipe.T_0 = economiser.T_cold_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + economiser.cold_side_pipe.h_0 = economiser.h_cold_in_0; + parameter Boolean economiser.cold_side_pipe.faulty = false; + parameter MetroscopeModelingLibrary.Utilities.Units.FrictionCoefficient + economiser.cold_side_pipe.Kfr_constant = -economiser.cold_side_pipe.DP_0* + economiser.cold_side_pipe.rho_0/(economiser.cold_side_pipe.Q_0* + economiser.cold_side_pipe.Q_0); + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_w_eco_out_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_eco_out_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_w_eco_out_sensor.h_0 = 500000.0; + parameter Boolean T_w_eco_out_sensor.faulty_flow_rate = false; + parameter String T_w_eco_out_sensor.sensor_function = "Calibration" + "Specify if the sensor is a BC or used for calibration"; + parameter String T_w_eco_out_sensor.causality = "Eco_Kth" "Specify which parameter is calibrated by this sensor"; + parameter Boolean T_w_eco_out_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_w_eco_out_sensor.flow_model.T_in_0 = T_w_eco_out_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_w_eco_out_sensor.flow_model.T_out_0 = T_w_eco_out_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_eco_out_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_eco_out_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + T_w_eco_out_sensor.flow_model.DP_0 = T_w_eco_out_sensor.flow_model.P_out_0- + T_w_eco_out_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_w_eco_out_sensor.flow_model.h_in_0 = T_w_eco_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_w_eco_out_sensor.flow_model.h_out_0 = T_w_eco_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density T_w_eco_out_sensor.flow_model.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_w_eco_out_sensor.flow_model.Q_0 = 1000 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_eco_out_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_w_eco_out_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_w_eco_out_sensor.flow_model.h_0 = 500000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Temperature + T_w_eco_out_sensor.T_0 = 300; + parameter Real T_w_eco_out_sensor.init_T = 300; + parameter String T_w_eco_out_sensor.display_unit = "degC" "Specify the display unit"; + parameter Boolean T_w_eco_out_sensor.display_output "Used to switch ON or OFF output display"; + parameter String T_w_eco_out_sensor.signal_unit = "degC"; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_w_eco_out_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_eco_out_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_w_eco_out_sensor.h_0 = 500000.0; + parameter Boolean P_w_eco_out_sensor.faulty_flow_rate = false; + parameter String P_w_eco_out_sensor.sensor_function = "Calibration" + "Specify if the sensor is a BC or used for calibration"; + parameter String P_w_eco_out_sensor.causality = "Eco_Kfr" "Specify which parameter is calibrated by this sensor"; + parameter Boolean P_w_eco_out_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_w_eco_out_sensor.flow_model.T_in_0 = P_w_eco_out_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_w_eco_out_sensor.flow_model.T_out_0 = P_w_eco_out_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_eco_out_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_eco_out_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + P_w_eco_out_sensor.flow_model.DP_0 = P_w_eco_out_sensor.flow_model.P_out_0- + P_w_eco_out_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_w_eco_out_sensor.flow_model.h_in_0 = P_w_eco_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_w_eco_out_sensor.flow_model.h_out_0 = P_w_eco_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density P_w_eco_out_sensor.flow_model.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_w_eco_out_sensor.flow_model.Q_0 = 1000 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_eco_out_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_w_eco_out_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_w_eco_out_sensor.flow_model.h_0 = 500000.0; + parameter Real P_w_eco_out_sensor.init_P = 1; + parameter Boolean P_w_eco_out_sensor.display_output "Used to switch ON or OFF output display"; + parameter String P_w_eco_out_sensor.display_unit = "barA" "Specify the display unit"; + parameter String P_w_eco_out_sensor.signal_unit = "barA"; + parameter MetroscopeModelingLibrary.Utilities.Units.Area evaporator.S = 15000; + parameter String evaporator.HX_config = "evaporator"; + parameter Boolean evaporator.faulty = false; + parameter MetroscopeModelingLibrary.Utilities.Units.MassFlowRate + evaporator.Q_cold_0 = 85; + parameter MetroscopeModelingLibrary.Utilities.Units.MassFlowRate + evaporator.Q_hot_0 = 640; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + evaporator.T_cold_in_0 = 599.15; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + evaporator.T_cold_out_0 = Modelica.Media.Water.WaterIF97_ph.saturationTemperature_Unique21 + (evaporator.P_cold_out_0); + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + evaporator.T_hot_in_0 = 748.15; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + evaporator.T_hot_out_0 = 618.15; + parameter MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.P_cold_in_0 + = 13000000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.P_cold_out_0 + = 13000000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.P_hot_in_0 + = 110000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.P_hot_out_0 + = 105000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + evaporator.h_cold_in_0 = 1500000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + evaporator.h_vap_sat_0 = Modelica.Media.Water.WaterIF97_ph.dewEnthalpy_Unique22 + ( + Modelica.Media.Water.WaterIF97_ph.setSat_p_Unique23(evaporator.P_cold_out_0)); + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + evaporator.h_liq_sat_0 = Modelica.Media.Water.WaterIF97_ph.bubbleEnthalpy_Unique24 + ( + Modelica.Media.Water.WaterIF97_ph.setSat_p_Unique23(evaporator.P_cold_out_0)); + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + evaporator.h_hot_in_0 = 805000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + evaporator.h_hot_out_0 = 650000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.MassFlowRate + evaporator.HX_vaporising.Q_hot_0 = 50 "Init parameter for Hot mass flow rate at the inlet"; + parameter MetroscopeModelingLibrary.Utilities.Units.MassFlowRate + evaporator.HX_vaporising.Q_cold_0 = 1500 "Init parameter for Cold mass flow rate at the inlet"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + evaporator.HX_vaporising.T_hot_in_0 = 473.15 "Init parameter for Hot mass flow rate at the inlet"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + evaporator.HX_vaporising.T_cold_in_0 = evaporator.T_cold_in_0 + "Init parameter for Cold mass flow rate at the inlet"; + parameter MetroscopeModelingLibrary.Utilities.Units.HeatCapacity + evaporator.HX_vaporising.Cp_hot_0 = 45 "Init parameter for Hot fluid specific heat capacity"; + parameter MetroscopeModelingLibrary.Utilities.Units.HeatCapacity + evaporator.HX_vaporising.Cp_cold_0 = 75 "Init parameter for Cold fluid specific heat capacity"; + parameter MetroscopeModelingLibrary.Utilities.Units.Area evaporator.HX_vaporising.S_0 + = 100 "init parameter for Heat exchange surface"; + parameter MetroscopeModelingLibrary.Utilities.Units.HeatExchangeCoefficient + evaporator.HX_vaporising.Kth_0 = 5000 "init parameter for Heat exchange coefficient"; + parameter String evaporator.HX_vaporising.config = evaporator.HX_config; + parameter String evaporator.HX_vaporising.QCp_max_side = "cold"; + parameter String evaporator.HX_vaporising.mixed_fluid = "hot"; + parameter Real evaporator.HX_vaporising.QCpMIN_0(unit = "W/K") = (if + evaporator.HX_vaporising.QCp_max_side == "hot" then evaporator.HX_vaporising.Q_cold_0 + *evaporator.HX_vaporising.Cp_cold_0 else (if evaporator.HX_vaporising.QCp_max_side + == "cold" then evaporator.HX_vaporising.Q_hot_0*evaporator.HX_vaporising.Cp_hot_0 + else min(evaporator.HX_vaporising.Q_cold_0*evaporator.HX_vaporising.Cp_cold_0, + evaporator.HX_vaporising.Q_hot_0*evaporator.HX_vaporising.Cp_hot_0))); + parameter Real evaporator.HX_vaporising.QCpMAX_0(unit = "W/K") = (if + evaporator.HX_vaporising.QCp_max_side == "cold" then evaporator.HX_vaporising.Q_cold_0 + *evaporator.HX_vaporising.Cp_cold_0 else (if evaporator.HX_vaporising.QCp_max_side + == "hot" then evaporator.HX_vaporising.Q_hot_0*evaporator.HX_vaporising.Cp_hot_0 + else max(evaporator.HX_vaporising.Q_cold_0*evaporator.HX_vaporising.Cp_cold_0, + evaporator.HX_vaporising.Q_hot_0*evaporator.HX_vaporising.Cp_hot_0))); + parameter Real evaporator.HX_vaporising.NTU_0(unit = "1") = evaporator.HX_vaporising.Kth_0 + *evaporator.HX_vaporising.S_0/evaporator.HX_vaporising.QCpMIN_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Fraction evaporator.HX_vaporising.Cr_0 + = 0.8; + parameter MetroscopeModelingLibrary.Utilities.Units.Fraction evaporator.HX_vaporising.epsilon_0 + = 0.9; + parameter MetroscopeModelingLibrary.Utilities.Units.Power evaporator.HX_vaporising.W_max_0 + = evaporator.HX_vaporising.QCpMIN_0*(evaporator.HX_vaporising.T_hot_in_0- + evaporator.HX_vaporising.T_cold_in_0); + parameter MetroscopeModelingLibrary.Utilities.Units.Power evaporator.HX_vaporising.W_0 + = evaporator.HX_vaporising.epsilon_0*evaporator.HX_vaporising.W_max_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + evaporator.hot_side_vaporising.T_in_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + evaporator.hot_side_vaporising.T_out_0 = 300; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.hot_side_vaporising.P_in_0 + = 105000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.hot_side_vaporising.P_out_0 + = 105000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + evaporator.hot_side_vaporising.DP_0 = evaporator.hot_side_vaporising.P_out_0 + -evaporator.hot_side_vaporising.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + evaporator.hot_side_vaporising.h_in_0 = evaporator.h_hot_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + evaporator.hot_side_vaporising.h_out_0 = 500000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density evaporator.hot_side_vaporising.rho_0 + = 1; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + evaporator.hot_side_vaporising.Q_0 = evaporator.Q_hot_0 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.hot_side_vaporising.P_0 + = 105000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + evaporator.cold_side_vaporising.T_in_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + evaporator.cold_side_vaporising.T_out_0 = 300; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.cold_side_vaporising.P_in_0 + = 13000000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.cold_side_vaporising.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + evaporator.cold_side_vaporising.DP_0 = evaporator.cold_side_vaporising.P_out_0 + -evaporator.cold_side_vaporising.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + evaporator.cold_side_vaporising.h_in_0 = evaporator.h_liq_sat_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + evaporator.cold_side_vaporising.h_out_0 = evaporator.h_vap_sat_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density evaporator.cold_side_vaporising.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + evaporator.cold_side_vaporising.Q_0 = evaporator.Q_cold_0 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.cold_side_vaporising.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + evaporator.hot_side_heating.T_in_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + evaporator.hot_side_heating.T_out_0 = 300; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.hot_side_heating.P_in_0 + = 105000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.hot_side_heating.P_out_0 + = 105000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + evaporator.hot_side_heating.DP_0 = evaporator.hot_side_heating.P_out_0- + evaporator.hot_side_heating.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + evaporator.hot_side_heating.h_in_0 = 500000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + evaporator.hot_side_heating.h_out_0 = evaporator.h_hot_out_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density evaporator.hot_side_heating.rho_0 + = 1; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + evaporator.hot_side_heating.Q_0 = evaporator.Q_hot_0 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.hot_side_heating.P_0 + = 105000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + evaporator.cold_side_heating.T_in_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + evaporator.cold_side_heating.T_out_0 = 300; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.cold_side_heating.P_in_0 + = 13000000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.cold_side_heating.P_out_0 + = 13000000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + evaporator.cold_side_heating.DP_0 = evaporator.cold_side_heating.P_out_0- + evaporator.cold_side_heating.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + evaporator.cold_side_heating.h_in_0 = evaporator.h_cold_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + evaporator.cold_side_heating.h_out_0 = evaporator.h_liq_sat_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density evaporator.cold_side_heating.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + evaporator.cold_side_heating.Q_0 = evaporator.Q_cold_0 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.cold_side_heating.P_0 + = 13000000.0; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_w_evap_out_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_evap_out_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_w_evap_out_sensor.h_0 = 500000.0; + parameter Boolean P_w_evap_out_sensor.faulty_flow_rate = false; + parameter String P_w_evap_out_sensor.sensor_function = "Calibration" + "Specify if the sensor is a BC or used for calibration"; + parameter String P_w_evap_out_sensor.causality = "SH1_Kfr" "Specify which parameter is calibrated by this sensor"; + parameter Boolean P_w_evap_out_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_w_evap_out_sensor.flow_model.T_in_0 = P_w_evap_out_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_w_evap_out_sensor.flow_model.T_out_0 = P_w_evap_out_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_evap_out_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_evap_out_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + P_w_evap_out_sensor.flow_model.DP_0 = P_w_evap_out_sensor.flow_model.P_out_0 + -P_w_evap_out_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_w_evap_out_sensor.flow_model.h_in_0 = P_w_evap_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_w_evap_out_sensor.flow_model.h_out_0 = P_w_evap_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density P_w_evap_out_sensor.flow_model.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_w_evap_out_sensor.flow_model.Q_0 = 1000 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_evap_out_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_w_evap_out_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_w_evap_out_sensor.flow_model.h_0 = 500000.0; + parameter Real P_w_evap_out_sensor.init_P = 1; + parameter Boolean P_w_evap_out_sensor.display_output "Used to switch ON or OFF output display"; + parameter String P_w_evap_out_sensor.display_unit = "barA" "Specify the display unit"; + parameter String P_w_evap_out_sensor.signal_unit = "barA"; + parameter MetroscopeModelingLibrary.Utilities.Units.Area HPsuperheater1.S = 3000; + parameter Boolean HPsuperheater1.nominal_DT_default = true; + parameter String HPsuperheater1.QCp_max_side = "hot"; + parameter String HPsuperheater1.config = "monophasic_counter_current"; + parameter String HPsuperheater1.mixed_fluid = "hot"; + parameter Boolean HPsuperheater1.faulty = false; + parameter MetroscopeModelingLibrary.Utilities.Units.MassFlowRate + HPsuperheater1.Q_cold_0 = 85; + parameter MetroscopeModelingLibrary.Utilities.Units.MassFlowRate + HPsuperheater1.Q_hot_0 = 640; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + HPsuperheater1.T_cold_in_0 = 683.15; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + HPsuperheater1.T_cold_out_0 = 788.15; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + HPsuperheater1.T_hot_in_0 = 873.15; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + HPsuperheater1.T_hot_out_0 = 838.15; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater1.P_cold_in_0 + = 13000000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater1.P_cold_out_0 + = 12950000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater1.P_hot_in_0 + = 110000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater1.P_hot_out_0 + = 105000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + HPsuperheater1.h_cold_in_0 = 3060000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + HPsuperheater1.h_cold_out_0 = 3380000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + HPsuperheater1.h_hot_in_0 = 960000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + HPsuperheater1.h_hot_out_0 = 910000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.MassFlowRate + HPsuperheater1.HX.Q_hot_0 = 50 "Init parameter for Hot mass flow rate at the inlet"; + parameter MetroscopeModelingLibrary.Utilities.Units.MassFlowRate + HPsuperheater1.HX.Q_cold_0 = 1500 "Init parameter for Cold mass flow rate at the inlet"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + HPsuperheater1.HX.T_hot_in_0 = 473.15 "Init parameter for Hot mass flow rate at the inlet"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + HPsuperheater1.HX.T_cold_in_0 = HPsuperheater1.T_cold_in_0 "Init parameter for Cold mass flow rate at the inlet"; + parameter MetroscopeModelingLibrary.Utilities.Units.HeatCapacity + HPsuperheater1.HX.Cp_hot_0 = 45 "Init parameter for Hot fluid specific heat capacity"; + parameter MetroscopeModelingLibrary.Utilities.Units.HeatCapacity + HPsuperheater1.HX.Cp_cold_0 = 75 "Init parameter for Cold fluid specific heat capacity"; + parameter MetroscopeModelingLibrary.Utilities.Units.Area HPsuperheater1.HX.S_0 + = 100 "init parameter for Heat exchange surface"; + parameter MetroscopeModelingLibrary.Utilities.Units.HeatExchangeCoefficient + HPsuperheater1.HX.Kth_0 = 5000 "init parameter for Heat exchange coefficient"; + parameter String HPsuperheater1.HX.config = HPsuperheater1.config; + parameter String HPsuperheater1.HX.QCp_max_side = HPsuperheater1.QCp_max_side; + parameter String HPsuperheater1.HX.mixed_fluid = HPsuperheater1.mixed_fluid; + parameter Real HPsuperheater1.HX.QCpMIN_0(unit = "W/K") = (if HPsuperheater1.HX.QCp_max_side + == "hot" then HPsuperheater1.HX.Q_cold_0*HPsuperheater1.HX.Cp_cold_0 else ( + if HPsuperheater1.HX.QCp_max_side == "cold" then HPsuperheater1.HX.Q_hot_0* + HPsuperheater1.HX.Cp_hot_0 else min(HPsuperheater1.HX.Q_cold_0* + HPsuperheater1.HX.Cp_cold_0, HPsuperheater1.HX.Q_hot_0*HPsuperheater1.HX.Cp_hot_0))); + parameter Real HPsuperheater1.HX.QCpMAX_0(unit = "W/K") = (if HPsuperheater1.HX.QCp_max_side + == "cold" then HPsuperheater1.HX.Q_cold_0*HPsuperheater1.HX.Cp_cold_0 else + (if HPsuperheater1.HX.QCp_max_side == "hot" then HPsuperheater1.HX.Q_hot_0* + HPsuperheater1.HX.Cp_hot_0 else max(HPsuperheater1.HX.Q_cold_0* + HPsuperheater1.HX.Cp_cold_0, HPsuperheater1.HX.Q_hot_0*HPsuperheater1.HX.Cp_hot_0))); + parameter Real HPsuperheater1.HX.NTU_0(unit = "1") = HPsuperheater1.HX.Kth_0* + HPsuperheater1.HX.S_0/HPsuperheater1.HX.QCpMIN_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Fraction HPsuperheater1.HX.Cr_0 + = 0.8; + parameter MetroscopeModelingLibrary.Utilities.Units.Fraction HPsuperheater1.HX.epsilon_0 + = 0.9; + parameter MetroscopeModelingLibrary.Utilities.Units.Power HPsuperheater1.HX.W_max_0 + = HPsuperheater1.HX.QCpMIN_0*(HPsuperheater1.HX.T_hot_in_0-HPsuperheater1.HX.T_cold_in_0); + parameter MetroscopeModelingLibrary.Utilities.Units.Power HPsuperheater1.HX.W_0 + = HPsuperheater1.HX.epsilon_0*HPsuperheater1.HX.W_max_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + HPsuperheater1.hot_side.T_in_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + HPsuperheater1.hot_side.T_out_0 = HPsuperheater1.T_hot_out_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater1.hot_side.P_in_0 + = 105000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater1.hot_side.P_out_0 + = 105000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + HPsuperheater1.hot_side.DP_0 = HPsuperheater1.hot_side.P_out_0- + HPsuperheater1.hot_side.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + HPsuperheater1.hot_side.h_in_0 = HPsuperheater1.h_hot_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + HPsuperheater1.hot_side.h_out_0 = HPsuperheater1.h_hot_out_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density HPsuperheater1.hot_side.rho_0 + = 1; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + HPsuperheater1.hot_side.Q_0 = HPsuperheater1.Q_hot_0 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater1.hot_side.P_0 + = 105000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + HPsuperheater1.cold_side.T_in_0 = HPsuperheater1.T_cold_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + HPsuperheater1.cold_side.T_out_0 = HPsuperheater1.T_cold_out_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater1.cold_side.P_in_0 + = 13000000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater1.cold_side.P_out_0 + = 13000000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + HPsuperheater1.cold_side.DP_0 = HPsuperheater1.cold_side.P_out_0- + HPsuperheater1.cold_side.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + HPsuperheater1.cold_side.h_in_0 = HPsuperheater1.h_cold_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + HPsuperheater1.cold_side.h_out_0 = HPsuperheater1.h_cold_out_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density HPsuperheater1.cold_side.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + HPsuperheater1.cold_side.Q_0 = HPsuperheater1.Q_cold_0 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater1.cold_side.P_0 + = 13000000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + HPsuperheater1.cold_side_pipe.T_in_0 = HPsuperheater1.cold_side_pipe.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + HPsuperheater1.cold_side_pipe.T_out_0 = HPsuperheater1.cold_side_pipe.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater1.cold_side_pipe.P_in_0 + = 13000000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater1.cold_side_pipe.P_out_0 + = 12950000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + HPsuperheater1.cold_side_pipe.DP_0 = HPsuperheater1.cold_side_pipe.P_out_0- + HPsuperheater1.cold_side_pipe.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + HPsuperheater1.cold_side_pipe.h_in_0 = HPsuperheater1.cold_side_pipe.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + HPsuperheater1.cold_side_pipe.h_out_0 = HPsuperheater1.cold_side_pipe.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density HPsuperheater1.cold_side_pipe.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + HPsuperheater1.cold_side_pipe.Q_0 = HPsuperheater1.Q_cold_0 "Inlet Mass flow rate"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + HPsuperheater1.cold_side_pipe.T_0 = HPsuperheater1.T_cold_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + HPsuperheater1.cold_side_pipe.h_0 = HPsuperheater1.h_cold_in_0; + parameter Boolean HPsuperheater1.cold_side_pipe.faulty = false; + parameter MetroscopeModelingLibrary.Utilities.Units.FrictionCoefficient + HPsuperheater1.cold_side_pipe.Kfr_constant = -HPsuperheater1.cold_side_pipe.DP_0 + *HPsuperheater1.cold_side_pipe.rho_0/(HPsuperheater1.cold_side_pipe.Q_0* + HPsuperheater1.cold_side_pipe.Q_0); + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_w_HPSH1_out_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_HPSH1_out_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_w_HPSH1_out_sensor.h_0 = 500000.0; + parameter Boolean T_w_HPSH1_out_sensor.faulty_flow_rate = false; + parameter String T_w_HPSH1_out_sensor.sensor_function = "Calibration" + "Specify if the sensor is a BC or used for calibration"; + parameter String T_w_HPSH1_out_sensor.causality = "SH1_Kth" "Specify which parameter is calibrated by this sensor"; + parameter Boolean T_w_HPSH1_out_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_w_HPSH1_out_sensor.flow_model.T_in_0 = T_w_HPSH1_out_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_w_HPSH1_out_sensor.flow_model.T_out_0 = T_w_HPSH1_out_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_HPSH1_out_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_HPSH1_out_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + T_w_HPSH1_out_sensor.flow_model.DP_0 = T_w_HPSH1_out_sensor.flow_model.P_out_0 + -T_w_HPSH1_out_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_w_HPSH1_out_sensor.flow_model.h_in_0 = T_w_HPSH1_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_w_HPSH1_out_sensor.flow_model.h_out_0 = T_w_HPSH1_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density T_w_HPSH1_out_sensor.flow_model.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_w_HPSH1_out_sensor.flow_model.Q_0 = 1000 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_HPSH1_out_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_w_HPSH1_out_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_w_HPSH1_out_sensor.flow_model.h_0 = 500000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Temperature + T_w_HPSH1_out_sensor.T_0 = 300; + parameter Real T_w_HPSH1_out_sensor.init_T = 300; + parameter String T_w_HPSH1_out_sensor.display_unit = "degC" "Specify the display unit"; + parameter Boolean T_w_HPSH1_out_sensor.display_output "Used to switch ON or OFF output display"; + parameter String T_w_HPSH1_out_sensor.signal_unit = "degC"; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_w_HPSH1_out_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_HPSH1_out_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_w_HPSH1_out_sensor.h_0 = 500000.0; + parameter Boolean P_w_HPSH1_out_sensor.faulty_flow_rate = false; + parameter String P_w_HPSH1_out_sensor.sensor_function = "Calibration" + "Specify if the sensor is a BC or used for calibration"; + parameter String P_w_HPSH1_out_sensor.causality = "SH2_Kfr" "Specify which parameter is calibrated by this sensor"; + parameter Boolean P_w_HPSH1_out_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_w_HPSH1_out_sensor.flow_model.T_in_0 = P_w_HPSH1_out_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_w_HPSH1_out_sensor.flow_model.T_out_0 = P_w_HPSH1_out_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_HPSH1_out_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_HPSH1_out_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + P_w_HPSH1_out_sensor.flow_model.DP_0 = P_w_HPSH1_out_sensor.flow_model.P_out_0 + -P_w_HPSH1_out_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_w_HPSH1_out_sensor.flow_model.h_in_0 = P_w_HPSH1_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_w_HPSH1_out_sensor.flow_model.h_out_0 = P_w_HPSH1_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density P_w_HPSH1_out_sensor.flow_model.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_w_HPSH1_out_sensor.flow_model.Q_0 = 1000 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_HPSH1_out_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_w_HPSH1_out_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_w_HPSH1_out_sensor.flow_model.h_0 = 500000.0; + parameter Real P_w_HPSH1_out_sensor.init_P = 1; + parameter Boolean P_w_HPSH1_out_sensor.display_output "Used to switch ON or OFF output display"; + parameter String P_w_HPSH1_out_sensor.display_unit = "barA" "Specify the display unit"; + parameter String P_w_HPSH1_out_sensor.signal_unit = "barA"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + HPST_control_valve.T_in_0 = HPST_control_valve.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + HPST_control_valve.T_out_0 = HPST_control_valve.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure HPST_control_valve.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure HPST_control_valve.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + HPST_control_valve.DP_0 = HPST_control_valve.P_out_0-HPST_control_valve.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + HPST_control_valve.h_in_0 = HPST_control_valve.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + HPST_control_valve.h_out_0 = HPST_control_valve.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density HPST_control_valve.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + HPST_control_valve.Q_0 = 1000 "Inlet Mass flow rate"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + HPST_control_valve.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + HPST_control_valve.h_0 = 500000.0; + parameter Boolean HPST_control_valve.faulty = false; + parameter Real HPST_control_valve.Cv_constant = 10000.0; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_HPST_in_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_HPST_in_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_HPST_in_sensor.h_0 = 500000.0; + parameter Boolean P_HPST_in_sensor.faulty_flow_rate = false; + parameter String P_HPST_in_sensor.sensor_function = "Calibration" + "Specify if the sensor is a BC or used for calibration"; + parameter String P_HPST_in_sensor.causality = "HPST_Cst" "Specify which parameter is calibrated by this sensor"; + parameter Boolean P_HPST_in_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_HPST_in_sensor.flow_model.T_in_0 = P_HPST_in_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_HPST_in_sensor.flow_model.T_out_0 = P_HPST_in_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_HPST_in_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_HPST_in_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + P_HPST_in_sensor.flow_model.DP_0 = P_HPST_in_sensor.flow_model.P_out_0- + P_HPST_in_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_HPST_in_sensor.flow_model.h_in_0 = P_HPST_in_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_HPST_in_sensor.flow_model.h_out_0 = P_HPST_in_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density P_HPST_in_sensor.flow_model.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_HPST_in_sensor.flow_model.Q_0 = 1000 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_HPST_in_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_HPST_in_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_HPST_in_sensor.flow_model.h_0 = 500000.0; + parameter Real P_HPST_in_sensor.init_P = 1; + parameter Boolean P_HPST_in_sensor.display_output "Used to switch ON or OFF output display"; + parameter String P_HPST_in_sensor.display_unit = "barA" "Specify the display unit"; + parameter String P_HPST_in_sensor.signal_unit = "barA"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + HPsteamTurbine.T_in_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + HPsteamTurbine.T_out_0 = 300; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure HPsteamTurbine.P_in_0 + = 6000000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure HPsteamTurbine.P_out_0 + = 5500000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + HPsteamTurbine.DP_0 = HPsteamTurbine.P_out_0-HPsteamTurbine.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + HPsteamTurbine.h_in_0 = 2700000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + HPsteamTurbine.h_out_0 = 2600000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density HPsteamTurbine.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + HPsteamTurbine.Q_0 = 1500 "Inlet Mass flow rate"; + parameter MetroscopeModelingLibrary.Utilities.Units.Cst HPsteamTurbine.Cst_constant + = 10000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Yield HPsteamTurbine.eta_is_constant + = 0.9; + parameter MetroscopeModelingLibrary.Utilities.Units.MassFraction + HPsteamTurbine.x_out_0 = min((HPsteamTurbine.h_out_0-HPsteamTurbine.h_liq_out_0) + /(HPsteamTurbine.h_vap_out_0-HPsteamTurbine.h_liq_out_0), 1); + parameter MetroscopeModelingLibrary.Utilities.Units.MassFraction + HPsteamTurbine.xm_0 = (HPsteamTurbine.x_out_0+HPsteamTurbine.x_in_0)/2; + parameter MetroscopeModelingLibrary.Utilities.Units.MassFraction + HPsteamTurbine.x_in_0 = min((HPsteamTurbine.h_in_0-HPsteamTurbine.h_liq_in_0) + /(HPsteamTurbine.h_vap_in_0-HPsteamTurbine.h_liq_in_0), 1); + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + HPsteamTurbine.h_vap_in_0 = Modelica.Media.Water.WaterIF97_ph.dewEnthalpy_Unique22 + ( + Modelica.Media.Water.WaterIF97_ph.setSat_p_Unique23(HPsteamTurbine.P_in_0)); + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + HPsteamTurbine.h_liq_in_0 = Modelica.Media.Water.WaterIF97_ph.bubbleEnthalpy_Unique24 + ( + Modelica.Media.Water.WaterIF97_ph.setSat_p_Unique23(HPsteamTurbine.P_in_0)); + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + HPsteamTurbine.h_vap_out_0 = Modelica.Media.Water.WaterIF97_ph.dewEnthalpy_Unique22 + ( + Modelica.Media.Water.WaterIF97_ph.setSat_p_Unique23(HPsteamTurbine.P_out_0)); + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + HPsteamTurbine.h_liq_out_0 = Modelica.Media.Water.WaterIF97_ph.bubbleEnthalpy_Unique24 + ( + Modelica.Media.Water.WaterIF97_ph.setSat_p_Unique23(HPsteamTurbine.P_out_0)); + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_HPST_out_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_HPST_out_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_HPST_out_sensor.h_0 = 500000.0; + parameter Boolean P_HPST_out_sensor.faulty_flow_rate = false; + parameter String P_HPST_out_sensor.sensor_function = "Calibration" + "Specify if the sensor is a BC or used for calibration"; + parameter String P_HPST_out_sensor.causality = "RHT_Kfr" "Specify which parameter is calibrated by this sensor"; + parameter Boolean P_HPST_out_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_HPST_out_sensor.flow_model.T_in_0 = P_HPST_out_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_HPST_out_sensor.flow_model.T_out_0 = P_HPST_out_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_HPST_out_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_HPST_out_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + P_HPST_out_sensor.flow_model.DP_0 = P_HPST_out_sensor.flow_model.P_out_0- + P_HPST_out_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_HPST_out_sensor.flow_model.h_in_0 = P_HPST_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_HPST_out_sensor.flow_model.h_out_0 = P_HPST_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density P_HPST_out_sensor.flow_model.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_HPST_out_sensor.flow_model.Q_0 = 1000 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_HPST_out_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_HPST_out_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_HPST_out_sensor.flow_model.h_0 = 500000.0; + parameter Real P_HPST_out_sensor.init_P = 1; + parameter Boolean P_HPST_out_sensor.display_output "Used to switch ON or OFF output display"; + parameter String P_HPST_out_sensor.display_unit = "barA" "Specify the display unit"; + parameter String P_HPST_out_sensor.signal_unit = "barA"; + parameter String W_ST_out_sensor.sensor_function = "Calibration" + "Specify if the sensor is a BC or used for calibration"; + parameter String W_ST_out_sensor.causality = "LPST_eta_is" "Specify which parameter is calibrated by this sensor"; + parameter Boolean W_ST_out_sensor.show_causality "Used to show or not the causality"; + parameter String W_ST_out_sensor.display_unit = "MW" "Specify the display unit"; + parameter Boolean W_ST_out_sensor.display_output "Used to switch ON or OFF output display"; + parameter String W_ST_out_sensor.output_signal_unit = "MW"; + parameter MetroscopeModelingLibrary.Utilities.Units.Area condenser.S = 50000; + parameter String condenser.QCp_max_side = "cold"; + constant Real condenser.R(unit = "J/(mol.K)") = 8.31446261815324 + "ideal gas constant"; + parameter Boolean condenser.faulty = false; + parameter MetroscopeModelingLibrary.Utilities.Units.MassFlowRate + condenser.Q_cold_0 = 5000; + parameter MetroscopeModelingLibrary.Utilities.Units.MassFlowRate + condenser.Q_hot_0 = 1000; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.Psat_0 + = 5000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.P_cold_in_0 + = 500000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.P_cold_out_0 + = 400000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + condenser.T_cold_in_0 = 288.15; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + condenser.T_cold_out_0 = 298.15; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + condenser.T_hot_in_0 = condenser.Tsat_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + condenser.T_hot_out_0 = condenser.Tsat_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + condenser.h_cold_in_0 = 50000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + condenser.h_cold_out_0 = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + condenser.h_hot_in_0 = 2000000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + condenser.h_liq_sat_0 = Modelica.Media.Water.WaterIF97_ph.bubbleEnthalpy_Unique24 + ( + Modelica.Media.Water.WaterIF97_ph.setSat_p_Unique23(condenser.Psat_0)); + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + condenser.Tsat_0 = Modelica.Media.Water.WaterIF97_ph.saturationTemperature_Unique21 + (condenser.Psat_0); + constant MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + condenser.water_height_DP_0 = 9000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + condenser.cold_side_pipe.T_in_0 = condenser.cold_side_pipe.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + condenser.cold_side_pipe.T_out_0 = condenser.cold_side_pipe.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.cold_side_pipe.P_in_0 + = 500000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.cold_side_pipe.P_out_0 + = 400000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + condenser.cold_side_pipe.DP_0 = condenser.cold_side_pipe.P_out_0- + condenser.cold_side_pipe.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + condenser.cold_side_pipe.h_in_0 = condenser.cold_side_pipe.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + condenser.cold_side_pipe.h_out_0 = condenser.cold_side_pipe.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density condenser.cold_side_pipe.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + condenser.cold_side_pipe.Q_0 = condenser.Q_cold_0 "Inlet Mass flow rate"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + condenser.cold_side_pipe.T_0 = condenser.T_cold_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + condenser.cold_side_pipe.h_0 = condenser.h_cold_in_0; + parameter Boolean condenser.cold_side_pipe.faulty = false; + parameter MetroscopeModelingLibrary.Utilities.Units.FrictionCoefficient + condenser.cold_side_pipe.Kfr_constant = -condenser.cold_side_pipe.DP_0* + condenser.cold_side_pipe.rho_0/(condenser.cold_side_pipe.Q_0* + condenser.cold_side_pipe.Q_0); + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + condenser.hot_side.T_in_0 = condenser.Tsat_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + condenser.hot_side.T_out_0 = condenser.Tsat_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.hot_side.P_in_0 + = 5000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.hot_side.P_out_0 + = 5000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + condenser.hot_side.DP_0 = condenser.hot_side.P_out_0-condenser.hot_side.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + condenser.hot_side.h_in_0 = condenser.h_hot_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + condenser.hot_side.h_out_0 = condenser.h_liq_sat_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density condenser.hot_side.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + condenser.hot_side.Q_0 = condenser.Q_hot_0 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.hot_side.P_0 + = 5000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + condenser.cold_side.T_in_0 = condenser.T_cold_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + condenser.cold_side.T_out_0 = condenser.T_cold_out_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.cold_side.P_in_0 + = 400000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.cold_side.P_out_0 + = 400000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + condenser.cold_side.DP_0 = condenser.cold_side.P_out_0-condenser.cold_side.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + condenser.cold_side.h_in_0 = condenser.h_cold_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + condenser.cold_side.h_out_0 = condenser.h_cold_out_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density condenser.cold_side.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + condenser.cold_side.Q_0 = condenser.Q_cold_0 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.cold_side.P_0 + = 400000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + condenser.water_height_pipe.T_in_0 = condenser.water_height_pipe.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + condenser.water_height_pipe.T_out_0 = condenser.water_height_pipe.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.water_height_pipe.P_in_0 + = 5000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.water_height_pipe.P_out_0 + = 14000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + condenser.water_height_pipe.DP_0 = condenser.water_height_pipe.P_out_0- + condenser.water_height_pipe.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + condenser.water_height_pipe.h_in_0 = condenser.water_height_pipe.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + condenser.water_height_pipe.h_out_0 = condenser.water_height_pipe.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density condenser.water_height_pipe.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + condenser.water_height_pipe.Q_0 = condenser.Q_hot_0 "Inlet Mass flow rate"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + condenser.water_height_pipe.T_0 = condenser.Tsat_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + condenser.water_height_pipe.h_0 = condenser.h_liq_sat_0; + constant MetroscopeModelingLibrary.Utilities.Units.Height condenser.water_height_pipe.delta_z_constant + = 10; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + condenser.incondensables_in.T_in_0 = condenser.incondensables_in.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + condenser.incondensables_in.T_out_0 = condenser.incondensables_in.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.incondensables_in.P_in_0 + = 5000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.incondensables_in.P_out_0 + = 5000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + condenser.incondensables_in.DP_0 = condenser.incondensables_in.P_out_0- + condenser.incondensables_in.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + condenser.incondensables_in.h_in_0 = condenser.incondensables_in.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + condenser.incondensables_in.h_out_0 = condenser.incondensables_in.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density condenser.incondensables_in.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + condenser.incondensables_in.Q_0 = condenser.Q_hot_0 "Inlet Mass flow rate"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + condenser.incondensables_in.T_0 = condenser.Tsat_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + condenser.incondensables_in.h_0 = condenser.h_hot_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + condenser.incondensables_out.T_in_0 = condenser.incondensables_out.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + condenser.incondensables_out.T_out_0 = condenser.incondensables_out.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.incondensables_out.P_in_0 + = 5000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.incondensables_out.P_out_0 + = 5000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + condenser.incondensables_out.DP_0 = condenser.incondensables_out.P_out_0- + condenser.incondensables_out.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + condenser.incondensables_out.h_in_0 = condenser.incondensables_out.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + condenser.incondensables_out.h_out_0 = condenser.incondensables_out.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density condenser.incondensables_out.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + condenser.incondensables_out.Q_0 = condenser.Q_hot_0 "Inlet Mass flow rate"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + condenser.incondensables_out.T_0 = condenser.Tsat_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + condenser.incondensables_out.h_0 = condenser.h_liq_sat_0; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_circulating_water_out_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_circulating_water_out_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_circulating_water_out_sensor.h_0 = 500000.0; + parameter Boolean T_circulating_water_out_sensor.faulty_flow_rate = false; + parameter String T_circulating_water_out_sensor.sensor_function = + "Calibration" "Specify if the sensor is a BC or used for calibration"; + parameter String T_circulating_water_out_sensor.causality = "Cond_Qv" + "Specify which parameter is calibrated by this sensor"; + parameter Boolean T_circulating_water_out_sensor.show_causality + "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_circulating_water_out_sensor.flow_model.T_in_0 = T_circulating_water_out_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_circulating_water_out_sensor.flow_model.T_out_0 = T_circulating_water_out_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_circulating_water_out_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_circulating_water_out_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + T_circulating_water_out_sensor.flow_model.DP_0 = T_circulating_water_out_sensor.flow_model.P_out_0 + -T_circulating_water_out_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_circulating_water_out_sensor.flow_model.h_in_0 = T_circulating_water_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_circulating_water_out_sensor.flow_model.h_out_0 = T_circulating_water_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density T_circulating_water_out_sensor.flow_model.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_circulating_water_out_sensor.flow_model.Q_0 = 1000 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_circulating_water_out_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_circulating_water_out_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_circulating_water_out_sensor.flow_model.h_0 = 500000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Temperature + T_circulating_water_out_sensor.T_0 = 300; + parameter Real T_circulating_water_out_sensor.init_T = 300; + parameter String T_circulating_water_out_sensor.display_unit = "degC" + "Specify the display unit"; + parameter Boolean T_circulating_water_out_sensor.display_output + "Used to switch ON or OFF output display"; + parameter String T_circulating_water_out_sensor.signal_unit = "degC"; + parameter MetroscopeModelingLibrary.Utilities.Units.Pressure circulating_water_source.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.MassFlowRate + circulating_water_source.Q_0 = 1000; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + circulating_water_source.h_0 = 500000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + circulating_water_source.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature pump.T_in_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature pump.T_out_0 + = 300; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure pump.P_in_0 = + 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure pump.P_out_0 = + 1000000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + pump.DP_0 = pump.P_out_0-pump.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + pump.h_in_0 = 500000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + pump.h_out_0 = 500000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density pump.rho_0 = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + pump.Q_0 = 1000 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_pump_out_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_pump_out_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_pump_out_sensor.h_0 = 500000.0; + parameter Boolean T_pump_out_sensor.faulty_flow_rate = false; + parameter String T_pump_out_sensor.sensor_function = "Calibration" + "Specify if the sensor is a BC or used for calibration"; + parameter String T_pump_out_sensor.causality = "rh" "Specify which parameter is calibrated by this sensor"; + parameter Boolean T_pump_out_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_pump_out_sensor.flow_model.T_in_0 = T_pump_out_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_pump_out_sensor.flow_model.T_out_0 = T_pump_out_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_pump_out_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_pump_out_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + T_pump_out_sensor.flow_model.DP_0 = T_pump_out_sensor.flow_model.P_out_0- + T_pump_out_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_pump_out_sensor.flow_model.h_in_0 = T_pump_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_pump_out_sensor.flow_model.h_out_0 = T_pump_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density T_pump_out_sensor.flow_model.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_pump_out_sensor.flow_model.Q_0 = 1000 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_pump_out_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_pump_out_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_pump_out_sensor.flow_model.h_0 = 500000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Temperature + T_pump_out_sensor.T_0 = 300; + parameter Real T_pump_out_sensor.init_T = 300; + parameter String T_pump_out_sensor.display_unit = "degC" "Specify the display unit"; + parameter Boolean T_pump_out_sensor.display_output "Used to switch ON or OFF output display"; + parameter String T_pump_out_sensor.signal_unit = "degC"; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_pump_out_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_pump_out_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_pump_out_sensor.h_0 = 500000.0; + parameter Boolean P_pump_out_sensor.faulty_flow_rate = false; + parameter String P_pump_out_sensor.sensor_function = "Calibration" + "Specify if the sensor is a BC or used for calibration"; + parameter String P_pump_out_sensor.causality = "hn" "Specify which parameter is calibrated by this sensor"; + parameter Boolean P_pump_out_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_pump_out_sensor.flow_model.T_in_0 = P_pump_out_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_pump_out_sensor.flow_model.T_out_0 = P_pump_out_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_pump_out_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_pump_out_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + P_pump_out_sensor.flow_model.DP_0 = P_pump_out_sensor.flow_model.P_out_0- + P_pump_out_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_pump_out_sensor.flow_model.h_in_0 = P_pump_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_pump_out_sensor.flow_model.h_out_0 = P_pump_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density P_pump_out_sensor.flow_model.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_pump_out_sensor.flow_model.Q_0 = 1000 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_pump_out_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_pump_out_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_pump_out_sensor.flow_model.h_0 = 500000.0; + parameter Real P_pump_out_sensor.init_P = 1; + parameter Boolean P_pump_out_sensor.display_output "Used to switch ON or OFF output display"; + parameter String P_pump_out_sensor.display_unit = "barA" "Specify the display unit"; + parameter String P_pump_out_sensor.signal_unit = "barA"; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Q_pump_out_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Q_pump_out_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Q_pump_out_sensor.h_0 = 500000.0; + parameter Boolean Q_pump_out_sensor.faulty_flow_rate = Q_pump_out_sensor.faulty; + parameter String Q_pump_out_sensor.sensor_function = "Calibration" + "Specify if the sensor is a BC or used for calibration"; + parameter String Q_pump_out_sensor.causality = "Evap_Kth" "Specify which parameter is calibrated by this sensor"; + parameter Boolean Q_pump_out_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + Q_pump_out_sensor.flow_model.T_in_0 = Q_pump_out_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + Q_pump_out_sensor.flow_model.T_out_0 = Q_pump_out_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Q_pump_out_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Q_pump_out_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + Q_pump_out_sensor.flow_model.DP_0 = Q_pump_out_sensor.flow_model.P_out_0- + Q_pump_out_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Q_pump_out_sensor.flow_model.h_in_0 = Q_pump_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Q_pump_out_sensor.flow_model.h_out_0 = Q_pump_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density Q_pump_out_sensor.flow_model.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Q_pump_out_sensor.flow_model.Q_0 = 1000 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Q_pump_out_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + Q_pump_out_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Q_pump_out_sensor.flow_model.h_0 = 500000.0; + constant MetroscopeModelingLibrary.Utilities.Units.VolumeFlowRate + Q_pump_out_sensor.Qv_0 = 0.1; + parameter Boolean Q_pump_out_sensor.faulty = false; + parameter String Q_pump_out_sensor.display_unit = "kg/s" "Specify the display unit"; + parameter Boolean Q_pump_out_sensor.display_output "Used to switch ON or OFF output display"; + parameter String Q_pump_out_sensor.signal_unit = "kg/s"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + airCompressor.T_in_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + airCompressor.T_out_0 = 300; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure airCompressor.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure airCompressor.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + airCompressor.DP_0 = airCompressor.P_out_0-airCompressor.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + airCompressor.h_in_0 = 500000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + airCompressor.h_out_0 = 500000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density airCompressor.rho_0 + = 1; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + airCompressor.Q_0 = 500 "Inlet Mass flow rate"; + parameter Real airCompressor.tau_constant = 15; + parameter Real airCompressor.eta_is_constant = 0.8; + parameter Boolean airCompressor.faulty = false; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + gasTurbine.T_in_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + gasTurbine.T_out_0 = 300; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure gasTurbine.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure gasTurbine.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + gasTurbine.DP_0 = gasTurbine.P_out_0-gasTurbine.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + gasTurbine.h_in_0 = 500000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + gasTurbine.h_out_0 = 500000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density gasTurbine.rho_0 + = 1; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + gasTurbine.Q_0 = 500 "Inlet Mass flow rate"; + parameter MetroscopeModelingLibrary.Utilities.Units.Yield gasTurbine.eta_is_constant + = 0.8; + parameter MetroscopeModelingLibrary.Utilities.Units.Yield gasTurbine.eta_mech( + start = 0.9) = 1 "Nominal mechanical efficiency"; + parameter Boolean gasTurbine.faulty = false; + parameter MetroscopeModelingLibrary.Utilities.Units.FrictionCoefficient + combustionChamber.Kfr_constant = 0; + parameter Real combustionChamber.eta_constant = 0.99457; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + combustionChamber.h_in_air_0 = 500000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Pressure combustionChamber.source_exhaust.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.MassFlowRate + combustionChamber.source_exhaust.Q_0 = 1000; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + combustionChamber.source_exhaust.h_0 = 500000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + combustionChamber.source_exhaust.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + combustionChamber.pressure_loss.T_in_0 = combustionChamber.pressure_loss.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + combustionChamber.pressure_loss.T_out_0 = combustionChamber.pressure_loss.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure combustionChamber.pressure_loss.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure combustionChamber.pressure_loss.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + combustionChamber.pressure_loss.DP_0 = combustionChamber.pressure_loss.P_out_0 + -combustionChamber.pressure_loss.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + combustionChamber.pressure_loss.h_in_0 = combustionChamber.pressure_loss.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + combustionChamber.pressure_loss.h_out_0 = combustionChamber.pressure_loss.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density combustionChamber.pressure_loss.rho_0 + = 1; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + combustionChamber.pressure_loss.Q_0 = 50 "Inlet Mass flow rate"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + combustionChamber.pressure_loss.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + combustionChamber.pressure_loss.h_0 = 500000.0; + parameter Boolean combustionChamber.pressure_loss.faulty = false; + parameter MetroscopeModelingLibrary.Utilities.Units.FrictionCoefficient + combustionChamber.pressure_loss.Kfr_constant = -combustionChamber.pressure_loss.DP_0 + *combustionChamber.pressure_loss.rho_0/(combustionChamber.pressure_loss.Q_0* + combustionChamber.pressure_loss.Q_0); + parameter MetroscopeModelingLibrary.Utilities.Units.Pressure source_fuel.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.MassFlowRate + source_fuel.Q_0 = 1000; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + source_fuel.h_0 = 500000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + source_fuel.T_0 = 300; + constant Real source_fuel.amC = 12.01115 "Carbon atomic mass"; + constant Real source_fuel.amH = 1.00797 "Hydrogen atomic mass"; + constant Real source_fuel.amO = 15.9994 "Oxygen atomic mass"; + constant Real source_fuel.amN = 14.0067 "Nitrogen atomic mass"; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + compressor_P_out_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure compressor_P_out_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + compressor_P_out_sensor.h_0 = 500000.0; + parameter Boolean compressor_P_out_sensor.faulty_flow_rate = false; + parameter String compressor_P_out_sensor.sensor_function = "Calibration" + "Specify if the sensor is a BC or used for calibration"; + parameter String compressor_P_out_sensor.causality = "compressor_tau" + "Specify which parameter is calibrated by this sensor"; + parameter Boolean compressor_P_out_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + compressor_P_out_sensor.flow_model.T_in_0 = compressor_P_out_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + compressor_P_out_sensor.flow_model.T_out_0 = compressor_P_out_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure compressor_P_out_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure compressor_P_out_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + compressor_P_out_sensor.flow_model.DP_0 = compressor_P_out_sensor.flow_model.P_out_0 + -compressor_P_out_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + compressor_P_out_sensor.flow_model.h_in_0 = compressor_P_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + compressor_P_out_sensor.flow_model.h_out_0 = compressor_P_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density compressor_P_out_sensor.flow_model.rho_0 + = 1; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + compressor_P_out_sensor.flow_model.Q_0 = 500 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure compressor_P_out_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + compressor_P_out_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + compressor_P_out_sensor.flow_model.h_0 = 500000.0; + parameter Real compressor_P_out_sensor.init_P = 1; + parameter Boolean compressor_P_out_sensor.display_output "Used to switch ON or OFF output display"; + parameter String compressor_P_out_sensor.display_unit = "barA" + "Specify the display unit"; + parameter String compressor_P_out_sensor.signal_unit = "barA"; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + compressor_T_out_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure compressor_T_out_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + compressor_T_out_sensor.h_0 = 500000.0; + parameter Boolean compressor_T_out_sensor.faulty_flow_rate = false; + parameter String compressor_T_out_sensor.sensor_function = "Calibration" + "Specify if the sensor is a BC or used for calibration"; + parameter String compressor_T_out_sensor.causality = "compressor_eta_is" + "Specify which parameter is calibrated by this sensor"; + parameter Boolean compressor_T_out_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + compressor_T_out_sensor.flow_model.T_in_0 = compressor_T_out_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + compressor_T_out_sensor.flow_model.T_out_0 = compressor_T_out_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure compressor_T_out_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure compressor_T_out_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + compressor_T_out_sensor.flow_model.DP_0 = compressor_T_out_sensor.flow_model.P_out_0 + -compressor_T_out_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + compressor_T_out_sensor.flow_model.h_in_0 = compressor_T_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + compressor_T_out_sensor.flow_model.h_out_0 = compressor_T_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density compressor_T_out_sensor.flow_model.rho_0 + = 1; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + compressor_T_out_sensor.flow_model.Q_0 = 500 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure compressor_T_out_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + compressor_T_out_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + compressor_T_out_sensor.flow_model.h_0 = 500000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Temperature + compressor_T_out_sensor.T_0 = 723.15; + parameter Real compressor_T_out_sensor.init_T = 300; + parameter String compressor_T_out_sensor.display_unit = "degC" + "Specify the display unit"; + parameter Boolean compressor_T_out_sensor.display_output "Used to switch ON or OFF output display"; + parameter String compressor_T_out_sensor.signal_unit = "degC"; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + turbine_P_out_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure turbine_P_out_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + turbine_P_out_sensor.h_0 = 500000.0; + parameter Boolean turbine_P_out_sensor.faulty_flow_rate = false; + parameter String turbine_P_out_sensor.sensor_function = "Calibration" + "Specify if the sensor is a BC or used for calibration"; + parameter String turbine_P_out_sensor.causality = "hrsg_kf_hot" + "Specify which parameter is calibrated by this sensor"; + parameter Boolean turbine_P_out_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + turbine_P_out_sensor.flow_model.T_in_0 = turbine_P_out_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + turbine_P_out_sensor.flow_model.T_out_0 = turbine_P_out_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure turbine_P_out_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure turbine_P_out_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + turbine_P_out_sensor.flow_model.DP_0 = turbine_P_out_sensor.flow_model.P_out_0 + -turbine_P_out_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + turbine_P_out_sensor.flow_model.h_in_0 = turbine_P_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + turbine_P_out_sensor.flow_model.h_out_0 = turbine_P_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density turbine_P_out_sensor.flow_model.rho_0 + = 1; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + turbine_P_out_sensor.flow_model.Q_0 = 500 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure turbine_P_out_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + turbine_P_out_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + turbine_P_out_sensor.flow_model.h_0 = 500000.0; + parameter Real turbine_P_out_sensor.init_P = 1; + parameter Boolean turbine_P_out_sensor.display_output "Used to switch ON or OFF output display"; + parameter String turbine_P_out_sensor.display_unit = "barA" "Specify the display unit"; + parameter String turbine_P_out_sensor.signal_unit = "barA"; + parameter String W_GT_sensor.sensor_function = "Calibration" "Specify if the sensor is a BC or used for calibration"; + parameter String W_GT_sensor.causality = "turbine_eta_is" "Specify which parameter is calibrated by this sensor"; + parameter Boolean W_GT_sensor.show_causality "Used to show or not the causality"; + parameter String W_GT_sensor.display_unit = "MW" "Specify the display unit"; + parameter Boolean W_GT_sensor.display_output "Used to switch ON or OFF output display"; + parameter String W_GT_sensor.output_signal_unit = "MW"; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + turbine_T_out_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure turbine_T_out_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + turbine_T_out_sensor.h_0 = 500000.0; + parameter Boolean turbine_T_out_sensor.faulty_flow_rate = false; + parameter String turbine_T_out_sensor.sensor_function = "BC" "Specify if the sensor is a BC or used for calibration"; + parameter String turbine_T_out_sensor.causality = "" "Specify which parameter is calibrated by this sensor"; + parameter Boolean turbine_T_out_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + turbine_T_out_sensor.flow_model.T_in_0 = turbine_T_out_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + turbine_T_out_sensor.flow_model.T_out_0 = turbine_T_out_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure turbine_T_out_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure turbine_T_out_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + turbine_T_out_sensor.flow_model.DP_0 = turbine_T_out_sensor.flow_model.P_out_0 + -turbine_T_out_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + turbine_T_out_sensor.flow_model.h_in_0 = turbine_T_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + turbine_T_out_sensor.flow_model.h_out_0 = turbine_T_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density turbine_T_out_sensor.flow_model.rho_0 + = 1; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + turbine_T_out_sensor.flow_model.Q_0 = 500 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure turbine_T_out_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + turbine_T_out_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + turbine_T_out_sensor.flow_model.h_0 = 500000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Temperature + turbine_T_out_sensor.T_0 = 913.15; + parameter Real turbine_T_out_sensor.init_T = 300; + parameter String turbine_T_out_sensor.display_unit = "degC" "Specify the display unit"; + parameter Boolean turbine_T_out_sensor.display_output "Used to switch ON or OFF output display"; + parameter String turbine_T_out_sensor.signal_unit = "degC"; + parameter MetroscopeModelingLibrary.Utilities.Units.Area Reheater.S = 3000; + parameter Boolean Reheater.nominal_DT_default = true; + parameter String Reheater.QCp_max_side = "hot"; + parameter String Reheater.config = "monophasic_counter_current"; + parameter String Reheater.mixed_fluid = "hot"; + parameter Boolean Reheater.faulty = false; + parameter MetroscopeModelingLibrary.Utilities.Units.MassFlowRate + Reheater.Q_cold_0 = 85; + parameter MetroscopeModelingLibrary.Utilities.Units.MassFlowRate + Reheater.Q_hot_0 = 640; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + Reheater.T_cold_in_0 = 683.15; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + Reheater.T_cold_out_0 = 788.15; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + Reheater.T_hot_in_0 = 873.15; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + Reheater.T_hot_out_0 = 838.15; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Reheater.P_cold_in_0 + = 13000000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Reheater.P_cold_out_0 + = 12950000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Pressure Reheater.P_hot_in_0 + = 110000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Reheater.P_hot_out_0 + = 105000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Reheater.h_cold_in_0 = 3060000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Reheater.h_cold_out_0 = 3380000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Reheater.h_hot_in_0 = 960000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Reheater.h_hot_out_0 = 910000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.MassFlowRate + Reheater.HX.Q_hot_0 = 50 "Init parameter for Hot mass flow rate at the inlet"; + parameter MetroscopeModelingLibrary.Utilities.Units.MassFlowRate + Reheater.HX.Q_cold_0 = 1500 "Init parameter for Cold mass flow rate at the inlet"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + Reheater.HX.T_hot_in_0 = 473.15 "Init parameter for Hot mass flow rate at the inlet"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + Reheater.HX.T_cold_in_0 = Reheater.T_cold_in_0 "Init parameter for Cold mass flow rate at the inlet"; + parameter MetroscopeModelingLibrary.Utilities.Units.HeatCapacity + Reheater.HX.Cp_hot_0 = 45 "Init parameter for Hot fluid specific heat capacity"; + parameter MetroscopeModelingLibrary.Utilities.Units.HeatCapacity + Reheater.HX.Cp_cold_0 = 75 "Init parameter for Cold fluid specific heat capacity"; + parameter MetroscopeModelingLibrary.Utilities.Units.Area Reheater.HX.S_0 = 100 + "init parameter for Heat exchange surface"; + parameter MetroscopeModelingLibrary.Utilities.Units.HeatExchangeCoefficient + Reheater.HX.Kth_0 = 5000 "init parameter for Heat exchange coefficient"; + parameter String Reheater.HX.config = Reheater.config; + parameter String Reheater.HX.QCp_max_side = Reheater.QCp_max_side; + parameter String Reheater.HX.mixed_fluid = Reheater.mixed_fluid; + parameter Real Reheater.HX.QCpMIN_0(unit = "W/K") = (if Reheater.HX.QCp_max_side + == "hot" then Reheater.HX.Q_cold_0*Reheater.HX.Cp_cold_0 else (if + Reheater.HX.QCp_max_side == "cold" then Reheater.HX.Q_hot_0*Reheater.HX.Cp_hot_0 + else min(Reheater.HX.Q_cold_0*Reheater.HX.Cp_cold_0, Reheater.HX.Q_hot_0* + Reheater.HX.Cp_hot_0))); + parameter Real Reheater.HX.QCpMAX_0(unit = "W/K") = (if Reheater.HX.QCp_max_side + == "cold" then Reheater.HX.Q_cold_0*Reheater.HX.Cp_cold_0 else (if + Reheater.HX.QCp_max_side == "hot" then Reheater.HX.Q_hot_0*Reheater.HX.Cp_hot_0 + else max(Reheater.HX.Q_cold_0*Reheater.HX.Cp_cold_0, Reheater.HX.Q_hot_0* + Reheater.HX.Cp_hot_0))); + parameter Real Reheater.HX.NTU_0(unit = "1") = Reheater.HX.Kth_0* + Reheater.HX.S_0/Reheater.HX.QCpMIN_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Fraction Reheater.HX.Cr_0 + = 0.8; + parameter MetroscopeModelingLibrary.Utilities.Units.Fraction Reheater.HX.epsilon_0 + = 0.9; + parameter MetroscopeModelingLibrary.Utilities.Units.Power Reheater.HX.W_max_0 + = Reheater.HX.QCpMIN_0*(Reheater.HX.T_hot_in_0-Reheater.HX.T_cold_in_0); + parameter MetroscopeModelingLibrary.Utilities.Units.Power Reheater.HX.W_0 = + Reheater.HX.epsilon_0*Reheater.HX.W_max_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + Reheater.hot_side.T_in_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + Reheater.hot_side.T_out_0 = Reheater.T_hot_out_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Reheater.hot_side.P_in_0 + = 105000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Reheater.hot_side.P_out_0 + = 105000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + Reheater.hot_side.DP_0 = Reheater.hot_side.P_out_0-Reheater.hot_side.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Reheater.hot_side.h_in_0 = Reheater.h_hot_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Reheater.hot_side.h_out_0 = Reheater.h_hot_out_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density Reheater.hot_side.rho_0 + = 1; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Reheater.hot_side.Q_0 = Reheater.Q_hot_0 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Reheater.hot_side.P_0 + = 105000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + Reheater.cold_side.T_in_0 = Reheater.T_cold_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + Reheater.cold_side.T_out_0 = Reheater.T_cold_out_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Reheater.cold_side.P_in_0 + = 13000000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Reheater.cold_side.P_out_0 + = 13000000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + Reheater.cold_side.DP_0 = Reheater.cold_side.P_out_0-Reheater.cold_side.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Reheater.cold_side.h_in_0 = Reheater.h_cold_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Reheater.cold_side.h_out_0 = Reheater.h_cold_out_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density Reheater.cold_side.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Reheater.cold_side.Q_0 = Reheater.Q_cold_0 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Reheater.cold_side.P_0 + = 13000000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + Reheater.cold_side_pipe.T_in_0 = Reheater.cold_side_pipe.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + Reheater.cold_side_pipe.T_out_0 = Reheater.cold_side_pipe.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Reheater.cold_side_pipe.P_in_0 + = 13000000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Reheater.cold_side_pipe.P_out_0 + = 12950000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + Reheater.cold_side_pipe.DP_0 = Reheater.cold_side_pipe.P_out_0- + Reheater.cold_side_pipe.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Reheater.cold_side_pipe.h_in_0 = Reheater.cold_side_pipe.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Reheater.cold_side_pipe.h_out_0 = Reheater.cold_side_pipe.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density Reheater.cold_side_pipe.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Reheater.cold_side_pipe.Q_0 = Reheater.Q_cold_0 "Inlet Mass flow rate"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + Reheater.cold_side_pipe.T_0 = Reheater.T_cold_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Reheater.cold_side_pipe.h_0 = Reheater.h_cold_in_0; + parameter Boolean Reheater.cold_side_pipe.faulty = false; + parameter MetroscopeModelingLibrary.Utilities.Units.FrictionCoefficient + Reheater.cold_side_pipe.Kfr_constant = -Reheater.cold_side_pipe.DP_0* + Reheater.cold_side_pipe.rho_0/(Reheater.cold_side_pipe.Q_0*Reheater.cold_side_pipe.Q_0); + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + LPsteamTurbine.T_in_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + LPsteamTurbine.T_out_0 = 300; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure LPsteamTurbine.P_in_0 + = 6000000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure LPsteamTurbine.P_out_0 + = 5500000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + LPsteamTurbine.DP_0 = LPsteamTurbine.P_out_0-LPsteamTurbine.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + LPsteamTurbine.h_in_0 = 2700000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + LPsteamTurbine.h_out_0 = 2600000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density LPsteamTurbine.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + LPsteamTurbine.Q_0 = 1500 "Inlet Mass flow rate"; + parameter MetroscopeModelingLibrary.Utilities.Units.Cst LPsteamTurbine.Cst_constant + = 10000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Yield LPsteamTurbine.eta_is_constant + = 0.9; + parameter MetroscopeModelingLibrary.Utilities.Units.MassFraction + LPsteamTurbine.x_out_0 = min((LPsteamTurbine.h_out_0-LPsteamTurbine.h_liq_out_0) + /(LPsteamTurbine.h_vap_out_0-LPsteamTurbine.h_liq_out_0), 1); + parameter MetroscopeModelingLibrary.Utilities.Units.MassFraction + LPsteamTurbine.xm_0 = (LPsteamTurbine.x_out_0+LPsteamTurbine.x_in_0)/2; + parameter MetroscopeModelingLibrary.Utilities.Units.MassFraction + LPsteamTurbine.x_in_0 = min((LPsteamTurbine.h_in_0-LPsteamTurbine.h_liq_in_0) + /(LPsteamTurbine.h_vap_in_0-LPsteamTurbine.h_liq_in_0), 1); + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + LPsteamTurbine.h_vap_in_0 = Modelica.Media.Water.WaterIF97_ph.dewEnthalpy_Unique22 + ( + Modelica.Media.Water.WaterIF97_ph.setSat_p_Unique23(LPsteamTurbine.P_in_0)); + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + LPsteamTurbine.h_liq_in_0 = Modelica.Media.Water.WaterIF97_ph.bubbleEnthalpy_Unique24 + ( + Modelica.Media.Water.WaterIF97_ph.setSat_p_Unique23(LPsteamTurbine.P_in_0)); + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + LPsteamTurbine.h_vap_out_0 = Modelica.Media.Water.WaterIF97_ph.dewEnthalpy_Unique22 + ( + Modelica.Media.Water.WaterIF97_ph.setSat_p_Unique23(LPsteamTurbine.P_out_0)); + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + LPsteamTurbine.h_liq_out_0 = Modelica.Media.Water.WaterIF97_ph.bubbleEnthalpy_Unique24 + ( + Modelica.Media.Water.WaterIF97_ph.setSat_p_Unique23(LPsteamTurbine.P_out_0)); + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_w_ReH_out_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_ReH_out_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_w_ReH_out_sensor.h_0 = 500000.0; + parameter Boolean T_w_ReH_out_sensor.faulty_flow_rate = false; + parameter String T_w_ReH_out_sensor.sensor_function = "Calibration" + "Specify if the sensor is a BC or used for calibration"; + parameter String T_w_ReH_out_sensor.causality = "RHT_Kth" "Specify which parameter is calibrated by this sensor"; + parameter Boolean T_w_ReH_out_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_w_ReH_out_sensor.flow_model.T_in_0 = T_w_ReH_out_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_w_ReH_out_sensor.flow_model.T_out_0 = T_w_ReH_out_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_ReH_out_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_ReH_out_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + T_w_ReH_out_sensor.flow_model.DP_0 = T_w_ReH_out_sensor.flow_model.P_out_0- + T_w_ReH_out_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_w_ReH_out_sensor.flow_model.h_in_0 = T_w_ReH_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_w_ReH_out_sensor.flow_model.h_out_0 = T_w_ReH_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density T_w_ReH_out_sensor.flow_model.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_w_ReH_out_sensor.flow_model.Q_0 = 1000 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_ReH_out_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_w_ReH_out_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_w_ReH_out_sensor.flow_model.h_0 = 500000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Temperature + T_w_ReH_out_sensor.T_0 = 300; + parameter Real T_w_ReH_out_sensor.init_T = 300; + parameter String T_w_ReH_out_sensor.display_unit = "degC" "Specify the display unit"; + parameter Boolean T_w_ReH_out_sensor.display_output "Used to switch ON or OFF output display"; + parameter String T_w_ReH_out_sensor.signal_unit = "degC"; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_w_ReH_out_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_ReH_out_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_w_ReH_out_sensor.h_0 = 500000.0; + parameter Boolean P_w_ReH_out_sensor.faulty_flow_rate = false; + parameter String P_w_ReH_out_sensor.sensor_function = "Calibration" + "Specify if the sensor is a BC or used for calibration"; + parameter String P_w_ReH_out_sensor.causality = "LPST_valve_CV" + "Specify which parameter is calibrated by this sensor"; + parameter Boolean P_w_ReH_out_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_w_ReH_out_sensor.flow_model.T_in_0 = P_w_ReH_out_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_w_ReH_out_sensor.flow_model.T_out_0 = P_w_ReH_out_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_ReH_out_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_ReH_out_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + P_w_ReH_out_sensor.flow_model.DP_0 = P_w_ReH_out_sensor.flow_model.P_out_0- + P_w_ReH_out_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_w_ReH_out_sensor.flow_model.h_in_0 = P_w_ReH_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_w_ReH_out_sensor.flow_model.h_out_0 = P_w_ReH_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density P_w_ReH_out_sensor.flow_model.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_w_ReH_out_sensor.flow_model.Q_0 = 1000 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_ReH_out_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_w_ReH_out_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_w_ReH_out_sensor.flow_model.h_0 = 500000.0; + parameter Real P_w_ReH_out_sensor.init_P = 1; + parameter Boolean P_w_ReH_out_sensor.display_output "Used to switch ON or OFF output display"; + parameter String P_w_ReH_out_sensor.display_unit = "barA" "Specify the display unit"; + parameter String P_w_ReH_out_sensor.signal_unit = "barA"; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_Cond_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_Cond_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_Cond_sensor.h_0 = 500000.0; + parameter Boolean P_Cond_sensor.faulty_flow_rate = false; + parameter String P_Cond_sensor.sensor_function = "Calibration" + "Specify if the sensor is a BC or used for calibration"; + parameter String P_Cond_sensor.causality = "Cond_Kth" "Specify which parameter is calibrated by this sensor"; + parameter Boolean P_Cond_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_Cond_sensor.flow_model.T_in_0 = P_Cond_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_Cond_sensor.flow_model.T_out_0 = P_Cond_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_Cond_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_Cond_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + P_Cond_sensor.flow_model.DP_0 = P_Cond_sensor.flow_model.P_out_0- + P_Cond_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_Cond_sensor.flow_model.h_in_0 = P_Cond_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_Cond_sensor.flow_model.h_out_0 = P_Cond_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density P_Cond_sensor.flow_model.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_Cond_sensor.flow_model.Q_0 = 1000 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_Cond_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_Cond_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_Cond_sensor.flow_model.h_0 = 500000.0; + parameter Real P_Cond_sensor.init_P = 1; + parameter Boolean P_Cond_sensor.display_output "Used to switch ON or OFF output display"; + parameter String P_Cond_sensor.display_unit = "mbar" "Specify the display unit"; + parameter String P_Cond_sensor.signal_unit = "mbar"; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_source_air_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_source_air_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_source_air_sensor.h_0 = 500000.0; + parameter Boolean P_source_air_sensor.faulty_flow_rate = false; + parameter String P_source_air_sensor.sensor_function = "BC" "Specify if the sensor is a BC or used for calibration"; + parameter String P_source_air_sensor.causality = "" "Specify which parameter is calibrated by this sensor"; + parameter Boolean P_source_air_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_source_air_sensor.flow_model.T_in_0 = P_source_air_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_source_air_sensor.flow_model.T_out_0 = P_source_air_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_source_air_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_source_air_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + P_source_air_sensor.flow_model.DP_0 = P_source_air_sensor.flow_model.P_out_0 + -P_source_air_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_source_air_sensor.flow_model.h_in_0 = P_source_air_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_source_air_sensor.flow_model.h_out_0 = P_source_air_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density P_source_air_sensor.flow_model.rho_0 + = 1; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_source_air_sensor.flow_model.Q_0 = 500 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_source_air_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_source_air_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_source_air_sensor.flow_model.h_0 = 500000.0; + parameter Real P_source_air_sensor.init_P = 1; + parameter Boolean P_source_air_sensor.display_output "Used to switch ON or OFF output display"; + parameter String P_source_air_sensor.display_unit = "barA" "Specify the display unit"; + parameter String P_source_air_sensor.signal_unit = "barA"; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_source_air_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_source_air_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_source_air_sensor.h_0 = 500000.0; + parameter Boolean T_source_air_sensor.faulty_flow_rate = false; + parameter String T_source_air_sensor.sensor_function = "BC" "Specify if the sensor is a BC or used for calibration"; + parameter String T_source_air_sensor.causality = "" "Specify which parameter is calibrated by this sensor"; + parameter Boolean T_source_air_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_source_air_sensor.flow_model.T_in_0 = T_source_air_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_source_air_sensor.flow_model.T_out_0 = T_source_air_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_source_air_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_source_air_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + T_source_air_sensor.flow_model.DP_0 = T_source_air_sensor.flow_model.P_out_0 + -T_source_air_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_source_air_sensor.flow_model.h_in_0 = T_source_air_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_source_air_sensor.flow_model.h_out_0 = T_source_air_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density T_source_air_sensor.flow_model.rho_0 + = 1; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_source_air_sensor.flow_model.Q_0 = 500 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_source_air_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_source_air_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_source_air_sensor.flow_model.h_0 = 500000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Temperature + T_source_air_sensor.T_0 = 300; + parameter Real T_source_air_sensor.init_T = 300; + parameter String T_source_air_sensor.display_unit = "degC" "Specify the display unit"; + parameter Boolean T_source_air_sensor.display_output "Used to switch ON or OFF output display"; + parameter String T_source_air_sensor.signal_unit = "degC"; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Q_source_air_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Q_source_air_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Q_source_air_sensor.h_0 = 500000.0; + parameter Boolean Q_source_air_sensor.faulty_flow_rate = Q_source_air_sensor.faulty; + parameter String Q_source_air_sensor.sensor_function = "BC" "Specify if the sensor is a BC or used for calibration"; + parameter String Q_source_air_sensor.causality = "" "Specify which parameter is calibrated by this sensor"; + parameter Boolean Q_source_air_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + Q_source_air_sensor.flow_model.T_in_0 = Q_source_air_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + Q_source_air_sensor.flow_model.T_out_0 = Q_source_air_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Q_source_air_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Q_source_air_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + Q_source_air_sensor.flow_model.DP_0 = Q_source_air_sensor.flow_model.P_out_0 + -Q_source_air_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Q_source_air_sensor.flow_model.h_in_0 = Q_source_air_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Q_source_air_sensor.flow_model.h_out_0 = Q_source_air_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density Q_source_air_sensor.flow_model.rho_0 + = 1; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Q_source_air_sensor.flow_model.Q_0 = 500 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Q_source_air_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + Q_source_air_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Q_source_air_sensor.flow_model.h_0 = 500000.0; + constant MetroscopeModelingLibrary.Utilities.Units.VolumeFlowRate + Q_source_air_sensor.Qv_0 = 0.1; + parameter Boolean Q_source_air_sensor.faulty = false; + parameter String Q_source_air_sensor.display_unit = "kg/s" "Specify the display unit"; + parameter Boolean Q_source_air_sensor.display_output "Used to switch ON or OFF output display"; + parameter String Q_source_air_sensor.signal_unit = "kg/s"; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_circulating_water_in_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_circulating_water_in_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_circulating_water_in_sensor.h_0 = 500000.0; + parameter Boolean T_circulating_water_in_sensor.faulty_flow_rate = false; + parameter String T_circulating_water_in_sensor.sensor_function = "BC" + "Specify if the sensor is a BC or used for calibration"; + parameter String T_circulating_water_in_sensor.causality = "" "Specify which parameter is calibrated by this sensor"; + parameter Boolean T_circulating_water_in_sensor.show_causality + "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_circulating_water_in_sensor.flow_model.T_in_0 = T_circulating_water_in_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_circulating_water_in_sensor.flow_model.T_out_0 = T_circulating_water_in_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_circulating_water_in_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_circulating_water_in_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + T_circulating_water_in_sensor.flow_model.DP_0 = T_circulating_water_in_sensor.flow_model.P_out_0 + -T_circulating_water_in_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_circulating_water_in_sensor.flow_model.h_in_0 = T_circulating_water_in_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_circulating_water_in_sensor.flow_model.h_out_0 = T_circulating_water_in_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density T_circulating_water_in_sensor.flow_model.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_circulating_water_in_sensor.flow_model.Q_0 = 1000 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_circulating_water_in_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_circulating_water_in_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_circulating_water_in_sensor.flow_model.h_0 = 500000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Temperature + T_circulating_water_in_sensor.T_0 = 300; + parameter Real T_circulating_water_in_sensor.init_T = 300; + parameter String T_circulating_water_in_sensor.display_unit = "degC" + "Specify the display unit"; + parameter Boolean T_circulating_water_in_sensor.display_output + "Used to switch ON or OFF output display"; + parameter String T_circulating_water_in_sensor.signal_unit = "degC"; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_circulating_water_in_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_circulating_water_in_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_circulating_water_in_sensor.h_0 = 500000.0; + parameter Boolean P_circulating_water_in_sensor.faulty_flow_rate = false; + parameter String P_circulating_water_in_sensor.sensor_function = "BC" + "Specify if the sensor is a BC or used for calibration"; + parameter String P_circulating_water_in_sensor.causality = "" "Specify which parameter is calibrated by this sensor"; + parameter Boolean P_circulating_water_in_sensor.show_causality + "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_circulating_water_in_sensor.flow_model.T_in_0 = P_circulating_water_in_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_circulating_water_in_sensor.flow_model.T_out_0 = P_circulating_water_in_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_circulating_water_in_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_circulating_water_in_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + P_circulating_water_in_sensor.flow_model.DP_0 = P_circulating_water_in_sensor.flow_model.P_out_0 + -P_circulating_water_in_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_circulating_water_in_sensor.flow_model.h_in_0 = P_circulating_water_in_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_circulating_water_in_sensor.flow_model.h_out_0 = P_circulating_water_in_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density P_circulating_water_in_sensor.flow_model.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_circulating_water_in_sensor.flow_model.Q_0 = 1000 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_circulating_water_in_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_circulating_water_in_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_circulating_water_in_sensor.flow_model.h_0 = 500000.0; + parameter Real P_circulating_water_in_sensor.init_P = 1; + parameter Boolean P_circulating_water_in_sensor.display_output + "Used to switch ON or OFF output display"; + parameter String P_circulating_water_in_sensor.display_unit = "barA" + "Specify the display unit"; + parameter String P_circulating_water_in_sensor.signal_unit = "barA"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + LPST_control_valve.T_in_0 = LPST_control_valve.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + LPST_control_valve.T_out_0 = LPST_control_valve.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure LPST_control_valve.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure LPST_control_valve.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + LPST_control_valve.DP_0 = LPST_control_valve.P_out_0-LPST_control_valve.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + LPST_control_valve.h_in_0 = LPST_control_valve.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + LPST_control_valve.h_out_0 = LPST_control_valve.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density LPST_control_valve.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + LPST_control_valve.Q_0 = 1000 "Inlet Mass flow rate"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + LPST_control_valve.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + LPST_control_valve.h_0 = 500000.0; + parameter Boolean LPST_control_valve.faulty = false; + parameter Real LPST_control_valve.Cv_constant = 10000.0; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_LPST_in_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_LPST_in_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_LPST_in_sensor.h_0 = 500000.0; + parameter Boolean P_LPST_in_sensor.faulty_flow_rate = false; + parameter String P_LPST_in_sensor.sensor_function = "Calibration" + "Specify if the sensor is a BC or used for calibration"; + parameter String P_LPST_in_sensor.causality = "LPST_Cst" "Specify which parameter is calibrated by this sensor"; + parameter Boolean P_LPST_in_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_LPST_in_sensor.flow_model.T_in_0 = P_LPST_in_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_LPST_in_sensor.flow_model.T_out_0 = P_LPST_in_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_LPST_in_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_LPST_in_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + P_LPST_in_sensor.flow_model.DP_0 = P_LPST_in_sensor.flow_model.P_out_0- + P_LPST_in_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_LPST_in_sensor.flow_model.h_in_0 = P_LPST_in_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_LPST_in_sensor.flow_model.h_out_0 = P_LPST_in_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density P_LPST_in_sensor.flow_model.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_LPST_in_sensor.flow_model.Q_0 = 1000 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_LPST_in_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_LPST_in_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_LPST_in_sensor.flow_model.h_0 = 500000.0; + parameter Real P_LPST_in_sensor.init_P = 1; + parameter Boolean P_LPST_in_sensor.display_output "Used to switch ON or OFF output display"; + parameter String P_LPST_in_sensor.display_unit = "barA" "Specify the display unit"; + parameter String P_LPST_in_sensor.signal_unit = "barA"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature pumpRec.T_in_0 + = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + pumpRec.T_out_0 = 300; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure pumpRec.P_in_0 = + 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure pumpRec.P_out_0 = + 1000000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + pumpRec.DP_0 = pumpRec.P_out_0-pumpRec.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + pumpRec.h_in_0 = 500000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + pumpRec.h_out_0 = 500000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density pumpRec.rho_0 = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + pumpRec.Q_0 = 1 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_pumpRec_out_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_pumpRec_out_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_pumpRec_out_sensor.h_0 = 500000.0; + parameter Boolean T_pumpRec_out_sensor.faulty_flow_rate = false; + parameter String T_pumpRec_out_sensor.sensor_function = "Calibration" + "Specify if the sensor is a BC or used for calibration"; + parameter String T_pumpRec_out_sensor.causality = "rh" "Specify which parameter is calibrated by this sensor"; + parameter Boolean T_pumpRec_out_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_pumpRec_out_sensor.flow_model.T_in_0 = T_pumpRec_out_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_pumpRec_out_sensor.flow_model.T_out_0 = T_pumpRec_out_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_pumpRec_out_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_pumpRec_out_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + T_pumpRec_out_sensor.flow_model.DP_0 = T_pumpRec_out_sensor.flow_model.P_out_0 + -T_pumpRec_out_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_pumpRec_out_sensor.flow_model.h_in_0 = T_pumpRec_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_pumpRec_out_sensor.flow_model.h_out_0 = T_pumpRec_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density T_pumpRec_out_sensor.flow_model.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_pumpRec_out_sensor.flow_model.Q_0 = 1000 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_pumpRec_out_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_pumpRec_out_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_pumpRec_out_sensor.flow_model.h_0 = 500000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Temperature + T_pumpRec_out_sensor.T_0 = 300; + parameter Real T_pumpRec_out_sensor.init_T = 300; + parameter String T_pumpRec_out_sensor.display_unit = "degC" "Specify the display unit"; + parameter Boolean T_pumpRec_out_sensor.display_output "Used to switch ON or OFF output display"; + parameter String T_pumpRec_out_sensor.signal_unit = "degC"; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_pumpRec_out_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_pumpRec_out_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_pumpRec_out_sensor.h_0 = 500000.0; + parameter Boolean P_pumpRec_out_sensor.faulty_flow_rate = false; + parameter String P_pumpRec_out_sensor.sensor_function = "Calibration" + "Specify if the sensor is a BC or used for calibration"; + parameter String P_pumpRec_out_sensor.causality = "hn" "Specify which parameter is calibrated by this sensor"; + parameter Boolean P_pumpRec_out_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_pumpRec_out_sensor.flow_model.T_in_0 = P_pumpRec_out_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_pumpRec_out_sensor.flow_model.T_out_0 = P_pumpRec_out_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_pumpRec_out_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_pumpRec_out_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + P_pumpRec_out_sensor.flow_model.DP_0 = P_pumpRec_out_sensor.flow_model.P_out_0 + -P_pumpRec_out_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_pumpRec_out_sensor.flow_model.h_in_0 = P_pumpRec_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_pumpRec_out_sensor.flow_model.h_out_0 = P_pumpRec_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density P_pumpRec_out_sensor.flow_model.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_pumpRec_out_sensor.flow_model.Q_0 = 1000 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_pumpRec_out_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_pumpRec_out_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_pumpRec_out_sensor.flow_model.h_0 = 500000.0; + parameter Real P_pumpRec_out_sensor.init_P = 1; + parameter Boolean P_pumpRec_out_sensor.display_output "Used to switch ON or OFF output display"; + parameter String P_pumpRec_out_sensor.display_unit = "barA" "Specify the display unit"; + parameter String P_pumpRec_out_sensor.signal_unit = "barA"; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Q_pumpRec_out_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Q_pumpRec_out_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Q_pumpRec_out_sensor.h_0 = 500000.0; + parameter Boolean Q_pumpRec_out_sensor.faulty_flow_rate = Q_pumpRec_out_sensor.faulty; + parameter String Q_pumpRec_out_sensor.sensor_function = "Unidentified" + "Specify if the sensor is a BC or used for calibration"; + parameter String Q_pumpRec_out_sensor.causality = "" "Specify which parameter is calibrated by this sensor"; + parameter Boolean Q_pumpRec_out_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + Q_pumpRec_out_sensor.flow_model.T_in_0 = Q_pumpRec_out_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + Q_pumpRec_out_sensor.flow_model.T_out_0 = Q_pumpRec_out_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Q_pumpRec_out_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Q_pumpRec_out_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + Q_pumpRec_out_sensor.flow_model.DP_0 = Q_pumpRec_out_sensor.flow_model.P_out_0 + -Q_pumpRec_out_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Q_pumpRec_out_sensor.flow_model.h_in_0 = Q_pumpRec_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Q_pumpRec_out_sensor.flow_model.h_out_0 = Q_pumpRec_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density Q_pumpRec_out_sensor.flow_model.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Q_pumpRec_out_sensor.flow_model.Q_0 = 1000 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Q_pumpRec_out_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + Q_pumpRec_out_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Q_pumpRec_out_sensor.flow_model.h_0 = 500000.0; + constant MetroscopeModelingLibrary.Utilities.Units.VolumeFlowRate + Q_pumpRec_out_sensor.Qv_0 = 0.1; + parameter Boolean Q_pumpRec_out_sensor.faulty = false; + parameter String Q_pumpRec_out_sensor.display_unit = "kg/s" "Specify the display unit"; + parameter Boolean Q_pumpRec_out_sensor.display_output "Used to switch ON or OFF output display"; + parameter String Q_pumpRec_out_sensor.signal_unit = "kg/s"; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_w_eco_in_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_eco_in_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_w_eco_in_sensor.h_0 = 500000.0; + parameter Boolean T_w_eco_in_sensor.faulty_flow_rate = false; + parameter String T_w_eco_in_sensor.sensor_function = "BC" "Specify if the sensor is a BC or used for calibration"; + parameter String T_w_eco_in_sensor.causality = "" "Specify which parameter is calibrated by this sensor"; + parameter Boolean T_w_eco_in_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_w_eco_in_sensor.flow_model.T_in_0 = T_w_eco_in_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_w_eco_in_sensor.flow_model.T_out_0 = T_w_eco_in_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_eco_in_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_eco_in_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + T_w_eco_in_sensor.flow_model.DP_0 = T_w_eco_in_sensor.flow_model.P_out_0- + T_w_eco_in_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_w_eco_in_sensor.flow_model.h_in_0 = T_w_eco_in_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_w_eco_in_sensor.flow_model.h_out_0 = T_w_eco_in_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density T_w_eco_in_sensor.flow_model.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_w_eco_in_sensor.flow_model.Q_0 = 1000 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_eco_in_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_w_eco_in_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_w_eco_in_sensor.flow_model.h_0 = 500000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Temperature + T_w_eco_in_sensor.T_0 = 300; + parameter Real T_w_eco_in_sensor.init_T = 300; + parameter String T_w_eco_in_sensor.display_unit = "degC" "Specify the display unit"; + parameter Boolean T_w_eco_in_sensor.display_output "Used to switch ON or OFF output display"; + parameter String T_w_eco_in_sensor.signal_unit = "degC"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + pumpRec_controlValve.T_in_0 = pumpRec_controlValve.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + pumpRec_controlValve.T_out_0 = pumpRec_controlValve.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure pumpRec_controlValve.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure pumpRec_controlValve.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + pumpRec_controlValve.DP_0 = pumpRec_controlValve.P_out_0-pumpRec_controlValve.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + pumpRec_controlValve.h_in_0 = pumpRec_controlValve.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + pumpRec_controlValve.h_out_0 = pumpRec_controlValve.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density pumpRec_controlValve.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + pumpRec_controlValve.Q_0 = 1000 "Inlet Mass flow rate"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + pumpRec_controlValve.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + pumpRec_controlValve.h_0 = 500000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Cv pumpRec_controlValve.Cv_max_constant + = 10000.0 "Maximum CV"; + constant MetroscopeModelingLibrary.Utilities.Units.Percentage pumpRec_opening_sensor.Opening_pc_0 + = 15; + parameter String pumpRec_opening_sensor.sensor_function = "Calibration" + "Specify if the sensor is a BC or used for calibration"; + parameter String pumpRec_opening_sensor.causality = "Cvmax" "Specify which parameter is calibrated by this sensor"; + parameter Boolean pumpRec_opening_sensor.display_output = true + "Used to switch ON or OFF output display"; + parameter String pumpRec_opening_sensor.output_signal_unit = ""; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_flue_gas_sink_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_flue_gas_sink_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_flue_gas_sink_sensor.h_0 = 500000.0; + parameter Boolean P_flue_gas_sink_sensor.faulty_flow_rate = false; + parameter String P_flue_gas_sink_sensor.sensor_function = "BC" + "Specify if the sensor is a BC or used for calibration"; + parameter String P_flue_gas_sink_sensor.causality = "" "Specify which parameter is calibrated by this sensor"; + parameter Boolean P_flue_gas_sink_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_flue_gas_sink_sensor.flow_model.T_in_0 = P_flue_gas_sink_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_flue_gas_sink_sensor.flow_model.T_out_0 = P_flue_gas_sink_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_flue_gas_sink_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_flue_gas_sink_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + P_flue_gas_sink_sensor.flow_model.DP_0 = P_flue_gas_sink_sensor.flow_model.P_out_0 + -P_flue_gas_sink_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_flue_gas_sink_sensor.flow_model.h_in_0 = P_flue_gas_sink_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_flue_gas_sink_sensor.flow_model.h_out_0 = P_flue_gas_sink_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density P_flue_gas_sink_sensor.flow_model.rho_0 + = 1; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_flue_gas_sink_sensor.flow_model.Q_0 = 500 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_flue_gas_sink_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_flue_gas_sink_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_flue_gas_sink_sensor.flow_model.h_0 = 500000.0; + parameter Real P_flue_gas_sink_sensor.init_P = 1; + parameter Boolean P_flue_gas_sink_sensor.display_output "Used to switch ON or OFF output display"; + parameter String P_flue_gas_sink_sensor.display_unit = "barA" "Specify the display unit"; + parameter String P_flue_gas_sink_sensor.signal_unit = "barA"; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_fuel_source_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_fuel_source_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_fuel_source_sensor.h_0 = 500000.0; + parameter Boolean P_fuel_source_sensor.faulty_flow_rate = false; + parameter String P_fuel_source_sensor.sensor_function = "BC" "Specify if the sensor is a BC or used for calibration"; + parameter String P_fuel_source_sensor.causality = "" "Specify which parameter is calibrated by this sensor"; + parameter Boolean P_fuel_source_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_fuel_source_sensor.flow_model.T_in_0 = P_fuel_source_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_fuel_source_sensor.flow_model.T_out_0 = P_fuel_source_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_fuel_source_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_fuel_source_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + P_fuel_source_sensor.flow_model.DP_0 = P_fuel_source_sensor.flow_model.P_out_0 + -P_fuel_source_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_fuel_source_sensor.flow_model.h_in_0 = P_fuel_source_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_fuel_source_sensor.flow_model.h_out_0 = P_fuel_source_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density P_fuel_source_sensor.flow_model.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_fuel_source_sensor.flow_model.Q_0 = 1000 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_fuel_source_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_fuel_source_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_fuel_source_sensor.flow_model.h_0 = 500000.0; + parameter Real P_fuel_source_sensor.init_P = 1; + parameter Boolean P_fuel_source_sensor.display_output "Used to switch ON or OFF output display"; + parameter String P_fuel_source_sensor.display_unit = "barA" "Specify the display unit"; + parameter String P_fuel_source_sensor.signal_unit = "barA"; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_fuel_source_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_fuel_source_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_fuel_source_sensor.h_0 = 500000.0; + parameter Boolean T_fuel_source_sensor.faulty_flow_rate = false; + parameter String T_fuel_source_sensor.sensor_function = "BC" "Specify if the sensor is a BC or used for calibration"; + parameter String T_fuel_source_sensor.causality = "" "Specify which parameter is calibrated by this sensor"; + parameter Boolean T_fuel_source_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_fuel_source_sensor.flow_model.T_in_0 = T_fuel_source_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_fuel_source_sensor.flow_model.T_out_0 = T_fuel_source_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_fuel_source_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_fuel_source_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + T_fuel_source_sensor.flow_model.DP_0 = T_fuel_source_sensor.flow_model.P_out_0 + -T_fuel_source_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_fuel_source_sensor.flow_model.h_in_0 = T_fuel_source_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_fuel_source_sensor.flow_model.h_out_0 = T_fuel_source_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density T_fuel_source_sensor.flow_model.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_fuel_source_sensor.flow_model.Q_0 = 1000 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_fuel_source_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_fuel_source_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_fuel_source_sensor.flow_model.h_0 = 500000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Temperature + T_fuel_source_sensor.T_0 = 300; + parameter Real T_fuel_source_sensor.init_T = 300; + parameter String T_fuel_source_sensor.display_unit = "degC" "Specify the display unit"; + parameter Boolean T_fuel_source_sensor.display_output "Used to switch ON or OFF output display"; + parameter String T_fuel_source_sensor.signal_unit = "degC"; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Q_fuel_source_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Q_fuel_source_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Q_fuel_source_sensor.h_0 = 500000.0; + parameter Boolean Q_fuel_source_sensor.faulty_flow_rate = Q_fuel_source_sensor.faulty; + parameter String Q_fuel_source_sensor.sensor_function = "Unidentified" + "Specify if the sensor is a BC or used for calibration"; + parameter String Q_fuel_source_sensor.causality = "" "Specify which parameter is calibrated by this sensor"; + parameter Boolean Q_fuel_source_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + Q_fuel_source_sensor.flow_model.T_in_0 = Q_fuel_source_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + Q_fuel_source_sensor.flow_model.T_out_0 = Q_fuel_source_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Q_fuel_source_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Q_fuel_source_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + Q_fuel_source_sensor.flow_model.DP_0 = Q_fuel_source_sensor.flow_model.P_out_0 + -Q_fuel_source_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Q_fuel_source_sensor.flow_model.h_in_0 = Q_fuel_source_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Q_fuel_source_sensor.flow_model.h_out_0 = Q_fuel_source_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density Q_fuel_source_sensor.flow_model.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Q_fuel_source_sensor.flow_model.Q_0 = 1000 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Q_fuel_source_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + Q_fuel_source_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Q_fuel_source_sensor.flow_model.h_0 = 500000.0; + constant MetroscopeModelingLibrary.Utilities.Units.VolumeFlowRate + Q_fuel_source_sensor.Qv_0 = 0.1; + parameter Boolean Q_fuel_source_sensor.faulty = false; + parameter String Q_fuel_source_sensor.display_unit = "kg/s" "Specify the display unit"; + parameter Boolean Q_fuel_source_sensor.display_output "Used to switch ON or OFF output display"; + parameter String Q_fuel_source_sensor.signal_unit = "kg/s"; + parameter MetroscopeModelingLibrary.Utilities.Units.Yield GT_generator.eta = + 0.998 "Generator's efficiency"; + parameter MetroscopeModelingLibrary.Utilities.Units.Yield ST_generator.eta = + 0.998 "Generator's efficiency"; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_flue_gas_sink_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_flue_gas_sink_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_flue_gas_sink_sensor.h_0 = 500000.0; + parameter Boolean T_flue_gas_sink_sensor.faulty_flow_rate = false; + parameter String T_flue_gas_sink_sensor.sensor_function = "Unidentified" + "Specify if the sensor is a BC or used for calibration"; + parameter String T_flue_gas_sink_sensor.causality = "" "Specify which parameter is calibrated by this sensor"; + parameter Boolean T_flue_gas_sink_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_flue_gas_sink_sensor.flow_model.T_in_0 = T_flue_gas_sink_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_flue_gas_sink_sensor.flow_model.T_out_0 = T_flue_gas_sink_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_flue_gas_sink_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_flue_gas_sink_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + T_flue_gas_sink_sensor.flow_model.DP_0 = T_flue_gas_sink_sensor.flow_model.P_out_0 + -T_flue_gas_sink_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_flue_gas_sink_sensor.flow_model.h_in_0 = T_flue_gas_sink_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_flue_gas_sink_sensor.flow_model.h_out_0 = T_flue_gas_sink_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density T_flue_gas_sink_sensor.flow_model.rho_0 + = 1; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_flue_gas_sink_sensor.flow_model.Q_0 = 500 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_flue_gas_sink_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_flue_gas_sink_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_flue_gas_sink_sensor.flow_model.h_0 = 500000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Temperature + T_flue_gas_sink_sensor.T_0 = 300; + parameter Real T_flue_gas_sink_sensor.init_T = 300; + parameter String T_flue_gas_sink_sensor.display_unit = "degC" "Specify the display unit"; + parameter Boolean T_flue_gas_sink_sensor.display_output "Used to switch ON or OFF output display"; + parameter String T_flue_gas_sink_sensor.signal_unit = "degC"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + AirFilter.T_in_0 = AirFilter.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + AirFilter.T_out_0 = AirFilter.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure AirFilter.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure AirFilter.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + AirFilter.DP_0 = AirFilter.P_out_0-AirFilter.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + AirFilter.h_in_0 = AirFilter.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + AirFilter.h_out_0 = AirFilter.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density AirFilter.rho_0 = 1; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + AirFilter.Q_0 = 50 "Inlet Mass flow rate"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature AirFilter.T_0 + = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + AirFilter.h_0 = 500000.0; + parameter Boolean AirFilter.faulty = false; + parameter MetroscopeModelingLibrary.Utilities.Units.FrictionCoefficient + AirFilter.Kfr_constant = -AirFilter.DP_0*AirFilter.rho_0/(AirFilter.Q_0* + AirFilter.Q_0); + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_filter_out_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_filter_out_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_filter_out_sensor.h_0 = 500000.0; + parameter Boolean P_filter_out_sensor.faulty_flow_rate = false; + parameter String P_filter_out_sensor.sensor_function = "Calibration" + "Specify if the sensor is a BC or used for calibration"; + parameter String P_filter_out_sensor.causality = "Filter_Kfr" "Specify which parameter is calibrated by this sensor"; + parameter Boolean P_filter_out_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_filter_out_sensor.flow_model.T_in_0 = P_filter_out_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_filter_out_sensor.flow_model.T_out_0 = P_filter_out_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_filter_out_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_filter_out_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + P_filter_out_sensor.flow_model.DP_0 = P_filter_out_sensor.flow_model.P_out_0 + -P_filter_out_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_filter_out_sensor.flow_model.h_in_0 = P_filter_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_filter_out_sensor.flow_model.h_out_0 = P_filter_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density P_filter_out_sensor.flow_model.rho_0 + = 1; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_filter_out_sensor.flow_model.Q_0 = 500 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_filter_out_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_filter_out_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_filter_out_sensor.flow_model.h_0 = 500000.0; + parameter Real P_filter_out_sensor.init_P = 1; + parameter Boolean P_filter_out_sensor.display_output "Used to switch ON or OFF output display"; + parameter String P_filter_out_sensor.display_unit = "mbar" "Specify the display unit"; + parameter String P_filter_out_sensor.signal_unit = "barA"; + parameter MetroscopeModelingLibrary.Utilities.Units.Area HPsuperheater2.S = 3000; + parameter Boolean HPsuperheater2.nominal_DT_default = true; + parameter String HPsuperheater2.QCp_max_side = "hot"; + parameter String HPsuperheater2.config = "monophasic_counter_current"; + parameter String HPsuperheater2.mixed_fluid = "hot"; + parameter Boolean HPsuperheater2.faulty = false; + parameter MetroscopeModelingLibrary.Utilities.Units.MassFlowRate + HPsuperheater2.Q_cold_0 = 85; + parameter MetroscopeModelingLibrary.Utilities.Units.MassFlowRate + HPsuperheater2.Q_hot_0 = 640; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + HPsuperheater2.T_cold_in_0 = 683.15; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + HPsuperheater2.T_cold_out_0 = 788.15; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + HPsuperheater2.T_hot_in_0 = 873.15; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + HPsuperheater2.T_hot_out_0 = 838.15; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater2.P_cold_in_0 + = 13000000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater2.P_cold_out_0 + = 12950000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater2.P_hot_in_0 + = 110000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater2.P_hot_out_0 + = 105000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + HPsuperheater2.h_cold_in_0 = 3060000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + HPsuperheater2.h_cold_out_0 = 3380000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + HPsuperheater2.h_hot_in_0 = 960000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + HPsuperheater2.h_hot_out_0 = 910000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.MassFlowRate + HPsuperheater2.HX.Q_hot_0 = 50 "Init parameter for Hot mass flow rate at the inlet"; + parameter MetroscopeModelingLibrary.Utilities.Units.MassFlowRate + HPsuperheater2.HX.Q_cold_0 = 1500 "Init parameter for Cold mass flow rate at the inlet"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + HPsuperheater2.HX.T_hot_in_0 = 473.15 "Init parameter for Hot mass flow rate at the inlet"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + HPsuperheater2.HX.T_cold_in_0 = HPsuperheater2.T_cold_in_0 "Init parameter for Cold mass flow rate at the inlet"; + parameter MetroscopeModelingLibrary.Utilities.Units.HeatCapacity + HPsuperheater2.HX.Cp_hot_0 = 45 "Init parameter for Hot fluid specific heat capacity"; + parameter MetroscopeModelingLibrary.Utilities.Units.HeatCapacity + HPsuperheater2.HX.Cp_cold_0 = 75 "Init parameter for Cold fluid specific heat capacity"; + parameter MetroscopeModelingLibrary.Utilities.Units.Area HPsuperheater2.HX.S_0 + = 100 "init parameter for Heat exchange surface"; + parameter MetroscopeModelingLibrary.Utilities.Units.HeatExchangeCoefficient + HPsuperheater2.HX.Kth_0 = 5000 "init parameter for Heat exchange coefficient"; + parameter String HPsuperheater2.HX.config = HPsuperheater2.config; + parameter String HPsuperheater2.HX.QCp_max_side = HPsuperheater2.QCp_max_side; + parameter String HPsuperheater2.HX.mixed_fluid = HPsuperheater2.mixed_fluid; + parameter Real HPsuperheater2.HX.QCpMIN_0(unit = "W/K") = (if HPsuperheater2.HX.QCp_max_side + == "hot" then HPsuperheater2.HX.Q_cold_0*HPsuperheater2.HX.Cp_cold_0 else ( + if HPsuperheater2.HX.QCp_max_side == "cold" then HPsuperheater2.HX.Q_hot_0* + HPsuperheater2.HX.Cp_hot_0 else min(HPsuperheater2.HX.Q_cold_0* + HPsuperheater2.HX.Cp_cold_0, HPsuperheater2.HX.Q_hot_0*HPsuperheater2.HX.Cp_hot_0))); + parameter Real HPsuperheater2.HX.QCpMAX_0(unit = "W/K") = (if HPsuperheater2.HX.QCp_max_side + == "cold" then HPsuperheater2.HX.Q_cold_0*HPsuperheater2.HX.Cp_cold_0 else + (if HPsuperheater2.HX.QCp_max_side == "hot" then HPsuperheater2.HX.Q_hot_0* + HPsuperheater2.HX.Cp_hot_0 else max(HPsuperheater2.HX.Q_cold_0* + HPsuperheater2.HX.Cp_cold_0, HPsuperheater2.HX.Q_hot_0*HPsuperheater2.HX.Cp_hot_0))); + parameter Real HPsuperheater2.HX.NTU_0(unit = "1") = HPsuperheater2.HX.Kth_0* + HPsuperheater2.HX.S_0/HPsuperheater2.HX.QCpMIN_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Fraction HPsuperheater2.HX.Cr_0 + = 0.8; + parameter MetroscopeModelingLibrary.Utilities.Units.Fraction HPsuperheater2.HX.epsilon_0 + = 0.9; + parameter MetroscopeModelingLibrary.Utilities.Units.Power HPsuperheater2.HX.W_max_0 + = HPsuperheater2.HX.QCpMIN_0*(HPsuperheater2.HX.T_hot_in_0-HPsuperheater2.HX.T_cold_in_0); + parameter MetroscopeModelingLibrary.Utilities.Units.Power HPsuperheater2.HX.W_0 + = HPsuperheater2.HX.epsilon_0*HPsuperheater2.HX.W_max_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + HPsuperheater2.hot_side.T_in_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + HPsuperheater2.hot_side.T_out_0 = HPsuperheater2.T_hot_out_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater2.hot_side.P_in_0 + = 105000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater2.hot_side.P_out_0 + = 105000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + HPsuperheater2.hot_side.DP_0 = HPsuperheater2.hot_side.P_out_0- + HPsuperheater2.hot_side.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + HPsuperheater2.hot_side.h_in_0 = HPsuperheater2.h_hot_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + HPsuperheater2.hot_side.h_out_0 = HPsuperheater2.h_hot_out_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density HPsuperheater2.hot_side.rho_0 + = 1; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + HPsuperheater2.hot_side.Q_0 = HPsuperheater2.Q_hot_0 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater2.hot_side.P_0 + = 105000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + HPsuperheater2.cold_side.T_in_0 = HPsuperheater2.T_cold_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + HPsuperheater2.cold_side.T_out_0 = HPsuperheater2.T_cold_out_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater2.cold_side.P_in_0 + = 13000000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater2.cold_side.P_out_0 + = 13000000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + HPsuperheater2.cold_side.DP_0 = HPsuperheater2.cold_side.P_out_0- + HPsuperheater2.cold_side.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + HPsuperheater2.cold_side.h_in_0 = HPsuperheater2.h_cold_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + HPsuperheater2.cold_side.h_out_0 = HPsuperheater2.h_cold_out_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density HPsuperheater2.cold_side.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + HPsuperheater2.cold_side.Q_0 = HPsuperheater2.Q_cold_0 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater2.cold_side.P_0 + = 13000000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + HPsuperheater2.cold_side_pipe.T_in_0 = HPsuperheater2.cold_side_pipe.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + HPsuperheater2.cold_side_pipe.T_out_0 = HPsuperheater2.cold_side_pipe.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater2.cold_side_pipe.P_in_0 + = 13000000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater2.cold_side_pipe.P_out_0 + = 12950000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + HPsuperheater2.cold_side_pipe.DP_0 = HPsuperheater2.cold_side_pipe.P_out_0- + HPsuperheater2.cold_side_pipe.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + HPsuperheater2.cold_side_pipe.h_in_0 = HPsuperheater2.cold_side_pipe.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + HPsuperheater2.cold_side_pipe.h_out_0 = HPsuperheater2.cold_side_pipe.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density HPsuperheater2.cold_side_pipe.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + HPsuperheater2.cold_side_pipe.Q_0 = HPsuperheater2.Q_cold_0 "Inlet Mass flow rate"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + HPsuperheater2.cold_side_pipe.T_0 = HPsuperheater2.T_cold_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + HPsuperheater2.cold_side_pipe.h_0 = HPsuperheater2.h_cold_in_0; + parameter Boolean HPsuperheater2.cold_side_pipe.faulty = false; + parameter MetroscopeModelingLibrary.Utilities.Units.FrictionCoefficient + HPsuperheater2.cold_side_pipe.Kfr_constant = -HPsuperheater2.cold_side_pipe.DP_0 + *HPsuperheater2.cold_side_pipe.rho_0/(HPsuperheater2.cold_side_pipe.Q_0* + HPsuperheater2.cold_side_pipe.Q_0); + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_w_HPSH2_out_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_HPSH2_out_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_w_HPSH2_out_sensor.h_0 = 500000.0; + parameter Boolean T_w_HPSH2_out_sensor.faulty_flow_rate = false; + parameter String T_w_HPSH2_out_sensor.sensor_function = "BC" "Specify if the sensor is a BC or used for calibration"; + parameter String T_w_HPSH2_out_sensor.causality = "" "Specify which parameter is calibrated by this sensor"; + parameter Boolean T_w_HPSH2_out_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_w_HPSH2_out_sensor.flow_model.T_in_0 = T_w_HPSH2_out_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_w_HPSH2_out_sensor.flow_model.T_out_0 = T_w_HPSH2_out_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_HPSH2_out_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_HPSH2_out_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + T_w_HPSH2_out_sensor.flow_model.DP_0 = T_w_HPSH2_out_sensor.flow_model.P_out_0 + -T_w_HPSH2_out_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_w_HPSH2_out_sensor.flow_model.h_in_0 = T_w_HPSH2_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_w_HPSH2_out_sensor.flow_model.h_out_0 = T_w_HPSH2_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density T_w_HPSH2_out_sensor.flow_model.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_w_HPSH2_out_sensor.flow_model.Q_0 = 1000 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_HPSH2_out_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_w_HPSH2_out_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_w_HPSH2_out_sensor.flow_model.h_0 = 500000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Temperature + T_w_HPSH2_out_sensor.T_0 = 300; + parameter Real T_w_HPSH2_out_sensor.init_T = 300; + parameter String T_w_HPSH2_out_sensor.display_unit = "degC" "Specify the display unit"; + parameter Boolean T_w_HPSH2_out_sensor.display_output "Used to switch ON or OFF output display"; + parameter String T_w_HPSH2_out_sensor.signal_unit = "degC"; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_w_HPSH2_out_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_HPSH2_out_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_w_HPSH2_out_sensor.h_0 = 500000.0; + parameter Boolean P_w_HPSH2_out_sensor.faulty_flow_rate = false; + parameter String P_w_HPSH2_out_sensor.sensor_function = "Calibration" + "Specify if the sensor is a BC or used for calibration"; + parameter String P_w_HPSH2_out_sensor.causality = "HPST_valve_CV" + "Specify which parameter is calibrated by this sensor"; + parameter Boolean P_w_HPSH2_out_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_w_HPSH2_out_sensor.flow_model.T_in_0 = P_w_HPSH2_out_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_w_HPSH2_out_sensor.flow_model.T_out_0 = P_w_HPSH2_out_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_HPSH2_out_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_HPSH2_out_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + P_w_HPSH2_out_sensor.flow_model.DP_0 = P_w_HPSH2_out_sensor.flow_model.P_out_0 + -P_w_HPSH2_out_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_w_HPSH2_out_sensor.flow_model.h_in_0 = P_w_HPSH2_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_w_HPSH2_out_sensor.flow_model.h_out_0 = P_w_HPSH2_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density P_w_HPSH2_out_sensor.flow_model.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_w_HPSH2_out_sensor.flow_model.Q_0 = 1000 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_HPSH2_out_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + P_w_HPSH2_out_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + P_w_HPSH2_out_sensor.flow_model.h_0 = 500000.0; + parameter Real P_w_HPSH2_out_sensor.init_P = 1; + parameter Boolean P_w_HPSH2_out_sensor.display_output "Used to switch ON or OFF output display"; + parameter String P_w_HPSH2_out_sensor.display_unit = "barA" "Specify the display unit"; + parameter String P_w_HPSH2_out_sensor.signal_unit = "barA"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + deSH_controlValve.T_in_0 = deSH_controlValve.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + deSH_controlValve.T_out_0 = deSH_controlValve.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure deSH_controlValve.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure deSH_controlValve.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + deSH_controlValve.DP_0 = deSH_controlValve.P_out_0-deSH_controlValve.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + deSH_controlValve.h_in_0 = deSH_controlValve.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + deSH_controlValve.h_out_0 = deSH_controlValve.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density deSH_controlValve.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + deSH_controlValve.Q_0 = 1000 "Inlet Mass flow rate"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + deSH_controlValve.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + deSH_controlValve.h_0 = 500000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Cv deSH_controlValve.Cv_max_constant + = 10000.0 "Maximum CV"; + constant MetroscopeModelingLibrary.Utilities.Units.Percentage deSH_opening_sensor.Opening_pc_0 + = 15; + parameter String deSH_opening_sensor.sensor_function = "Calibration" + "Specify if the sensor is a BC or used for calibration"; + parameter String deSH_opening_sensor.causality = "Cvmax" "Specify which parameter is calibrated by this sensor"; + parameter Boolean deSH_opening_sensor.display_output = true "Used to switch ON or OFF output display"; + parameter String deSH_opening_sensor.output_signal_unit = ""; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Q_deSH_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Q_deSH_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Q_deSH_sensor.h_0 = 500000.0; + parameter Boolean Q_deSH_sensor.faulty_flow_rate = Q_deSH_sensor.faulty; + parameter String Q_deSH_sensor.sensor_function = "Calibration" + "Specify if the sensor is a BC or used for calibration"; + parameter String Q_deSH_sensor.causality = "SH2_Kth" "Specify which parameter is calibrated by this sensor"; + parameter Boolean Q_deSH_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + Q_deSH_sensor.flow_model.T_in_0 = Q_deSH_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + Q_deSH_sensor.flow_model.T_out_0 = Q_deSH_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Q_deSH_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Q_deSH_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + Q_deSH_sensor.flow_model.DP_0 = Q_deSH_sensor.flow_model.P_out_0- + Q_deSH_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Q_deSH_sensor.flow_model.h_in_0 = Q_deSH_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Q_deSH_sensor.flow_model.h_out_0 = Q_deSH_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density Q_deSH_sensor.flow_model.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Q_deSH_sensor.flow_model.Q_0 = 1000 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Q_deSH_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + Q_deSH_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Q_deSH_sensor.flow_model.h_0 = 500000.0; + constant MetroscopeModelingLibrary.Utilities.Units.VolumeFlowRate + Q_deSH_sensor.Qv_0 = 0.1; + parameter Boolean Q_deSH_sensor.faulty = false; + parameter String Q_deSH_sensor.display_unit = "kg/s" "Specify the display unit"; + parameter Boolean Q_deSH_sensor.display_output "Used to switch ON or OFF output display"; + parameter String Q_deSH_sensor.signal_unit = "kg/s"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + Evap_controlValve.T_in_0 = Evap_controlValve.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + Evap_controlValve.T_out_0 = Evap_controlValve.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Evap_controlValve.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Evap_controlValve.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + Evap_controlValve.DP_0 = Evap_controlValve.P_out_0-Evap_controlValve.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Evap_controlValve.h_in_0 = Evap_controlValve.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Evap_controlValve.h_out_0 = Evap_controlValve.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density Evap_controlValve.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Evap_controlValve.Q_0 = 1000 "Inlet Mass flow rate"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + Evap_controlValve.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Evap_controlValve.h_0 = 500000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Cv Evap_controlValve.Cv_max_constant + = 10000.0 "Maximum CV"; + constant MetroscopeModelingLibrary.Utilities.Units.Percentage Evap_opening_sensor.Opening_pc_0 + = 15; + parameter String Evap_opening_sensor.sensor_function = "Calibration" + "Specify if the sensor is a BC or used for calibration"; + parameter String Evap_opening_sensor.causality = "Cvmax" "Specify which parameter is calibrated by this sensor"; + parameter Boolean Evap_opening_sensor.display_output = true "Used to switch ON or OFF output display"; + parameter String Evap_opening_sensor.output_signal_unit = ""; + parameter Real moistAir_to_FlueGases.sink.relative_humidity_0(min = 0.0, + max = 1.0) = 0.1; + parameter MetroscopeModelingLibrary.Utilities.Units.Pressure moistAir_to_FlueGases.source.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.MassFlowRate + moistAir_to_FlueGases.source.Q_0 = 1000; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + moistAir_to_FlueGases.source.h_0 = 500000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + moistAir_to_FlueGases.source.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.Pressure source_air.P_0 = + 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.MassFlowRate + source_air.Q_0 = 1000; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + source_air.h_0 = 500000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature source_air.T_0 + = 300; + parameter Real source_air.relative_humidity_0(min = 0.0, max = 1.0) = 0.1; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_HPST_out_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_HPST_out_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_HPST_out_sensor.h_0 = 500000.0; + parameter Boolean T_HPST_out_sensor.faulty_flow_rate = false; + parameter String T_HPST_out_sensor.sensor_function = "Calibration" + "Specify if the sensor is a BC or used for calibration"; + parameter String T_HPST_out_sensor.causality = "HPST_eta_is" "Specify which parameter is calibrated by this sensor"; + parameter Boolean T_HPST_out_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_HPST_out_sensor.flow_model.T_in_0 = T_HPST_out_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_HPST_out_sensor.flow_model.T_out_0 = T_HPST_out_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_HPST_out_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_HPST_out_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + T_HPST_out_sensor.flow_model.DP_0 = T_HPST_out_sensor.flow_model.P_out_0- + T_HPST_out_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_HPST_out_sensor.flow_model.h_in_0 = T_HPST_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_HPST_out_sensor.flow_model.h_out_0 = T_HPST_out_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density T_HPST_out_sensor.flow_model.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_HPST_out_sensor.flow_model.Q_0 = 1000 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure T_HPST_out_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + T_HPST_out_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + T_HPST_out_sensor.flow_model.h_0 = 500000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Temperature + T_HPST_out_sensor.T_0 = 300; + parameter Real T_HPST_out_sensor.init_T = 300; + parameter String T_HPST_out_sensor.display_unit = "degC" "Specify the display unit"; + parameter Boolean T_HPST_out_sensor.display_output "Used to switch ON or OFF output display"; + parameter String T_HPST_out_sensor.signal_unit = "degC"; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + displayer.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure displayer.P_0 = + 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + displayer.h_0 = 500000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + displayer.flow_model.T_in_0 = displayer.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + displayer.flow_model.T_out_0 = displayer.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure displayer.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure displayer.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + displayer.flow_model.DP_0 = displayer.flow_model.P_out_0-displayer.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + displayer.flow_model.h_in_0 = displayer.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + displayer.flow_model.h_out_0 = displayer.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density displayer.flow_model.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + displayer.flow_model.Q_0 = 1000 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure displayer.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + displayer.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + displayer.flow_model.h_0 = 500000.0; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + fuelDisplayer.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure fuelDisplayer.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + fuelDisplayer.h_0 = 500000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + fuelDisplayer.flow_model.T_in_0 = fuelDisplayer.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + fuelDisplayer.flow_model.T_out_0 = fuelDisplayer.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure fuelDisplayer.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure fuelDisplayer.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + fuelDisplayer.flow_model.DP_0 = fuelDisplayer.flow_model.P_out_0- + fuelDisplayer.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + fuelDisplayer.flow_model.h_in_0 = fuelDisplayer.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + fuelDisplayer.flow_model.h_out_0 = fuelDisplayer.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density fuelDisplayer.flow_model.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + fuelDisplayer.flow_model.Q_0 = 1000 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure fuelDisplayer.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + fuelDisplayer.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + fuelDisplayer.flow_model.h_0 = 500000.0; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + moistAirDisplayer.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure moistAirDisplayer.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + moistAirDisplayer.h_0 = 500000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + moistAirDisplayer.flow_model.T_in_0 = moistAirDisplayer.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + moistAirDisplayer.flow_model.T_out_0 = moistAirDisplayer.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure moistAirDisplayer.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure moistAirDisplayer.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + moistAirDisplayer.flow_model.DP_0 = moistAirDisplayer.flow_model.P_out_0- + moistAirDisplayer.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + moistAirDisplayer.flow_model.h_in_0 = moistAirDisplayer.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + moistAirDisplayer.flow_model.h_out_0 = moistAirDisplayer.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density moistAirDisplayer.flow_model.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + moistAirDisplayer.flow_model.Q_0 = 1000 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure moistAirDisplayer.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + moistAirDisplayer.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + moistAirDisplayer.flow_model.h_0 = 500000.0; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + flueGasesDisplayer.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure flueGasesDisplayer.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + flueGasesDisplayer.h_0 = 500000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + flueGasesDisplayer.flow_model.T_in_0 = flueGasesDisplayer.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + flueGasesDisplayer.flow_model.T_out_0 = flueGasesDisplayer.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure flueGasesDisplayer.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure flueGasesDisplayer.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + flueGasesDisplayer.flow_model.DP_0 = flueGasesDisplayer.flow_model.P_out_0- + flueGasesDisplayer.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + flueGasesDisplayer.flow_model.h_in_0 = flueGasesDisplayer.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + flueGasesDisplayer.flow_model.h_out_0 = flueGasesDisplayer.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density flueGasesDisplayer.flow_model.rho_0 + = 1; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + flueGasesDisplayer.flow_model.Q_0 = 500 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure flueGasesDisplayer.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + flueGasesDisplayer.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + flueGasesDisplayer.flow_model.h_0 = 500000.0; + constant MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Relative_Humidity_sensor.Q_0 = 100; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Relative_Humidity_sensor.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Relative_Humidity_sensor.h_0 = 500000.0; + parameter Boolean Relative_Humidity_sensor.faulty_flow_rate = false; + parameter String Relative_Humidity_sensor.sensor_function = "BC" + "Specify if the sensor is a BC or used for calibration"; + parameter String Relative_Humidity_sensor.causality = "" "Specify which parameter is calibrated by this sensor"; + parameter Boolean Relative_Humidity_sensor.show_causality "Used to show or not the causality"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + Relative_Humidity_sensor.flow_model.T_in_0 = Relative_Humidity_sensor.flow_model.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + Relative_Humidity_sensor.flow_model.T_out_0 = Relative_Humidity_sensor.flow_model.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Relative_Humidity_sensor.flow_model.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Relative_Humidity_sensor.flow_model.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + Relative_Humidity_sensor.flow_model.DP_0 = Relative_Humidity_sensor.flow_model.P_out_0 + -Relative_Humidity_sensor.flow_model.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Relative_Humidity_sensor.flow_model.h_in_0 = Relative_Humidity_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Relative_Humidity_sensor.flow_model.h_out_0 = Relative_Humidity_sensor.flow_model.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density Relative_Humidity_sensor.flow_model.rho_0 + = 998; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Relative_Humidity_sensor.flow_model.Q_0 = 1000 "Inlet Mass flow rate"; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure Relative_Humidity_sensor.flow_model.P_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + Relative_Humidity_sensor.flow_model.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + Relative_Humidity_sensor.flow_model.h_0 = 500000.0; + parameter Real Relative_Humidity_sensor.input_H = 0.5; + parameter Real Relative_Humidity_sensor.relative_humidity_0 = 0.5; + parameter String Relative_Humidity_sensor.display_unit = "%" "Specify the display unit"; + parameter Boolean Relative_Humidity_sensor.display_output "Used to switch ON or OFF output display"; + parameter String Relative_Humidity_sensor.signal_unit = "%"; + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput + Relative_Humidity(start = 0.5); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput P_source_air( + start = 1); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput T_source_air( + start = 24); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput Q_source_air( + start = 500); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput P_filter_out( + start = 0.9); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput + compressor_P_out(start = 17); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput + compressor_T_out(start = 450); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput P_fuel_source( + start = 30); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput T_fuel_source( + start = 156); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput turbine_T_out( + start = 640); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput turbine_P_out( + start = 1.1); + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + HRSG_friction.T_in_0 = HRSG_friction.T_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + HRSG_friction.T_out_0 = HRSG_friction.T_0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure HRSG_friction.P_in_0 + = 100000.0; + constant MetroscopeModelingLibrary.Utilities.Units.Pressure HRSG_friction.P_out_0 + = 100000.0; + parameter MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + HRSG_friction.DP_0 = HRSG_friction.P_out_0-HRSG_friction.P_in_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + HRSG_friction.h_in_0 = HRSG_friction.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + HRSG_friction.h_out_0 = HRSG_friction.h_0; + parameter MetroscopeModelingLibrary.Utilities.Units.Density HRSG_friction.rho_0 + = 1; + parameter MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + HRSG_friction.Q_0 = 50 "Inlet Mass flow rate"; + parameter MetroscopeModelingLibrary.Utilities.Units.Temperature + HRSG_friction.T_0 = 300; + parameter MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy + HRSG_friction.h_0 = 500000.0; + parameter Boolean HRSG_friction.faulty = false; + parameter MetroscopeModelingLibrary.Utilities.Units.FrictionCoefficient + HRSG_friction.Kfr_constant = -HRSG_friction.DP_0*HRSG_friction.rho_0/( + HRSG_friction.Q_0*HRSG_friction.Q_0); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput P_w_HPSH1_out( + start = 116); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput T_w_HPSH1_out( + start = 450); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput P_w_HPSH1_out1( + start = 9); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput T_w_HPSH1_out1( + start = 350); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput P_w_HPSH2_out( + start = 114); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput T_w_HPSH2_out( + start = 566.5); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput P_w_evap_out( + start = 120); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput T_w_eco_out( + start = 320); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput P_w_eco_out( + start = 122.5); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput T_w_eco_in( + start = 85); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput T_pumpRec_out( + start = 324); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput P_pumpRec_out( + start = 180); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput P_flue_gas_sink + (start = 1); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput W_GT(start = 150); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput P_pump_out( + start = 170); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput T_pump_out( + start = 35); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput Q_pump_out( + start = 50); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput + T_circulating_water_out(start = 25); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput + T_circulating_water_in(start = 15); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput + P_circulating_water_in(start = 5); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput P_Cond(start = 50); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput P_LPST_in( + start = 8); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput P_HPST_out( + start = 10); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput T_HPST_out( + start = 255.5); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput Q_deSH(start = 2); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput W_ST_out( + start = 65); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput P_HPST_in( + start = 113); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput deSH_opening( + start = 0.15); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput Evap_opening( + start = 0.35); + input MetroscopeModelingLibrary.Utilities.Interfaces.RealInput pumpRec_opening + (start = 0.35); + + MetroscopeModelingLibrary.Utilities.Units.Temperature economiser.maximum_achiveable_temperature_difference; + MetroscopeModelingLibrary.Utilities.Units.Temperature economiser.nominal_cold_side_temperature_rise; + MetroscopeModelingLibrary.Utilities.Units.Temperature economiser.nominal_hot_side_temperature_drop; + MetroscopeModelingLibrary.Utilities.Units.Power economiser.W; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate economiser.Q_cold( + start = economiser.Q_cold_0); + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate economiser.Q_hot( + start = economiser.Q_hot_0); + MetroscopeModelingLibrary.Utilities.Units.Temperature economiser.T_cold_in( + start = economiser.T_cold_in_0); + MetroscopeModelingLibrary.Utilities.Units.Temperature economiser.T_hot_in( + start = economiser.T_hot_in_0); + MetroscopeModelingLibrary.Utilities.Units.Temperature economiser.T_cold_out( + start = economiser.T_cold_out_0); + MetroscopeModelingLibrary.Utilities.Units.Temperature economiser.T_hot_out( + start = economiser.T_hot_out_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + economiser.DT_hot_in_side(start = economiser.T_hot_in_0-economiser.T_cold_out_0) + "Temperature difference between hot and cold fluids, hot inlet side"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + economiser.DT_hot_out_side(start = economiser.T_hot_out_0-economiser.T_cold_in_0) + "Temperature difference between hot and cold fluids, hot outlet side"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + economiser.pinch(start = min(economiser.T_hot_in_0-economiser.T_cold_out_0, + economiser.T_hot_out_0-economiser.T_cold_in_0)) "Lowest temperature difference"; + MetroscopeModelingLibrary.Utilities.Units.Percentage economiser.fouling; + MetroscopeModelingLibrary.Utilities.Units.HeatCapacity economiser.Cp_cold_min; + MetroscopeModelingLibrary.Utilities.Units.HeatCapacity economiser.Cp_cold_max; + MetroscopeModelingLibrary.Utilities.Units.HeatCapacity economiser.Cp_hot_min; + MetroscopeModelingLibrary.Utilities.Units.HeatCapacity economiser.Cp_hot_max; + Modelica.Media.Interfaces.Types.FixedPhase economiser.state_cold_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy economiser.state_cold_out.h( + start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density economiser.state_cold_out.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature economiser.state_cold_out.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure economiser.state_cold_out.p( + start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.AbsolutePressure economiser.state_hot_out.p( + start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature economiser.state_hot_out.T( + start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction economiser.state_hot_out.X[5]( + start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + economiser.C_hot_in.Q(start = economiser.Q_hot_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure economiser.C_hot_in.P( + start = economiser.P_hot_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy economiser.C_hot_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction economiser.C_hot_in.Xi_outflow[5] + (start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + economiser.C_hot_out.Q(start = -economiser.Q_hot_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure economiser.C_hot_out.P( + start = economiser.P_hot_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy economiser.C_hot_out.h_outflow + (start = economiser.h_hot_out_0); + Modelica.Media.Interfaces.Types.MassFraction economiser.C_hot_out.Xi_outflow[5] + (start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + economiser.C_cold_in.Q(start = economiser.Q_cold_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure economiser.C_cold_in.P( + start = economiser.P_cold_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy economiser.C_cold_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction economiser.C_cold_in.Xi_outflow[0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + economiser.C_cold_out.Q(start = -economiser.Q_cold_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure economiser.C_cold_out.P( + start = economiser.P_cold_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy economiser.C_cold_out.h_outflow + (start = economiser.h_cold_out_0); + Modelica.Media.Interfaces.Types.MassFraction economiser.C_cold_out.Xi_outflow[0]; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputArea economiser.HX.S( + start = economiser.HX.S_0) "Heat exchange surface"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputHeatExchangeCoefficient + economiser.HX.Kth(start = economiser.HX.Kth_0) "Heat exchange coefficient"; + MetroscopeModelingLibrary.Utilities.Units.Power economiser.HX.W(start = + economiser.HX.W_0); + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputMassFlowRate + economiser.HX.Q_hot(start = economiser.HX.Q_hot_0) "Hot mass flow rate at the inlet"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputMassFlowRate + economiser.HX.Q_cold(start = economiser.HX.Q_cold_0) "Cold mass flow rate at the inlet"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputHeatCapacity + economiser.HX.Cp_hot(start = economiser.HX.Cp_hot_0) "Hot fluid specific heat capacity"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputHeatCapacity + economiser.HX.Cp_cold(start = economiser.HX.Cp_cold_0) "Cold fluid specific heat capacity"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputTemperature + economiser.HX.T_hot_in(start = economiser.HX.T_hot_in_0) "Temperature, hot side, at the inlet"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputTemperature + economiser.HX.T_cold_in(start = economiser.HX.T_cold_in_0) "Temperature, cold side, at the inlet"; + Real economiser.HX.QCpMIN(start = economiser.HX.QCpMIN_0, unit = "W/K"); + Real economiser.HX.QCpMAX(start = economiser.HX.QCpMAX_0, unit = "W/K"); + Real economiser.HX.NTU(start = economiser.HX.NTU_0, unit = "1"); + MetroscopeModelingLibrary.Utilities.Units.Fraction economiser.HX.Cr(start = + economiser.HX.Cr_0); + MetroscopeModelingLibrary.Utilities.Units.Fraction economiser.HX.epsilon( + start = economiser.HX.epsilon_0); + MetroscopeModelingLibrary.Utilities.Units.Power economiser.HX.W_max(start = + economiser.HX.W_max_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy economiser.hot_side.h_in + (start = economiser.hot_side.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy economiser.hot_side.h_out + (start = economiser.hot_side.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + economiser.hot_side.Q(start = economiser.hot_side.Q_0) "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure economiser.hot_side.P_in( + start = economiser.hot_side.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure economiser.hot_side.P_out( + start = economiser.hot_side.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction economiser.hot_side.Xi[5] + "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density economiser.hot_side.rho_in( + start = economiser.hot_side.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density economiser.hot_side.rho_out( + start = economiser.hot_side.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density economiser.hot_side.rho( + start = economiser.hot_side.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + economiser.hot_side.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + economiser.hot_side.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + economiser.hot_side.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature economiser.hot_side.T_in + (start = economiser.hot_side.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature economiser.hot_side.T_out + (start = economiser.hot_side.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure economiser.hot_side.state_in.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature economiser.hot_side.state_in.T( + start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction economiser.hot_side.state_in.X[5] + (start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + Modelica.Media.Interfaces.Types.AbsolutePressure economiser.hot_side.state_out.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature economiser.hot_side.state_out.T( + start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction economiser.hot_side.state_out.X[5] + (start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + economiser.hot_side.DP(start = economiser.hot_side.DP_0, nominal = 105000.0); + MetroscopeModelingLibrary.Utilities.Units.Power economiser.hot_side.W(start = 0, + nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + economiser.hot_side.DH(start = economiser.hot_side.h_out_0-economiser.hot_side.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + economiser.hot_side.DT(start = economiser.hot_side.T_out_0-economiser.hot_side.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + economiser.hot_side.C_in.Q(start = economiser.hot_side.Q_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure economiser.hot_side.C_in.P( + start = economiser.hot_side.P_in_0, nominal = 105000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy economiser.hot_side.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction economiser.hot_side.C_in.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + economiser.hot_side.C_out.Q(start = -economiser.hot_side.Q_0, nominal = + 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure economiser.hot_side.C_out.P + (start = economiser.hot_side.P_out_0, nominal = 105000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy economiser.hot_side.C_out.h_outflow + (start = economiser.hot_side.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction economiser.hot_side.C_out.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.Pressure economiser.hot_side.P( + start = economiser.hot_side.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputPower economiser.hot_side.W_input + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy economiser.cold_side.h_in + (start = economiser.cold_side.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy economiser.cold_side.h_out + (start = economiser.cold_side.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + economiser.cold_side.Q(start = economiser.cold_side.Q_0) "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure economiser.cold_side.P_in( + start = economiser.cold_side.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure economiser.cold_side.P_out( + start = economiser.cold_side.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction economiser.cold_side.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density economiser.cold_side.rho_in( + start = economiser.cold_side.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density economiser.cold_side.rho_out + (start = economiser.cold_side.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density economiser.cold_side.rho( + start = economiser.cold_side.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + economiser.cold_side.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + economiser.cold_side.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + economiser.cold_side.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature economiser.cold_side.T_in + (start = economiser.cold_side.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature economiser.cold_side.T_out + (start = economiser.cold_side.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase economiser.cold_side.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy economiser.cold_side.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density economiser.cold_side.state_in.d( + start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature economiser.cold_side.state_in.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure economiser.cold_side.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase economiser.cold_side.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy economiser.cold_side.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density economiser.cold_side.state_out.d( + start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature economiser.cold_side.state_out.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure economiser.cold_side.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + economiser.cold_side.DP(start = economiser.cold_side.DP_0, nominal = + 17000000.0); + MetroscopeModelingLibrary.Utilities.Units.Power economiser.cold_side.W( + start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + economiser.cold_side.DH(start = economiser.cold_side.h_out_0- + economiser.cold_side.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + economiser.cold_side.DT(start = economiser.cold_side.T_out_0- + economiser.cold_side.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + economiser.cold_side.C_in.Q(start = economiser.cold_side.Q_0, nominal = + 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure economiser.cold_side.C_in.P + (start = economiser.cold_side.P_in_0, nominal = 17000000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy economiser.cold_side.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction economiser.cold_side.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + economiser.cold_side.C_out.Q(start = -economiser.cold_side.Q_0, nominal = + 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure economiser.cold_side.C_out.P + (start = economiser.cold_side.P_out_0, nominal = 17000000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy economiser.cold_side.C_out.h_outflow + (start = economiser.cold_side.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction economiser.cold_side.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.Pressure economiser.cold_side.P( + start = economiser.cold_side.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputPower economiser.cold_side.W_input + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy economiser.cold_side_pipe.h_in + (start = economiser.cold_side_pipe.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy economiser.cold_side_pipe.h_out + (start = economiser.cold_side_pipe.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + economiser.cold_side_pipe.Q(start = economiser.cold_side_pipe.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure economiser.cold_side_pipe.P_in + (start = economiser.cold_side_pipe.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure economiser.cold_side_pipe.P_out + (start = economiser.cold_side_pipe.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction economiser.cold_side_pipe.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density economiser.cold_side_pipe.rho_in + (start = economiser.cold_side_pipe.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density economiser.cold_side_pipe.rho_out + (start = economiser.cold_side_pipe.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density economiser.cold_side_pipe.rho + (start = economiser.cold_side_pipe.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + economiser.cold_side_pipe.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + economiser.cold_side_pipe.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + economiser.cold_side_pipe.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature economiser.cold_side_pipe.T_in + (start = economiser.cold_side_pipe.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature economiser.cold_side_pipe.T_out + (start = economiser.cold_side_pipe.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase economiser.cold_side_pipe.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy economiser.cold_side_pipe.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density economiser.cold_side_pipe.state_in.d( + start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature economiser.cold_side_pipe.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure economiser.cold_side_pipe.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase economiser.cold_side_pipe.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy economiser.cold_side_pipe.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density economiser.cold_side_pipe.state_out.d( + start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature economiser.cold_side_pipe.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure economiser.cold_side_pipe.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + economiser.cold_side_pipe.DP(start = economiser.cold_side_pipe.DP_0, + nominal = 17000000.0); + MetroscopeModelingLibrary.Utilities.Units.Power economiser.cold_side_pipe.W( + start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + economiser.cold_side_pipe.DH(start = economiser.cold_side_pipe.h_out_0- + economiser.cold_side_pipe.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + economiser.cold_side_pipe.DT(start = economiser.cold_side_pipe.T_out_0- + economiser.cold_side_pipe.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + economiser.cold_side_pipe.C_in.Q(start = economiser.cold_side_pipe.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure economiser.cold_side_pipe.C_in.P + (start = economiser.cold_side_pipe.P_in_0, nominal = 17000000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy economiser.cold_side_pipe.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction economiser.cold_side_pipe.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + economiser.cold_side_pipe.C_out.Q(start = -economiser.cold_side_pipe.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure economiser.cold_side_pipe.C_out.P + (start = economiser.cold_side_pipe.P_out_0, nominal = 16950000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy economiser.cold_side_pipe.C_out.h_outflow + (start = economiser.cold_side_pipe.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction economiser.cold_side_pipe.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy economiser.cold_side_pipe.h + (start = economiser.cold_side_pipe.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Percentage economiser.cold_side_pipe.fouling; + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal economiser.cold_side_pipe.Kfr + (start = economiser.cold_side_pipe.Kfr_constant); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal economiser.Kth; + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal economiser.Kfr_cold; + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + economiser.FTR(start = economiser.T_cold_out_0-economiser.T_cold_in_0) + "Feedwater Temperature Rise"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy flue_gas_sink.h_in; + MetroscopeModelingLibrary.Utilities.Units.MassFraction flue_gas_sink.Xi_in[5]; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputPressure + flue_gas_sink.P_in; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + flue_gas_sink.Q_in; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + flue_gas_sink.Qv_in(start = 1); + MetroscopeModelingLibrary.Utilities.Units.Temperature flue_gas_sink.T_in; + Modelica.Media.Interfaces.Types.AbsolutePressure flue_gas_sink.state_in.p( + start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature flue_gas_sink.state_in.T(start = 500, + nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction flue_gas_sink.state_in.X[5]( + start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + flue_gas_sink.C_in.Q(nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure flue_gas_sink.C_in.P( + start = 100000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy flue_gas_sink.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction flue_gas_sink.C_in.Xi_outflow[5]( + start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_w_eco_out_sensor.Q(start = T_w_eco_out_sensor.Q_0, nominal = 100.0) + "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction T_w_eco_out_sensor.Xi[0] + "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_eco_out_sensor.P( + start = T_w_eco_out_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_eco_out_sensor.h + (start = T_w_eco_out_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.FixedPhase T_w_eco_out_sensor.state.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy T_w_eco_out_sensor.state.h( + start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density T_w_eco_out_sensor.state.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature T_w_eco_out_sensor.state.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_w_eco_out_sensor.state.p( + start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate T_w_eco_out_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_w_eco_out_sensor.C_in.Q(start = T_w_eco_out_sensor.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_eco_out_sensor.C_in.P( + start = T_w_eco_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_eco_out_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction T_w_eco_out_sensor.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + T_w_eco_out_sensor.C_out.Q(start = -T_w_eco_out_sensor.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_eco_out_sensor.C_out.P( + start = T_w_eco_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_eco_out_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction T_w_eco_out_sensor.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_eco_out_sensor.flow_model.h_in + (start = T_w_eco_out_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_eco_out_sensor.flow_model.h_out + (start = T_w_eco_out_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_w_eco_out_sensor.flow_model.Q(start = T_w_eco_out_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_eco_out_sensor.flow_model.P_in + (start = T_w_eco_out_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_eco_out_sensor.flow_model.P_out + (start = T_w_eco_out_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction T_w_eco_out_sensor.flow_model.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density T_w_eco_out_sensor.flow_model.rho_in + (start = T_w_eco_out_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density T_w_eco_out_sensor.flow_model.rho_out + (start = T_w_eco_out_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density T_w_eco_out_sensor.flow_model.rho + (start = T_w_eco_out_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + T_w_eco_out_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + T_w_eco_out_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + T_w_eco_out_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_w_eco_out_sensor.flow_model.T_in + (start = T_w_eco_out_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_w_eco_out_sensor.flow_model.T_out + (start = T_w_eco_out_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase T_w_eco_out_sensor.flow_model.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy T_w_eco_out_sensor.flow_model.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density T_w_eco_out_sensor.flow_model.state_in.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature T_w_eco_out_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_w_eco_out_sensor.flow_model.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase T_w_eco_out_sensor.flow_model.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy T_w_eco_out_sensor.flow_model.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density T_w_eco_out_sensor.flow_model.state_out.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature T_w_eco_out_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_w_eco_out_sensor.flow_model.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + T_w_eco_out_sensor.flow_model.DP(start = T_w_eco_out_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power T_w_eco_out_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + T_w_eco_out_sensor.flow_model.DH(start = T_w_eco_out_sensor.flow_model.h_out_0 + -T_w_eco_out_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + T_w_eco_out_sensor.flow_model.DT(start = T_w_eco_out_sensor.flow_model.T_out_0 + -T_w_eco_out_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_w_eco_out_sensor.flow_model.C_in.Q(start = T_w_eco_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_eco_out_sensor.flow_model.C_in.P + (start = T_w_eco_out_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_eco_out_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction T_w_eco_out_sensor.flow_model.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + T_w_eco_out_sensor.flow_model.C_out.Q(start = -T_w_eco_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_eco_out_sensor.flow_model.C_out.P + (start = T_w_eco_out_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_eco_out_sensor.flow_model.C_out.h_outflow + (start = T_w_eco_out_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction T_w_eco_out_sensor.flow_model.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_eco_out_sensor.flow_model.h + (start = T_w_eco_out_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_eco_out_sensor.flow_model.P + (start = T_w_eco_out_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_w_eco_out_sensor.flow_model.T + (start = T_w_eco_out_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_w_eco_out_sensor.T( + start = T_w_eco_out_sensor.T_0); + Real T_w_eco_out_sensor.T_degC(start = T_w_eco_out_sensor.T_0+273.15, + nominal = 573.15, unit = "degC"); + Real T_w_eco_out_sensor.T_degF(start = (T_w_eco_out_sensor.T_0+273.15)*1.8+32, + nominal = 1063.67, unit = "degF"); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal T_w_eco_out_sensor.T_sensor + (start = T_w_eco_out_sensor.init_T); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_w_eco_out_sensor.Q(start = P_w_eco_out_sensor.Q_0, nominal = 100.0) + "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction P_w_eco_out_sensor.Xi[0] + "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_eco_out_sensor.P( + start = P_w_eco_out_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_eco_out_sensor.h + (start = P_w_eco_out_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.FixedPhase P_w_eco_out_sensor.state.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_w_eco_out_sensor.state.h( + start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_w_eco_out_sensor.state.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_w_eco_out_sensor.state.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_w_eco_out_sensor.state.p( + start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate P_w_eco_out_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_w_eco_out_sensor.C_in.Q(start = P_w_eco_out_sensor.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_eco_out_sensor.C_in.P( + start = P_w_eco_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_eco_out_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction P_w_eco_out_sensor.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + P_w_eco_out_sensor.C_out.Q(start = -P_w_eco_out_sensor.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_eco_out_sensor.C_out.P( + start = P_w_eco_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_eco_out_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction P_w_eco_out_sensor.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_eco_out_sensor.flow_model.h_in + (start = P_w_eco_out_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_eco_out_sensor.flow_model.h_out + (start = P_w_eco_out_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_w_eco_out_sensor.flow_model.Q(start = P_w_eco_out_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_eco_out_sensor.flow_model.P_in + (start = P_w_eco_out_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_eco_out_sensor.flow_model.P_out + (start = P_w_eco_out_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction P_w_eco_out_sensor.flow_model.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density P_w_eco_out_sensor.flow_model.rho_in + (start = P_w_eco_out_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density P_w_eco_out_sensor.flow_model.rho_out + (start = P_w_eco_out_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density P_w_eco_out_sensor.flow_model.rho + (start = P_w_eco_out_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + P_w_eco_out_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + P_w_eco_out_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + P_w_eco_out_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_w_eco_out_sensor.flow_model.T_in + (start = P_w_eco_out_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_w_eco_out_sensor.flow_model.T_out + (start = P_w_eco_out_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase P_w_eco_out_sensor.flow_model.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_w_eco_out_sensor.flow_model.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_w_eco_out_sensor.flow_model.state_in.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_w_eco_out_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_w_eco_out_sensor.flow_model.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase P_w_eco_out_sensor.flow_model.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_w_eco_out_sensor.flow_model.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_w_eco_out_sensor.flow_model.state_out.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_w_eco_out_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_w_eco_out_sensor.flow_model.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + P_w_eco_out_sensor.flow_model.DP(start = P_w_eco_out_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power P_w_eco_out_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + P_w_eco_out_sensor.flow_model.DH(start = P_w_eco_out_sensor.flow_model.h_out_0 + -P_w_eco_out_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + P_w_eco_out_sensor.flow_model.DT(start = P_w_eco_out_sensor.flow_model.T_out_0 + -P_w_eco_out_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_w_eco_out_sensor.flow_model.C_in.Q(start = P_w_eco_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_eco_out_sensor.flow_model.C_in.P + (start = P_w_eco_out_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_eco_out_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction P_w_eco_out_sensor.flow_model.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + P_w_eco_out_sensor.flow_model.C_out.Q(start = -P_w_eco_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_eco_out_sensor.flow_model.C_out.P + (start = P_w_eco_out_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_eco_out_sensor.flow_model.C_out.h_outflow + (start = P_w_eco_out_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction P_w_eco_out_sensor.flow_model.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_eco_out_sensor.flow_model.h + (start = P_w_eco_out_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_eco_out_sensor.flow_model.P + (start = P_w_eco_out_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_w_eco_out_sensor.flow_model.T + (start = P_w_eco_out_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + Real P_w_eco_out_sensor.P_barG(start = P_w_eco_out_sensor.P_0*1E-05-1, + nominal = 100000.0); + Real P_w_eco_out_sensor.P_psiG(start = P_w_eco_out_sensor.P_0*0.000145038- + 14.50377377, nominal = 14.5038); + Real P_w_eco_out_sensor.P_MPaG(start = P_w_eco_out_sensor.P_0*1E-06-0.1, + nominal = 0.09999999999999999); + Real P_w_eco_out_sensor.P_kPaG(start = P_w_eco_out_sensor.P_0*0.001-100, + nominal = 100.0); + Real P_w_eco_out_sensor.P_barA(start = P_w_eco_out_sensor.P_0*1E-05, + nominal = 1.0, unit = "bar"); + Real P_w_eco_out_sensor.P_psiA(start = P_w_eco_out_sensor.P_0*0.000145038, + nominal = 14.5038); + Real P_w_eco_out_sensor.P_MPaA(start = P_w_eco_out_sensor.P_0*1E-06, + nominal = 0.09999999999999999); + Real P_w_eco_out_sensor.P_kPaA(start = P_w_eco_out_sensor.P_0*0.001, + nominal = 100.0); + Real P_w_eco_out_sensor.P_inHg(start = P_w_eco_out_sensor.P_0*0.0002953006, + nominal = 29.530060000000002); + Real P_w_eco_out_sensor.P_mbar(start = P_w_eco_out_sensor.P_0*0.01, nominal = + 1000.0, unit = "mbar"); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal P_w_eco_out_sensor.P_sensor + (start = P_w_eco_out_sensor.init_P); + MetroscopeModelingLibrary.Utilities.Units.Power evaporator.W_heating; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputHeatExchangeCoefficient + evaporator.Kth; + MetroscopeModelingLibrary.Utilities.Units.Power evaporator.W_vap; + MetroscopeModelingLibrary.Utilities.Units.MassFraction evaporator.x_steam_out( + start = 1); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy evaporator.h_vap_sat + (start = evaporator.h_vap_sat_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy evaporator.h_liq_sat + (start = evaporator.h_liq_sat_0); + MetroscopeModelingLibrary.Utilities.Units.Temperature evaporator.Tsat(start = + evaporator.T_cold_out_0); + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate evaporator.Q_cold( + start = evaporator.Q_cold_0); + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate evaporator.Q_hot( + start = evaporator.Q_hot_0); + MetroscopeModelingLibrary.Utilities.Units.Temperature evaporator.T_cold_in( + start = evaporator.T_cold_in_0); + MetroscopeModelingLibrary.Utilities.Units.Temperature evaporator.T_hot_in( + start = evaporator.T_hot_in_0); + MetroscopeModelingLibrary.Utilities.Units.Temperature evaporator.T_cold_out( + start = evaporator.T_cold_out_0); + MetroscopeModelingLibrary.Utilities.Units.Temperature evaporator.T_hot_out( + start = evaporator.T_hot_out_0); + MetroscopeModelingLibrary.Utilities.Units.Temperature evaporator.T_approach( + start = evaporator.T_cold_out_0-evaporator.T_cold_in_0) "Cold temperature inlet difference to saturation"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + evaporator.DT_hot_in_side(start = evaporator.T_hot_in_0-evaporator.T_cold_out_0) + "Temperature difference between hot and cold fluids, hot inlet side"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + evaporator.DT_hot_out_side(start = evaporator.T_hot_out_0-evaporator.T_cold_in_0) + "Temperature difference between hot and cold fluids, hot outlet side"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + evaporator.pinch(start = min(evaporator.T_hot_in_0-evaporator.T_cold_out_0, + evaporator.T_hot_out_0-evaporator.T_cold_in_0)) "Lowest temperature difference"; + MetroscopeModelingLibrary.Utilities.Units.Percentage evaporator.fouling; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputArea evaporator.HX_vaporising.S + (start = evaporator.HX_vaporising.S_0) "Heat exchange surface"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputHeatExchangeCoefficient + evaporator.HX_vaporising.Kth(start = evaporator.HX_vaporising.Kth_0) + "Heat exchange coefficient"; + MetroscopeModelingLibrary.Utilities.Units.Power evaporator.HX_vaporising.W( + start = evaporator.HX_vaporising.W_0); + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputMassFlowRate + evaporator.HX_vaporising.Q_hot(start = evaporator.HX_vaporising.Q_hot_0) + "Hot mass flow rate at the inlet"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputMassFlowRate + evaporator.HX_vaporising.Q_cold(start = evaporator.HX_vaporising.Q_cold_0) + "Cold mass flow rate at the inlet"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputHeatCapacity + evaporator.HX_vaporising.Cp_hot(start = evaporator.HX_vaporising.Cp_hot_0) + "Hot fluid specific heat capacity"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputHeatCapacity + evaporator.HX_vaporising.Cp_cold(start = evaporator.HX_vaporising.Cp_cold_0) + "Cold fluid specific heat capacity"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputTemperature + evaporator.HX_vaporising.T_hot_in(start = evaporator.HX_vaporising.T_hot_in_0) + "Temperature, hot side, at the inlet"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputTemperature + evaporator.HX_vaporising.T_cold_in(start = evaporator.HX_vaporising.T_cold_in_0) + "Temperature, cold side, at the inlet"; + Real evaporator.HX_vaporising.QCpMIN(start = evaporator.HX_vaporising.QCpMIN_0, + unit = "W/K"); + Real evaporator.HX_vaporising.QCpMAX(start = evaporator.HX_vaporising.QCpMAX_0, + unit = "W/K"); + Real evaporator.HX_vaporising.NTU(start = evaporator.HX_vaporising.NTU_0, + unit = "1"); + MetroscopeModelingLibrary.Utilities.Units.Fraction evaporator.HX_vaporising.Cr + (start = evaporator.HX_vaporising.Cr_0); + MetroscopeModelingLibrary.Utilities.Units.Fraction evaporator.HX_vaporising.epsilon + (start = evaporator.HX_vaporising.epsilon_0); + MetroscopeModelingLibrary.Utilities.Units.Power evaporator.HX_vaporising.W_max + (start = evaporator.HX_vaporising.W_max_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy evaporator.hot_side_vaporising.h_in + (start = evaporator.hot_side_vaporising.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy evaporator.hot_side_vaporising.h_out + (start = evaporator.hot_side_vaporising.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + evaporator.hot_side_vaporising.Q(start = evaporator.hot_side_vaporising.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.hot_side_vaporising.P_in + (start = evaporator.hot_side_vaporising.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.hot_side_vaporising.P_out + (start = evaporator.hot_side_vaporising.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction evaporator.hot_side_vaporising.Xi + [5] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density evaporator.hot_side_vaporising.rho_in + (start = evaporator.hot_side_vaporising.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density evaporator.hot_side_vaporising.rho_out + (start = evaporator.hot_side_vaporising.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density evaporator.hot_side_vaporising.rho + (start = evaporator.hot_side_vaporising.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + evaporator.hot_side_vaporising.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + evaporator.hot_side_vaporising.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + evaporator.hot_side_vaporising.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature evaporator.hot_side_vaporising.T_in + (start = evaporator.hot_side_vaporising.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature evaporator.hot_side_vaporising.T_out + (start = evaporator.hot_side_vaporising.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure evaporator.hot_side_vaporising.state_in.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature evaporator.hot_side_vaporising.state_in.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction evaporator.hot_side_vaporising.state_in.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + Modelica.Media.Interfaces.Types.AbsolutePressure evaporator.hot_side_vaporising.state_out.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature evaporator.hot_side_vaporising.state_out.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction evaporator.hot_side_vaporising.state_out.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + evaporator.hot_side_vaporising.DP(start = evaporator.hot_side_vaporising.DP_0, + nominal = 105000.0); + MetroscopeModelingLibrary.Utilities.Units.Power evaporator.hot_side_vaporising.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + evaporator.hot_side_vaporising.DH(start = evaporator.hot_side_vaporising.h_out_0 + -evaporator.hot_side_vaporising.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + evaporator.hot_side_vaporising.DT(start = evaporator.hot_side_vaporising.T_out_0 + -evaporator.hot_side_vaporising.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + evaporator.hot_side_vaporising.C_in.Q(start = evaporator.hot_side_vaporising.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.hot_side_vaporising.C_in.P + (start = evaporator.hot_side_vaporising.P_in_0, nominal = 105000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy evaporator.hot_side_vaporising.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction evaporator.hot_side_vaporising.C_in.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + evaporator.hot_side_vaporising.C_out.Q(start = -evaporator.hot_side_vaporising.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.hot_side_vaporising.C_out.P + (start = evaporator.hot_side_vaporising.P_out_0, nominal = 105000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy evaporator.hot_side_vaporising.C_out.h_outflow + (start = evaporator.hot_side_vaporising.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction evaporator.hot_side_vaporising.C_out.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.hot_side_vaporising.P + (start = evaporator.hot_side_vaporising.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputPower evaporator.hot_side_vaporising.W_input + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy evaporator.cold_side_vaporising.h_in + (start = evaporator.cold_side_vaporising.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy evaporator.cold_side_vaporising.h_out + (start = evaporator.cold_side_vaporising.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + evaporator.cold_side_vaporising.Q(start = evaporator.cold_side_vaporising.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.cold_side_vaporising.P_in + (start = evaporator.cold_side_vaporising.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.cold_side_vaporising.P_out + (start = evaporator.cold_side_vaporising.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction evaporator.cold_side_vaporising.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density evaporator.cold_side_vaporising.rho_in + (start = evaporator.cold_side_vaporising.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density evaporator.cold_side_vaporising.rho_out + (start = evaporator.cold_side_vaporising.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density evaporator.cold_side_vaporising.rho + (start = evaporator.cold_side_vaporising.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + evaporator.cold_side_vaporising.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + evaporator.cold_side_vaporising.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + evaporator.cold_side_vaporising.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature evaporator.cold_side_vaporising.T_in + (start = evaporator.cold_side_vaporising.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature evaporator.cold_side_vaporising.T_out + (start = evaporator.cold_side_vaporising.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase evaporator.cold_side_vaporising.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy evaporator.cold_side_vaporising.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density evaporator.cold_side_vaporising.state_in.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature evaporator.cold_side_vaporising.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure evaporator.cold_side_vaporising.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase evaporator.cold_side_vaporising.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy evaporator.cold_side_vaporising.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density evaporator.cold_side_vaporising.state_out.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature evaporator.cold_side_vaporising.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure evaporator.cold_side_vaporising.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + evaporator.cold_side_vaporising.DP(start = evaporator.cold_side_vaporising.DP_0, + nominal = 13000000.0); + MetroscopeModelingLibrary.Utilities.Units.Power evaporator.cold_side_vaporising.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + evaporator.cold_side_vaporising.DH(start = evaporator.cold_side_vaporising.h_out_0 + -evaporator.cold_side_vaporising.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + evaporator.cold_side_vaporising.DT(start = evaporator.cold_side_vaporising.T_out_0 + -evaporator.cold_side_vaporising.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + evaporator.cold_side_vaporising.C_in.Q(start = evaporator.cold_side_vaporising.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.cold_side_vaporising.C_in.P + (start = evaporator.cold_side_vaporising.P_in_0, nominal = 13000000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy evaporator.cold_side_vaporising.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction evaporator.cold_side_vaporising.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + evaporator.cold_side_vaporising.C_out.Q(start = -evaporator.cold_side_vaporising.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.cold_side_vaporising.C_out.P + (start = evaporator.cold_side_vaporising.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy evaporator.cold_side_vaporising.C_out.h_outflow + (start = evaporator.cold_side_vaporising.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction evaporator.cold_side_vaporising.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.cold_side_vaporising.P + (start = evaporator.cold_side_vaporising.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputPower evaporator.cold_side_vaporising.W_input + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy evaporator.hot_side_heating.h_in + (start = evaporator.hot_side_heating.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy evaporator.hot_side_heating.h_out + (start = evaporator.hot_side_heating.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + evaporator.hot_side_heating.Q(start = evaporator.hot_side_heating.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.hot_side_heating.P_in + (start = evaporator.hot_side_heating.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.hot_side_heating.P_out + (start = evaporator.hot_side_heating.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction evaporator.hot_side_heating.Xi + [5] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density evaporator.hot_side_heating.rho_in + (start = evaporator.hot_side_heating.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density evaporator.hot_side_heating.rho_out + (start = evaporator.hot_side_heating.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density evaporator.hot_side_heating.rho + (start = evaporator.hot_side_heating.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + evaporator.hot_side_heating.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + evaporator.hot_side_heating.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + evaporator.hot_side_heating.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature evaporator.hot_side_heating.T_in + (start = evaporator.hot_side_heating.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature evaporator.hot_side_heating.T_out + (start = evaporator.hot_side_heating.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure evaporator.hot_side_heating.state_in.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature evaporator.hot_side_heating.state_in.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction evaporator.hot_side_heating.state_in.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + Modelica.Media.Interfaces.Types.AbsolutePressure evaporator.hot_side_heating.state_out.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature evaporator.hot_side_heating.state_out.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction evaporator.hot_side_heating.state_out.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + evaporator.hot_side_heating.DP(start = evaporator.hot_side_heating.DP_0, + nominal = 105000.0); + MetroscopeModelingLibrary.Utilities.Units.Power evaporator.hot_side_heating.W( + start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + evaporator.hot_side_heating.DH(start = evaporator.hot_side_heating.h_out_0- + evaporator.hot_side_heating.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + evaporator.hot_side_heating.DT(start = evaporator.hot_side_heating.T_out_0- + evaporator.hot_side_heating.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + evaporator.hot_side_heating.C_in.Q(start = evaporator.hot_side_heating.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.hot_side_heating.C_in.P + (start = evaporator.hot_side_heating.P_in_0, nominal = 105000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy evaporator.hot_side_heating.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction evaporator.hot_side_heating.C_in.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + evaporator.hot_side_heating.C_out.Q(start = -evaporator.hot_side_heating.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.hot_side_heating.C_out.P + (start = evaporator.hot_side_heating.P_out_0, nominal = 105000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy evaporator.hot_side_heating.C_out.h_outflow + (start = evaporator.hot_side_heating.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction evaporator.hot_side_heating.C_out.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.hot_side_heating.P + (start = evaporator.hot_side_heating.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputPower evaporator.hot_side_heating.W_input + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy evaporator.cold_side_heating.h_in + (start = evaporator.cold_side_heating.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy evaporator.cold_side_heating.h_out + (start = evaporator.cold_side_heating.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + evaporator.cold_side_heating.Q(start = evaporator.cold_side_heating.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.cold_side_heating.P_in + (start = evaporator.cold_side_heating.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.cold_side_heating.P_out + (start = evaporator.cold_side_heating.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction evaporator.cold_side_heating.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density evaporator.cold_side_heating.rho_in + (start = evaporator.cold_side_heating.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density evaporator.cold_side_heating.rho_out + (start = evaporator.cold_side_heating.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density evaporator.cold_side_heating.rho + (start = evaporator.cold_side_heating.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + evaporator.cold_side_heating.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + evaporator.cold_side_heating.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + evaporator.cold_side_heating.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature evaporator.cold_side_heating.T_in + (start = evaporator.cold_side_heating.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature evaporator.cold_side_heating.T_out + (start = evaporator.cold_side_heating.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase evaporator.cold_side_heating.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy evaporator.cold_side_heating.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density evaporator.cold_side_heating.state_in.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature evaporator.cold_side_heating.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure evaporator.cold_side_heating.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase evaporator.cold_side_heating.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy evaporator.cold_side_heating.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density evaporator.cold_side_heating.state_out.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature evaporator.cold_side_heating.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure evaporator.cold_side_heating.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + evaporator.cold_side_heating.DP(start = evaporator.cold_side_heating.DP_0, + nominal = 13000000.0); + MetroscopeModelingLibrary.Utilities.Units.Power evaporator.cold_side_heating.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + evaporator.cold_side_heating.DH(start = evaporator.cold_side_heating.h_out_0 + -evaporator.cold_side_heating.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + evaporator.cold_side_heating.DT(start = evaporator.cold_side_heating.T_out_0 + -evaporator.cold_side_heating.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + evaporator.cold_side_heating.C_in.Q(start = evaporator.cold_side_heating.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.cold_side_heating.C_in.P + (start = evaporator.cold_side_heating.P_in_0, nominal = 13000000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy evaporator.cold_side_heating.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction evaporator.cold_side_heating.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + evaporator.cold_side_heating.C_out.Q(start = -evaporator.cold_side_heating.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.cold_side_heating.C_out.P + (start = evaporator.cold_side_heating.P_out_0, nominal = 13000000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy evaporator.cold_side_heating.C_out.h_outflow + (start = evaporator.cold_side_heating.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction evaporator.cold_side_heating.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.cold_side_heating.P + (start = evaporator.cold_side_heating.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputPower evaporator.cold_side_heating.W_input + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + evaporator.C_hot_in.Q(start = evaporator.Q_hot_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.C_hot_in.P( + start = evaporator.P_hot_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy evaporator.C_hot_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction evaporator.C_hot_in.Xi_outflow[5] + (start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + evaporator.C_hot_out.Q(start = -evaporator.Q_hot_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.C_hot_out.P( + start = evaporator.P_hot_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy evaporator.C_hot_out.h_outflow + (start = evaporator.h_hot_out_0); + Modelica.Media.Interfaces.Types.MassFraction evaporator.C_hot_out.Xi_outflow[5] + (start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + evaporator.C_cold_in.Q(start = evaporator.Q_cold_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.C_cold_in.P( + start = evaporator.P_cold_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy evaporator.C_cold_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction evaporator.C_cold_in.Xi_outflow[0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + evaporator.C_cold_out.Q(start = -evaporator.Q_cold_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure evaporator.C_cold_out.P( + start = evaporator.P_cold_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy evaporator.C_cold_out.h_outflow + (start = evaporator.h_vap_sat_0); + Modelica.Media.Interfaces.Types.MassFraction evaporator.C_cold_out.Xi_outflow[0]; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_w_evap_out_sensor.Q(start = P_w_evap_out_sensor.Q_0, nominal = 100.0) + "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction P_w_evap_out_sensor.Xi[0] + "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_evap_out_sensor.P( + start = P_w_evap_out_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_evap_out_sensor.h + (start = P_w_evap_out_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.FixedPhase P_w_evap_out_sensor.state.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_w_evap_out_sensor.state.h( + start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_w_evap_out_sensor.state.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_w_evap_out_sensor.state.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_w_evap_out_sensor.state.p( + start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate P_w_evap_out_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_w_evap_out_sensor.C_in.Q(start = P_w_evap_out_sensor.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_evap_out_sensor.C_in.P( + start = P_w_evap_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_evap_out_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction P_w_evap_out_sensor.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + P_w_evap_out_sensor.C_out.Q(start = -P_w_evap_out_sensor.Q_0, nominal = + 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_evap_out_sensor.C_out.P + (start = P_w_evap_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_evap_out_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction P_w_evap_out_sensor.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_evap_out_sensor.flow_model.h_in + (start = P_w_evap_out_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_evap_out_sensor.flow_model.h_out + (start = P_w_evap_out_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_w_evap_out_sensor.flow_model.Q(start = P_w_evap_out_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_evap_out_sensor.flow_model.P_in + (start = P_w_evap_out_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_evap_out_sensor.flow_model.P_out + (start = P_w_evap_out_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction P_w_evap_out_sensor.flow_model.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density P_w_evap_out_sensor.flow_model.rho_in + (start = P_w_evap_out_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density P_w_evap_out_sensor.flow_model.rho_out + (start = P_w_evap_out_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density P_w_evap_out_sensor.flow_model.rho + (start = P_w_evap_out_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + P_w_evap_out_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + P_w_evap_out_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + P_w_evap_out_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_w_evap_out_sensor.flow_model.T_in + (start = P_w_evap_out_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_w_evap_out_sensor.flow_model.T_out + (start = P_w_evap_out_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase P_w_evap_out_sensor.flow_model.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_w_evap_out_sensor.flow_model.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_w_evap_out_sensor.flow_model.state_in.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_w_evap_out_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_w_evap_out_sensor.flow_model.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase P_w_evap_out_sensor.flow_model.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_w_evap_out_sensor.flow_model.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_w_evap_out_sensor.flow_model.state_out.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_w_evap_out_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_w_evap_out_sensor.flow_model.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + P_w_evap_out_sensor.flow_model.DP(start = P_w_evap_out_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power P_w_evap_out_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + P_w_evap_out_sensor.flow_model.DH(start = P_w_evap_out_sensor.flow_model.h_out_0 + -P_w_evap_out_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + P_w_evap_out_sensor.flow_model.DT(start = P_w_evap_out_sensor.flow_model.T_out_0 + -P_w_evap_out_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_w_evap_out_sensor.flow_model.C_in.Q(start = P_w_evap_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_evap_out_sensor.flow_model.C_in.P + (start = P_w_evap_out_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_evap_out_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction P_w_evap_out_sensor.flow_model.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + P_w_evap_out_sensor.flow_model.C_out.Q(start = -P_w_evap_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_evap_out_sensor.flow_model.C_out.P + (start = P_w_evap_out_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_evap_out_sensor.flow_model.C_out.h_outflow + (start = P_w_evap_out_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction P_w_evap_out_sensor.flow_model.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_evap_out_sensor.flow_model.h + (start = P_w_evap_out_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_evap_out_sensor.flow_model.P + (start = P_w_evap_out_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_w_evap_out_sensor.flow_model.T + (start = P_w_evap_out_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + Real P_w_evap_out_sensor.P_barG(start = P_w_evap_out_sensor.P_0*1E-05-1, + nominal = 100000.0); + Real P_w_evap_out_sensor.P_psiG(start = P_w_evap_out_sensor.P_0*0.000145038- + 14.50377377, nominal = 14.5038); + Real P_w_evap_out_sensor.P_MPaG(start = P_w_evap_out_sensor.P_0*1E-06-0.1, + nominal = 0.09999999999999999); + Real P_w_evap_out_sensor.P_kPaG(start = P_w_evap_out_sensor.P_0*0.001-100, + nominal = 100.0); + Real P_w_evap_out_sensor.P_barA(start = P_w_evap_out_sensor.P_0*1E-05, + nominal = 1.0, unit = "bar"); + Real P_w_evap_out_sensor.P_psiA(start = P_w_evap_out_sensor.P_0*0.000145038, + nominal = 14.5038); + Real P_w_evap_out_sensor.P_MPaA(start = P_w_evap_out_sensor.P_0*1E-06, + nominal = 0.09999999999999999); + Real P_w_evap_out_sensor.P_kPaA(start = P_w_evap_out_sensor.P_0*0.001, + nominal = 100.0); + Real P_w_evap_out_sensor.P_inHg(start = P_w_evap_out_sensor.P_0*0.0002953006, + nominal = 29.530060000000002); + Real P_w_evap_out_sensor.P_mbar(start = P_w_evap_out_sensor.P_0*0.01, + nominal = 1000.0, unit = "mbar"); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal P_w_evap_out_sensor.P_sensor + (start = P_w_evap_out_sensor.init_P); + MetroscopeModelingLibrary.Utilities.Units.Temperature HPsuperheater1.maximum_achiveable_temperature_difference; + MetroscopeModelingLibrary.Utilities.Units.Temperature HPsuperheater1.nominal_cold_side_temperature_rise; + MetroscopeModelingLibrary.Utilities.Units.Temperature HPsuperheater1.nominal_hot_side_temperature_drop; + MetroscopeModelingLibrary.Utilities.Units.Power HPsuperheater1.W; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate HPsuperheater1.Q_cold( + start = HPsuperheater1.Q_cold_0); + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate HPsuperheater1.Q_hot( + start = HPsuperheater1.Q_hot_0); + MetroscopeModelingLibrary.Utilities.Units.Temperature HPsuperheater1.T_cold_in + (start = HPsuperheater1.T_cold_in_0); + MetroscopeModelingLibrary.Utilities.Units.Temperature HPsuperheater1.T_hot_in( + start = HPsuperheater1.T_hot_in_0); + MetroscopeModelingLibrary.Utilities.Units.Temperature HPsuperheater1.T_cold_out + (start = HPsuperheater1.T_cold_out_0); + MetroscopeModelingLibrary.Utilities.Units.Temperature HPsuperheater1.T_hot_out + (start = HPsuperheater1.T_hot_out_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + HPsuperheater1.DT_hot_in_side(start = HPsuperheater1.T_hot_in_0- + HPsuperheater1.T_cold_out_0) "Temperature difference between hot and cold fluids, hot inlet side"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + HPsuperheater1.DT_hot_out_side(start = HPsuperheater1.T_hot_out_0- + HPsuperheater1.T_cold_in_0) "Temperature difference between hot and cold fluids, hot outlet side"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + HPsuperheater1.pinch(start = min(HPsuperheater1.T_hot_in_0-HPsuperheater1.T_cold_out_0, + HPsuperheater1.T_hot_out_0-HPsuperheater1.T_cold_in_0)) "Lowest temperature difference"; + MetroscopeModelingLibrary.Utilities.Units.Percentage HPsuperheater1.fouling; + MetroscopeModelingLibrary.Utilities.Units.HeatCapacity HPsuperheater1.Cp_cold_min; + MetroscopeModelingLibrary.Utilities.Units.HeatCapacity HPsuperheater1.Cp_cold_max; + MetroscopeModelingLibrary.Utilities.Units.HeatCapacity HPsuperheater1.Cp_hot_min; + MetroscopeModelingLibrary.Utilities.Units.HeatCapacity HPsuperheater1.Cp_hot_max; + Modelica.Media.Interfaces.Types.FixedPhase HPsuperheater1.state_cold_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy HPsuperheater1.state_cold_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density HPsuperheater1.state_cold_out.d( + start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature HPsuperheater1.state_cold_out.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure HPsuperheater1.state_cold_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.AbsolutePressure HPsuperheater1.state_hot_out.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature HPsuperheater1.state_hot_out.T( + start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction HPsuperheater1.state_hot_out.X[5] + (start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + HPsuperheater1.C_hot_in.Q(start = HPsuperheater1.Q_hot_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater1.C_hot_in.P( + start = HPsuperheater1.P_hot_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsuperheater1.C_hot_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction HPsuperheater1.C_hot_in.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + HPsuperheater1.C_hot_out.Q(start = -HPsuperheater1.Q_hot_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater1.C_hot_out.P( + start = HPsuperheater1.P_hot_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsuperheater1.C_hot_out.h_outflow + (start = HPsuperheater1.h_hot_out_0); + Modelica.Media.Interfaces.Types.MassFraction HPsuperheater1.C_hot_out.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + HPsuperheater1.C_cold_in.Q(start = HPsuperheater1.Q_cold_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater1.C_cold_in.P( + start = HPsuperheater1.P_cold_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsuperheater1.C_cold_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction HPsuperheater1.C_cold_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + HPsuperheater1.C_cold_out.Q(start = -HPsuperheater1.Q_cold_0, nominal = + 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater1.C_cold_out.P + (start = HPsuperheater1.P_cold_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsuperheater1.C_cold_out.h_outflow + (start = HPsuperheater1.h_cold_out_0); + Modelica.Media.Interfaces.Types.MassFraction HPsuperheater1.C_cold_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputArea HPsuperheater1.HX.S + (start = HPsuperheater1.HX.S_0) "Heat exchange surface"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputHeatExchangeCoefficient + HPsuperheater1.HX.Kth(start = HPsuperheater1.HX.Kth_0) "Heat exchange coefficient"; + MetroscopeModelingLibrary.Utilities.Units.Power HPsuperheater1.HX.W(start = + HPsuperheater1.HX.W_0); + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputMassFlowRate + HPsuperheater1.HX.Q_hot(start = HPsuperheater1.HX.Q_hot_0) "Hot mass flow rate at the inlet"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputMassFlowRate + HPsuperheater1.HX.Q_cold(start = HPsuperheater1.HX.Q_cold_0) + "Cold mass flow rate at the inlet"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputHeatCapacity + HPsuperheater1.HX.Cp_hot(start = HPsuperheater1.HX.Cp_hot_0) + "Hot fluid specific heat capacity"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputHeatCapacity + HPsuperheater1.HX.Cp_cold(start = HPsuperheater1.HX.Cp_cold_0) + "Cold fluid specific heat capacity"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputTemperature + HPsuperheater1.HX.T_hot_in(start = HPsuperheater1.HX.T_hot_in_0) + "Temperature, hot side, at the inlet"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputTemperature + HPsuperheater1.HX.T_cold_in(start = HPsuperheater1.HX.T_cold_in_0) + "Temperature, cold side, at the inlet"; + Real HPsuperheater1.HX.QCpMIN(start = HPsuperheater1.HX.QCpMIN_0, unit = "W/K"); + Real HPsuperheater1.HX.QCpMAX(start = HPsuperheater1.HX.QCpMAX_0, unit = "W/K"); + Real HPsuperheater1.HX.NTU(start = HPsuperheater1.HX.NTU_0, unit = "1"); + MetroscopeModelingLibrary.Utilities.Units.Fraction HPsuperheater1.HX.Cr( + start = HPsuperheater1.HX.Cr_0); + MetroscopeModelingLibrary.Utilities.Units.Fraction HPsuperheater1.HX.epsilon( + start = HPsuperheater1.HX.epsilon_0); + MetroscopeModelingLibrary.Utilities.Units.Power HPsuperheater1.HX.W_max( + start = HPsuperheater1.HX.W_max_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsuperheater1.hot_side.h_in + (start = HPsuperheater1.hot_side.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsuperheater1.hot_side.h_out + (start = HPsuperheater1.hot_side.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + HPsuperheater1.hot_side.Q(start = HPsuperheater1.hot_side.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater1.hot_side.P_in + (start = HPsuperheater1.hot_side.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater1.hot_side.P_out + (start = HPsuperheater1.hot_side.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction HPsuperheater1.hot_side.Xi + [5] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density HPsuperheater1.hot_side.rho_in + (start = HPsuperheater1.hot_side.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density HPsuperheater1.hot_side.rho_out + (start = HPsuperheater1.hot_side.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density HPsuperheater1.hot_side.rho( + start = HPsuperheater1.hot_side.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + HPsuperheater1.hot_side.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + HPsuperheater1.hot_side.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + HPsuperheater1.hot_side.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature HPsuperheater1.hot_side.T_in + (start = HPsuperheater1.hot_side.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature HPsuperheater1.hot_side.T_out + (start = HPsuperheater1.hot_side.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure HPsuperheater1.hot_side.state_in.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature HPsuperheater1.hot_side.state_in.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction HPsuperheater1.hot_side.state_in.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + Modelica.Media.Interfaces.Types.AbsolutePressure HPsuperheater1.hot_side.state_out.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature HPsuperheater1.hot_side.state_out.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction HPsuperheater1.hot_side.state_out.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + HPsuperheater1.hot_side.DP(start = HPsuperheater1.hot_side.DP_0, nominal = + 105000.0); + MetroscopeModelingLibrary.Utilities.Units.Power HPsuperheater1.hot_side.W( + start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + HPsuperheater1.hot_side.DH(start = HPsuperheater1.hot_side.h_out_0- + HPsuperheater1.hot_side.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + HPsuperheater1.hot_side.DT(start = HPsuperheater1.hot_side.T_out_0- + HPsuperheater1.hot_side.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + HPsuperheater1.hot_side.C_in.Q(start = HPsuperheater1.hot_side.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater1.hot_side.C_in.P + (start = HPsuperheater1.hot_side.P_in_0, nominal = 105000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsuperheater1.hot_side.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction HPsuperheater1.hot_side.C_in.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + HPsuperheater1.hot_side.C_out.Q(start = -HPsuperheater1.hot_side.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater1.hot_side.C_out.P + (start = HPsuperheater1.hot_side.P_out_0, nominal = 105000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsuperheater1.hot_side.C_out.h_outflow + (start = HPsuperheater1.hot_side.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction HPsuperheater1.hot_side.C_out.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater1.hot_side.P( + start = HPsuperheater1.hot_side.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputPower HPsuperheater1.hot_side.W_input + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsuperheater1.cold_side.h_in + (start = HPsuperheater1.cold_side.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsuperheater1.cold_side.h_out + (start = HPsuperheater1.cold_side.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + HPsuperheater1.cold_side.Q(start = HPsuperheater1.cold_side.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater1.cold_side.P_in + (start = HPsuperheater1.cold_side.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater1.cold_side.P_out + (start = HPsuperheater1.cold_side.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction HPsuperheater1.cold_side.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density HPsuperheater1.cold_side.rho_in + (start = HPsuperheater1.cold_side.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density HPsuperheater1.cold_side.rho_out + (start = HPsuperheater1.cold_side.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density HPsuperheater1.cold_side.rho + (start = HPsuperheater1.cold_side.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + HPsuperheater1.cold_side.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + HPsuperheater1.cold_side.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + HPsuperheater1.cold_side.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature HPsuperheater1.cold_side.T_in + (start = HPsuperheater1.cold_side.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature HPsuperheater1.cold_side.T_out + (start = HPsuperheater1.cold_side.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase HPsuperheater1.cold_side.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy HPsuperheater1.cold_side.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density HPsuperheater1.cold_side.state_in.d( + start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature HPsuperheater1.cold_side.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure HPsuperheater1.cold_side.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase HPsuperheater1.cold_side.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy HPsuperheater1.cold_side.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density HPsuperheater1.cold_side.state_out.d( + start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature HPsuperheater1.cold_side.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure HPsuperheater1.cold_side.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + HPsuperheater1.cold_side.DP(start = HPsuperheater1.cold_side.DP_0, + nominal = 13000000.0); + MetroscopeModelingLibrary.Utilities.Units.Power HPsuperheater1.cold_side.W( + start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + HPsuperheater1.cold_side.DH(start = HPsuperheater1.cold_side.h_out_0- + HPsuperheater1.cold_side.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + HPsuperheater1.cold_side.DT(start = HPsuperheater1.cold_side.T_out_0- + HPsuperheater1.cold_side.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + HPsuperheater1.cold_side.C_in.Q(start = HPsuperheater1.cold_side.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater1.cold_side.C_in.P + (start = HPsuperheater1.cold_side.P_in_0, nominal = 13000000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsuperheater1.cold_side.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction HPsuperheater1.cold_side.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + HPsuperheater1.cold_side.C_out.Q(start = -HPsuperheater1.cold_side.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater1.cold_side.C_out.P + (start = HPsuperheater1.cold_side.P_out_0, nominal = 13000000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsuperheater1.cold_side.C_out.h_outflow + (start = HPsuperheater1.cold_side.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction HPsuperheater1.cold_side.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater1.cold_side.P( + start = HPsuperheater1.cold_side.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputPower HPsuperheater1.cold_side.W_input + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsuperheater1.cold_side_pipe.h_in + (start = HPsuperheater1.cold_side_pipe.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsuperheater1.cold_side_pipe.h_out + (start = HPsuperheater1.cold_side_pipe.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + HPsuperheater1.cold_side_pipe.Q(start = HPsuperheater1.cold_side_pipe.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater1.cold_side_pipe.P_in + (start = HPsuperheater1.cold_side_pipe.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater1.cold_side_pipe.P_out + (start = HPsuperheater1.cold_side_pipe.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction HPsuperheater1.cold_side_pipe.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density HPsuperheater1.cold_side_pipe.rho_in + (start = HPsuperheater1.cold_side_pipe.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density HPsuperheater1.cold_side_pipe.rho_out + (start = HPsuperheater1.cold_side_pipe.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density HPsuperheater1.cold_side_pipe.rho + (start = HPsuperheater1.cold_side_pipe.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + HPsuperheater1.cold_side_pipe.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + HPsuperheater1.cold_side_pipe.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + HPsuperheater1.cold_side_pipe.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature HPsuperheater1.cold_side_pipe.T_in + (start = HPsuperheater1.cold_side_pipe.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature HPsuperheater1.cold_side_pipe.T_out + (start = HPsuperheater1.cold_side_pipe.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase HPsuperheater1.cold_side_pipe.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy HPsuperheater1.cold_side_pipe.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density HPsuperheater1.cold_side_pipe.state_in.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature HPsuperheater1.cold_side_pipe.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure HPsuperheater1.cold_side_pipe.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase HPsuperheater1.cold_side_pipe.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy HPsuperheater1.cold_side_pipe.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density HPsuperheater1.cold_side_pipe.state_out.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature HPsuperheater1.cold_side_pipe.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure HPsuperheater1.cold_side_pipe.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + HPsuperheater1.cold_side_pipe.DP(start = HPsuperheater1.cold_side_pipe.DP_0, + nominal = 13000000.0); + MetroscopeModelingLibrary.Utilities.Units.Power HPsuperheater1.cold_side_pipe.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + HPsuperheater1.cold_side_pipe.DH(start = HPsuperheater1.cold_side_pipe.h_out_0 + -HPsuperheater1.cold_side_pipe.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + HPsuperheater1.cold_side_pipe.DT(start = HPsuperheater1.cold_side_pipe.T_out_0 + -HPsuperheater1.cold_side_pipe.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + HPsuperheater1.cold_side_pipe.C_in.Q(start = HPsuperheater1.cold_side_pipe.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater1.cold_side_pipe.C_in.P + (start = HPsuperheater1.cold_side_pipe.P_in_0, nominal = 13000000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsuperheater1.cold_side_pipe.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction HPsuperheater1.cold_side_pipe.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + HPsuperheater1.cold_side_pipe.C_out.Q(start = -HPsuperheater1.cold_side_pipe.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater1.cold_side_pipe.C_out.P + (start = HPsuperheater1.cold_side_pipe.P_out_0, nominal = 12950000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsuperheater1.cold_side_pipe.C_out.h_outflow + (start = HPsuperheater1.cold_side_pipe.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction HPsuperheater1.cold_side_pipe.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsuperheater1.cold_side_pipe.h + (start = HPsuperheater1.cold_side_pipe.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Percentage HPsuperheater1.cold_side_pipe.fouling; + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal HPsuperheater1.cold_side_pipe.Kfr + (start = HPsuperheater1.cold_side_pipe.Kfr_constant); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal HPsuperheater1.Kth; + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal HPsuperheater1.Kfr_cold; + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + HPsuperheater1.STR(start = HPsuperheater1.T_cold_out_0-HPsuperheater1.T_cold_in_0) + "Steam Temperature Rise"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + HPsuperheater1.DT_superheat(start = HPsuperheater1.T_cold_out_0- + Modelica.Media.Water.WaterIF97_ph.saturationTemperature_Unique21( + HPsuperheater1.P_cold_in_0)) "Superheat temperature difference"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_w_HPSH1_out_sensor.Q(start = T_w_HPSH1_out_sensor.Q_0, nominal = 100.0) + "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction T_w_HPSH1_out_sensor.Xi + [0] "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_HPSH1_out_sensor.P( + start = T_w_HPSH1_out_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_HPSH1_out_sensor.h + (start = T_w_HPSH1_out_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.FixedPhase T_w_HPSH1_out_sensor.state.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy T_w_HPSH1_out_sensor.state.h( + start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density T_w_HPSH1_out_sensor.state.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature T_w_HPSH1_out_sensor.state.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_w_HPSH1_out_sensor.state.p( + start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate T_w_HPSH1_out_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_w_HPSH1_out_sensor.C_in.Q(start = T_w_HPSH1_out_sensor.Q_0, nominal = + 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_HPSH1_out_sensor.C_in.P + (start = T_w_HPSH1_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_HPSH1_out_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction T_w_HPSH1_out_sensor.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + T_w_HPSH1_out_sensor.C_out.Q(start = -T_w_HPSH1_out_sensor.Q_0, nominal = + 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_HPSH1_out_sensor.C_out.P + (start = T_w_HPSH1_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_HPSH1_out_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction T_w_HPSH1_out_sensor.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_HPSH1_out_sensor.flow_model.h_in + (start = T_w_HPSH1_out_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_HPSH1_out_sensor.flow_model.h_out + (start = T_w_HPSH1_out_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_w_HPSH1_out_sensor.flow_model.Q(start = T_w_HPSH1_out_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_HPSH1_out_sensor.flow_model.P_in + (start = T_w_HPSH1_out_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_HPSH1_out_sensor.flow_model.P_out + (start = T_w_HPSH1_out_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction T_w_HPSH1_out_sensor.flow_model.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density T_w_HPSH1_out_sensor.flow_model.rho_in + (start = T_w_HPSH1_out_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density T_w_HPSH1_out_sensor.flow_model.rho_out + (start = T_w_HPSH1_out_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density T_w_HPSH1_out_sensor.flow_model.rho + (start = T_w_HPSH1_out_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + T_w_HPSH1_out_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + T_w_HPSH1_out_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + T_w_HPSH1_out_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_w_HPSH1_out_sensor.flow_model.T_in + (start = T_w_HPSH1_out_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_w_HPSH1_out_sensor.flow_model.T_out + (start = T_w_HPSH1_out_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase T_w_HPSH1_out_sensor.flow_model.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy T_w_HPSH1_out_sensor.flow_model.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density T_w_HPSH1_out_sensor.flow_model.state_in.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature T_w_HPSH1_out_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_w_HPSH1_out_sensor.flow_model.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase T_w_HPSH1_out_sensor.flow_model.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy T_w_HPSH1_out_sensor.flow_model.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density T_w_HPSH1_out_sensor.flow_model.state_out.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature T_w_HPSH1_out_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_w_HPSH1_out_sensor.flow_model.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + T_w_HPSH1_out_sensor.flow_model.DP(start = T_w_HPSH1_out_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power T_w_HPSH1_out_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + T_w_HPSH1_out_sensor.flow_model.DH(start = T_w_HPSH1_out_sensor.flow_model.h_out_0 + -T_w_HPSH1_out_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + T_w_HPSH1_out_sensor.flow_model.DT(start = T_w_HPSH1_out_sensor.flow_model.T_out_0 + -T_w_HPSH1_out_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_w_HPSH1_out_sensor.flow_model.C_in.Q(start = T_w_HPSH1_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_HPSH1_out_sensor.flow_model.C_in.P + (start = T_w_HPSH1_out_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_HPSH1_out_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction T_w_HPSH1_out_sensor.flow_model.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + T_w_HPSH1_out_sensor.flow_model.C_out.Q(start = -T_w_HPSH1_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_HPSH1_out_sensor.flow_model.C_out.P + (start = T_w_HPSH1_out_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_HPSH1_out_sensor.flow_model.C_out.h_outflow + (start = T_w_HPSH1_out_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction T_w_HPSH1_out_sensor.flow_model.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_HPSH1_out_sensor.flow_model.h + (start = T_w_HPSH1_out_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_HPSH1_out_sensor.flow_model.P + (start = T_w_HPSH1_out_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_w_HPSH1_out_sensor.flow_model.T + (start = T_w_HPSH1_out_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_w_HPSH1_out_sensor.T( + start = T_w_HPSH1_out_sensor.T_0); + Real T_w_HPSH1_out_sensor.T_degC(start = T_w_HPSH1_out_sensor.T_0+273.15, + nominal = 573.15, unit = "degC"); + Real T_w_HPSH1_out_sensor.T_degF(start = (T_w_HPSH1_out_sensor.T_0+273.15)*1.8 + +32, nominal = 1063.67, unit = "degF"); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal T_w_HPSH1_out_sensor.T_sensor + (start = T_w_HPSH1_out_sensor.init_T); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_w_HPSH1_out_sensor.Q(start = P_w_HPSH1_out_sensor.Q_0, nominal = 100.0) + "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction P_w_HPSH1_out_sensor.Xi + [0] "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_HPSH1_out_sensor.P( + start = P_w_HPSH1_out_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_HPSH1_out_sensor.h + (start = P_w_HPSH1_out_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.FixedPhase P_w_HPSH1_out_sensor.state.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_w_HPSH1_out_sensor.state.h( + start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_w_HPSH1_out_sensor.state.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_w_HPSH1_out_sensor.state.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_w_HPSH1_out_sensor.state.p( + start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate P_w_HPSH1_out_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_w_HPSH1_out_sensor.C_in.Q(start = P_w_HPSH1_out_sensor.Q_0, nominal = + 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_HPSH1_out_sensor.C_in.P + (start = P_w_HPSH1_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_HPSH1_out_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction P_w_HPSH1_out_sensor.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + P_w_HPSH1_out_sensor.C_out.Q(start = -P_w_HPSH1_out_sensor.Q_0, nominal = + 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_HPSH1_out_sensor.C_out.P + (start = P_w_HPSH1_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_HPSH1_out_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction P_w_HPSH1_out_sensor.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_HPSH1_out_sensor.flow_model.h_in + (start = P_w_HPSH1_out_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_HPSH1_out_sensor.flow_model.h_out + (start = P_w_HPSH1_out_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_w_HPSH1_out_sensor.flow_model.Q(start = P_w_HPSH1_out_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_HPSH1_out_sensor.flow_model.P_in + (start = P_w_HPSH1_out_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_HPSH1_out_sensor.flow_model.P_out + (start = P_w_HPSH1_out_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction P_w_HPSH1_out_sensor.flow_model.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density P_w_HPSH1_out_sensor.flow_model.rho_in + (start = P_w_HPSH1_out_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density P_w_HPSH1_out_sensor.flow_model.rho_out + (start = P_w_HPSH1_out_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density P_w_HPSH1_out_sensor.flow_model.rho + (start = P_w_HPSH1_out_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + P_w_HPSH1_out_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + P_w_HPSH1_out_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + P_w_HPSH1_out_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_w_HPSH1_out_sensor.flow_model.T_in + (start = P_w_HPSH1_out_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_w_HPSH1_out_sensor.flow_model.T_out + (start = P_w_HPSH1_out_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase P_w_HPSH1_out_sensor.flow_model.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_w_HPSH1_out_sensor.flow_model.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_w_HPSH1_out_sensor.flow_model.state_in.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_w_HPSH1_out_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_w_HPSH1_out_sensor.flow_model.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase P_w_HPSH1_out_sensor.flow_model.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_w_HPSH1_out_sensor.flow_model.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_w_HPSH1_out_sensor.flow_model.state_out.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_w_HPSH1_out_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_w_HPSH1_out_sensor.flow_model.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + P_w_HPSH1_out_sensor.flow_model.DP(start = P_w_HPSH1_out_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power P_w_HPSH1_out_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + P_w_HPSH1_out_sensor.flow_model.DH(start = P_w_HPSH1_out_sensor.flow_model.h_out_0 + -P_w_HPSH1_out_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + P_w_HPSH1_out_sensor.flow_model.DT(start = P_w_HPSH1_out_sensor.flow_model.T_out_0 + -P_w_HPSH1_out_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_w_HPSH1_out_sensor.flow_model.C_in.Q(start = P_w_HPSH1_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_HPSH1_out_sensor.flow_model.C_in.P + (start = P_w_HPSH1_out_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_HPSH1_out_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction P_w_HPSH1_out_sensor.flow_model.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + P_w_HPSH1_out_sensor.flow_model.C_out.Q(start = -P_w_HPSH1_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_HPSH1_out_sensor.flow_model.C_out.P + (start = P_w_HPSH1_out_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_HPSH1_out_sensor.flow_model.C_out.h_outflow + (start = P_w_HPSH1_out_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction P_w_HPSH1_out_sensor.flow_model.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_HPSH1_out_sensor.flow_model.h + (start = P_w_HPSH1_out_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_HPSH1_out_sensor.flow_model.P + (start = P_w_HPSH1_out_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_w_HPSH1_out_sensor.flow_model.T + (start = P_w_HPSH1_out_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + Real P_w_HPSH1_out_sensor.P_barG(start = P_w_HPSH1_out_sensor.P_0*1E-05-1, + nominal = 100000.0); + Real P_w_HPSH1_out_sensor.P_psiG(start = P_w_HPSH1_out_sensor.P_0*0.000145038- + 14.50377377, nominal = 14.5038); + Real P_w_HPSH1_out_sensor.P_MPaG(start = P_w_HPSH1_out_sensor.P_0*1E-06-0.1, + nominal = 0.09999999999999999); + Real P_w_HPSH1_out_sensor.P_kPaG(start = P_w_HPSH1_out_sensor.P_0*0.001-100, + nominal = 100.0); + Real P_w_HPSH1_out_sensor.P_barA(start = P_w_HPSH1_out_sensor.P_0*1E-05, + nominal = 1.0, unit = "bar"); + Real P_w_HPSH1_out_sensor.P_psiA(start = P_w_HPSH1_out_sensor.P_0*0.000145038, + nominal = 14.5038); + Real P_w_HPSH1_out_sensor.P_MPaA(start = P_w_HPSH1_out_sensor.P_0*1E-06, + nominal = 0.09999999999999999); + Real P_w_HPSH1_out_sensor.P_kPaA(start = P_w_HPSH1_out_sensor.P_0*0.001, + nominal = 100.0); + Real P_w_HPSH1_out_sensor.P_inHg(start = P_w_HPSH1_out_sensor.P_0*0.0002953006, + nominal = 29.530060000000002); + Real P_w_HPSH1_out_sensor.P_mbar(start = P_w_HPSH1_out_sensor.P_0*0.01, + nominal = 1000.0, unit = "mbar"); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal P_w_HPSH1_out_sensor.P_sensor + (start = P_w_HPSH1_out_sensor.init_P); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPST_control_valve.h_in + (start = HPST_control_valve.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPST_control_valve.h_out + (start = HPST_control_valve.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + HPST_control_valve.Q(start = HPST_control_valve.Q_0) "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure HPST_control_valve.P_in( + start = HPST_control_valve.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure HPST_control_valve.P_out( + start = HPST_control_valve.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction HPST_control_valve.Xi[0] + "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density HPST_control_valve.rho_in( + start = HPST_control_valve.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density HPST_control_valve.rho_out( + start = HPST_control_valve.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density HPST_control_valve.rho( + start = HPST_control_valve.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + HPST_control_valve.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + HPST_control_valve.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + HPST_control_valve.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature HPST_control_valve.T_in( + start = HPST_control_valve.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature HPST_control_valve.T_out + (start = HPST_control_valve.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase HPST_control_valve.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy HPST_control_valve.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density HPST_control_valve.state_in.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature HPST_control_valve.state_in.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure HPST_control_valve.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase HPST_control_valve.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy HPST_control_valve.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density HPST_control_valve.state_out.d( + start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature HPST_control_valve.state_out.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure HPST_control_valve.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + HPST_control_valve.DP(start = HPST_control_valve.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power HPST_control_valve.W(start = 0, + nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + HPST_control_valve.DH(start = HPST_control_valve.h_out_0-HPST_control_valve.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + HPST_control_valve.DT(start = HPST_control_valve.T_out_0-HPST_control_valve.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + HPST_control_valve.C_in.Q(start = HPST_control_valve.Q_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure HPST_control_valve.C_in.P( + start = HPST_control_valve.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPST_control_valve.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction HPST_control_valve.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + HPST_control_valve.C_out.Q(start = -HPST_control_valve.Q_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure HPST_control_valve.C_out.P( + start = HPST_control_valve.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPST_control_valve.C_out.h_outflow + (start = HPST_control_valve.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction HPST_control_valve.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPST_control_valve.h + (start = HPST_control_valve.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Percentage HPST_control_valve.closed_valve; + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal HPST_control_valve.Cv + (start = HPST_control_valve.Cv_constant); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_HPST_in_sensor.Q(start = P_HPST_in_sensor.Q_0, nominal = 100.0) + "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction P_HPST_in_sensor.Xi[0] + "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_HPST_in_sensor.P(start = + P_HPST_in_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_HPST_in_sensor.h( + start = P_HPST_in_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.FixedPhase P_HPST_in_sensor.state.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_HPST_in_sensor.state.h( + start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_HPST_in_sensor.state.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_HPST_in_sensor.state.T(start = 500, + nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_HPST_in_sensor.state.p( + start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate P_HPST_in_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_HPST_in_sensor.C_in.Q(start = P_HPST_in_sensor.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_HPST_in_sensor.C_in.P( + start = P_HPST_in_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_HPST_in_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction P_HPST_in_sensor.C_in.Xi_outflow[0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + P_HPST_in_sensor.C_out.Q(start = -P_HPST_in_sensor.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_HPST_in_sensor.C_out.P( + start = P_HPST_in_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_HPST_in_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction P_HPST_in_sensor.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_HPST_in_sensor.flow_model.h_in + (start = P_HPST_in_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_HPST_in_sensor.flow_model.h_out + (start = P_HPST_in_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_HPST_in_sensor.flow_model.Q(start = P_HPST_in_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_HPST_in_sensor.flow_model.P_in + (start = P_HPST_in_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_HPST_in_sensor.flow_model.P_out + (start = P_HPST_in_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction P_HPST_in_sensor.flow_model.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density P_HPST_in_sensor.flow_model.rho_in + (start = P_HPST_in_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density P_HPST_in_sensor.flow_model.rho_out + (start = P_HPST_in_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density P_HPST_in_sensor.flow_model.rho + (start = P_HPST_in_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + P_HPST_in_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + P_HPST_in_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + P_HPST_in_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_HPST_in_sensor.flow_model.T_in + (start = P_HPST_in_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_HPST_in_sensor.flow_model.T_out + (start = P_HPST_in_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase P_HPST_in_sensor.flow_model.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_HPST_in_sensor.flow_model.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_HPST_in_sensor.flow_model.state_in.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_HPST_in_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_HPST_in_sensor.flow_model.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase P_HPST_in_sensor.flow_model.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_HPST_in_sensor.flow_model.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_HPST_in_sensor.flow_model.state_out.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_HPST_in_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_HPST_in_sensor.flow_model.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + P_HPST_in_sensor.flow_model.DP(start = P_HPST_in_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power P_HPST_in_sensor.flow_model.W( + start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + P_HPST_in_sensor.flow_model.DH(start = P_HPST_in_sensor.flow_model.h_out_0- + P_HPST_in_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + P_HPST_in_sensor.flow_model.DT(start = P_HPST_in_sensor.flow_model.T_out_0- + P_HPST_in_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_HPST_in_sensor.flow_model.C_in.Q(start = P_HPST_in_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_HPST_in_sensor.flow_model.C_in.P + (start = P_HPST_in_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_HPST_in_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction P_HPST_in_sensor.flow_model.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + P_HPST_in_sensor.flow_model.C_out.Q(start = -P_HPST_in_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_HPST_in_sensor.flow_model.C_out.P + (start = P_HPST_in_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_HPST_in_sensor.flow_model.C_out.h_outflow + (start = P_HPST_in_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction P_HPST_in_sensor.flow_model.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_HPST_in_sensor.flow_model.h + (start = P_HPST_in_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_HPST_in_sensor.flow_model.P + (start = P_HPST_in_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_HPST_in_sensor.flow_model.T + (start = P_HPST_in_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + Real P_HPST_in_sensor.P_barG(start = P_HPST_in_sensor.P_0*1E-05-1, nominal = + 100000.0); + Real P_HPST_in_sensor.P_psiG(start = P_HPST_in_sensor.P_0*0.000145038- + 14.50377377, nominal = 14.5038); + Real P_HPST_in_sensor.P_MPaG(start = P_HPST_in_sensor.P_0*1E-06-0.1, + nominal = 0.09999999999999999); + Real P_HPST_in_sensor.P_kPaG(start = P_HPST_in_sensor.P_0*0.001-100, + nominal = 100.0); + Real P_HPST_in_sensor.P_barA(start = P_HPST_in_sensor.P_0*1E-05, nominal = 1.0, + unit = "bar"); + Real P_HPST_in_sensor.P_psiA(start = P_HPST_in_sensor.P_0*0.000145038, + nominal = 14.5038); + Real P_HPST_in_sensor.P_MPaA(start = P_HPST_in_sensor.P_0*1E-06, nominal = + 0.09999999999999999); + Real P_HPST_in_sensor.P_kPaA(start = P_HPST_in_sensor.P_0*0.001, nominal = + 100.0); + Real P_HPST_in_sensor.P_inHg(start = P_HPST_in_sensor.P_0*0.0002953006, + nominal = 29.530060000000002); + Real P_HPST_in_sensor.P_mbar(start = P_HPST_in_sensor.P_0*0.01, nominal = + 1000.0, unit = "mbar"); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal P_HPST_in_sensor.P_sensor + (start = P_HPST_in_sensor.init_P); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsteamTurbine.h_in + (start = HPsteamTurbine.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsteamTurbine.h_out + (start = HPsteamTurbine.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + HPsteamTurbine.Q(start = HPsteamTurbine.Q_0) "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsteamTurbine.P_in( + start = HPsteamTurbine.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsteamTurbine.P_out( + start = HPsteamTurbine.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction HPsteamTurbine.Xi[0] + "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density HPsteamTurbine.rho_in( + start = HPsteamTurbine.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density HPsteamTurbine.rho_out( + start = HPsteamTurbine.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density HPsteamTurbine.rho(start = + HPsteamTurbine.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + HPsteamTurbine.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + HPsteamTurbine.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + HPsteamTurbine.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature HPsteamTurbine.T_in( + start = HPsteamTurbine.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature HPsteamTurbine.T_out( + start = HPsteamTurbine.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase HPsteamTurbine.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy HPsteamTurbine.state_in.h( + start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density HPsteamTurbine.state_in.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature HPsteamTurbine.state_in.T(start = 500, + nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure HPsteamTurbine.state_in.p( + start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase HPsteamTurbine.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy HPsteamTurbine.state_out.h( + start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density HPsteamTurbine.state_out.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature HPsteamTurbine.state_out.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure HPsteamTurbine.state_out.p( + start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + HPsteamTurbine.DP(start = HPsteamTurbine.DP_0, nominal = 6000000.0); + MetroscopeModelingLibrary.Utilities.Units.Power HPsteamTurbine.W(start = 0, + nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + HPsteamTurbine.DH(start = HPsteamTurbine.h_out_0-HPsteamTurbine.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + HPsteamTurbine.DT(start = HPsteamTurbine.T_out_0-HPsteamTurbine.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + HPsteamTurbine.C_in.Q(start = HPsteamTurbine.Q_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsteamTurbine.C_in.P( + start = HPsteamTurbine.P_in_0, nominal = 6000000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsteamTurbine.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction HPsteamTurbine.C_in.Xi_outflow[0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + HPsteamTurbine.C_out.Q(start = -HPsteamTurbine.Q_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsteamTurbine.C_out.P( + start = HPsteamTurbine.P_out_0, nominal = 5500000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsteamTurbine.C_out.h_outflow + (start = HPsteamTurbine.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction HPsteamTurbine.C_out.Xi_outflow[0]; + MetroscopeModelingLibrary.Utilities.Units.MassFraction HPsteamTurbine.x_in( + start = HPsteamTurbine.x_in_0); + MetroscopeModelingLibrary.Utilities.Units.MassFraction HPsteamTurbine.x_out( + start = HPsteamTurbine.x_out_0); + MetroscopeModelingLibrary.Utilities.Units.MassFraction HPsteamTurbine.xm( + start = HPsteamTurbine.xm_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsteamTurbine.h_is + (start = HPsteamTurbine.h_out_0/0.8); + Modelica.Media.Interfaces.Types.FixedPhase HPsteamTurbine.state_is.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy HPsteamTurbine.state_is.h( + start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density HPsteamTurbine.state_is.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature HPsteamTurbine.state_is.T(start = 500, + nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure HPsteamTurbine.state_is.p( + start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsteamTurbine.h_vap_sat_in + (start = HPsteamTurbine.h_vap_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsteamTurbine.h_vap_sat_out + (start = HPsteamTurbine.h_vap_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsteamTurbine.h_liq_sat_in + (start = HPsteamTurbine.h_liq_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsteamTurbine.h_liq_sat_out + (start = HPsteamTurbine.h_liq_out_0); + MetroscopeModelingLibrary.Utilities.Units.NegativePower HPsteamTurbine.C_W_out.W; + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal HPsteamTurbine.eta_is; + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal HPsteamTurbine.Cst; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_HPST_out_sensor.Q(start = P_HPST_out_sensor.Q_0, nominal = 100.0) + "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction P_HPST_out_sensor.Xi[0] + "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_HPST_out_sensor.P( + start = P_HPST_out_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_HPST_out_sensor.h + (start = P_HPST_out_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.FixedPhase P_HPST_out_sensor.state.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_HPST_out_sensor.state.h( + start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_HPST_out_sensor.state.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_HPST_out_sensor.state.T(start = 500, + nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_HPST_out_sensor.state.p( + start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate P_HPST_out_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_HPST_out_sensor.C_in.Q(start = P_HPST_out_sensor.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_HPST_out_sensor.C_in.P( + start = P_HPST_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_HPST_out_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction P_HPST_out_sensor.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + P_HPST_out_sensor.C_out.Q(start = -P_HPST_out_sensor.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_HPST_out_sensor.C_out.P( + start = P_HPST_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_HPST_out_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction P_HPST_out_sensor.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_HPST_out_sensor.flow_model.h_in + (start = P_HPST_out_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_HPST_out_sensor.flow_model.h_out + (start = P_HPST_out_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_HPST_out_sensor.flow_model.Q(start = P_HPST_out_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_HPST_out_sensor.flow_model.P_in + (start = P_HPST_out_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_HPST_out_sensor.flow_model.P_out + (start = P_HPST_out_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction P_HPST_out_sensor.flow_model.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density P_HPST_out_sensor.flow_model.rho_in + (start = P_HPST_out_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density P_HPST_out_sensor.flow_model.rho_out + (start = P_HPST_out_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density P_HPST_out_sensor.flow_model.rho + (start = P_HPST_out_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + P_HPST_out_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + P_HPST_out_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + P_HPST_out_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_HPST_out_sensor.flow_model.T_in + (start = P_HPST_out_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_HPST_out_sensor.flow_model.T_out + (start = P_HPST_out_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase P_HPST_out_sensor.flow_model.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_HPST_out_sensor.flow_model.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_HPST_out_sensor.flow_model.state_in.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_HPST_out_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_HPST_out_sensor.flow_model.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase P_HPST_out_sensor.flow_model.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_HPST_out_sensor.flow_model.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_HPST_out_sensor.flow_model.state_out.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_HPST_out_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_HPST_out_sensor.flow_model.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + P_HPST_out_sensor.flow_model.DP(start = P_HPST_out_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power P_HPST_out_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + P_HPST_out_sensor.flow_model.DH(start = P_HPST_out_sensor.flow_model.h_out_0 + -P_HPST_out_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + P_HPST_out_sensor.flow_model.DT(start = P_HPST_out_sensor.flow_model.T_out_0 + -P_HPST_out_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_HPST_out_sensor.flow_model.C_in.Q(start = P_HPST_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_HPST_out_sensor.flow_model.C_in.P + (start = P_HPST_out_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_HPST_out_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction P_HPST_out_sensor.flow_model.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + P_HPST_out_sensor.flow_model.C_out.Q(start = -P_HPST_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_HPST_out_sensor.flow_model.C_out.P + (start = P_HPST_out_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_HPST_out_sensor.flow_model.C_out.h_outflow + (start = P_HPST_out_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction P_HPST_out_sensor.flow_model.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_HPST_out_sensor.flow_model.h + (start = P_HPST_out_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_HPST_out_sensor.flow_model.P + (start = P_HPST_out_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_HPST_out_sensor.flow_model.T + (start = P_HPST_out_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + Real P_HPST_out_sensor.P_barG(start = P_HPST_out_sensor.P_0*1E-05-1, + nominal = 100000.0); + Real P_HPST_out_sensor.P_psiG(start = P_HPST_out_sensor.P_0*0.000145038- + 14.50377377, nominal = 14.5038); + Real P_HPST_out_sensor.P_MPaG(start = P_HPST_out_sensor.P_0*1E-06-0.1, + nominal = 0.09999999999999999); + Real P_HPST_out_sensor.P_kPaG(start = P_HPST_out_sensor.P_0*0.001-100, + nominal = 100.0); + Real P_HPST_out_sensor.P_barA(start = P_HPST_out_sensor.P_0*1E-05, nominal = + 1.0, unit = "bar"); + Real P_HPST_out_sensor.P_psiA(start = P_HPST_out_sensor.P_0*0.000145038, + nominal = 14.5038); + Real P_HPST_out_sensor.P_MPaA(start = P_HPST_out_sensor.P_0*1E-06, nominal = + 0.09999999999999999); + Real P_HPST_out_sensor.P_kPaA(start = P_HPST_out_sensor.P_0*0.001, nominal = + 100.0); + Real P_HPST_out_sensor.P_inHg(start = P_HPST_out_sensor.P_0*0.0002953006, + nominal = 29.530060000000002); + Real P_HPST_out_sensor.P_mbar(start = P_HPST_out_sensor.P_0*0.01, nominal = + 1000.0, unit = "mbar"); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal P_HPST_out_sensor.P_sensor + (start = P_HPST_out_sensor.init_P); + MetroscopeModelingLibrary.Utilities.Units.Power W_ST_out_sensor.W; + Real W_ST_out_sensor.W_MW(start = 100, nominal = 100.0, min = 0.0); + MetroscopeModelingLibrary.Utilities.Units.PositivePower W_ST_out_sensor.C_in.W; + MetroscopeModelingLibrary.Utilities.Units.NegativePower W_ST_out_sensor.C_out.W; + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal W_ST_out_sensor.W_sensor; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputHeight condenser.water_height; + MetroscopeModelingLibrary.Utilities.Units.Power condenser.W; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate condenser.Q_cold( + start = condenser.Q_cold_0); + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate condenser.Q_hot( + start = condenser.Q_hot_0); + MetroscopeModelingLibrary.Utilities.Units.Temperature condenser.T_cold_in( + start = condenser.T_cold_in_0); + MetroscopeModelingLibrary.Utilities.Units.Temperature condenser.T_cold_out( + start = condenser.T_cold_out_0); + MetroscopeModelingLibrary.Utilities.Units.Temperature condenser.T_hot_in( + start = condenser.T_hot_in_0); + MetroscopeModelingLibrary.Utilities.Units.Temperature condenser.T_hot_out( + start = condenser.T_hot_out_0); + MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.P_tot(start = + condenser.Psat_0); + MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.Psat(start = + condenser.Psat_0, nominal = 5000.0); + MetroscopeModelingLibrary.Utilities.Units.Temperature condenser.Tsat(start = + condenser.Tsat_0); + MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.P_incond(start = + 0.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + condenser.water_height_DP(start = condenser.water_height_DP_0); + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputReal condenser.C_incond( + start = 0, unit = "mol/m3", min = 0.0) "Incondensable molar concentration"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputPressure + condenser.P_offset(start = 0) "Offset correction for ideal gas law"; + MetroscopeModelingLibrary.Utilities.Units.Percentage condenser.fouling( + start = 0, nominal = 10.0); + Real condenser.air_intake(start = 0, nominal = 0.001, unit = "mol/m3", min = + 0.0); + MetroscopeModelingLibrary.Utilities.Units.Percentage condenser.Qv_cold_in_decrease + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + condenser.C_cold_in.Q(start = condenser.Q_cold_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.C_cold_in.P( + start = 100000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy condenser.C_cold_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction condenser.C_cold_in.Xi_outflow[0]; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + condenser.C_hot_in.Q(start = condenser.Q_hot_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.C_hot_in.P( + start = condenser.Psat_0, nominal = 5000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy condenser.C_hot_in.h_outflow + (start = 0.0); + Modelica.Media.Interfaces.Types.MassFraction condenser.C_hot_in.Xi_outflow[0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + condenser.C_hot_out.Q(start = -condenser.Q_hot_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.C_hot_out.P( + start = condenser.Psat_0+condenser.water_height_DP_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy condenser.C_hot_out.h_outflow + (start = condenser.h_liq_sat_0); + Modelica.Media.Interfaces.Types.MassFraction condenser.C_hot_out.Xi_outflow[0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + condenser.C_cold_out.Q(start = -condenser.Q_cold_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.C_cold_out.P( + start = condenser.P_cold_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy condenser.C_cold_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction condenser.C_cold_out.Xi_outflow[0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy condenser.cold_side_pipe.h_in + (start = condenser.cold_side_pipe.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy condenser.cold_side_pipe.h_out + (start = condenser.cold_side_pipe.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + condenser.cold_side_pipe.Q(start = condenser.cold_side_pipe.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.cold_side_pipe.P_in + (start = condenser.cold_side_pipe.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.cold_side_pipe.P_out + (start = condenser.cold_side_pipe.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction condenser.cold_side_pipe.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density condenser.cold_side_pipe.rho_in + (start = condenser.cold_side_pipe.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density condenser.cold_side_pipe.rho_out + (start = condenser.cold_side_pipe.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density condenser.cold_side_pipe.rho + (start = condenser.cold_side_pipe.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + condenser.cold_side_pipe.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + condenser.cold_side_pipe.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + condenser.cold_side_pipe.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature condenser.cold_side_pipe.T_in + (start = condenser.cold_side_pipe.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature condenser.cold_side_pipe.T_out + (start = condenser.cold_side_pipe.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase condenser.cold_side_pipe.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy condenser.cold_side_pipe.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density condenser.cold_side_pipe.state_in.d( + start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature condenser.cold_side_pipe.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure condenser.cold_side_pipe.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase condenser.cold_side_pipe.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy condenser.cold_side_pipe.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density condenser.cold_side_pipe.state_out.d( + start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature condenser.cold_side_pipe.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure condenser.cold_side_pipe.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + condenser.cold_side_pipe.DP(start = condenser.cold_side_pipe.DP_0, + nominal = 500000.0); + MetroscopeModelingLibrary.Utilities.Units.Power condenser.cold_side_pipe.W( + start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + condenser.cold_side_pipe.DH(start = condenser.cold_side_pipe.h_out_0- + condenser.cold_side_pipe.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + condenser.cold_side_pipe.DT(start = condenser.cold_side_pipe.T_out_0- + condenser.cold_side_pipe.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + condenser.cold_side_pipe.C_in.Q(start = condenser.cold_side_pipe.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.cold_side_pipe.C_in.P + (start = condenser.cold_side_pipe.P_in_0, nominal = 500000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy condenser.cold_side_pipe.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction condenser.cold_side_pipe.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + condenser.cold_side_pipe.C_out.Q(start = -condenser.cold_side_pipe.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.cold_side_pipe.C_out.P + (start = condenser.cold_side_pipe.P_out_0, nominal = 400000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy condenser.cold_side_pipe.C_out.h_outflow + (start = condenser.cold_side_pipe.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction condenser.cold_side_pipe.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy condenser.cold_side_pipe.h + (start = condenser.cold_side_pipe.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Percentage condenser.cold_side_pipe.fouling; + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal condenser.cold_side_pipe.Kfr + (start = condenser.cold_side_pipe.Kfr_constant); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy condenser.hot_side.h_in + (start = condenser.hot_side.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy condenser.hot_side.h_out + (start = condenser.hot_side.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + condenser.hot_side.Q(start = condenser.hot_side.Q_0) "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.hot_side.P_in( + start = condenser.hot_side.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.hot_side.P_out( + start = condenser.hot_side.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction condenser.hot_side.Xi[0] + "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density condenser.hot_side.rho_in( + start = condenser.hot_side.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density condenser.hot_side.rho_out( + start = condenser.hot_side.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density condenser.hot_side.rho( + start = condenser.hot_side.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + condenser.hot_side.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + condenser.hot_side.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + condenser.hot_side.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature condenser.hot_side.T_in( + start = condenser.hot_side.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature condenser.hot_side.T_out + (start = condenser.hot_side.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase condenser.hot_side.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy condenser.hot_side.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density condenser.hot_side.state_in.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature condenser.hot_side.state_in.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure condenser.hot_side.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase condenser.hot_side.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy condenser.hot_side.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density condenser.hot_side.state_out.d( + start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature condenser.hot_side.state_out.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure condenser.hot_side.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + condenser.hot_side.DP(start = condenser.hot_side.DP_0, nominal = 5000.0); + MetroscopeModelingLibrary.Utilities.Units.Power condenser.hot_side.W(start = 0, + nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + condenser.hot_side.DH(start = condenser.hot_side.h_out_0-condenser.hot_side.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + condenser.hot_side.DT(start = condenser.hot_side.T_out_0-condenser.hot_side.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + condenser.hot_side.C_in.Q(start = condenser.hot_side.Q_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.hot_side.C_in.P( + start = condenser.hot_side.P_in_0, nominal = 5000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy condenser.hot_side.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction condenser.hot_side.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + condenser.hot_side.C_out.Q(start = -condenser.hot_side.Q_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.hot_side.C_out.P( + start = condenser.hot_side.P_out_0, nominal = 5000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy condenser.hot_side.C_out.h_outflow + (start = condenser.hot_side.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction condenser.hot_side.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.hot_side.P( + start = condenser.hot_side.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputPower condenser.hot_side.W_input + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy condenser.cold_side.h_in + (start = condenser.cold_side.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy condenser.cold_side.h_out + (start = condenser.cold_side.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + condenser.cold_side.Q(start = condenser.cold_side.Q_0) "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.cold_side.P_in( + start = condenser.cold_side.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.cold_side.P_out( + start = condenser.cold_side.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction condenser.cold_side.Xi[0] + "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density condenser.cold_side.rho_in( + start = condenser.cold_side.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density condenser.cold_side.rho_out( + start = condenser.cold_side.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density condenser.cold_side.rho( + start = condenser.cold_side.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + condenser.cold_side.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + condenser.cold_side.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + condenser.cold_side.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature condenser.cold_side.T_in + (start = condenser.cold_side.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature condenser.cold_side.T_out + (start = condenser.cold_side.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase condenser.cold_side.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy condenser.cold_side.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density condenser.cold_side.state_in.d( + start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature condenser.cold_side.state_in.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure condenser.cold_side.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase condenser.cold_side.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy condenser.cold_side.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density condenser.cold_side.state_out.d( + start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature condenser.cold_side.state_out.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure condenser.cold_side.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + condenser.cold_side.DP(start = condenser.cold_side.DP_0, nominal = 400000.0); + MetroscopeModelingLibrary.Utilities.Units.Power condenser.cold_side.W(start = 0, + nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + condenser.cold_side.DH(start = condenser.cold_side.h_out_0-condenser.cold_side.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + condenser.cold_side.DT(start = condenser.cold_side.T_out_0-condenser.cold_side.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + condenser.cold_side.C_in.Q(start = condenser.cold_side.Q_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.cold_side.C_in.P( + start = condenser.cold_side.P_in_0, nominal = 400000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy condenser.cold_side.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction condenser.cold_side.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + condenser.cold_side.C_out.Q(start = -condenser.cold_side.Q_0, nominal = + 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.cold_side.C_out.P + (start = condenser.cold_side.P_out_0, nominal = 400000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy condenser.cold_side.C_out.h_outflow + (start = condenser.cold_side.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction condenser.cold_side.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.cold_side.P( + start = condenser.cold_side.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputPower condenser.cold_side.W_input + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy condenser.water_height_pipe.h_in + (start = condenser.water_height_pipe.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy condenser.water_height_pipe.h_out + (start = condenser.water_height_pipe.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + condenser.water_height_pipe.Q(start = condenser.water_height_pipe.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.water_height_pipe.P_in + (start = condenser.water_height_pipe.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.water_height_pipe.P_out + (start = condenser.water_height_pipe.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction condenser.water_height_pipe.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density condenser.water_height_pipe.rho_in + (start = condenser.water_height_pipe.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density condenser.water_height_pipe.rho_out + (start = condenser.water_height_pipe.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density condenser.water_height_pipe.rho + (start = condenser.water_height_pipe.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + condenser.water_height_pipe.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + condenser.water_height_pipe.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + condenser.water_height_pipe.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature condenser.water_height_pipe.T_in + (start = condenser.water_height_pipe.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature condenser.water_height_pipe.T_out + (start = condenser.water_height_pipe.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase condenser.water_height_pipe.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy condenser.water_height_pipe.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density condenser.water_height_pipe.state_in.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature condenser.water_height_pipe.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure condenser.water_height_pipe.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase condenser.water_height_pipe.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy condenser.water_height_pipe.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density condenser.water_height_pipe.state_out.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature condenser.water_height_pipe.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure condenser.water_height_pipe.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + condenser.water_height_pipe.DP(start = condenser.water_height_pipe.DP_0, + nominal = 5000.0); + MetroscopeModelingLibrary.Utilities.Units.Power condenser.water_height_pipe.W( + start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + condenser.water_height_pipe.DH(start = condenser.water_height_pipe.h_out_0- + condenser.water_height_pipe.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + condenser.water_height_pipe.DT(start = condenser.water_height_pipe.T_out_0- + condenser.water_height_pipe.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + condenser.water_height_pipe.C_in.Q(start = condenser.water_height_pipe.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.water_height_pipe.C_in.P + (start = condenser.water_height_pipe.P_in_0, nominal = 5000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy condenser.water_height_pipe.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction condenser.water_height_pipe.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + condenser.water_height_pipe.C_out.Q(start = -condenser.water_height_pipe.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.water_height_pipe.C_out.P + (start = condenser.water_height_pipe.P_out_0, nominal = 14000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy condenser.water_height_pipe.C_out.h_outflow + (start = condenser.water_height_pipe.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction condenser.water_height_pipe.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy condenser.water_height_pipe.h + (start = condenser.water_height_pipe.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal condenser.water_height_pipe.delta_z + (start = condenser.water_height_pipe.delta_z_constant, nominal = 10.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy condenser.incondensables_in.h_in + (start = condenser.incondensables_in.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy condenser.incondensables_in.h_out + (start = condenser.incondensables_in.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + condenser.incondensables_in.Q(start = condenser.incondensables_in.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.incondensables_in.P_in + (start = condenser.incondensables_in.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.incondensables_in.P_out + (start = condenser.incondensables_in.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction condenser.incondensables_in.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density condenser.incondensables_in.rho_in + (start = condenser.incondensables_in.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density condenser.incondensables_in.rho_out + (start = condenser.incondensables_in.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density condenser.incondensables_in.rho + (start = condenser.incondensables_in.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + condenser.incondensables_in.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + condenser.incondensables_in.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + condenser.incondensables_in.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature condenser.incondensables_in.T_in + (start = condenser.incondensables_in.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature condenser.incondensables_in.T_out + (start = condenser.incondensables_in.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase condenser.incondensables_in.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy condenser.incondensables_in.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density condenser.incondensables_in.state_in.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature condenser.incondensables_in.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure condenser.incondensables_in.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase condenser.incondensables_in.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy condenser.incondensables_in.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density condenser.incondensables_in.state_out.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature condenser.incondensables_in.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure condenser.incondensables_in.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + condenser.incondensables_in.DP(start = condenser.incondensables_in.DP_0, + nominal = 5000.0); + MetroscopeModelingLibrary.Utilities.Units.Power condenser.incondensables_in.W( + start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + condenser.incondensables_in.DH(start = condenser.incondensables_in.h_out_0- + condenser.incondensables_in.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + condenser.incondensables_in.DT(start = condenser.incondensables_in.T_out_0- + condenser.incondensables_in.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + condenser.incondensables_in.C_in.Q(start = condenser.incondensables_in.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.incondensables_in.C_in.P + (start = condenser.incondensables_in.P_in_0, nominal = 5000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy condenser.incondensables_in.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction condenser.incondensables_in.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + condenser.incondensables_in.C_out.Q(start = -condenser.incondensables_in.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.incondensables_in.C_out.P + (start = condenser.incondensables_in.P_out_0, nominal = 5000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy condenser.incondensables_in.C_out.h_outflow + (start = condenser.incondensables_in.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction condenser.incondensables_in.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy condenser.incondensables_in.h + (start = condenser.incondensables_in.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputDifferentialPressure + condenser.incondensables_in.DP_input(start = 0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy condenser.incondensables_out.h_in + (start = condenser.incondensables_out.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy condenser.incondensables_out.h_out + (start = condenser.incondensables_out.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + condenser.incondensables_out.Q(start = condenser.incondensables_out.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.incondensables_out.P_in + (start = condenser.incondensables_out.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.incondensables_out.P_out + (start = condenser.incondensables_out.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction condenser.incondensables_out.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density condenser.incondensables_out.rho_in + (start = condenser.incondensables_out.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density condenser.incondensables_out.rho_out + (start = condenser.incondensables_out.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density condenser.incondensables_out.rho + (start = condenser.incondensables_out.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + condenser.incondensables_out.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + condenser.incondensables_out.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + condenser.incondensables_out.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature condenser.incondensables_out.T_in + (start = condenser.incondensables_out.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature condenser.incondensables_out.T_out + (start = condenser.incondensables_out.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase condenser.incondensables_out.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy condenser.incondensables_out.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density condenser.incondensables_out.state_in.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature condenser.incondensables_out.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure condenser.incondensables_out.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase condenser.incondensables_out.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy condenser.incondensables_out.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density condenser.incondensables_out.state_out.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature condenser.incondensables_out.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure condenser.incondensables_out.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + condenser.incondensables_out.DP(start = condenser.incondensables_out.DP_0, + nominal = 5000.0); + MetroscopeModelingLibrary.Utilities.Units.Power condenser.incondensables_out.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + condenser.incondensables_out.DH(start = condenser.incondensables_out.h_out_0 + -condenser.incondensables_out.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + condenser.incondensables_out.DT(start = condenser.incondensables_out.T_out_0 + -condenser.incondensables_out.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + condenser.incondensables_out.C_in.Q(start = condenser.incondensables_out.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.incondensables_out.C_in.P + (start = condenser.incondensables_out.P_in_0, nominal = 5000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy condenser.incondensables_out.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction condenser.incondensables_out.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + condenser.incondensables_out.C_out.Q(start = -condenser.incondensables_out.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure condenser.incondensables_out.C_out.P + (start = condenser.incondensables_out.P_out_0, nominal = 5000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy condenser.incondensables_out.C_out.h_outflow + (start = condenser.incondensables_out.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction condenser.incondensables_out.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy condenser.incondensables_out.h + (start = condenser.incondensables_out.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputDifferentialPressure + condenser.incondensables_out.DP_input(start = 0); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal condenser.Qv_cold_in; + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal condenser.Kfr_cold; + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal condenser.Kth; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_circulating_water_out_sensor.Q(start = T_circulating_water_out_sensor.Q_0, + nominal = 100.0) "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction T_circulating_water_out_sensor.Xi + [0] "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_circulating_water_out_sensor.P + (start = T_circulating_water_out_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_circulating_water_out_sensor.h + (start = T_circulating_water_out_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.FixedPhase T_circulating_water_out_sensor.state.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy T_circulating_water_out_sensor.state.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density T_circulating_water_out_sensor.state.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature T_circulating_water_out_sensor.state.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_circulating_water_out_sensor.state.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate T_circulating_water_out_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_circulating_water_out_sensor.C_in.Q(start = T_circulating_water_out_sensor.Q_0, + nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_circulating_water_out_sensor.C_in.P + (start = T_circulating_water_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_circulating_water_out_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction T_circulating_water_out_sensor.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + T_circulating_water_out_sensor.C_out.Q(start = -T_circulating_water_out_sensor.Q_0, + nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_circulating_water_out_sensor.C_out.P + (start = T_circulating_water_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_circulating_water_out_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction T_circulating_water_out_sensor.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_circulating_water_out_sensor.flow_model.h_in + (start = T_circulating_water_out_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_circulating_water_out_sensor.flow_model.h_out + (start = T_circulating_water_out_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_circulating_water_out_sensor.flow_model.Q(start = T_circulating_water_out_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_circulating_water_out_sensor.flow_model.P_in + (start = T_circulating_water_out_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_circulating_water_out_sensor.flow_model.P_out + (start = T_circulating_water_out_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction T_circulating_water_out_sensor.flow_model.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density T_circulating_water_out_sensor.flow_model.rho_in + (start = T_circulating_water_out_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density T_circulating_water_out_sensor.flow_model.rho_out + (start = T_circulating_water_out_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density T_circulating_water_out_sensor.flow_model.rho + (start = T_circulating_water_out_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + T_circulating_water_out_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + T_circulating_water_out_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + T_circulating_water_out_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_circulating_water_out_sensor.flow_model.T_in + (start = T_circulating_water_out_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_circulating_water_out_sensor.flow_model.T_out + (start = T_circulating_water_out_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase T_circulating_water_out_sensor.flow_model.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy T_circulating_water_out_sensor.flow_model.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density T_circulating_water_out_sensor.flow_model.state_in.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature T_circulating_water_out_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_circulating_water_out_sensor.flow_model.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase T_circulating_water_out_sensor.flow_model.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy T_circulating_water_out_sensor.flow_model.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density T_circulating_water_out_sensor.flow_model.state_out.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature T_circulating_water_out_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_circulating_water_out_sensor.flow_model.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + T_circulating_water_out_sensor.flow_model.DP(start = T_circulating_water_out_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power T_circulating_water_out_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + T_circulating_water_out_sensor.flow_model.DH(start = T_circulating_water_out_sensor.flow_model.h_out_0 + -T_circulating_water_out_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + T_circulating_water_out_sensor.flow_model.DT(start = T_circulating_water_out_sensor.flow_model.T_out_0 + -T_circulating_water_out_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_circulating_water_out_sensor.flow_model.C_in.Q(start = T_circulating_water_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_circulating_water_out_sensor.flow_model.C_in.P + (start = T_circulating_water_out_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_circulating_water_out_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction T_circulating_water_out_sensor.flow_model.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + T_circulating_water_out_sensor.flow_model.C_out.Q(start = -T_circulating_water_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_circulating_water_out_sensor.flow_model.C_out.P + (start = T_circulating_water_out_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_circulating_water_out_sensor.flow_model.C_out.h_outflow + (start = T_circulating_water_out_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction T_circulating_water_out_sensor.flow_model.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_circulating_water_out_sensor.flow_model.h + (start = T_circulating_water_out_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_circulating_water_out_sensor.flow_model.P + (start = T_circulating_water_out_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_circulating_water_out_sensor.flow_model.T + (start = T_circulating_water_out_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_circulating_water_out_sensor.T + (start = T_circulating_water_out_sensor.T_0); + Real T_circulating_water_out_sensor.T_degC(start = T_circulating_water_out_sensor.T_0 + +273.15, nominal = 573.15, unit = "degC"); + Real T_circulating_water_out_sensor.T_degF(start = (T_circulating_water_out_sensor.T_0 + +273.15)*1.8+32, nominal = 1063.67, unit = "degF"); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal T_circulating_water_out_sensor.T_sensor + (start = T_circulating_water_out_sensor.init_T); + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputSpecificEnthalpy + circulating_water_source.h_out(start = circulating_water_source.h_0); + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputMassFraction + circulating_water_source.Xi_out[0]; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputPressure + circulating_water_source.P_out(start = circulating_water_source.P_0); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + circulating_water_source.Q_out(start = -circulating_water_source.Q_0); + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + circulating_water_source.Qv_out(start = -circulating_water_source.Q_0/1000); + MetroscopeModelingLibrary.Utilities.Units.Temperature circulating_water_source.T_out + (start = circulating_water_source.T_0); + Modelica.Media.Interfaces.Types.FixedPhase circulating_water_source.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy circulating_water_source.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density circulating_water_source.state_out.d( + start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature circulating_water_source.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure circulating_water_source.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + circulating_water_source.C_out.Q(start = -circulating_water_source.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure circulating_water_source.C_out.P + (start = circulating_water_source.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy circulating_water_source.C_out.h_outflow + (start = circulating_water_source.h_0); + Modelica.Media.Interfaces.Types.MassFraction circulating_water_source.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy circulating_water_sink.h_in; + MetroscopeModelingLibrary.Utilities.Units.MassFraction circulating_water_sink.Xi_in + [0]; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputPressure + circulating_water_sink.P_in; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + circulating_water_sink.Q_in; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + circulating_water_sink.Qv_in(start = 1); + MetroscopeModelingLibrary.Utilities.Units.Temperature circulating_water_sink.T_in; + Modelica.Media.Interfaces.Types.FixedPhase circulating_water_sink.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy circulating_water_sink.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density circulating_water_sink.state_in.d( + start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature circulating_water_sink.state_in.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure circulating_water_sink.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + circulating_water_sink.C_in.Q(nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure circulating_water_sink.C_in.P + (start = 100000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy circulating_water_sink.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction circulating_water_sink.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy pump.h_in(start = + pump.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy pump.h_out(start = + pump.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate pump.Q(start = + pump.Q_0) "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure pump.P_in(start = + pump.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure pump.P_out(start = + pump.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction pump.Xi[0] + "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density pump.rho_in(start = + pump.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density pump.rho_out(start = + pump.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density pump.rho(start = pump.rho_0) + "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate pump.Qv_in + "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate pump.Qv_out + "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate pump.Qv + "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature pump.T_in(start = + pump.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature pump.T_out(start = + pump.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase pump.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy pump.state_in.h(start = + 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density pump.state_in.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature pump.state_in.T(start = 500, + nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure pump.state_in.p(start = + 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase pump.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy pump.state_out.h(start = + 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density pump.state_out.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature pump.state_out.T(start = 500, + nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure pump.state_out.p(start = + 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure pump.DP( + start = pump.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power pump.W(start = 0, nominal = + 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy pump.DH( + start = pump.h_out_0-pump.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature pump.DT( + start = pump.T_out_0-pump.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate pump.C_in.Q( + start = pump.Q_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure pump.C_in.P(start = + pump.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy pump.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction pump.C_in.Xi_outflow[0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate pump.C_out.Q( + start = -pump.Q_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure pump.C_out.P(start = + pump.P_out_0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy pump.C_out.h_outflow + (start = pump.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction pump.C_out.Xi_outflow[0]; + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal pump.rh; + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal pump.hn; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_pump_out_sensor.Q(start = T_pump_out_sensor.Q_0, nominal = 100.0) + "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction T_pump_out_sensor.Xi[0] + "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_pump_out_sensor.P( + start = T_pump_out_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_pump_out_sensor.h + (start = T_pump_out_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.FixedPhase T_pump_out_sensor.state.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy T_pump_out_sensor.state.h( + start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density T_pump_out_sensor.state.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature T_pump_out_sensor.state.T(start = 500, + nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_pump_out_sensor.state.p( + start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate T_pump_out_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_pump_out_sensor.C_in.Q(start = T_pump_out_sensor.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_pump_out_sensor.C_in.P( + start = T_pump_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_pump_out_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction T_pump_out_sensor.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + T_pump_out_sensor.C_out.Q(start = -T_pump_out_sensor.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_pump_out_sensor.C_out.P( + start = T_pump_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_pump_out_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction T_pump_out_sensor.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_pump_out_sensor.flow_model.h_in + (start = T_pump_out_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_pump_out_sensor.flow_model.h_out + (start = T_pump_out_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_pump_out_sensor.flow_model.Q(start = T_pump_out_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_pump_out_sensor.flow_model.P_in + (start = T_pump_out_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_pump_out_sensor.flow_model.P_out + (start = T_pump_out_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction T_pump_out_sensor.flow_model.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density T_pump_out_sensor.flow_model.rho_in + (start = T_pump_out_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density T_pump_out_sensor.flow_model.rho_out + (start = T_pump_out_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density T_pump_out_sensor.flow_model.rho + (start = T_pump_out_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + T_pump_out_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + T_pump_out_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + T_pump_out_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_pump_out_sensor.flow_model.T_in + (start = T_pump_out_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_pump_out_sensor.flow_model.T_out + (start = T_pump_out_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase T_pump_out_sensor.flow_model.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy T_pump_out_sensor.flow_model.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density T_pump_out_sensor.flow_model.state_in.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature T_pump_out_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_pump_out_sensor.flow_model.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase T_pump_out_sensor.flow_model.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy T_pump_out_sensor.flow_model.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density T_pump_out_sensor.flow_model.state_out.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature T_pump_out_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_pump_out_sensor.flow_model.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + T_pump_out_sensor.flow_model.DP(start = T_pump_out_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power T_pump_out_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + T_pump_out_sensor.flow_model.DH(start = T_pump_out_sensor.flow_model.h_out_0 + -T_pump_out_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + T_pump_out_sensor.flow_model.DT(start = T_pump_out_sensor.flow_model.T_out_0 + -T_pump_out_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_pump_out_sensor.flow_model.C_in.Q(start = T_pump_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_pump_out_sensor.flow_model.C_in.P + (start = T_pump_out_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_pump_out_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction T_pump_out_sensor.flow_model.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + T_pump_out_sensor.flow_model.C_out.Q(start = -T_pump_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_pump_out_sensor.flow_model.C_out.P + (start = T_pump_out_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_pump_out_sensor.flow_model.C_out.h_outflow + (start = T_pump_out_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction T_pump_out_sensor.flow_model.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_pump_out_sensor.flow_model.h + (start = T_pump_out_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_pump_out_sensor.flow_model.P + (start = T_pump_out_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_pump_out_sensor.flow_model.T + (start = T_pump_out_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_pump_out_sensor.T( + start = T_pump_out_sensor.T_0); + Real T_pump_out_sensor.T_degC(start = T_pump_out_sensor.T_0+273.15, nominal = + 573.15, unit = "degC"); + Real T_pump_out_sensor.T_degF(start = (T_pump_out_sensor.T_0+273.15)*1.8+32, + nominal = 1063.67, unit = "degF"); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal T_pump_out_sensor.T_sensor + (start = T_pump_out_sensor.init_T); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_pump_out_sensor.Q(start = P_pump_out_sensor.Q_0, nominal = 100.0) + "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction P_pump_out_sensor.Xi[0] + "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_pump_out_sensor.P( + start = P_pump_out_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_pump_out_sensor.h + (start = P_pump_out_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.FixedPhase P_pump_out_sensor.state.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_pump_out_sensor.state.h( + start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_pump_out_sensor.state.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_pump_out_sensor.state.T(start = 500, + nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_pump_out_sensor.state.p( + start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate P_pump_out_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_pump_out_sensor.C_in.Q(start = P_pump_out_sensor.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_pump_out_sensor.C_in.P( + start = P_pump_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_pump_out_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction P_pump_out_sensor.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + P_pump_out_sensor.C_out.Q(start = -P_pump_out_sensor.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_pump_out_sensor.C_out.P( + start = P_pump_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_pump_out_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction P_pump_out_sensor.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_pump_out_sensor.flow_model.h_in + (start = P_pump_out_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_pump_out_sensor.flow_model.h_out + (start = P_pump_out_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_pump_out_sensor.flow_model.Q(start = P_pump_out_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_pump_out_sensor.flow_model.P_in + (start = P_pump_out_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_pump_out_sensor.flow_model.P_out + (start = P_pump_out_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction P_pump_out_sensor.flow_model.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density P_pump_out_sensor.flow_model.rho_in + (start = P_pump_out_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density P_pump_out_sensor.flow_model.rho_out + (start = P_pump_out_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density P_pump_out_sensor.flow_model.rho + (start = P_pump_out_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + P_pump_out_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + P_pump_out_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + P_pump_out_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_pump_out_sensor.flow_model.T_in + (start = P_pump_out_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_pump_out_sensor.flow_model.T_out + (start = P_pump_out_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase P_pump_out_sensor.flow_model.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_pump_out_sensor.flow_model.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_pump_out_sensor.flow_model.state_in.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_pump_out_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_pump_out_sensor.flow_model.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase P_pump_out_sensor.flow_model.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_pump_out_sensor.flow_model.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_pump_out_sensor.flow_model.state_out.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_pump_out_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_pump_out_sensor.flow_model.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + P_pump_out_sensor.flow_model.DP(start = P_pump_out_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power P_pump_out_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + P_pump_out_sensor.flow_model.DH(start = P_pump_out_sensor.flow_model.h_out_0 + -P_pump_out_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + P_pump_out_sensor.flow_model.DT(start = P_pump_out_sensor.flow_model.T_out_0 + -P_pump_out_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_pump_out_sensor.flow_model.C_in.Q(start = P_pump_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_pump_out_sensor.flow_model.C_in.P + (start = P_pump_out_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_pump_out_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction P_pump_out_sensor.flow_model.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + P_pump_out_sensor.flow_model.C_out.Q(start = -P_pump_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_pump_out_sensor.flow_model.C_out.P + (start = P_pump_out_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_pump_out_sensor.flow_model.C_out.h_outflow + (start = P_pump_out_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction P_pump_out_sensor.flow_model.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_pump_out_sensor.flow_model.h + (start = P_pump_out_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_pump_out_sensor.flow_model.P + (start = P_pump_out_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_pump_out_sensor.flow_model.T + (start = P_pump_out_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + Real P_pump_out_sensor.P_barG(start = P_pump_out_sensor.P_0*1E-05-1, + nominal = 100000.0); + Real P_pump_out_sensor.P_psiG(start = P_pump_out_sensor.P_0*0.000145038- + 14.50377377, nominal = 14.5038); + Real P_pump_out_sensor.P_MPaG(start = P_pump_out_sensor.P_0*1E-06-0.1, + nominal = 0.09999999999999999); + Real P_pump_out_sensor.P_kPaG(start = P_pump_out_sensor.P_0*0.001-100, + nominal = 100.0); + Real P_pump_out_sensor.P_barA(start = P_pump_out_sensor.P_0*1E-05, nominal = + 1.0, unit = "bar"); + Real P_pump_out_sensor.P_psiA(start = P_pump_out_sensor.P_0*0.000145038, + nominal = 14.5038); + Real P_pump_out_sensor.P_MPaA(start = P_pump_out_sensor.P_0*1E-06, nominal = + 0.09999999999999999); + Real P_pump_out_sensor.P_kPaA(start = P_pump_out_sensor.P_0*0.001, nominal = + 100.0); + Real P_pump_out_sensor.P_inHg(start = P_pump_out_sensor.P_0*0.0002953006, + nominal = 29.530060000000002); + Real P_pump_out_sensor.P_mbar(start = P_pump_out_sensor.P_0*0.01, nominal = + 1000.0, unit = "mbar"); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal P_pump_out_sensor.P_sensor + (start = P_pump_out_sensor.init_P); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + loopBreaker.C_in.Q(start = 500, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure loopBreaker.C_in.P(start = + 100000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy loopBreaker.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction loopBreaker.C_in.Xi_outflow[0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + loopBreaker.C_out.Q(start = -500, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure loopBreaker.C_out.P( + start = 100000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy loopBreaker.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction loopBreaker.C_out.Xi_outflow[0]; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputReal loopBreaker.loop_flow_error; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Q_pump_out_sensor.Q(start = Q_pump_out_sensor.Q_0, nominal = 100.0) + "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction Q_pump_out_sensor.Xi[0] + "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_pump_out_sensor.P( + start = Q_pump_out_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_pump_out_sensor.h + (start = Q_pump_out_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.FixedPhase Q_pump_out_sensor.state.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy Q_pump_out_sensor.state.h( + start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density Q_pump_out_sensor.state.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature Q_pump_out_sensor.state.T(start = 500, + nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure Q_pump_out_sensor.state.p( + start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate Q_pump_out_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Q_pump_out_sensor.C_in.Q(start = Q_pump_out_sensor.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_pump_out_sensor.C_in.P( + start = Q_pump_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_pump_out_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction Q_pump_out_sensor.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + Q_pump_out_sensor.C_out.Q(start = -Q_pump_out_sensor.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_pump_out_sensor.C_out.P( + start = Q_pump_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_pump_out_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction Q_pump_out_sensor.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_pump_out_sensor.flow_model.h_in + (start = Q_pump_out_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_pump_out_sensor.flow_model.h_out + (start = Q_pump_out_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Q_pump_out_sensor.flow_model.Q(start = Q_pump_out_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_pump_out_sensor.flow_model.P_in + (start = Q_pump_out_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_pump_out_sensor.flow_model.P_out + (start = Q_pump_out_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction Q_pump_out_sensor.flow_model.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density Q_pump_out_sensor.flow_model.rho_in + (start = Q_pump_out_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density Q_pump_out_sensor.flow_model.rho_out + (start = Q_pump_out_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density Q_pump_out_sensor.flow_model.rho + (start = Q_pump_out_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + Q_pump_out_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + Q_pump_out_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + Q_pump_out_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature Q_pump_out_sensor.flow_model.T_in + (start = Q_pump_out_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature Q_pump_out_sensor.flow_model.T_out + (start = Q_pump_out_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase Q_pump_out_sensor.flow_model.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy Q_pump_out_sensor.flow_model.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density Q_pump_out_sensor.flow_model.state_in.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature Q_pump_out_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure Q_pump_out_sensor.flow_model.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase Q_pump_out_sensor.flow_model.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy Q_pump_out_sensor.flow_model.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density Q_pump_out_sensor.flow_model.state_out.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature Q_pump_out_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure Q_pump_out_sensor.flow_model.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + Q_pump_out_sensor.flow_model.DP(start = Q_pump_out_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power Q_pump_out_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + Q_pump_out_sensor.flow_model.DH(start = Q_pump_out_sensor.flow_model.h_out_0 + -Q_pump_out_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + Q_pump_out_sensor.flow_model.DT(start = Q_pump_out_sensor.flow_model.T_out_0 + -Q_pump_out_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Q_pump_out_sensor.flow_model.C_in.Q(start = Q_pump_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_pump_out_sensor.flow_model.C_in.P + (start = Q_pump_out_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_pump_out_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction Q_pump_out_sensor.flow_model.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + Q_pump_out_sensor.flow_model.C_out.Q(start = -Q_pump_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_pump_out_sensor.flow_model.C_out.P + (start = Q_pump_out_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_pump_out_sensor.flow_model.C_out.h_outflow + (start = Q_pump_out_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction Q_pump_out_sensor.flow_model.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_pump_out_sensor.flow_model.h + (start = Q_pump_out_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_pump_out_sensor.flow_model.P + (start = Q_pump_out_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature Q_pump_out_sensor.flow_model.T + (start = Q_pump_out_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.VolumeFlowRate Q_pump_out_sensor.Qv( + start = Q_pump_out_sensor.Qv_0); + Real Q_pump_out_sensor.Q_lm(start = Q_pump_out_sensor.Qv_0*60000, nominal = + 6000.0); + Real Q_pump_out_sensor.Q_th(start = Q_pump_out_sensor.Q_0*3.6, nominal = 360.0); + Real Q_pump_out_sensor.Q_lbs(start = Q_pump_out_sensor.Q_0*2.2046, nominal = + 220.46); + Real Q_pump_out_sensor.Q_Mlbh(start = Q_pump_out_sensor.Q_0*0.0079366414387, + nominal = 0.79366414387); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal Q_pump_out_sensor.Q_sensor + (start = Q_pump_out_sensor.Q_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy airCompressor.h_in( + start = airCompressor.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy airCompressor.h_out + (start = 700000.0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate airCompressor.Q + (start = airCompressor.Q_0) "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure airCompressor.P_in(start = + airCompressor.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure airCompressor.P_out( + start = airCompressor.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction airCompressor.Xi[5] + "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density airCompressor.rho_in( + start = airCompressor.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density airCompressor.rho_out( + start = airCompressor.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density airCompressor.rho(start = + airCompressor.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + airCompressor.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + airCompressor.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + airCompressor.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature airCompressor.T_in( + start = airCompressor.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature airCompressor.T_out( + start = airCompressor.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure airCompressor.state_in.p( + start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature airCompressor.state_in.T(start = 500, + nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction airCompressor.state_in.X[5]( + start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + Modelica.Media.Interfaces.Types.AbsolutePressure airCompressor.state_out.p( + start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature airCompressor.state_out.T(start = 500, + nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction airCompressor.state_out.X[5]( + start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + airCompressor.DP(start = airCompressor.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power airCompressor.W(start = 0, + nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + airCompressor.DH(start = airCompressor.h_out_0-airCompressor.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + airCompressor.DT(start = airCompressor.T_out_0-airCompressor.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + airCompressor.C_in.Q(start = airCompressor.Q_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure airCompressor.C_in.P( + start = airCompressor.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy airCompressor.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction airCompressor.C_in.Xi_outflow[5]( + start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + airCompressor.C_out.Q(start = -airCompressor.Q_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure airCompressor.C_out.P( + start = airCompressor.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy airCompressor.C_out.h_outflow + (start = airCompressor.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction airCompressor.C_out.Xi_outflow[5] + (start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy airCompressor.h_is( + start = 1000000.0) "Isentropic compression outlet enthalpy"; + Modelica.Media.Interfaces.Types.AbsolutePressure airCompressor.state_is.p( + start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature airCompressor.state_is.T(start = 500, + nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction airCompressor.state_is.X[5]( + start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + Real airCompressor.Q_reduced "Compressor reduced mass flow"; + MetroscopeModelingLibrary.Utilities.Units.Percentage airCompressor.eta_is_decrease + "percentage decrease of eta_is"; + MetroscopeModelingLibrary.Utilities.Units.Percentage airCompressor.tau_decrease + "percentage decrease of tau"; + MetroscopeModelingLibrary.Utilities.Units.PositivePower airCompressor.C_W_in.W; + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal airCompressor.tau; + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal airCompressor.eta_is; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy gasTurbine.h_in( + start = gasTurbine.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy gasTurbine.h_out + "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate gasTurbine.Q( + start = gasTurbine.Q_0) "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure gasTurbine.P_in(start = + gasTurbine.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure gasTurbine.P_out(start = + gasTurbine.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction gasTurbine.Xi[5] + "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density gasTurbine.rho_in(start = + gasTurbine.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density gasTurbine.rho_out(start = + gasTurbine.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density gasTurbine.rho(start = + gasTurbine.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + gasTurbine.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + gasTurbine.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate gasTurbine.Qv + "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature gasTurbine.T_in(start = + gasTurbine.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature gasTurbine.T_out( + start = gasTurbine.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure gasTurbine.state_in.p( + start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature gasTurbine.state_in.T(start = 500, + nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction gasTurbine.state_in.X[5](start = + {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + Modelica.Media.Interfaces.Types.AbsolutePressure gasTurbine.state_out.p( + start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature gasTurbine.state_out.T(start = 500, + nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction gasTurbine.state_out.X[5]( + start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure gasTurbine.DP( + start = gasTurbine.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power gasTurbine.W(start = 0, + nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy gasTurbine.DH( + start = gasTurbine.h_out_0-gasTurbine.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + gasTurbine.DT(start = gasTurbine.T_out_0-gasTurbine.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + gasTurbine.C_in.Q(start = gasTurbine.Q_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure gasTurbine.C_in.P(start = + gasTurbine.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy gasTurbine.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction gasTurbine.C_in.Xi_outflow[5]( + start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + gasTurbine.C_out.Q(start = -gasTurbine.Q_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure gasTurbine.C_out.P(start = + gasTurbine.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy gasTurbine.C_out.h_outflow + (start = gasTurbine.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction gasTurbine.C_out.Xi_outflow[5]( + start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputReal gasTurbine.tau( + start = 15, min = 1.0) "Compression rate"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy gasTurbine.h_is( + start = 1000000.0) "Isentropic compression outlet enthalpy"; + Modelica.Media.Interfaces.Types.AbsolutePressure gasTurbine.state_is.p( + start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature gasTurbine.state_is.T(start = 500, + nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction gasTurbine.state_is.X[5](start = + {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.Power gasTurbine.W_shaft; + MetroscopeModelingLibrary.Utilities.Units.Percentage gasTurbine.eta_is_decrease + "percentage decrease of eta_is"; + MetroscopeModelingLibrary.Utilities.Units.NegativePower gasTurbine.C_W_shaft.W; + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal gasTurbine.eta_is( + start = 0.73); + MetroscopeModelingLibrary.Utilities.Units.PositivePower sink_power.W_in; + MetroscopeModelingLibrary.Utilities.Units.PositivePower sink_power.C_in.W; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + combustionChamber.Q_air; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + combustionChamber.Q_fuel; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + combustionChamber.Q_exhaust; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputPower combustionChamber.Wth; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy combustionChamber.h_in_air + (start = combustionChamber.h_in_air_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy combustionChamber.h_in_fuel; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy combustionChamber.h_exhaust; + MetroscopeModelingLibrary.Utilities.Units.MassFraction combustionChamber.X_in_N2 + (start = 0.78); + MetroscopeModelingLibrary.Utilities.Units.MassFraction combustionChamber.X_in_O2 + (start = 0.22); + MetroscopeModelingLibrary.Utilities.Units.MassFraction combustionChamber.X_in_H2O + (start = 0.0); + MetroscopeModelingLibrary.Utilities.Units.MassFraction combustionChamber.X_in_CO2 + (start = 0.0); + MetroscopeModelingLibrary.Utilities.Units.MassFraction combustionChamber.X_in_SO2 + (start = 0.0); + MetroscopeModelingLibrary.Utilities.Units.MassFraction combustionChamber.X_out_N2 + (start = 0.73); + MetroscopeModelingLibrary.Utilities.Units.MassFraction combustionChamber.X_out_O2 + (start = 0.12); + MetroscopeModelingLibrary.Utilities.Units.MassFraction combustionChamber.X_out_H2O + (start = 0.1); + MetroscopeModelingLibrary.Utilities.Units.MassFraction combustionChamber.X_out_CO2 + (start = 0.05); + MetroscopeModelingLibrary.Utilities.Units.MassFraction combustionChamber.X_out_SO2 + (start = 0.0); + MetroscopeModelingLibrary.Utilities.Units.MassFraction combustionChamber.X_fuel_CH4 + (start = 0.92); + MetroscopeModelingLibrary.Utilities.Units.MassFraction combustionChamber.X_fuel_C2H6 + (start = 0.048); + MetroscopeModelingLibrary.Utilities.Units.MassFraction combustionChamber.X_fuel_C3H8 + (start = 0.005); + MetroscopeModelingLibrary.Utilities.Units.MassFraction combustionChamber.X_fuel_C4H10_n_butane + (start = 0.002); + MetroscopeModelingLibrary.Utilities.Units.MassFraction combustionChamber.X_fuel_N2 + (start = 0.015); + MetroscopeModelingLibrary.Utilities.Units.MassFraction combustionChamber.X_fuel_CO2 + (start = 0.01); + MetroscopeModelingLibrary.Utilities.Units.MassFraction combustionChamber.X_fuel_C + (start = 0.8) "C mass fraction in the fuel"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction combustionChamber.X_fuel_H + (start = 0.2) "H mass fraction in the fuel"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction combustionChamber.X_fuel_O + (start = 0) "O mass fraction in the fuel"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy combustionChamber.HHV + = (55.57169322525389*combustionChamber.X_fuel_CH4+51.9490453316164* + combustionChamber.X_fuel_C2H6+50.36756468439963*combustionChamber.X_fuel_C3H8 + +49.544408160737206*combustionChamber.X_fuel_C4H10_n_butane)*1000000.0 + "J/kg can be assigned in component modifiers"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy combustionChamber.LHV + = LHV_plant "J/kg can be assigned in component modifiers"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + combustionChamber.inlet.Q(start = 500, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure combustionChamber.inlet.P( + start = 100000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy combustionChamber.inlet.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction combustionChamber.inlet.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + combustionChamber.outlet.Q(start = -500, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure combustionChamber.outlet.P( + start = 100000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy combustionChamber.outlet.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction combustionChamber.outlet.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + combustionChamber.inlet1.Q(start = 500, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure combustionChamber.inlet1.P( + start = 100000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy combustionChamber.inlet1.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction combustionChamber.inlet1.Xi_outflow + [6]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy combustionChamber.sink_fuel.h_in; + MetroscopeModelingLibrary.Utilities.Units.MassFraction combustionChamber.sink_fuel.Xi_in + [6]; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputPressure + combustionChamber.sink_fuel.P_in; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + combustionChamber.sink_fuel.Q_in; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + combustionChamber.sink_fuel.Qv_in(start = 1); + MetroscopeModelingLibrary.Utilities.Units.Temperature combustionChamber.sink_fuel.T_in; + Modelica.Media.Interfaces.Types.AbsolutePressure combustionChamber.sink_fuel.state_in.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature combustionChamber.sink_fuel.state_in.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction combustionChamber.sink_fuel.state_in.X + [6](start = {0.92, 0.048, 0.005, 0.002, 0.015, 0.01}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + combustionChamber.sink_fuel.C_in.Q(nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure combustionChamber.sink_fuel.C_in.P + (start = 100000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy combustionChamber.sink_fuel.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction combustionChamber.sink_fuel.C_in.Xi_outflow + [6]; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputSpecificEnthalpy + combustionChamber.source_exhaust.h_out(start = combustionChamber.source_exhaust.h_0); + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputMassFraction + combustionChamber.source_exhaust.Xi_out[5]; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputPressure + combustionChamber.source_exhaust.P_out(start = combustionChamber.source_exhaust.P_0); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + combustionChamber.source_exhaust.Q_out(start = -combustionChamber.source_exhaust.Q_0); + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + combustionChamber.source_exhaust.Qv_out(start = -combustionChamber.source_exhaust.Q_0 + /1000); + MetroscopeModelingLibrary.Utilities.Units.Temperature combustionChamber.source_exhaust.T_out + (start = combustionChamber.source_exhaust.T_0); + Modelica.Media.Interfaces.Types.AbsolutePressure combustionChamber.source_exhaust.state_out.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature combustionChamber.source_exhaust.state_out.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction combustionChamber.source_exhaust.state_out.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + combustionChamber.source_exhaust.C_out.Q(start = -combustionChamber.source_exhaust.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure combustionChamber.source_exhaust.C_out.P + (start = combustionChamber.source_exhaust.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy combustionChamber.source_exhaust.C_out.h_outflow + (start = combustionChamber.source_exhaust.h_0); + Modelica.Media.Interfaces.Types.MassFraction combustionChamber.source_exhaust.C_out.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy combustionChamber.sink_air.h_in + (start = combustionChamber.h_in_air_0); + MetroscopeModelingLibrary.Utilities.Units.MassFraction combustionChamber.sink_air.Xi_in + [5]; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputPressure + combustionChamber.sink_air.P_in; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + combustionChamber.sink_air.Q_in; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + combustionChamber.sink_air.Qv_in(start = 1); + MetroscopeModelingLibrary.Utilities.Units.Temperature combustionChamber.sink_air.T_in; + Modelica.Media.Interfaces.Types.AbsolutePressure combustionChamber.sink_air.state_in.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature combustionChamber.sink_air.state_in.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction combustionChamber.sink_air.state_in.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + combustionChamber.sink_air.C_in.Q(nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure combustionChamber.sink_air.C_in.P + (start = 100000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy combustionChamber.sink_air.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction combustionChamber.sink_air.C_in.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy combustionChamber.pressure_loss.h_in + (start = combustionChamber.pressure_loss.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy combustionChamber.pressure_loss.h_out + (start = combustionChamber.pressure_loss.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + combustionChamber.pressure_loss.Q(start = combustionChamber.pressure_loss.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure combustionChamber.pressure_loss.P_in + (start = combustionChamber.pressure_loss.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure combustionChamber.pressure_loss.P_out + (start = combustionChamber.pressure_loss.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction combustionChamber.pressure_loss.Xi + [5] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density combustionChamber.pressure_loss.rho_in + (start = combustionChamber.pressure_loss.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density combustionChamber.pressure_loss.rho_out + (start = combustionChamber.pressure_loss.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density combustionChamber.pressure_loss.rho + (start = combustionChamber.pressure_loss.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + combustionChamber.pressure_loss.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + combustionChamber.pressure_loss.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + combustionChamber.pressure_loss.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature combustionChamber.pressure_loss.T_in + (start = combustionChamber.pressure_loss.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature combustionChamber.pressure_loss.T_out + (start = combustionChamber.pressure_loss.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure combustionChamber.pressure_loss.state_in.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature combustionChamber.pressure_loss.state_in.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction combustionChamber.pressure_loss.state_in.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + Modelica.Media.Interfaces.Types.AbsolutePressure combustionChamber.pressure_loss.state_out.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature combustionChamber.pressure_loss.state_out.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction combustionChamber.pressure_loss.state_out.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + combustionChamber.pressure_loss.DP(start = combustionChamber.pressure_loss.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power combustionChamber.pressure_loss.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + combustionChamber.pressure_loss.DH(start = combustionChamber.pressure_loss.h_out_0 + -combustionChamber.pressure_loss.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + combustionChamber.pressure_loss.DT(start = combustionChamber.pressure_loss.T_out_0 + -combustionChamber.pressure_loss.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + combustionChamber.pressure_loss.C_in.Q(start = combustionChamber.pressure_loss.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure combustionChamber.pressure_loss.C_in.P + (start = combustionChamber.pressure_loss.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy combustionChamber.pressure_loss.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction combustionChamber.pressure_loss.C_in.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + combustionChamber.pressure_loss.C_out.Q(start = -combustionChamber.pressure_loss.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure combustionChamber.pressure_loss.C_out.P + (start = combustionChamber.pressure_loss.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy combustionChamber.pressure_loss.C_out.h_outflow + (start = combustionChamber.pressure_loss.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction combustionChamber.pressure_loss.C_out.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy combustionChamber.pressure_loss.h + (start = combustionChamber.pressure_loss.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Percentage combustionChamber.pressure_loss.fouling; + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal combustionChamber.pressure_loss.Kfr + (start = combustionChamber.pressure_loss.Kfr_constant); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal combustionChamber.Kfr + (start = combustionChamber.Kfr_constant); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal combustionChamber.eta + (start = combustionChamber.eta_constant); + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputSpecificEnthalpy + source_fuel.h_out(start = 900000.0); + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputMassFraction + source_fuel.Xi_out[6]; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputPressure + source_fuel.P_out(start = source_fuel.P_0); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + source_fuel.Q_out(start = -source_fuel.Q_0); + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + source_fuel.Qv_out(start = -source_fuel.Q_0/1000); + MetroscopeModelingLibrary.Utilities.Units.Temperature source_fuel.T_out( + start = source_fuel.T_0); + Modelica.Media.Interfaces.Types.AbsolutePressure source_fuel.state_out.p( + start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature source_fuel.state_out.T(start = 500, + nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction source_fuel.state_out.X[6]( + start = {0.92, 0.048, 0.005, 0.002, 0.015, 0.01}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + source_fuel.C_out.Q(start = -source_fuel.Q_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure source_fuel.C_out.P( + start = source_fuel.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy source_fuel.C_out.h_outflow + (start = source_fuel.h_0); + Modelica.Media.Interfaces.Types.MassFraction source_fuel.C_out.Xi_outflow[6]; + Real source_fuel.amCH4 "CH4 molecular mass"; + Real source_fuel.amC2H6 "C2H6 molecular mass"; + Real source_fuel.amC3H8 "C3H8 molecular mass"; + Real source_fuel.amC4H10 "C4H10 molecular mass"; + Real source_fuel.amCO2 "CO2 molecular mass"; + Real source_fuel.amN2 "H2O molecular mass"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction source_fuel.X_CH4( + start = 0.848); + MetroscopeModelingLibrary.Utilities.Units.MassFraction source_fuel.X_C2H6( + start = 0.083); + MetroscopeModelingLibrary.Utilities.Units.MassFraction source_fuel.X_C3H8( + start = 0.0126); + MetroscopeModelingLibrary.Utilities.Units.MassFraction source_fuel.X_C4H10_n_butane + (start = 0.00668); + MetroscopeModelingLibrary.Utilities.Units.MassFraction source_fuel.X_N2( + start = 0.024); + MetroscopeModelingLibrary.Utilities.Units.MassFraction source_fuel.X_CO2( + start = 0.025); + Real source_fuel.X_molar_CH4(start = 0.92); + Real source_fuel.X_molar_C2H6(start = 0.048); + Real source_fuel.X_molar_C3H8(start = 0.005); + Real source_fuel.X_molar_C4H10_n_butane(start = 0.002); + Real source_fuel.X_molar_N2(start = 0.015); + Real source_fuel.X_molar_CO2(start = 0.01); + Real source_fuel.mean_molecular_mass(start = 17); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + compressor_P_out_sensor.Q(start = compressor_P_out_sensor.Q_0, nominal = + 100.0) "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction compressor_P_out_sensor.Xi + [5] "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure compressor_P_out_sensor.P( + start = compressor_P_out_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy compressor_P_out_sensor.h + (start = compressor_P_out_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.AbsolutePressure compressor_P_out_sensor.state.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature compressor_P_out_sensor.state.T( + start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction compressor_P_out_sensor.state.X[5] + (start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate compressor_P_out_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + compressor_P_out_sensor.C_in.Q(start = compressor_P_out_sensor.Q_0, + nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure compressor_P_out_sensor.C_in.P + (start = compressor_P_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy compressor_P_out_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction compressor_P_out_sensor.C_in.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + compressor_P_out_sensor.C_out.Q(start = -compressor_P_out_sensor.Q_0, + nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure compressor_P_out_sensor.C_out.P + (start = compressor_P_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy compressor_P_out_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction compressor_P_out_sensor.C_out.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy compressor_P_out_sensor.flow_model.h_in + (start = compressor_P_out_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy compressor_P_out_sensor.flow_model.h_out + (start = compressor_P_out_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + compressor_P_out_sensor.flow_model.Q(start = compressor_P_out_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure compressor_P_out_sensor.flow_model.P_in + (start = compressor_P_out_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure compressor_P_out_sensor.flow_model.P_out + (start = compressor_P_out_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction compressor_P_out_sensor.flow_model.Xi + [5] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density compressor_P_out_sensor.flow_model.rho_in + (start = compressor_P_out_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density compressor_P_out_sensor.flow_model.rho_out + (start = compressor_P_out_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density compressor_P_out_sensor.flow_model.rho + (start = compressor_P_out_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + compressor_P_out_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + compressor_P_out_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + compressor_P_out_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature compressor_P_out_sensor.flow_model.T_in + (start = compressor_P_out_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature compressor_P_out_sensor.flow_model.T_out + (start = compressor_P_out_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure compressor_P_out_sensor.flow_model.state_in.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature compressor_P_out_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction compressor_P_out_sensor.flow_model.state_in.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + Modelica.Media.Interfaces.Types.AbsolutePressure compressor_P_out_sensor.flow_model.state_out.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature compressor_P_out_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction compressor_P_out_sensor.flow_model.state_out.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + compressor_P_out_sensor.flow_model.DP(start = compressor_P_out_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power compressor_P_out_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + compressor_P_out_sensor.flow_model.DH(start = compressor_P_out_sensor.flow_model.h_out_0 + -compressor_P_out_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + compressor_P_out_sensor.flow_model.DT(start = compressor_P_out_sensor.flow_model.T_out_0 + -compressor_P_out_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + compressor_P_out_sensor.flow_model.C_in.Q(start = compressor_P_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure compressor_P_out_sensor.flow_model.C_in.P + (start = compressor_P_out_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy compressor_P_out_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction compressor_P_out_sensor.flow_model.C_in.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + compressor_P_out_sensor.flow_model.C_out.Q(start = -compressor_P_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure compressor_P_out_sensor.flow_model.C_out.P + (start = compressor_P_out_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy compressor_P_out_sensor.flow_model.C_out.h_outflow + (start = compressor_P_out_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction compressor_P_out_sensor.flow_model.C_out.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy compressor_P_out_sensor.flow_model.h + (start = compressor_P_out_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure compressor_P_out_sensor.flow_model.P + (start = compressor_P_out_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature compressor_P_out_sensor.flow_model.T + (start = compressor_P_out_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + Real compressor_P_out_sensor.P_barG(start = compressor_P_out_sensor.P_0*1E-05-1, + nominal = 100000.0); + Real compressor_P_out_sensor.P_psiG(start = compressor_P_out_sensor.P_0* + 0.000145038-14.50377377, nominal = 14.5038); + Real compressor_P_out_sensor.P_MPaG(start = compressor_P_out_sensor.P_0*1E-06- + 0.1, nominal = 0.09999999999999999); + Real compressor_P_out_sensor.P_kPaG(start = compressor_P_out_sensor.P_0*0.001-100, + nominal = 100.0); + Real compressor_P_out_sensor.P_barA(start = compressor_P_out_sensor.P_0*1E-05, + nominal = 1.0, unit = "bar"); + Real compressor_P_out_sensor.P_psiA(start = compressor_P_out_sensor.P_0* + 0.000145038, nominal = 14.5038); + Real compressor_P_out_sensor.P_MPaA(start = compressor_P_out_sensor.P_0*1E-06, + nominal = 0.09999999999999999); + Real compressor_P_out_sensor.P_kPaA(start = compressor_P_out_sensor.P_0*0.001, + nominal = 100.0); + Real compressor_P_out_sensor.P_inHg(start = compressor_P_out_sensor.P_0* + 0.0002953006, nominal = 29.530060000000002); + Real compressor_P_out_sensor.P_mbar(start = compressor_P_out_sensor.P_0*0.01, + nominal = 1000.0, unit = "mbar"); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal compressor_P_out_sensor.P_sensor + (start = compressor_P_out_sensor.init_P); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + compressor_T_out_sensor.Q(start = compressor_T_out_sensor.Q_0, nominal = + 100.0) "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction compressor_T_out_sensor.Xi + [5] "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure compressor_T_out_sensor.P( + start = compressor_T_out_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy compressor_T_out_sensor.h + (start = compressor_T_out_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.AbsolutePressure compressor_T_out_sensor.state.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature compressor_T_out_sensor.state.T( + start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction compressor_T_out_sensor.state.X[5] + (start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate compressor_T_out_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + compressor_T_out_sensor.C_in.Q(start = compressor_T_out_sensor.Q_0, + nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure compressor_T_out_sensor.C_in.P + (start = compressor_T_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy compressor_T_out_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction compressor_T_out_sensor.C_in.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + compressor_T_out_sensor.C_out.Q(start = -compressor_T_out_sensor.Q_0, + nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure compressor_T_out_sensor.C_out.P + (start = compressor_T_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy compressor_T_out_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction compressor_T_out_sensor.C_out.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy compressor_T_out_sensor.flow_model.h_in + (start = compressor_T_out_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy compressor_T_out_sensor.flow_model.h_out + (start = compressor_T_out_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + compressor_T_out_sensor.flow_model.Q(start = compressor_T_out_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure compressor_T_out_sensor.flow_model.P_in + (start = compressor_T_out_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure compressor_T_out_sensor.flow_model.P_out + (start = compressor_T_out_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction compressor_T_out_sensor.flow_model.Xi + [5] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density compressor_T_out_sensor.flow_model.rho_in + (start = compressor_T_out_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density compressor_T_out_sensor.flow_model.rho_out + (start = compressor_T_out_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density compressor_T_out_sensor.flow_model.rho + (start = compressor_T_out_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + compressor_T_out_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + compressor_T_out_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + compressor_T_out_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature compressor_T_out_sensor.flow_model.T_in + (start = compressor_T_out_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature compressor_T_out_sensor.flow_model.T_out + (start = compressor_T_out_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure compressor_T_out_sensor.flow_model.state_in.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature compressor_T_out_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction compressor_T_out_sensor.flow_model.state_in.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + Modelica.Media.Interfaces.Types.AbsolutePressure compressor_T_out_sensor.flow_model.state_out.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature compressor_T_out_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction compressor_T_out_sensor.flow_model.state_out.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + compressor_T_out_sensor.flow_model.DP(start = compressor_T_out_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power compressor_T_out_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + compressor_T_out_sensor.flow_model.DH(start = compressor_T_out_sensor.flow_model.h_out_0 + -compressor_T_out_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + compressor_T_out_sensor.flow_model.DT(start = compressor_T_out_sensor.flow_model.T_out_0 + -compressor_T_out_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + compressor_T_out_sensor.flow_model.C_in.Q(start = compressor_T_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure compressor_T_out_sensor.flow_model.C_in.P + (start = compressor_T_out_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy compressor_T_out_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction compressor_T_out_sensor.flow_model.C_in.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + compressor_T_out_sensor.flow_model.C_out.Q(start = -compressor_T_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure compressor_T_out_sensor.flow_model.C_out.P + (start = compressor_T_out_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy compressor_T_out_sensor.flow_model.C_out.h_outflow + (start = compressor_T_out_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction compressor_T_out_sensor.flow_model.C_out.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy compressor_T_out_sensor.flow_model.h + (start = compressor_T_out_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure compressor_T_out_sensor.flow_model.P + (start = compressor_T_out_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature compressor_T_out_sensor.flow_model.T + (start = compressor_T_out_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature compressor_T_out_sensor.T + (start = compressor_T_out_sensor.T_0); + Real compressor_T_out_sensor.T_degC(start = compressor_T_out_sensor.T_0+273.15, + nominal = 996.3, unit = "degC"); + Real compressor_T_out_sensor.T_degF(start = (compressor_T_out_sensor.T_0+ + 273.15)*1.8+32, nominal = 1825.34, unit = "degF"); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal compressor_T_out_sensor.T_sensor + (start = compressor_T_out_sensor.init_T); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + turbine_P_out_sensor.Q(start = turbine_P_out_sensor.Q_0, nominal = 100.0) + "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction turbine_P_out_sensor.Xi + [5] "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure turbine_P_out_sensor.P( + start = turbine_P_out_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy turbine_P_out_sensor.h + (start = turbine_P_out_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.AbsolutePressure turbine_P_out_sensor.state.p( + start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature turbine_P_out_sensor.state.T( + start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction turbine_P_out_sensor.state.X[5]( + start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate turbine_P_out_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + turbine_P_out_sensor.C_in.Q(start = turbine_P_out_sensor.Q_0, nominal = + 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure turbine_P_out_sensor.C_in.P + (start = turbine_P_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy turbine_P_out_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction turbine_P_out_sensor.C_in.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + turbine_P_out_sensor.C_out.Q(start = -turbine_P_out_sensor.Q_0, nominal = + 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure turbine_P_out_sensor.C_out.P + (start = turbine_P_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy turbine_P_out_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction turbine_P_out_sensor.C_out.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy turbine_P_out_sensor.flow_model.h_in + (start = turbine_P_out_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy turbine_P_out_sensor.flow_model.h_out + (start = turbine_P_out_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + turbine_P_out_sensor.flow_model.Q(start = turbine_P_out_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure turbine_P_out_sensor.flow_model.P_in + (start = turbine_P_out_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure turbine_P_out_sensor.flow_model.P_out + (start = turbine_P_out_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction turbine_P_out_sensor.flow_model.Xi + [5] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density turbine_P_out_sensor.flow_model.rho_in + (start = turbine_P_out_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density turbine_P_out_sensor.flow_model.rho_out + (start = turbine_P_out_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density turbine_P_out_sensor.flow_model.rho + (start = turbine_P_out_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + turbine_P_out_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + turbine_P_out_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + turbine_P_out_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature turbine_P_out_sensor.flow_model.T_in + (start = turbine_P_out_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature turbine_P_out_sensor.flow_model.T_out + (start = turbine_P_out_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure turbine_P_out_sensor.flow_model.state_in.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature turbine_P_out_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction turbine_P_out_sensor.flow_model.state_in.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + Modelica.Media.Interfaces.Types.AbsolutePressure turbine_P_out_sensor.flow_model.state_out.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature turbine_P_out_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction turbine_P_out_sensor.flow_model.state_out.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + turbine_P_out_sensor.flow_model.DP(start = turbine_P_out_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power turbine_P_out_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + turbine_P_out_sensor.flow_model.DH(start = turbine_P_out_sensor.flow_model.h_out_0 + -turbine_P_out_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + turbine_P_out_sensor.flow_model.DT(start = turbine_P_out_sensor.flow_model.T_out_0 + -turbine_P_out_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + turbine_P_out_sensor.flow_model.C_in.Q(start = turbine_P_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure turbine_P_out_sensor.flow_model.C_in.P + (start = turbine_P_out_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy turbine_P_out_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction turbine_P_out_sensor.flow_model.C_in.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + turbine_P_out_sensor.flow_model.C_out.Q(start = -turbine_P_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure turbine_P_out_sensor.flow_model.C_out.P + (start = turbine_P_out_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy turbine_P_out_sensor.flow_model.C_out.h_outflow + (start = turbine_P_out_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction turbine_P_out_sensor.flow_model.C_out.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy turbine_P_out_sensor.flow_model.h + (start = turbine_P_out_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure turbine_P_out_sensor.flow_model.P + (start = turbine_P_out_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature turbine_P_out_sensor.flow_model.T + (start = turbine_P_out_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + Real turbine_P_out_sensor.P_barG(start = turbine_P_out_sensor.P_0*1E-05-1, + nominal = 100000.0); + Real turbine_P_out_sensor.P_psiG(start = turbine_P_out_sensor.P_0*0.000145038- + 14.50377377, nominal = 14.5038); + Real turbine_P_out_sensor.P_MPaG(start = turbine_P_out_sensor.P_0*1E-06-0.1, + nominal = 0.09999999999999999); + Real turbine_P_out_sensor.P_kPaG(start = turbine_P_out_sensor.P_0*0.001-100, + nominal = 100.0); + Real turbine_P_out_sensor.P_barA(start = turbine_P_out_sensor.P_0*1E-05, + nominal = 1.0, unit = "bar"); + Real turbine_P_out_sensor.P_psiA(start = turbine_P_out_sensor.P_0*0.000145038, + nominal = 14.5038); + Real turbine_P_out_sensor.P_MPaA(start = turbine_P_out_sensor.P_0*1E-06, + nominal = 0.09999999999999999); + Real turbine_P_out_sensor.P_kPaA(start = turbine_P_out_sensor.P_0*0.001, + nominal = 100.0); + Real turbine_P_out_sensor.P_inHg(start = turbine_P_out_sensor.P_0*0.0002953006, + nominal = 29.530060000000002); + Real turbine_P_out_sensor.P_mbar(start = turbine_P_out_sensor.P_0*0.01, + nominal = 1000.0, unit = "mbar"); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal turbine_P_out_sensor.P_sensor + (start = turbine_P_out_sensor.init_P); + MetroscopeModelingLibrary.Utilities.Units.Power W_GT_sensor.W; + Real W_GT_sensor.W_MW(start = 100, nominal = 100.0, min = 0.0); + MetroscopeModelingLibrary.Utilities.Units.PositivePower W_GT_sensor.C_in.W; + MetroscopeModelingLibrary.Utilities.Units.NegativePower W_GT_sensor.C_out.W; + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal W_GT_sensor.W_sensor; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + turbine_T_out_sensor.Q(start = turbine_T_out_sensor.Q_0, nominal = 100.0) + "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction turbine_T_out_sensor.Xi + [5] "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure turbine_T_out_sensor.P( + start = turbine_T_out_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy turbine_T_out_sensor.h + (start = turbine_T_out_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.AbsolutePressure turbine_T_out_sensor.state.p( + start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature turbine_T_out_sensor.state.T( + start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction turbine_T_out_sensor.state.X[5]( + start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate turbine_T_out_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + turbine_T_out_sensor.C_in.Q(start = turbine_T_out_sensor.Q_0, nominal = + 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure turbine_T_out_sensor.C_in.P + (start = turbine_T_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy turbine_T_out_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction turbine_T_out_sensor.C_in.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + turbine_T_out_sensor.C_out.Q(start = -turbine_T_out_sensor.Q_0, nominal = + 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure turbine_T_out_sensor.C_out.P + (start = turbine_T_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy turbine_T_out_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction turbine_T_out_sensor.C_out.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy turbine_T_out_sensor.flow_model.h_in + (start = turbine_T_out_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy turbine_T_out_sensor.flow_model.h_out + (start = turbine_T_out_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + turbine_T_out_sensor.flow_model.Q(start = turbine_T_out_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure turbine_T_out_sensor.flow_model.P_in + (start = turbine_T_out_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure turbine_T_out_sensor.flow_model.P_out + (start = turbine_T_out_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction turbine_T_out_sensor.flow_model.Xi + [5] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density turbine_T_out_sensor.flow_model.rho_in + (start = turbine_T_out_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density turbine_T_out_sensor.flow_model.rho_out + (start = turbine_T_out_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density turbine_T_out_sensor.flow_model.rho + (start = turbine_T_out_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + turbine_T_out_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + turbine_T_out_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + turbine_T_out_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature turbine_T_out_sensor.flow_model.T_in + (start = turbine_T_out_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature turbine_T_out_sensor.flow_model.T_out + (start = turbine_T_out_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure turbine_T_out_sensor.flow_model.state_in.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature turbine_T_out_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction turbine_T_out_sensor.flow_model.state_in.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + Modelica.Media.Interfaces.Types.AbsolutePressure turbine_T_out_sensor.flow_model.state_out.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature turbine_T_out_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction turbine_T_out_sensor.flow_model.state_out.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + turbine_T_out_sensor.flow_model.DP(start = turbine_T_out_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power turbine_T_out_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + turbine_T_out_sensor.flow_model.DH(start = turbine_T_out_sensor.flow_model.h_out_0 + -turbine_T_out_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + turbine_T_out_sensor.flow_model.DT(start = turbine_T_out_sensor.flow_model.T_out_0 + -turbine_T_out_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + turbine_T_out_sensor.flow_model.C_in.Q(start = turbine_T_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure turbine_T_out_sensor.flow_model.C_in.P + (start = turbine_T_out_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy turbine_T_out_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction turbine_T_out_sensor.flow_model.C_in.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + turbine_T_out_sensor.flow_model.C_out.Q(start = -turbine_T_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure turbine_T_out_sensor.flow_model.C_out.P + (start = turbine_T_out_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy turbine_T_out_sensor.flow_model.C_out.h_outflow + (start = turbine_T_out_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction turbine_T_out_sensor.flow_model.C_out.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy turbine_T_out_sensor.flow_model.h + (start = turbine_T_out_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure turbine_T_out_sensor.flow_model.P + (start = turbine_T_out_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature turbine_T_out_sensor.flow_model.T + (start = turbine_T_out_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature turbine_T_out_sensor.T( + start = turbine_T_out_sensor.T_0); + Real turbine_T_out_sensor.T_degC(start = turbine_T_out_sensor.T_0+273.15, + nominal = 1186.3, unit = "degC"); + Real turbine_T_out_sensor.T_degF(start = (turbine_T_out_sensor.T_0+273.15)*1.8 + +32, nominal = 2167.34, unit = "degF"); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal turbine_T_out_sensor.T_sensor + (start = turbine_T_out_sensor.init_T); + MetroscopeModelingLibrary.Utilities.Units.Temperature Reheater.maximum_achiveable_temperature_difference; + MetroscopeModelingLibrary.Utilities.Units.Temperature Reheater.nominal_cold_side_temperature_rise; + MetroscopeModelingLibrary.Utilities.Units.Temperature Reheater.nominal_hot_side_temperature_drop; + MetroscopeModelingLibrary.Utilities.Units.Power Reheater.W; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate Reheater.Q_cold( + start = Reheater.Q_cold_0); + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate Reheater.Q_hot(start = + Reheater.Q_hot_0); + MetroscopeModelingLibrary.Utilities.Units.Temperature Reheater.T_cold_in( + start = Reheater.T_cold_in_0); + MetroscopeModelingLibrary.Utilities.Units.Temperature Reheater.T_hot_in( + start = Reheater.T_hot_in_0); + MetroscopeModelingLibrary.Utilities.Units.Temperature Reheater.T_cold_out( + start = Reheater.T_cold_out_0); + MetroscopeModelingLibrary.Utilities.Units.Temperature Reheater.T_hot_out( + start = Reheater.T_hot_out_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + Reheater.DT_hot_in_side(start = Reheater.T_hot_in_0-Reheater.T_cold_out_0) + "Temperature difference between hot and cold fluids, hot inlet side"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + Reheater.DT_hot_out_side(start = Reheater.T_hot_out_0-Reheater.T_cold_in_0) + "Temperature difference between hot and cold fluids, hot outlet side"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + Reheater.pinch(start = min(Reheater.T_hot_in_0-Reheater.T_cold_out_0, + Reheater.T_hot_out_0-Reheater.T_cold_in_0)) "Lowest temperature difference"; + MetroscopeModelingLibrary.Utilities.Units.Percentage Reheater.fouling; + MetroscopeModelingLibrary.Utilities.Units.HeatCapacity Reheater.Cp_cold_min; + MetroscopeModelingLibrary.Utilities.Units.HeatCapacity Reheater.Cp_cold_max; + MetroscopeModelingLibrary.Utilities.Units.HeatCapacity Reheater.Cp_hot_min; + MetroscopeModelingLibrary.Utilities.Units.HeatCapacity Reheater.Cp_hot_max; + Modelica.Media.Interfaces.Types.FixedPhase Reheater.state_cold_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy Reheater.state_cold_out.h( + start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density Reheater.state_cold_out.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature Reheater.state_cold_out.T(start = 500, + nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure Reheater.state_cold_out.p( + start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.AbsolutePressure Reheater.state_hot_out.p( + start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature Reheater.state_hot_out.T(start = 500, + nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction Reheater.state_hot_out.X[5]( + start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Reheater.C_hot_in.Q(start = Reheater.Q_hot_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Reheater.C_hot_in.P( + start = Reheater.P_hot_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Reheater.C_hot_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction Reheater.C_hot_in.Xi_outflow[5]( + start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + Reheater.C_hot_out.Q(start = -Reheater.Q_hot_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Reheater.C_hot_out.P( + start = Reheater.P_hot_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Reheater.C_hot_out.h_outflow + (start = Reheater.h_hot_out_0); + Modelica.Media.Interfaces.Types.MassFraction Reheater.C_hot_out.Xi_outflow[5]( + start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Reheater.C_cold_in.Q(start = Reheater.Q_cold_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Reheater.C_cold_in.P( + start = Reheater.P_cold_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Reheater.C_cold_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction Reheater.C_cold_in.Xi_outflow[0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + Reheater.C_cold_out.Q(start = -Reheater.Q_cold_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Reheater.C_cold_out.P( + start = Reheater.P_cold_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Reheater.C_cold_out.h_outflow + (start = Reheater.h_cold_out_0); + Modelica.Media.Interfaces.Types.MassFraction Reheater.C_cold_out.Xi_outflow[0]; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputArea Reheater.HX.S( + start = Reheater.HX.S_0) "Heat exchange surface"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputHeatExchangeCoefficient + Reheater.HX.Kth(start = Reheater.HX.Kth_0) "Heat exchange coefficient"; + MetroscopeModelingLibrary.Utilities.Units.Power Reheater.HX.W(start = + Reheater.HX.W_0); + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputMassFlowRate + Reheater.HX.Q_hot(start = Reheater.HX.Q_hot_0) "Hot mass flow rate at the inlet"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputMassFlowRate + Reheater.HX.Q_cold(start = Reheater.HX.Q_cold_0) "Cold mass flow rate at the inlet"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputHeatCapacity + Reheater.HX.Cp_hot(start = Reheater.HX.Cp_hot_0) "Hot fluid specific heat capacity"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputHeatCapacity + Reheater.HX.Cp_cold(start = Reheater.HX.Cp_cold_0) "Cold fluid specific heat capacity"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputTemperature + Reheater.HX.T_hot_in(start = Reheater.HX.T_hot_in_0) "Temperature, hot side, at the inlet"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputTemperature + Reheater.HX.T_cold_in(start = Reheater.HX.T_cold_in_0) "Temperature, cold side, at the inlet"; + Real Reheater.HX.QCpMIN(start = Reheater.HX.QCpMIN_0, unit = "W/K"); + Real Reheater.HX.QCpMAX(start = Reheater.HX.QCpMAX_0, unit = "W/K"); + Real Reheater.HX.NTU(start = Reheater.HX.NTU_0, unit = "1"); + MetroscopeModelingLibrary.Utilities.Units.Fraction Reheater.HX.Cr(start = + Reheater.HX.Cr_0); + MetroscopeModelingLibrary.Utilities.Units.Fraction Reheater.HX.epsilon( + start = Reheater.HX.epsilon_0); + MetroscopeModelingLibrary.Utilities.Units.Power Reheater.HX.W_max(start = + Reheater.HX.W_max_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Reheater.hot_side.h_in + (start = Reheater.hot_side.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Reheater.hot_side.h_out + (start = Reheater.hot_side.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Reheater.hot_side.Q(start = Reheater.hot_side.Q_0) "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure Reheater.hot_side.P_in( + start = Reheater.hot_side.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure Reheater.hot_side.P_out( + start = Reheater.hot_side.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction Reheater.hot_side.Xi[5] + "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density Reheater.hot_side.rho_in( + start = Reheater.hot_side.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density Reheater.hot_side.rho_out( + start = Reheater.hot_side.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density Reheater.hot_side.rho( + start = Reheater.hot_side.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + Reheater.hot_side.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + Reheater.hot_side.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + Reheater.hot_side.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature Reheater.hot_side.T_in( + start = Reheater.hot_side.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature Reheater.hot_side.T_out( + start = Reheater.hot_side.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure Reheater.hot_side.state_in.p( + start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature Reheater.hot_side.state_in.T( + start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction Reheater.hot_side.state_in.X[5]( + start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + Modelica.Media.Interfaces.Types.AbsolutePressure Reheater.hot_side.state_out.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature Reheater.hot_side.state_out.T( + start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction Reheater.hot_side.state_out.X[5]( + start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + Reheater.hot_side.DP(start = Reheater.hot_side.DP_0, nominal = 105000.0); + MetroscopeModelingLibrary.Utilities.Units.Power Reheater.hot_side.W(start = 0, + nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + Reheater.hot_side.DH(start = Reheater.hot_side.h_out_0-Reheater.hot_side.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + Reheater.hot_side.DT(start = Reheater.hot_side.T_out_0-Reheater.hot_side.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Reheater.hot_side.C_in.Q(start = Reheater.hot_side.Q_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Reheater.hot_side.C_in.P( + start = Reheater.hot_side.P_in_0, nominal = 105000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Reheater.hot_side.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction Reheater.hot_side.C_in.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + Reheater.hot_side.C_out.Q(start = -Reheater.hot_side.Q_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Reheater.hot_side.C_out.P( + start = Reheater.hot_side.P_out_0, nominal = 105000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Reheater.hot_side.C_out.h_outflow + (start = Reheater.hot_side.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction Reheater.hot_side.C_out.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.Pressure Reheater.hot_side.P( + start = Reheater.hot_side.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputPower Reheater.hot_side.W_input + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Reheater.cold_side.h_in + (start = Reheater.cold_side.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Reheater.cold_side.h_out + (start = Reheater.cold_side.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Reheater.cold_side.Q(start = Reheater.cold_side.Q_0) "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure Reheater.cold_side.P_in( + start = Reheater.cold_side.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure Reheater.cold_side.P_out( + start = Reheater.cold_side.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction Reheater.cold_side.Xi[0] + "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density Reheater.cold_side.rho_in( + start = Reheater.cold_side.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density Reheater.cold_side.rho_out( + start = Reheater.cold_side.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density Reheater.cold_side.rho( + start = Reheater.cold_side.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + Reheater.cold_side.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + Reheater.cold_side.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + Reheater.cold_side.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature Reheater.cold_side.T_in( + start = Reheater.cold_side.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature Reheater.cold_side.T_out + (start = Reheater.cold_side.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase Reheater.cold_side.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy Reheater.cold_side.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density Reheater.cold_side.state_in.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature Reheater.cold_side.state_in.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure Reheater.cold_side.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase Reheater.cold_side.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy Reheater.cold_side.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density Reheater.cold_side.state_out.d( + start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature Reheater.cold_side.state_out.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure Reheater.cold_side.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + Reheater.cold_side.DP(start = Reheater.cold_side.DP_0, nominal = 13000000.0); + MetroscopeModelingLibrary.Utilities.Units.Power Reheater.cold_side.W(start = 0, + nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + Reheater.cold_side.DH(start = Reheater.cold_side.h_out_0-Reheater.cold_side.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + Reheater.cold_side.DT(start = Reheater.cold_side.T_out_0-Reheater.cold_side.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Reheater.cold_side.C_in.Q(start = Reheater.cold_side.Q_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Reheater.cold_side.C_in.P( + start = Reheater.cold_side.P_in_0, nominal = 13000000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Reheater.cold_side.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction Reheater.cold_side.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + Reheater.cold_side.C_out.Q(start = -Reheater.cold_side.Q_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Reheater.cold_side.C_out.P( + start = Reheater.cold_side.P_out_0, nominal = 13000000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Reheater.cold_side.C_out.h_outflow + (start = Reheater.cold_side.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction Reheater.cold_side.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.Pressure Reheater.cold_side.P( + start = Reheater.cold_side.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputPower Reheater.cold_side.W_input + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Reheater.cold_side_pipe.h_in + (start = Reheater.cold_side_pipe.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Reheater.cold_side_pipe.h_out + (start = Reheater.cold_side_pipe.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Reheater.cold_side_pipe.Q(start = Reheater.cold_side_pipe.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure Reheater.cold_side_pipe.P_in + (start = Reheater.cold_side_pipe.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure Reheater.cold_side_pipe.P_out + (start = Reheater.cold_side_pipe.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction Reheater.cold_side_pipe.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density Reheater.cold_side_pipe.rho_in + (start = Reheater.cold_side_pipe.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density Reheater.cold_side_pipe.rho_out + (start = Reheater.cold_side_pipe.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density Reheater.cold_side_pipe.rho( + start = Reheater.cold_side_pipe.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + Reheater.cold_side_pipe.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + Reheater.cold_side_pipe.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + Reheater.cold_side_pipe.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature Reheater.cold_side_pipe.T_in + (start = Reheater.cold_side_pipe.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature Reheater.cold_side_pipe.T_out + (start = Reheater.cold_side_pipe.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase Reheater.cold_side_pipe.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy Reheater.cold_side_pipe.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density Reheater.cold_side_pipe.state_in.d( + start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature Reheater.cold_side_pipe.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure Reheater.cold_side_pipe.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase Reheater.cold_side_pipe.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy Reheater.cold_side_pipe.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density Reheater.cold_side_pipe.state_out.d( + start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature Reheater.cold_side_pipe.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure Reheater.cold_side_pipe.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + Reheater.cold_side_pipe.DP(start = Reheater.cold_side_pipe.DP_0, nominal = + 13000000.0); + MetroscopeModelingLibrary.Utilities.Units.Power Reheater.cold_side_pipe.W( + start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + Reheater.cold_side_pipe.DH(start = Reheater.cold_side_pipe.h_out_0- + Reheater.cold_side_pipe.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + Reheater.cold_side_pipe.DT(start = Reheater.cold_side_pipe.T_out_0- + Reheater.cold_side_pipe.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Reheater.cold_side_pipe.C_in.Q(start = Reheater.cold_side_pipe.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Reheater.cold_side_pipe.C_in.P + (start = Reheater.cold_side_pipe.P_in_0, nominal = 13000000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Reheater.cold_side_pipe.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction Reheater.cold_side_pipe.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + Reheater.cold_side_pipe.C_out.Q(start = -Reheater.cold_side_pipe.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Reheater.cold_side_pipe.C_out.P + (start = Reheater.cold_side_pipe.P_out_0, nominal = 12950000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Reheater.cold_side_pipe.C_out.h_outflow + (start = Reheater.cold_side_pipe.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction Reheater.cold_side_pipe.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Reheater.cold_side_pipe.h + (start = Reheater.cold_side_pipe.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Percentage Reheater.cold_side_pipe.fouling; + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal Reheater.cold_side_pipe.Kfr + (start = Reheater.cold_side_pipe.Kfr_constant); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal Reheater.Kth; + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal Reheater.Kfr_cold; + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature Reheater.STR + (start = Reheater.T_cold_out_0-Reheater.T_cold_in_0) "Steam Temperature Rise"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + Reheater.DT_superheat(start = Reheater.T_cold_out_0-Modelica.Media.Water.WaterIF97_ph.saturationTemperature_Unique21 + (Reheater.P_cold_in_0)) "Superheat temperature difference"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy LPsteamTurbine.h_in + (start = LPsteamTurbine.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy LPsteamTurbine.h_out + (start = LPsteamTurbine.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + LPsteamTurbine.Q(start = LPsteamTurbine.Q_0) "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure LPsteamTurbine.P_in( + start = LPsteamTurbine.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure LPsteamTurbine.P_out( + start = LPsteamTurbine.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction LPsteamTurbine.Xi[0] + "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density LPsteamTurbine.rho_in( + start = LPsteamTurbine.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density LPsteamTurbine.rho_out( + start = LPsteamTurbine.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density LPsteamTurbine.rho(start = + LPsteamTurbine.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + LPsteamTurbine.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + LPsteamTurbine.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + LPsteamTurbine.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature LPsteamTurbine.T_in( + start = LPsteamTurbine.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature LPsteamTurbine.T_out( + start = LPsteamTurbine.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase LPsteamTurbine.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy LPsteamTurbine.state_in.h( + start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density LPsteamTurbine.state_in.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature LPsteamTurbine.state_in.T(start = 500, + nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure LPsteamTurbine.state_in.p( + start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase LPsteamTurbine.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy LPsteamTurbine.state_out.h( + start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density LPsteamTurbine.state_out.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature LPsteamTurbine.state_out.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure LPsteamTurbine.state_out.p( + start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + LPsteamTurbine.DP(start = LPsteamTurbine.DP_0, nominal = 6000000.0); + MetroscopeModelingLibrary.Utilities.Units.Power LPsteamTurbine.W(start = 0, + nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + LPsteamTurbine.DH(start = LPsteamTurbine.h_out_0-LPsteamTurbine.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + LPsteamTurbine.DT(start = LPsteamTurbine.T_out_0-LPsteamTurbine.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + LPsteamTurbine.C_in.Q(start = LPsteamTurbine.Q_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure LPsteamTurbine.C_in.P( + start = LPsteamTurbine.P_in_0, nominal = 6000000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy LPsteamTurbine.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction LPsteamTurbine.C_in.Xi_outflow[0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + LPsteamTurbine.C_out.Q(start = -LPsteamTurbine.Q_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure LPsteamTurbine.C_out.P( + start = LPsteamTurbine.P_out_0, nominal = 5500000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy LPsteamTurbine.C_out.h_outflow + (start = LPsteamTurbine.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction LPsteamTurbine.C_out.Xi_outflow[0]; + MetroscopeModelingLibrary.Utilities.Units.MassFraction LPsteamTurbine.x_in( + start = LPsteamTurbine.x_in_0); + MetroscopeModelingLibrary.Utilities.Units.MassFraction LPsteamTurbine.x_out( + start = LPsteamTurbine.x_out_0); + MetroscopeModelingLibrary.Utilities.Units.MassFraction LPsteamTurbine.xm( + start = LPsteamTurbine.xm_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy LPsteamTurbine.h_is + (start = LPsteamTurbine.h_out_0/0.8); + Modelica.Media.Interfaces.Types.FixedPhase LPsteamTurbine.state_is.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy LPsteamTurbine.state_is.h( + start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density LPsteamTurbine.state_is.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature LPsteamTurbine.state_is.T(start = 500, + nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure LPsteamTurbine.state_is.p( + start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy LPsteamTurbine.h_vap_sat_in + (start = LPsteamTurbine.h_vap_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy LPsteamTurbine.h_vap_sat_out + (start = LPsteamTurbine.h_vap_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy LPsteamTurbine.h_liq_sat_in + (start = LPsteamTurbine.h_liq_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy LPsteamTurbine.h_liq_sat_out + (start = LPsteamTurbine.h_liq_out_0); + MetroscopeModelingLibrary.Utilities.Units.NegativePower LPsteamTurbine.C_W_out.W; + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal LPsteamTurbine.eta_is; + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal LPsteamTurbine.Cst; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_w_ReH_out_sensor.Q(start = T_w_ReH_out_sensor.Q_0, nominal = 100.0) + "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction T_w_ReH_out_sensor.Xi[0] + "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_ReH_out_sensor.P( + start = T_w_ReH_out_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_ReH_out_sensor.h + (start = T_w_ReH_out_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.FixedPhase T_w_ReH_out_sensor.state.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy T_w_ReH_out_sensor.state.h( + start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density T_w_ReH_out_sensor.state.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature T_w_ReH_out_sensor.state.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_w_ReH_out_sensor.state.p( + start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate T_w_ReH_out_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_w_ReH_out_sensor.C_in.Q(start = T_w_ReH_out_sensor.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_ReH_out_sensor.C_in.P( + start = T_w_ReH_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_ReH_out_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction T_w_ReH_out_sensor.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + T_w_ReH_out_sensor.C_out.Q(start = -T_w_ReH_out_sensor.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_ReH_out_sensor.C_out.P( + start = T_w_ReH_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_ReH_out_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction T_w_ReH_out_sensor.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_ReH_out_sensor.flow_model.h_in + (start = T_w_ReH_out_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_ReH_out_sensor.flow_model.h_out + (start = T_w_ReH_out_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_w_ReH_out_sensor.flow_model.Q(start = T_w_ReH_out_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_ReH_out_sensor.flow_model.P_in + (start = T_w_ReH_out_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_ReH_out_sensor.flow_model.P_out + (start = T_w_ReH_out_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction T_w_ReH_out_sensor.flow_model.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density T_w_ReH_out_sensor.flow_model.rho_in + (start = T_w_ReH_out_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density T_w_ReH_out_sensor.flow_model.rho_out + (start = T_w_ReH_out_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density T_w_ReH_out_sensor.flow_model.rho + (start = T_w_ReH_out_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + T_w_ReH_out_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + T_w_ReH_out_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + T_w_ReH_out_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_w_ReH_out_sensor.flow_model.T_in + (start = T_w_ReH_out_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_w_ReH_out_sensor.flow_model.T_out + (start = T_w_ReH_out_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase T_w_ReH_out_sensor.flow_model.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy T_w_ReH_out_sensor.flow_model.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density T_w_ReH_out_sensor.flow_model.state_in.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature T_w_ReH_out_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_w_ReH_out_sensor.flow_model.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase T_w_ReH_out_sensor.flow_model.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy T_w_ReH_out_sensor.flow_model.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density T_w_ReH_out_sensor.flow_model.state_out.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature T_w_ReH_out_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_w_ReH_out_sensor.flow_model.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + T_w_ReH_out_sensor.flow_model.DP(start = T_w_ReH_out_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power T_w_ReH_out_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + T_w_ReH_out_sensor.flow_model.DH(start = T_w_ReH_out_sensor.flow_model.h_out_0 + -T_w_ReH_out_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + T_w_ReH_out_sensor.flow_model.DT(start = T_w_ReH_out_sensor.flow_model.T_out_0 + -T_w_ReH_out_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_w_ReH_out_sensor.flow_model.C_in.Q(start = T_w_ReH_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_ReH_out_sensor.flow_model.C_in.P + (start = T_w_ReH_out_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_ReH_out_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction T_w_ReH_out_sensor.flow_model.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + T_w_ReH_out_sensor.flow_model.C_out.Q(start = -T_w_ReH_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_ReH_out_sensor.flow_model.C_out.P + (start = T_w_ReH_out_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_ReH_out_sensor.flow_model.C_out.h_outflow + (start = T_w_ReH_out_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction T_w_ReH_out_sensor.flow_model.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_ReH_out_sensor.flow_model.h + (start = T_w_ReH_out_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_ReH_out_sensor.flow_model.P + (start = T_w_ReH_out_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_w_ReH_out_sensor.flow_model.T + (start = T_w_ReH_out_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_w_ReH_out_sensor.T( + start = T_w_ReH_out_sensor.T_0); + Real T_w_ReH_out_sensor.T_degC(start = T_w_ReH_out_sensor.T_0+273.15, + nominal = 573.15, unit = "degC"); + Real T_w_ReH_out_sensor.T_degF(start = (T_w_ReH_out_sensor.T_0+273.15)*1.8+32, + nominal = 1063.67, unit = "degF"); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal T_w_ReH_out_sensor.T_sensor + (start = T_w_ReH_out_sensor.init_T); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_w_ReH_out_sensor.Q(start = P_w_ReH_out_sensor.Q_0, nominal = 100.0) + "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction P_w_ReH_out_sensor.Xi[0] + "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_ReH_out_sensor.P( + start = P_w_ReH_out_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_ReH_out_sensor.h + (start = P_w_ReH_out_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.FixedPhase P_w_ReH_out_sensor.state.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_w_ReH_out_sensor.state.h( + start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_w_ReH_out_sensor.state.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_w_ReH_out_sensor.state.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_w_ReH_out_sensor.state.p( + start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate P_w_ReH_out_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_w_ReH_out_sensor.C_in.Q(start = P_w_ReH_out_sensor.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_ReH_out_sensor.C_in.P( + start = P_w_ReH_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_ReH_out_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction P_w_ReH_out_sensor.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + P_w_ReH_out_sensor.C_out.Q(start = -P_w_ReH_out_sensor.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_ReH_out_sensor.C_out.P( + start = P_w_ReH_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_ReH_out_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction P_w_ReH_out_sensor.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_ReH_out_sensor.flow_model.h_in + (start = P_w_ReH_out_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_ReH_out_sensor.flow_model.h_out + (start = P_w_ReH_out_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_w_ReH_out_sensor.flow_model.Q(start = P_w_ReH_out_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_ReH_out_sensor.flow_model.P_in + (start = P_w_ReH_out_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_ReH_out_sensor.flow_model.P_out + (start = P_w_ReH_out_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction P_w_ReH_out_sensor.flow_model.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density P_w_ReH_out_sensor.flow_model.rho_in + (start = P_w_ReH_out_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density P_w_ReH_out_sensor.flow_model.rho_out + (start = P_w_ReH_out_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density P_w_ReH_out_sensor.flow_model.rho + (start = P_w_ReH_out_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + P_w_ReH_out_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + P_w_ReH_out_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + P_w_ReH_out_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_w_ReH_out_sensor.flow_model.T_in + (start = P_w_ReH_out_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_w_ReH_out_sensor.flow_model.T_out + (start = P_w_ReH_out_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase P_w_ReH_out_sensor.flow_model.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_w_ReH_out_sensor.flow_model.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_w_ReH_out_sensor.flow_model.state_in.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_w_ReH_out_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_w_ReH_out_sensor.flow_model.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase P_w_ReH_out_sensor.flow_model.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_w_ReH_out_sensor.flow_model.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_w_ReH_out_sensor.flow_model.state_out.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_w_ReH_out_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_w_ReH_out_sensor.flow_model.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + P_w_ReH_out_sensor.flow_model.DP(start = P_w_ReH_out_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power P_w_ReH_out_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + P_w_ReH_out_sensor.flow_model.DH(start = P_w_ReH_out_sensor.flow_model.h_out_0 + -P_w_ReH_out_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + P_w_ReH_out_sensor.flow_model.DT(start = P_w_ReH_out_sensor.flow_model.T_out_0 + -P_w_ReH_out_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_w_ReH_out_sensor.flow_model.C_in.Q(start = P_w_ReH_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_ReH_out_sensor.flow_model.C_in.P + (start = P_w_ReH_out_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_ReH_out_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction P_w_ReH_out_sensor.flow_model.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + P_w_ReH_out_sensor.flow_model.C_out.Q(start = -P_w_ReH_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_ReH_out_sensor.flow_model.C_out.P + (start = P_w_ReH_out_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_ReH_out_sensor.flow_model.C_out.h_outflow + (start = P_w_ReH_out_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction P_w_ReH_out_sensor.flow_model.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_ReH_out_sensor.flow_model.h + (start = P_w_ReH_out_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_ReH_out_sensor.flow_model.P + (start = P_w_ReH_out_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_w_ReH_out_sensor.flow_model.T + (start = P_w_ReH_out_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + Real P_w_ReH_out_sensor.P_barG(start = P_w_ReH_out_sensor.P_0*1E-05-1, + nominal = 100000.0); + Real P_w_ReH_out_sensor.P_psiG(start = P_w_ReH_out_sensor.P_0*0.000145038- + 14.50377377, nominal = 14.5038); + Real P_w_ReH_out_sensor.P_MPaG(start = P_w_ReH_out_sensor.P_0*1E-06-0.1, + nominal = 0.09999999999999999); + Real P_w_ReH_out_sensor.P_kPaG(start = P_w_ReH_out_sensor.P_0*0.001-100, + nominal = 100.0); + Real P_w_ReH_out_sensor.P_barA(start = P_w_ReH_out_sensor.P_0*1E-05, + nominal = 1.0, unit = "bar"); + Real P_w_ReH_out_sensor.P_psiA(start = P_w_ReH_out_sensor.P_0*0.000145038, + nominal = 14.5038); + Real P_w_ReH_out_sensor.P_MPaA(start = P_w_ReH_out_sensor.P_0*1E-06, + nominal = 0.09999999999999999); + Real P_w_ReH_out_sensor.P_kPaA(start = P_w_ReH_out_sensor.P_0*0.001, + nominal = 100.0); + Real P_w_ReH_out_sensor.P_inHg(start = P_w_ReH_out_sensor.P_0*0.0002953006, + nominal = 29.530060000000002); + Real P_w_ReH_out_sensor.P_mbar(start = P_w_ReH_out_sensor.P_0*0.01, nominal = + 1000.0, unit = "mbar"); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal P_w_ReH_out_sensor.P_sensor + (start = P_w_ReH_out_sensor.init_P); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate P_Cond_sensor.Q + (start = P_Cond_sensor.Q_0, nominal = 100.0) "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction P_Cond_sensor.Xi[0] + "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_Cond_sensor.P(start = + P_Cond_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_Cond_sensor.h( + start = P_Cond_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.FixedPhase P_Cond_sensor.state.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_Cond_sensor.state.h( + start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_Cond_sensor.state.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_Cond_sensor.state.T(start = 500, + nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_Cond_sensor.state.p( + start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate P_Cond_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_Cond_sensor.C_in.Q(start = P_Cond_sensor.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_Cond_sensor.C_in.P( + start = P_Cond_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_Cond_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction P_Cond_sensor.C_in.Xi_outflow[0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + P_Cond_sensor.C_out.Q(start = -P_Cond_sensor.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_Cond_sensor.C_out.P( + start = P_Cond_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_Cond_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction P_Cond_sensor.C_out.Xi_outflow[0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_Cond_sensor.flow_model.h_in + (start = P_Cond_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_Cond_sensor.flow_model.h_out + (start = P_Cond_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_Cond_sensor.flow_model.Q(start = P_Cond_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_Cond_sensor.flow_model.P_in + (start = P_Cond_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_Cond_sensor.flow_model.P_out + (start = P_Cond_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction P_Cond_sensor.flow_model.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density P_Cond_sensor.flow_model.rho_in + (start = P_Cond_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density P_Cond_sensor.flow_model.rho_out + (start = P_Cond_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density P_Cond_sensor.flow_model.rho + (start = P_Cond_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + P_Cond_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + P_Cond_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + P_Cond_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_Cond_sensor.flow_model.T_in + (start = P_Cond_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_Cond_sensor.flow_model.T_out + (start = P_Cond_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase P_Cond_sensor.flow_model.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_Cond_sensor.flow_model.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_Cond_sensor.flow_model.state_in.d( + start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_Cond_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_Cond_sensor.flow_model.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase P_Cond_sensor.flow_model.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_Cond_sensor.flow_model.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_Cond_sensor.flow_model.state_out.d( + start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_Cond_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_Cond_sensor.flow_model.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + P_Cond_sensor.flow_model.DP(start = P_Cond_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power P_Cond_sensor.flow_model.W( + start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + P_Cond_sensor.flow_model.DH(start = P_Cond_sensor.flow_model.h_out_0- + P_Cond_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + P_Cond_sensor.flow_model.DT(start = P_Cond_sensor.flow_model.T_out_0- + P_Cond_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_Cond_sensor.flow_model.C_in.Q(start = P_Cond_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_Cond_sensor.flow_model.C_in.P + (start = P_Cond_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_Cond_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction P_Cond_sensor.flow_model.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + P_Cond_sensor.flow_model.C_out.Q(start = -P_Cond_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_Cond_sensor.flow_model.C_out.P + (start = P_Cond_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_Cond_sensor.flow_model.C_out.h_outflow + (start = P_Cond_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction P_Cond_sensor.flow_model.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_Cond_sensor.flow_model.h + (start = P_Cond_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_Cond_sensor.flow_model.P( + start = P_Cond_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_Cond_sensor.flow_model.T + (start = P_Cond_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + Real P_Cond_sensor.P_barG(start = P_Cond_sensor.P_0*1E-05-1, nominal = + 100000.0); + Real P_Cond_sensor.P_psiG(start = P_Cond_sensor.P_0*0.000145038-14.50377377, + nominal = 14.5038); + Real P_Cond_sensor.P_MPaG(start = P_Cond_sensor.P_0*1E-06-0.1, nominal = + 0.09999999999999999); + Real P_Cond_sensor.P_kPaG(start = P_Cond_sensor.P_0*0.001-100, nominal = 100.0); + Real P_Cond_sensor.P_barA(start = P_Cond_sensor.P_0*1E-05, nominal = 1.0, + unit = "bar"); + Real P_Cond_sensor.P_psiA(start = P_Cond_sensor.P_0*0.000145038, nominal = + 14.5038); + Real P_Cond_sensor.P_MPaA(start = P_Cond_sensor.P_0*1E-06, nominal = + 0.09999999999999999); + Real P_Cond_sensor.P_kPaA(start = P_Cond_sensor.P_0*0.001, nominal = 100.0); + Real P_Cond_sensor.P_inHg(start = P_Cond_sensor.P_0*0.0002953006, nominal = + 29.530060000000002); + Real P_Cond_sensor.P_mbar(start = P_Cond_sensor.P_0*0.01, nominal = 1000.0, + unit = "mbar"); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal P_Cond_sensor.P_sensor + (start = P_Cond_sensor.init_P); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_source_air_sensor.Q(start = P_source_air_sensor.Q_0, nominal = 100.0) + "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction P_source_air_sensor.Xi[5] + "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_source_air_sensor.P( + start = P_source_air_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_source_air_sensor.h + (start = P_source_air_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_source_air_sensor.state.p( + start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature P_source_air_sensor.state.T( + start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction P_source_air_sensor.state.X[5]( + start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate P_source_air_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_source_air_sensor.C_in.Q(start = P_source_air_sensor.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_source_air_sensor.C_in.P( + start = P_source_air_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_source_air_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction P_source_air_sensor.C_in.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + P_source_air_sensor.C_out.Q(start = -P_source_air_sensor.Q_0, nominal = + 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_source_air_sensor.C_out.P + (start = P_source_air_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_source_air_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction P_source_air_sensor.C_out.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_source_air_sensor.flow_model.h_in + (start = P_source_air_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_source_air_sensor.flow_model.h_out + (start = P_source_air_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_source_air_sensor.flow_model.Q(start = P_source_air_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_source_air_sensor.flow_model.P_in + (start = P_source_air_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_source_air_sensor.flow_model.P_out + (start = P_source_air_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction P_source_air_sensor.flow_model.Xi + [5] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density P_source_air_sensor.flow_model.rho_in + (start = P_source_air_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density P_source_air_sensor.flow_model.rho_out + (start = P_source_air_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density P_source_air_sensor.flow_model.rho + (start = P_source_air_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + P_source_air_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + P_source_air_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + P_source_air_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_source_air_sensor.flow_model.T_in + (start = P_source_air_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_source_air_sensor.flow_model.T_out + (start = P_source_air_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_source_air_sensor.flow_model.state_in.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature P_source_air_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction P_source_air_sensor.flow_model.state_in.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_source_air_sensor.flow_model.state_out.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature P_source_air_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction P_source_air_sensor.flow_model.state_out.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + P_source_air_sensor.flow_model.DP(start = P_source_air_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power P_source_air_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + P_source_air_sensor.flow_model.DH(start = P_source_air_sensor.flow_model.h_out_0 + -P_source_air_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + P_source_air_sensor.flow_model.DT(start = P_source_air_sensor.flow_model.T_out_0 + -P_source_air_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_source_air_sensor.flow_model.C_in.Q(start = P_source_air_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_source_air_sensor.flow_model.C_in.P + (start = P_source_air_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_source_air_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction P_source_air_sensor.flow_model.C_in.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + P_source_air_sensor.flow_model.C_out.Q(start = -P_source_air_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_source_air_sensor.flow_model.C_out.P + (start = P_source_air_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_source_air_sensor.flow_model.C_out.h_outflow + (start = P_source_air_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction P_source_air_sensor.flow_model.C_out.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_source_air_sensor.flow_model.h + (start = P_source_air_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_source_air_sensor.flow_model.P + (start = P_source_air_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_source_air_sensor.flow_model.T + (start = P_source_air_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + Real P_source_air_sensor.P_barG(start = P_source_air_sensor.P_0*1E-05-1, + nominal = 100000.0); + Real P_source_air_sensor.P_psiG(start = P_source_air_sensor.P_0*0.000145038- + 14.50377377, nominal = 14.5038); + Real P_source_air_sensor.P_MPaG(start = P_source_air_sensor.P_0*1E-06-0.1, + nominal = 0.09999999999999999); + Real P_source_air_sensor.P_kPaG(start = P_source_air_sensor.P_0*0.001-100, + nominal = 100.0); + Real P_source_air_sensor.P_barA(start = P_source_air_sensor.P_0*1E-05, + nominal = 1.0, unit = "bar"); + Real P_source_air_sensor.P_psiA(start = P_source_air_sensor.P_0*0.000145038, + nominal = 14.5038); + Real P_source_air_sensor.P_MPaA(start = P_source_air_sensor.P_0*1E-06, + nominal = 0.09999999999999999); + Real P_source_air_sensor.P_kPaA(start = P_source_air_sensor.P_0*0.001, + nominal = 100.0); + Real P_source_air_sensor.P_inHg(start = P_source_air_sensor.P_0*0.0002953006, + nominal = 29.530060000000002); + Real P_source_air_sensor.P_mbar(start = P_source_air_sensor.P_0*0.01, + nominal = 1000.0, unit = "mbar"); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal P_source_air_sensor.P_sensor + (start = P_source_air_sensor.init_P); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_source_air_sensor.Q(start = T_source_air_sensor.Q_0, nominal = 100.0) + "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction T_source_air_sensor.Xi[5] + "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_source_air_sensor.P( + start = T_source_air_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_source_air_sensor.h + (start = T_source_air_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_source_air_sensor.state.p( + start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature T_source_air_sensor.state.T( + start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction T_source_air_sensor.state.X[5]( + start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate T_source_air_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_source_air_sensor.C_in.Q(start = T_source_air_sensor.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_source_air_sensor.C_in.P( + start = T_source_air_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_source_air_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction T_source_air_sensor.C_in.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + T_source_air_sensor.C_out.Q(start = -T_source_air_sensor.Q_0, nominal = + 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_source_air_sensor.C_out.P + (start = T_source_air_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_source_air_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction T_source_air_sensor.C_out.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_source_air_sensor.flow_model.h_in + (start = T_source_air_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_source_air_sensor.flow_model.h_out + (start = T_source_air_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_source_air_sensor.flow_model.Q(start = T_source_air_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_source_air_sensor.flow_model.P_in + (start = T_source_air_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_source_air_sensor.flow_model.P_out + (start = T_source_air_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction T_source_air_sensor.flow_model.Xi + [5] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density T_source_air_sensor.flow_model.rho_in + (start = T_source_air_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density T_source_air_sensor.flow_model.rho_out + (start = T_source_air_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density T_source_air_sensor.flow_model.rho + (start = T_source_air_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + T_source_air_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + T_source_air_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + T_source_air_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_source_air_sensor.flow_model.T_in + (start = T_source_air_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_source_air_sensor.flow_model.T_out + (start = T_source_air_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_source_air_sensor.flow_model.state_in.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature T_source_air_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction T_source_air_sensor.flow_model.state_in.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_source_air_sensor.flow_model.state_out.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature T_source_air_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction T_source_air_sensor.flow_model.state_out.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + T_source_air_sensor.flow_model.DP(start = T_source_air_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power T_source_air_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + T_source_air_sensor.flow_model.DH(start = T_source_air_sensor.flow_model.h_out_0 + -T_source_air_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + T_source_air_sensor.flow_model.DT(start = T_source_air_sensor.flow_model.T_out_0 + -T_source_air_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_source_air_sensor.flow_model.C_in.Q(start = T_source_air_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_source_air_sensor.flow_model.C_in.P + (start = T_source_air_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_source_air_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction T_source_air_sensor.flow_model.C_in.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + T_source_air_sensor.flow_model.C_out.Q(start = -T_source_air_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_source_air_sensor.flow_model.C_out.P + (start = T_source_air_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_source_air_sensor.flow_model.C_out.h_outflow + (start = T_source_air_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction T_source_air_sensor.flow_model.C_out.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_source_air_sensor.flow_model.h + (start = T_source_air_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_source_air_sensor.flow_model.P + (start = T_source_air_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_source_air_sensor.flow_model.T + (start = T_source_air_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_source_air_sensor.T( + start = T_source_air_sensor.T_0); + Real T_source_air_sensor.T_degC(start = T_source_air_sensor.T_0+273.15, + nominal = 573.15, unit = "degC"); + Real T_source_air_sensor.T_degF(start = (T_source_air_sensor.T_0+273.15)*1.8+32, + nominal = 1063.67, unit = "degF"); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal T_source_air_sensor.T_sensor + (start = T_source_air_sensor.init_T); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Q_source_air_sensor.Q(start = Q_source_air_sensor.Q_0, nominal = 100.0) + "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction Q_source_air_sensor.Xi[5] + "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_source_air_sensor.P( + start = Q_source_air_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_source_air_sensor.h + (start = Q_source_air_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.AbsolutePressure Q_source_air_sensor.state.p( + start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature Q_source_air_sensor.state.T( + start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction Q_source_air_sensor.state.X[5]( + start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate Q_source_air_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Q_source_air_sensor.C_in.Q(start = Q_source_air_sensor.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_source_air_sensor.C_in.P( + start = Q_source_air_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_source_air_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction Q_source_air_sensor.C_in.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + Q_source_air_sensor.C_out.Q(start = -Q_source_air_sensor.Q_0, nominal = + 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_source_air_sensor.C_out.P + (start = Q_source_air_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_source_air_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction Q_source_air_sensor.C_out.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_source_air_sensor.flow_model.h_in + (start = Q_source_air_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_source_air_sensor.flow_model.h_out + (start = Q_source_air_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Q_source_air_sensor.flow_model.Q(start = Q_source_air_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_source_air_sensor.flow_model.P_in + (start = Q_source_air_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_source_air_sensor.flow_model.P_out + (start = Q_source_air_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction Q_source_air_sensor.flow_model.Xi + [5] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density Q_source_air_sensor.flow_model.rho_in + (start = Q_source_air_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density Q_source_air_sensor.flow_model.rho_out + (start = Q_source_air_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density Q_source_air_sensor.flow_model.rho + (start = Q_source_air_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + Q_source_air_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + Q_source_air_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + Q_source_air_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature Q_source_air_sensor.flow_model.T_in + (start = Q_source_air_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature Q_source_air_sensor.flow_model.T_out + (start = Q_source_air_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure Q_source_air_sensor.flow_model.state_in.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature Q_source_air_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction Q_source_air_sensor.flow_model.state_in.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + Modelica.Media.Interfaces.Types.AbsolutePressure Q_source_air_sensor.flow_model.state_out.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature Q_source_air_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction Q_source_air_sensor.flow_model.state_out.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + Q_source_air_sensor.flow_model.DP(start = Q_source_air_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power Q_source_air_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + Q_source_air_sensor.flow_model.DH(start = Q_source_air_sensor.flow_model.h_out_0 + -Q_source_air_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + Q_source_air_sensor.flow_model.DT(start = Q_source_air_sensor.flow_model.T_out_0 + -Q_source_air_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Q_source_air_sensor.flow_model.C_in.Q(start = Q_source_air_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_source_air_sensor.flow_model.C_in.P + (start = Q_source_air_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_source_air_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction Q_source_air_sensor.flow_model.C_in.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + Q_source_air_sensor.flow_model.C_out.Q(start = -Q_source_air_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_source_air_sensor.flow_model.C_out.P + (start = Q_source_air_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_source_air_sensor.flow_model.C_out.h_outflow + (start = Q_source_air_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction Q_source_air_sensor.flow_model.C_out.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_source_air_sensor.flow_model.h + (start = Q_source_air_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_source_air_sensor.flow_model.P + (start = Q_source_air_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature Q_source_air_sensor.flow_model.T + (start = Q_source_air_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.VolumeFlowRate Q_source_air_sensor.Qv + (start = Q_source_air_sensor.Qv_0); + Real Q_source_air_sensor.Q_lm(start = Q_source_air_sensor.Qv_0*60000, + nominal = 6000.0); + Real Q_source_air_sensor.Q_th(start = Q_source_air_sensor.Q_0*3.6, nominal = + 360.0); + Real Q_source_air_sensor.Q_lbs(start = Q_source_air_sensor.Q_0*2.2046, + nominal = 220.46); + Real Q_source_air_sensor.Q_Mlbh(start = Q_source_air_sensor.Q_0* + 0.0079366414387, nominal = 0.79366414387); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal Q_source_air_sensor.Q_sensor + (start = Q_source_air_sensor.Q_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_circulating_water_in_sensor.Q(start = T_circulating_water_in_sensor.Q_0, + nominal = 100.0) "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction T_circulating_water_in_sensor.Xi + [0] "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_circulating_water_in_sensor.P + (start = T_circulating_water_in_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_circulating_water_in_sensor.h + (start = T_circulating_water_in_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.FixedPhase T_circulating_water_in_sensor.state.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy T_circulating_water_in_sensor.state.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density T_circulating_water_in_sensor.state.d( + start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature T_circulating_water_in_sensor.state.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_circulating_water_in_sensor.state.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate T_circulating_water_in_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_circulating_water_in_sensor.C_in.Q(start = T_circulating_water_in_sensor.Q_0, + nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_circulating_water_in_sensor.C_in.P + (start = T_circulating_water_in_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_circulating_water_in_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction T_circulating_water_in_sensor.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + T_circulating_water_in_sensor.C_out.Q(start = -T_circulating_water_in_sensor.Q_0, + nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_circulating_water_in_sensor.C_out.P + (start = T_circulating_water_in_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_circulating_water_in_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction T_circulating_water_in_sensor.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_circulating_water_in_sensor.flow_model.h_in + (start = T_circulating_water_in_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_circulating_water_in_sensor.flow_model.h_out + (start = T_circulating_water_in_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_circulating_water_in_sensor.flow_model.Q(start = T_circulating_water_in_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_circulating_water_in_sensor.flow_model.P_in + (start = T_circulating_water_in_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_circulating_water_in_sensor.flow_model.P_out + (start = T_circulating_water_in_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction T_circulating_water_in_sensor.flow_model.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density T_circulating_water_in_sensor.flow_model.rho_in + (start = T_circulating_water_in_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density T_circulating_water_in_sensor.flow_model.rho_out + (start = T_circulating_water_in_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density T_circulating_water_in_sensor.flow_model.rho + (start = T_circulating_water_in_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + T_circulating_water_in_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + T_circulating_water_in_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + T_circulating_water_in_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_circulating_water_in_sensor.flow_model.T_in + (start = T_circulating_water_in_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_circulating_water_in_sensor.flow_model.T_out + (start = T_circulating_water_in_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase T_circulating_water_in_sensor.flow_model.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy T_circulating_water_in_sensor.flow_model.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density T_circulating_water_in_sensor.flow_model.state_in.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature T_circulating_water_in_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_circulating_water_in_sensor.flow_model.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase T_circulating_water_in_sensor.flow_model.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy T_circulating_water_in_sensor.flow_model.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density T_circulating_water_in_sensor.flow_model.state_out.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature T_circulating_water_in_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_circulating_water_in_sensor.flow_model.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + T_circulating_water_in_sensor.flow_model.DP(start = T_circulating_water_in_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power T_circulating_water_in_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + T_circulating_water_in_sensor.flow_model.DH(start = T_circulating_water_in_sensor.flow_model.h_out_0 + -T_circulating_water_in_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + T_circulating_water_in_sensor.flow_model.DT(start = T_circulating_water_in_sensor.flow_model.T_out_0 + -T_circulating_water_in_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_circulating_water_in_sensor.flow_model.C_in.Q(start = T_circulating_water_in_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_circulating_water_in_sensor.flow_model.C_in.P + (start = T_circulating_water_in_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_circulating_water_in_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction T_circulating_water_in_sensor.flow_model.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + T_circulating_water_in_sensor.flow_model.C_out.Q(start = -T_circulating_water_in_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_circulating_water_in_sensor.flow_model.C_out.P + (start = T_circulating_water_in_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_circulating_water_in_sensor.flow_model.C_out.h_outflow + (start = T_circulating_water_in_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction T_circulating_water_in_sensor.flow_model.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_circulating_water_in_sensor.flow_model.h + (start = T_circulating_water_in_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_circulating_water_in_sensor.flow_model.P + (start = T_circulating_water_in_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_circulating_water_in_sensor.flow_model.T + (start = T_circulating_water_in_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_circulating_water_in_sensor.T + (start = T_circulating_water_in_sensor.T_0); + Real T_circulating_water_in_sensor.T_degC(start = T_circulating_water_in_sensor.T_0 + +273.15, nominal = 573.15, unit = "degC"); + Real T_circulating_water_in_sensor.T_degF(start = (T_circulating_water_in_sensor.T_0 + +273.15)*1.8+32, nominal = 1063.67, unit = "degF"); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal T_circulating_water_in_sensor.T_sensor + (start = T_circulating_water_in_sensor.init_T); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_circulating_water_in_sensor.Q(start = P_circulating_water_in_sensor.Q_0, + nominal = 100.0) "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction P_circulating_water_in_sensor.Xi + [0] "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_circulating_water_in_sensor.P + (start = P_circulating_water_in_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_circulating_water_in_sensor.h + (start = P_circulating_water_in_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.FixedPhase P_circulating_water_in_sensor.state.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_circulating_water_in_sensor.state.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_circulating_water_in_sensor.state.d( + start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_circulating_water_in_sensor.state.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_circulating_water_in_sensor.state.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate P_circulating_water_in_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_circulating_water_in_sensor.C_in.Q(start = P_circulating_water_in_sensor.Q_0, + nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_circulating_water_in_sensor.C_in.P + (start = P_circulating_water_in_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_circulating_water_in_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction P_circulating_water_in_sensor.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + P_circulating_water_in_sensor.C_out.Q(start = -P_circulating_water_in_sensor.Q_0, + nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_circulating_water_in_sensor.C_out.P + (start = P_circulating_water_in_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_circulating_water_in_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction P_circulating_water_in_sensor.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_circulating_water_in_sensor.flow_model.h_in + (start = P_circulating_water_in_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_circulating_water_in_sensor.flow_model.h_out + (start = P_circulating_water_in_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_circulating_water_in_sensor.flow_model.Q(start = P_circulating_water_in_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_circulating_water_in_sensor.flow_model.P_in + (start = P_circulating_water_in_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_circulating_water_in_sensor.flow_model.P_out + (start = P_circulating_water_in_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction P_circulating_water_in_sensor.flow_model.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density P_circulating_water_in_sensor.flow_model.rho_in + (start = P_circulating_water_in_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density P_circulating_water_in_sensor.flow_model.rho_out + (start = P_circulating_water_in_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density P_circulating_water_in_sensor.flow_model.rho + (start = P_circulating_water_in_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + P_circulating_water_in_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + P_circulating_water_in_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + P_circulating_water_in_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_circulating_water_in_sensor.flow_model.T_in + (start = P_circulating_water_in_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_circulating_water_in_sensor.flow_model.T_out + (start = P_circulating_water_in_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase P_circulating_water_in_sensor.flow_model.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_circulating_water_in_sensor.flow_model.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_circulating_water_in_sensor.flow_model.state_in.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_circulating_water_in_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_circulating_water_in_sensor.flow_model.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase P_circulating_water_in_sensor.flow_model.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_circulating_water_in_sensor.flow_model.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_circulating_water_in_sensor.flow_model.state_out.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_circulating_water_in_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_circulating_water_in_sensor.flow_model.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + P_circulating_water_in_sensor.flow_model.DP(start = P_circulating_water_in_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power P_circulating_water_in_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + P_circulating_water_in_sensor.flow_model.DH(start = P_circulating_water_in_sensor.flow_model.h_out_0 + -P_circulating_water_in_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + P_circulating_water_in_sensor.flow_model.DT(start = P_circulating_water_in_sensor.flow_model.T_out_0 + -P_circulating_water_in_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_circulating_water_in_sensor.flow_model.C_in.Q(start = P_circulating_water_in_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_circulating_water_in_sensor.flow_model.C_in.P + (start = P_circulating_water_in_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_circulating_water_in_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction P_circulating_water_in_sensor.flow_model.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + P_circulating_water_in_sensor.flow_model.C_out.Q(start = -P_circulating_water_in_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_circulating_water_in_sensor.flow_model.C_out.P + (start = P_circulating_water_in_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_circulating_water_in_sensor.flow_model.C_out.h_outflow + (start = P_circulating_water_in_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction P_circulating_water_in_sensor.flow_model.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_circulating_water_in_sensor.flow_model.h + (start = P_circulating_water_in_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_circulating_water_in_sensor.flow_model.P + (start = P_circulating_water_in_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_circulating_water_in_sensor.flow_model.T + (start = P_circulating_water_in_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + Real P_circulating_water_in_sensor.P_barG(start = P_circulating_water_in_sensor.P_0 + *1E-05-1, nominal = 100000.0); + Real P_circulating_water_in_sensor.P_psiG(start = P_circulating_water_in_sensor.P_0 + *0.000145038-14.50377377, nominal = 14.5038); + Real P_circulating_water_in_sensor.P_MPaG(start = P_circulating_water_in_sensor.P_0 + *1E-06-0.1, nominal = 0.09999999999999999); + Real P_circulating_water_in_sensor.P_kPaG(start = P_circulating_water_in_sensor.P_0 + *0.001-100, nominal = 100.0); + Real P_circulating_water_in_sensor.P_barA(start = P_circulating_water_in_sensor.P_0 + *1E-05, nominal = 1.0, unit = "bar"); + Real P_circulating_water_in_sensor.P_psiA(start = P_circulating_water_in_sensor.P_0 + *0.000145038, nominal = 14.5038); + Real P_circulating_water_in_sensor.P_MPaA(start = P_circulating_water_in_sensor.P_0 + *1E-06, nominal = 0.09999999999999999); + Real P_circulating_water_in_sensor.P_kPaA(start = P_circulating_water_in_sensor.P_0 + *0.001, nominal = 100.0); + Real P_circulating_water_in_sensor.P_inHg(start = P_circulating_water_in_sensor.P_0 + *0.0002953006, nominal = 29.530060000000002); + Real P_circulating_water_in_sensor.P_mbar(start = P_circulating_water_in_sensor.P_0 + *0.01, nominal = 1000.0, unit = "mbar"); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal P_circulating_water_in_sensor.P_sensor + (start = P_circulating_water_in_sensor.init_P); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy LPST_control_valve.h_in + (start = LPST_control_valve.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy LPST_control_valve.h_out + (start = LPST_control_valve.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + LPST_control_valve.Q(start = LPST_control_valve.Q_0) "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure LPST_control_valve.P_in( + start = LPST_control_valve.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure LPST_control_valve.P_out( + start = LPST_control_valve.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction LPST_control_valve.Xi[0] + "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density LPST_control_valve.rho_in( + start = LPST_control_valve.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density LPST_control_valve.rho_out( + start = LPST_control_valve.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density LPST_control_valve.rho( + start = LPST_control_valve.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + LPST_control_valve.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + LPST_control_valve.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + LPST_control_valve.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature LPST_control_valve.T_in( + start = LPST_control_valve.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature LPST_control_valve.T_out + (start = LPST_control_valve.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase LPST_control_valve.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy LPST_control_valve.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density LPST_control_valve.state_in.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature LPST_control_valve.state_in.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure LPST_control_valve.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase LPST_control_valve.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy LPST_control_valve.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density LPST_control_valve.state_out.d( + start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature LPST_control_valve.state_out.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure LPST_control_valve.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + LPST_control_valve.DP(start = LPST_control_valve.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power LPST_control_valve.W(start = 0, + nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + LPST_control_valve.DH(start = LPST_control_valve.h_out_0-LPST_control_valve.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + LPST_control_valve.DT(start = LPST_control_valve.T_out_0-LPST_control_valve.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + LPST_control_valve.C_in.Q(start = LPST_control_valve.Q_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure LPST_control_valve.C_in.P( + start = LPST_control_valve.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy LPST_control_valve.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction LPST_control_valve.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + LPST_control_valve.C_out.Q(start = -LPST_control_valve.Q_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure LPST_control_valve.C_out.P( + start = LPST_control_valve.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy LPST_control_valve.C_out.h_outflow + (start = LPST_control_valve.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction LPST_control_valve.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy LPST_control_valve.h + (start = LPST_control_valve.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Percentage LPST_control_valve.closed_valve; + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal LPST_control_valve.Cv + (start = LPST_control_valve.Cv_constant); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_LPST_in_sensor.Q(start = P_LPST_in_sensor.Q_0, nominal = 100.0) + "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction P_LPST_in_sensor.Xi[0] + "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_LPST_in_sensor.P(start = + P_LPST_in_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_LPST_in_sensor.h( + start = P_LPST_in_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.FixedPhase P_LPST_in_sensor.state.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_LPST_in_sensor.state.h( + start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_LPST_in_sensor.state.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_LPST_in_sensor.state.T(start = 500, + nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_LPST_in_sensor.state.p( + start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate P_LPST_in_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_LPST_in_sensor.C_in.Q(start = P_LPST_in_sensor.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_LPST_in_sensor.C_in.P( + start = P_LPST_in_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_LPST_in_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction P_LPST_in_sensor.C_in.Xi_outflow[0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + P_LPST_in_sensor.C_out.Q(start = -P_LPST_in_sensor.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_LPST_in_sensor.C_out.P( + start = P_LPST_in_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_LPST_in_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction P_LPST_in_sensor.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_LPST_in_sensor.flow_model.h_in + (start = P_LPST_in_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_LPST_in_sensor.flow_model.h_out + (start = P_LPST_in_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_LPST_in_sensor.flow_model.Q(start = P_LPST_in_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_LPST_in_sensor.flow_model.P_in + (start = P_LPST_in_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_LPST_in_sensor.flow_model.P_out + (start = P_LPST_in_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction P_LPST_in_sensor.flow_model.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density P_LPST_in_sensor.flow_model.rho_in + (start = P_LPST_in_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density P_LPST_in_sensor.flow_model.rho_out + (start = P_LPST_in_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density P_LPST_in_sensor.flow_model.rho + (start = P_LPST_in_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + P_LPST_in_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + P_LPST_in_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + P_LPST_in_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_LPST_in_sensor.flow_model.T_in + (start = P_LPST_in_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_LPST_in_sensor.flow_model.T_out + (start = P_LPST_in_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase P_LPST_in_sensor.flow_model.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_LPST_in_sensor.flow_model.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_LPST_in_sensor.flow_model.state_in.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_LPST_in_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_LPST_in_sensor.flow_model.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase P_LPST_in_sensor.flow_model.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_LPST_in_sensor.flow_model.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_LPST_in_sensor.flow_model.state_out.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_LPST_in_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_LPST_in_sensor.flow_model.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + P_LPST_in_sensor.flow_model.DP(start = P_LPST_in_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power P_LPST_in_sensor.flow_model.W( + start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + P_LPST_in_sensor.flow_model.DH(start = P_LPST_in_sensor.flow_model.h_out_0- + P_LPST_in_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + P_LPST_in_sensor.flow_model.DT(start = P_LPST_in_sensor.flow_model.T_out_0- + P_LPST_in_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_LPST_in_sensor.flow_model.C_in.Q(start = P_LPST_in_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_LPST_in_sensor.flow_model.C_in.P + (start = P_LPST_in_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_LPST_in_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction P_LPST_in_sensor.flow_model.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + P_LPST_in_sensor.flow_model.C_out.Q(start = -P_LPST_in_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_LPST_in_sensor.flow_model.C_out.P + (start = P_LPST_in_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_LPST_in_sensor.flow_model.C_out.h_outflow + (start = P_LPST_in_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction P_LPST_in_sensor.flow_model.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_LPST_in_sensor.flow_model.h + (start = P_LPST_in_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_LPST_in_sensor.flow_model.P + (start = P_LPST_in_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_LPST_in_sensor.flow_model.T + (start = P_LPST_in_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + Real P_LPST_in_sensor.P_barG(start = P_LPST_in_sensor.P_0*1E-05-1, nominal = + 100000.0); + Real P_LPST_in_sensor.P_psiG(start = P_LPST_in_sensor.P_0*0.000145038- + 14.50377377, nominal = 14.5038); + Real P_LPST_in_sensor.P_MPaG(start = P_LPST_in_sensor.P_0*1E-06-0.1, + nominal = 0.09999999999999999); + Real P_LPST_in_sensor.P_kPaG(start = P_LPST_in_sensor.P_0*0.001-100, + nominal = 100.0); + Real P_LPST_in_sensor.P_barA(start = P_LPST_in_sensor.P_0*1E-05, nominal = 1.0, + unit = "bar"); + Real P_LPST_in_sensor.P_psiA(start = P_LPST_in_sensor.P_0*0.000145038, + nominal = 14.5038); + Real P_LPST_in_sensor.P_MPaA(start = P_LPST_in_sensor.P_0*1E-06, nominal = + 0.09999999999999999); + Real P_LPST_in_sensor.P_kPaA(start = P_LPST_in_sensor.P_0*0.001, nominal = + 100.0); + Real P_LPST_in_sensor.P_inHg(start = P_LPST_in_sensor.P_0*0.0002953006, + nominal = 29.530060000000002); + Real P_LPST_in_sensor.P_mbar(start = P_LPST_in_sensor.P_0*0.01, nominal = + 1000.0, unit = "mbar"); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal P_LPST_in_sensor.P_sensor + (start = P_LPST_in_sensor.init_P); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy pumpRec.h_in( + start = pumpRec.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy pumpRec.h_out( + start = pumpRec.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate pumpRec.Q( + start = pumpRec.Q_0) "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure pumpRec.P_in(start = + pumpRec.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure pumpRec.P_out(start = + pumpRec.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction pumpRec.Xi[0] + "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density pumpRec.rho_in(start = + pumpRec.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density pumpRec.rho_out(start = + pumpRec.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density pumpRec.rho(start = + pumpRec.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate pumpRec.Qv_in + "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + pumpRec.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate pumpRec.Qv + "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature pumpRec.T_in(start = + pumpRec.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature pumpRec.T_out(start = + pumpRec.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase pumpRec.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy pumpRec.state_in.h(start = + 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density pumpRec.state_in.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature pumpRec.state_in.T(start = 500, + nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure pumpRec.state_in.p(start = + 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase pumpRec.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy pumpRec.state_out.h(start = + 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density pumpRec.state_out.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature pumpRec.state_out.T(start = 500, + nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure pumpRec.state_out.p(start = + 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure pumpRec.DP( + start = pumpRec.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power pumpRec.W(start = 0, + nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy pumpRec.DH( + start = pumpRec.h_out_0-pumpRec.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature pumpRec.DT( + start = pumpRec.T_out_0-pumpRec.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate pumpRec.C_in.Q( + start = pumpRec.Q_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure pumpRec.C_in.P(start = + pumpRec.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy pumpRec.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction pumpRec.C_in.Xi_outflow[0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate pumpRec.C_out.Q + (start = -pumpRec.Q_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure pumpRec.C_out.P(start = + pumpRec.P_out_0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy pumpRec.C_out.h_outflow + (start = pumpRec.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction pumpRec.C_out.Xi_outflow[0]; + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal pumpRec.rh; + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal pumpRec.hn; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_pumpRec_out_sensor.Q(start = T_pumpRec_out_sensor.Q_0, nominal = 100.0) + "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction T_pumpRec_out_sensor.Xi + [0] "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_pumpRec_out_sensor.P( + start = T_pumpRec_out_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_pumpRec_out_sensor.h + (start = T_pumpRec_out_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.FixedPhase T_pumpRec_out_sensor.state.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy T_pumpRec_out_sensor.state.h( + start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density T_pumpRec_out_sensor.state.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature T_pumpRec_out_sensor.state.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_pumpRec_out_sensor.state.p( + start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate T_pumpRec_out_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_pumpRec_out_sensor.C_in.Q(start = T_pumpRec_out_sensor.Q_0, nominal = + 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_pumpRec_out_sensor.C_in.P + (start = T_pumpRec_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_pumpRec_out_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction T_pumpRec_out_sensor.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + T_pumpRec_out_sensor.C_out.Q(start = -T_pumpRec_out_sensor.Q_0, nominal = + 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_pumpRec_out_sensor.C_out.P + (start = T_pumpRec_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_pumpRec_out_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction T_pumpRec_out_sensor.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_pumpRec_out_sensor.flow_model.h_in + (start = T_pumpRec_out_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_pumpRec_out_sensor.flow_model.h_out + (start = T_pumpRec_out_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_pumpRec_out_sensor.flow_model.Q(start = T_pumpRec_out_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_pumpRec_out_sensor.flow_model.P_in + (start = T_pumpRec_out_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_pumpRec_out_sensor.flow_model.P_out + (start = T_pumpRec_out_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction T_pumpRec_out_sensor.flow_model.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density T_pumpRec_out_sensor.flow_model.rho_in + (start = T_pumpRec_out_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density T_pumpRec_out_sensor.flow_model.rho_out + (start = T_pumpRec_out_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density T_pumpRec_out_sensor.flow_model.rho + (start = T_pumpRec_out_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + T_pumpRec_out_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + T_pumpRec_out_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + T_pumpRec_out_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_pumpRec_out_sensor.flow_model.T_in + (start = T_pumpRec_out_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_pumpRec_out_sensor.flow_model.T_out + (start = T_pumpRec_out_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase T_pumpRec_out_sensor.flow_model.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy T_pumpRec_out_sensor.flow_model.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density T_pumpRec_out_sensor.flow_model.state_in.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature T_pumpRec_out_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_pumpRec_out_sensor.flow_model.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase T_pumpRec_out_sensor.flow_model.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy T_pumpRec_out_sensor.flow_model.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density T_pumpRec_out_sensor.flow_model.state_out.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature T_pumpRec_out_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_pumpRec_out_sensor.flow_model.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + T_pumpRec_out_sensor.flow_model.DP(start = T_pumpRec_out_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power T_pumpRec_out_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + T_pumpRec_out_sensor.flow_model.DH(start = T_pumpRec_out_sensor.flow_model.h_out_0 + -T_pumpRec_out_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + T_pumpRec_out_sensor.flow_model.DT(start = T_pumpRec_out_sensor.flow_model.T_out_0 + -T_pumpRec_out_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_pumpRec_out_sensor.flow_model.C_in.Q(start = T_pumpRec_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_pumpRec_out_sensor.flow_model.C_in.P + (start = T_pumpRec_out_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_pumpRec_out_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction T_pumpRec_out_sensor.flow_model.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + T_pumpRec_out_sensor.flow_model.C_out.Q(start = -T_pumpRec_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_pumpRec_out_sensor.flow_model.C_out.P + (start = T_pumpRec_out_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_pumpRec_out_sensor.flow_model.C_out.h_outflow + (start = T_pumpRec_out_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction T_pumpRec_out_sensor.flow_model.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_pumpRec_out_sensor.flow_model.h + (start = T_pumpRec_out_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_pumpRec_out_sensor.flow_model.P + (start = T_pumpRec_out_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_pumpRec_out_sensor.flow_model.T + (start = T_pumpRec_out_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_pumpRec_out_sensor.T( + start = T_pumpRec_out_sensor.T_0); + Real T_pumpRec_out_sensor.T_degC(start = T_pumpRec_out_sensor.T_0+273.15, + nominal = 573.15, unit = "degC"); + Real T_pumpRec_out_sensor.T_degF(start = (T_pumpRec_out_sensor.T_0+273.15)*1.8 + +32, nominal = 1063.67, unit = "degF"); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal T_pumpRec_out_sensor.T_sensor + (start = T_pumpRec_out_sensor.init_T); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_pumpRec_out_sensor.Q(start = P_pumpRec_out_sensor.Q_0, nominal = 100.0) + "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction P_pumpRec_out_sensor.Xi + [0] "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_pumpRec_out_sensor.P( + start = P_pumpRec_out_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_pumpRec_out_sensor.h + (start = P_pumpRec_out_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.FixedPhase P_pumpRec_out_sensor.state.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_pumpRec_out_sensor.state.h( + start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_pumpRec_out_sensor.state.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_pumpRec_out_sensor.state.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_pumpRec_out_sensor.state.p( + start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate P_pumpRec_out_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_pumpRec_out_sensor.C_in.Q(start = P_pumpRec_out_sensor.Q_0, nominal = + 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_pumpRec_out_sensor.C_in.P + (start = P_pumpRec_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_pumpRec_out_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction P_pumpRec_out_sensor.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + P_pumpRec_out_sensor.C_out.Q(start = -P_pumpRec_out_sensor.Q_0, nominal = + 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_pumpRec_out_sensor.C_out.P + (start = P_pumpRec_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_pumpRec_out_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction P_pumpRec_out_sensor.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_pumpRec_out_sensor.flow_model.h_in + (start = P_pumpRec_out_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_pumpRec_out_sensor.flow_model.h_out + (start = P_pumpRec_out_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_pumpRec_out_sensor.flow_model.Q(start = P_pumpRec_out_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_pumpRec_out_sensor.flow_model.P_in + (start = P_pumpRec_out_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_pumpRec_out_sensor.flow_model.P_out + (start = P_pumpRec_out_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction P_pumpRec_out_sensor.flow_model.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density P_pumpRec_out_sensor.flow_model.rho_in + (start = P_pumpRec_out_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density P_pumpRec_out_sensor.flow_model.rho_out + (start = P_pumpRec_out_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density P_pumpRec_out_sensor.flow_model.rho + (start = P_pumpRec_out_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + P_pumpRec_out_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + P_pumpRec_out_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + P_pumpRec_out_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_pumpRec_out_sensor.flow_model.T_in + (start = P_pumpRec_out_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_pumpRec_out_sensor.flow_model.T_out + (start = P_pumpRec_out_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase P_pumpRec_out_sensor.flow_model.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_pumpRec_out_sensor.flow_model.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_pumpRec_out_sensor.flow_model.state_in.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_pumpRec_out_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_pumpRec_out_sensor.flow_model.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase P_pumpRec_out_sensor.flow_model.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_pumpRec_out_sensor.flow_model.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_pumpRec_out_sensor.flow_model.state_out.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_pumpRec_out_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_pumpRec_out_sensor.flow_model.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + P_pumpRec_out_sensor.flow_model.DP(start = P_pumpRec_out_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power P_pumpRec_out_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + P_pumpRec_out_sensor.flow_model.DH(start = P_pumpRec_out_sensor.flow_model.h_out_0 + -P_pumpRec_out_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + P_pumpRec_out_sensor.flow_model.DT(start = P_pumpRec_out_sensor.flow_model.T_out_0 + -P_pumpRec_out_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_pumpRec_out_sensor.flow_model.C_in.Q(start = P_pumpRec_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_pumpRec_out_sensor.flow_model.C_in.P + (start = P_pumpRec_out_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_pumpRec_out_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction P_pumpRec_out_sensor.flow_model.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + P_pumpRec_out_sensor.flow_model.C_out.Q(start = -P_pumpRec_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_pumpRec_out_sensor.flow_model.C_out.P + (start = P_pumpRec_out_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_pumpRec_out_sensor.flow_model.C_out.h_outflow + (start = P_pumpRec_out_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction P_pumpRec_out_sensor.flow_model.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_pumpRec_out_sensor.flow_model.h + (start = P_pumpRec_out_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_pumpRec_out_sensor.flow_model.P + (start = P_pumpRec_out_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_pumpRec_out_sensor.flow_model.T + (start = P_pumpRec_out_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + Real P_pumpRec_out_sensor.P_barG(start = P_pumpRec_out_sensor.P_0*1E-05-1, + nominal = 100000.0); + Real P_pumpRec_out_sensor.P_psiG(start = P_pumpRec_out_sensor.P_0*0.000145038- + 14.50377377, nominal = 14.5038); + Real P_pumpRec_out_sensor.P_MPaG(start = P_pumpRec_out_sensor.P_0*1E-06-0.1, + nominal = 0.09999999999999999); + Real P_pumpRec_out_sensor.P_kPaG(start = P_pumpRec_out_sensor.P_0*0.001-100, + nominal = 100.0); + Real P_pumpRec_out_sensor.P_barA(start = P_pumpRec_out_sensor.P_0*1E-05, + nominal = 1.0, unit = "bar"); + Real P_pumpRec_out_sensor.P_psiA(start = P_pumpRec_out_sensor.P_0*0.000145038, + nominal = 14.5038); + Real P_pumpRec_out_sensor.P_MPaA(start = P_pumpRec_out_sensor.P_0*1E-06, + nominal = 0.09999999999999999); + Real P_pumpRec_out_sensor.P_kPaA(start = P_pumpRec_out_sensor.P_0*0.001, + nominal = 100.0); + Real P_pumpRec_out_sensor.P_inHg(start = P_pumpRec_out_sensor.P_0*0.0002953006, + nominal = 29.530060000000002); + Real P_pumpRec_out_sensor.P_mbar(start = P_pumpRec_out_sensor.P_0*0.01, + nominal = 1000.0, unit = "mbar"); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal P_pumpRec_out_sensor.P_sensor + (start = P_pumpRec_out_sensor.init_P); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Q_pumpRec_out_sensor.Q(start = Q_pumpRec_out_sensor.Q_0, nominal = 100.0) + "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction Q_pumpRec_out_sensor.Xi + [0] "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_pumpRec_out_sensor.P( + start = Q_pumpRec_out_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_pumpRec_out_sensor.h + (start = Q_pumpRec_out_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.FixedPhase Q_pumpRec_out_sensor.state.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy Q_pumpRec_out_sensor.state.h( + start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density Q_pumpRec_out_sensor.state.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature Q_pumpRec_out_sensor.state.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure Q_pumpRec_out_sensor.state.p( + start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate Q_pumpRec_out_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Q_pumpRec_out_sensor.C_in.Q(start = Q_pumpRec_out_sensor.Q_0, nominal = + 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_pumpRec_out_sensor.C_in.P + (start = Q_pumpRec_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_pumpRec_out_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction Q_pumpRec_out_sensor.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + Q_pumpRec_out_sensor.C_out.Q(start = -Q_pumpRec_out_sensor.Q_0, nominal = + 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_pumpRec_out_sensor.C_out.P + (start = Q_pumpRec_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_pumpRec_out_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction Q_pumpRec_out_sensor.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_pumpRec_out_sensor.flow_model.h_in + (start = Q_pumpRec_out_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_pumpRec_out_sensor.flow_model.h_out + (start = Q_pumpRec_out_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Q_pumpRec_out_sensor.flow_model.Q(start = Q_pumpRec_out_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_pumpRec_out_sensor.flow_model.P_in + (start = Q_pumpRec_out_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_pumpRec_out_sensor.flow_model.P_out + (start = Q_pumpRec_out_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction Q_pumpRec_out_sensor.flow_model.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density Q_pumpRec_out_sensor.flow_model.rho_in + (start = Q_pumpRec_out_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density Q_pumpRec_out_sensor.flow_model.rho_out + (start = Q_pumpRec_out_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density Q_pumpRec_out_sensor.flow_model.rho + (start = Q_pumpRec_out_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + Q_pumpRec_out_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + Q_pumpRec_out_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + Q_pumpRec_out_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature Q_pumpRec_out_sensor.flow_model.T_in + (start = Q_pumpRec_out_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature Q_pumpRec_out_sensor.flow_model.T_out + (start = Q_pumpRec_out_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase Q_pumpRec_out_sensor.flow_model.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy Q_pumpRec_out_sensor.flow_model.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density Q_pumpRec_out_sensor.flow_model.state_in.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature Q_pumpRec_out_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure Q_pumpRec_out_sensor.flow_model.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase Q_pumpRec_out_sensor.flow_model.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy Q_pumpRec_out_sensor.flow_model.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density Q_pumpRec_out_sensor.flow_model.state_out.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature Q_pumpRec_out_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure Q_pumpRec_out_sensor.flow_model.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + Q_pumpRec_out_sensor.flow_model.DP(start = Q_pumpRec_out_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power Q_pumpRec_out_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + Q_pumpRec_out_sensor.flow_model.DH(start = Q_pumpRec_out_sensor.flow_model.h_out_0 + -Q_pumpRec_out_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + Q_pumpRec_out_sensor.flow_model.DT(start = Q_pumpRec_out_sensor.flow_model.T_out_0 + -Q_pumpRec_out_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Q_pumpRec_out_sensor.flow_model.C_in.Q(start = Q_pumpRec_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_pumpRec_out_sensor.flow_model.C_in.P + (start = Q_pumpRec_out_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_pumpRec_out_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction Q_pumpRec_out_sensor.flow_model.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + Q_pumpRec_out_sensor.flow_model.C_out.Q(start = -Q_pumpRec_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_pumpRec_out_sensor.flow_model.C_out.P + (start = Q_pumpRec_out_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_pumpRec_out_sensor.flow_model.C_out.h_outflow + (start = Q_pumpRec_out_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction Q_pumpRec_out_sensor.flow_model.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_pumpRec_out_sensor.flow_model.h + (start = Q_pumpRec_out_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_pumpRec_out_sensor.flow_model.P + (start = Q_pumpRec_out_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature Q_pumpRec_out_sensor.flow_model.T + (start = Q_pumpRec_out_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.VolumeFlowRate Q_pumpRec_out_sensor.Qv + (start = Q_pumpRec_out_sensor.Qv_0); + Real Q_pumpRec_out_sensor.Q_lm(start = Q_pumpRec_out_sensor.Qv_0*60000, + nominal = 6000.0); + Real Q_pumpRec_out_sensor.Q_th(start = Q_pumpRec_out_sensor.Q_0*3.6, + nominal = 360.0); + Real Q_pumpRec_out_sensor.Q_lbs(start = Q_pumpRec_out_sensor.Q_0*2.2046, + nominal = 220.46); + Real Q_pumpRec_out_sensor.Q_Mlbh(start = Q_pumpRec_out_sensor.Q_0* + 0.0079366414387, nominal = 0.79366414387); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal Q_pumpRec_out_sensor.Q_sensor + (start = Q_pumpRec_out_sensor.Q_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_w_eco_in_sensor.Q(start = T_w_eco_in_sensor.Q_0, nominal = 100.0) + "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction T_w_eco_in_sensor.Xi[0] + "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_eco_in_sensor.P( + start = T_w_eco_in_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_eco_in_sensor.h + (start = T_w_eco_in_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.FixedPhase T_w_eco_in_sensor.state.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy T_w_eco_in_sensor.state.h( + start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density T_w_eco_in_sensor.state.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature T_w_eco_in_sensor.state.T(start = 500, + nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_w_eco_in_sensor.state.p( + start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate T_w_eco_in_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_w_eco_in_sensor.C_in.Q(start = T_w_eco_in_sensor.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_eco_in_sensor.C_in.P( + start = T_w_eco_in_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_eco_in_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction T_w_eco_in_sensor.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + T_w_eco_in_sensor.C_out.Q(start = -T_w_eco_in_sensor.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_eco_in_sensor.C_out.P( + start = T_w_eco_in_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_eco_in_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction T_w_eco_in_sensor.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_eco_in_sensor.flow_model.h_in + (start = T_w_eco_in_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_eco_in_sensor.flow_model.h_out + (start = T_w_eco_in_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_w_eco_in_sensor.flow_model.Q(start = T_w_eco_in_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_eco_in_sensor.flow_model.P_in + (start = T_w_eco_in_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_eco_in_sensor.flow_model.P_out + (start = T_w_eco_in_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction T_w_eco_in_sensor.flow_model.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density T_w_eco_in_sensor.flow_model.rho_in + (start = T_w_eco_in_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density T_w_eco_in_sensor.flow_model.rho_out + (start = T_w_eco_in_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density T_w_eco_in_sensor.flow_model.rho + (start = T_w_eco_in_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + T_w_eco_in_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + T_w_eco_in_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + T_w_eco_in_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_w_eco_in_sensor.flow_model.T_in + (start = T_w_eco_in_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_w_eco_in_sensor.flow_model.T_out + (start = T_w_eco_in_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase T_w_eco_in_sensor.flow_model.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy T_w_eco_in_sensor.flow_model.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density T_w_eco_in_sensor.flow_model.state_in.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature T_w_eco_in_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_w_eco_in_sensor.flow_model.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase T_w_eco_in_sensor.flow_model.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy T_w_eco_in_sensor.flow_model.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density T_w_eco_in_sensor.flow_model.state_out.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature T_w_eco_in_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_w_eco_in_sensor.flow_model.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + T_w_eco_in_sensor.flow_model.DP(start = T_w_eco_in_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power T_w_eco_in_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + T_w_eco_in_sensor.flow_model.DH(start = T_w_eco_in_sensor.flow_model.h_out_0 + -T_w_eco_in_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + T_w_eco_in_sensor.flow_model.DT(start = T_w_eco_in_sensor.flow_model.T_out_0 + -T_w_eco_in_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_w_eco_in_sensor.flow_model.C_in.Q(start = T_w_eco_in_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_eco_in_sensor.flow_model.C_in.P + (start = T_w_eco_in_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_eco_in_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction T_w_eco_in_sensor.flow_model.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + T_w_eco_in_sensor.flow_model.C_out.Q(start = -T_w_eco_in_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_eco_in_sensor.flow_model.C_out.P + (start = T_w_eco_in_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_eco_in_sensor.flow_model.C_out.h_outflow + (start = T_w_eco_in_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction T_w_eco_in_sensor.flow_model.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_eco_in_sensor.flow_model.h + (start = T_w_eco_in_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_eco_in_sensor.flow_model.P + (start = T_w_eco_in_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_w_eco_in_sensor.flow_model.T + (start = T_w_eco_in_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_w_eco_in_sensor.T( + start = T_w_eco_in_sensor.T_0); + Real T_w_eco_in_sensor.T_degC(start = T_w_eco_in_sensor.T_0+273.15, nominal = + 573.15, unit = "degC"); + Real T_w_eco_in_sensor.T_degF(start = (T_w_eco_in_sensor.T_0+273.15)*1.8+32, + nominal = 1063.67, unit = "degF"); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal T_w_eco_in_sensor.T_sensor + (start = T_w_eco_in_sensor.init_T); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy pumpRec_controlValve.h_in + (start = pumpRec_controlValve.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy pumpRec_controlValve.h_out + (start = pumpRec_controlValve.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + pumpRec_controlValve.Q(start = pumpRec_controlValve.Q_0) "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure pumpRec_controlValve.P_in( + start = pumpRec_controlValve.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure pumpRec_controlValve.P_out( + start = pumpRec_controlValve.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction pumpRec_controlValve.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density pumpRec_controlValve.rho_in( + start = pumpRec_controlValve.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density pumpRec_controlValve.rho_out + (start = pumpRec_controlValve.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density pumpRec_controlValve.rho( + start = pumpRec_controlValve.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + pumpRec_controlValve.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + pumpRec_controlValve.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + pumpRec_controlValve.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature pumpRec_controlValve.T_in + (start = pumpRec_controlValve.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature pumpRec_controlValve.T_out + (start = pumpRec_controlValve.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase pumpRec_controlValve.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy pumpRec_controlValve.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density pumpRec_controlValve.state_in.d( + start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature pumpRec_controlValve.state_in.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure pumpRec_controlValve.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase pumpRec_controlValve.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy pumpRec_controlValve.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density pumpRec_controlValve.state_out.d( + start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature pumpRec_controlValve.state_out.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure pumpRec_controlValve.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + pumpRec_controlValve.DP(start = pumpRec_controlValve.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power pumpRec_controlValve.W( + start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + pumpRec_controlValve.DH(start = pumpRec_controlValve.h_out_0- + pumpRec_controlValve.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + pumpRec_controlValve.DT(start = pumpRec_controlValve.T_out_0- + pumpRec_controlValve.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + pumpRec_controlValve.C_in.Q(start = pumpRec_controlValve.Q_0, nominal = + 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure pumpRec_controlValve.C_in.P + (start = pumpRec_controlValve.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy pumpRec_controlValve.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction pumpRec_controlValve.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + pumpRec_controlValve.C_out.Q(start = -pumpRec_controlValve.Q_0, nominal = + 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure pumpRec_controlValve.C_out.P + (start = pumpRec_controlValve.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy pumpRec_controlValve.C_out.h_outflow + (start = pumpRec_controlValve.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction pumpRec_controlValve.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy pumpRec_controlValve.h + (start = pumpRec_controlValve.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Cv pumpRec_controlValve.Cv(start = + 10000.0) "Cv"; + Modelica.Blocks.Interfaces.RealInput pumpRec_controlValve.Opening(nominal = + 0.5, unit = "1", min = 0.0, max = 1.0); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal pumpRec_controlValve.Cv_max + (start = pumpRec_controlValve.Cv_max_constant); + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputPercentage + pumpRec_opening_sensor.Opening_pc(start = pumpRec_opening_sensor.Opening_pc_0, + nominal = 15.0, unit = "1"); + Modelica.Blocks.Interfaces.RealOutput pumpRec_opening_sensor.Opening(start = + pumpRec_opening_sensor.Opening_pc_0/100, nominal = 0.15, unit = "1", min = + 0.0, max = 1.0); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal pumpRec_opening_sensor.opening_sensor; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_flue_gas_sink_sensor.Q(start = P_flue_gas_sink_sensor.Q_0, nominal = 100.0) + "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction P_flue_gas_sink_sensor.Xi + [5] "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_flue_gas_sink_sensor.P( + start = P_flue_gas_sink_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_flue_gas_sink_sensor.h + (start = P_flue_gas_sink_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_flue_gas_sink_sensor.state.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature P_flue_gas_sink_sensor.state.T( + start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction P_flue_gas_sink_sensor.state.X[5] + (start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate P_flue_gas_sink_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_flue_gas_sink_sensor.C_in.Q(start = P_flue_gas_sink_sensor.Q_0, nominal = + 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_flue_gas_sink_sensor.C_in.P + (start = P_flue_gas_sink_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_flue_gas_sink_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction P_flue_gas_sink_sensor.C_in.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + P_flue_gas_sink_sensor.C_out.Q(start = -P_flue_gas_sink_sensor.Q_0, + nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_flue_gas_sink_sensor.C_out.P + (start = P_flue_gas_sink_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_flue_gas_sink_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction P_flue_gas_sink_sensor.C_out.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_flue_gas_sink_sensor.flow_model.h_in + (start = P_flue_gas_sink_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_flue_gas_sink_sensor.flow_model.h_out + (start = P_flue_gas_sink_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_flue_gas_sink_sensor.flow_model.Q(start = P_flue_gas_sink_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_flue_gas_sink_sensor.flow_model.P_in + (start = P_flue_gas_sink_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_flue_gas_sink_sensor.flow_model.P_out + (start = P_flue_gas_sink_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction P_flue_gas_sink_sensor.flow_model.Xi + [5] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density P_flue_gas_sink_sensor.flow_model.rho_in + (start = P_flue_gas_sink_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density P_flue_gas_sink_sensor.flow_model.rho_out + (start = P_flue_gas_sink_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density P_flue_gas_sink_sensor.flow_model.rho + (start = P_flue_gas_sink_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + P_flue_gas_sink_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + P_flue_gas_sink_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + P_flue_gas_sink_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_flue_gas_sink_sensor.flow_model.T_in + (start = P_flue_gas_sink_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_flue_gas_sink_sensor.flow_model.T_out + (start = P_flue_gas_sink_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_flue_gas_sink_sensor.flow_model.state_in.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature P_flue_gas_sink_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction P_flue_gas_sink_sensor.flow_model.state_in.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_flue_gas_sink_sensor.flow_model.state_out.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature P_flue_gas_sink_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction P_flue_gas_sink_sensor.flow_model.state_out.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + P_flue_gas_sink_sensor.flow_model.DP(start = P_flue_gas_sink_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power P_flue_gas_sink_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + P_flue_gas_sink_sensor.flow_model.DH(start = P_flue_gas_sink_sensor.flow_model.h_out_0 + -P_flue_gas_sink_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + P_flue_gas_sink_sensor.flow_model.DT(start = P_flue_gas_sink_sensor.flow_model.T_out_0 + -P_flue_gas_sink_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_flue_gas_sink_sensor.flow_model.C_in.Q(start = P_flue_gas_sink_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_flue_gas_sink_sensor.flow_model.C_in.P + (start = P_flue_gas_sink_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_flue_gas_sink_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction P_flue_gas_sink_sensor.flow_model.C_in.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + P_flue_gas_sink_sensor.flow_model.C_out.Q(start = -P_flue_gas_sink_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_flue_gas_sink_sensor.flow_model.C_out.P + (start = P_flue_gas_sink_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_flue_gas_sink_sensor.flow_model.C_out.h_outflow + (start = P_flue_gas_sink_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction P_flue_gas_sink_sensor.flow_model.C_out.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_flue_gas_sink_sensor.flow_model.h + (start = P_flue_gas_sink_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_flue_gas_sink_sensor.flow_model.P + (start = P_flue_gas_sink_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_flue_gas_sink_sensor.flow_model.T + (start = P_flue_gas_sink_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + Real P_flue_gas_sink_sensor.P_barG(start = P_flue_gas_sink_sensor.P_0*1E-05-1, + nominal = 100000.0); + Real P_flue_gas_sink_sensor.P_psiG(start = P_flue_gas_sink_sensor.P_0* + 0.000145038-14.50377377, nominal = 14.5038); + Real P_flue_gas_sink_sensor.P_MPaG(start = P_flue_gas_sink_sensor.P_0*1E-06- + 0.1, nominal = 0.09999999999999999); + Real P_flue_gas_sink_sensor.P_kPaG(start = P_flue_gas_sink_sensor.P_0*0.001-100, + nominal = 100.0); + Real P_flue_gas_sink_sensor.P_barA(start = P_flue_gas_sink_sensor.P_0*1E-05, + nominal = 1.0, unit = "bar"); + Real P_flue_gas_sink_sensor.P_psiA(start = P_flue_gas_sink_sensor.P_0* + 0.000145038, nominal = 14.5038); + Real P_flue_gas_sink_sensor.P_MPaA(start = P_flue_gas_sink_sensor.P_0*1E-06, + nominal = 0.09999999999999999); + Real P_flue_gas_sink_sensor.P_kPaA(start = P_flue_gas_sink_sensor.P_0*0.001, + nominal = 100.0); + Real P_flue_gas_sink_sensor.P_inHg(start = P_flue_gas_sink_sensor.P_0* + 0.0002953006, nominal = 29.530060000000002); + Real P_flue_gas_sink_sensor.P_mbar(start = P_flue_gas_sink_sensor.P_0*0.01, + nominal = 1000.0, unit = "mbar"); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal P_flue_gas_sink_sensor.P_sensor + (start = P_flue_gas_sink_sensor.init_P); + MetroscopeModelingLibrary.Utilities.Units.PositivePower sink.W_in; + MetroscopeModelingLibrary.Utilities.Units.PositivePower sink.C_in.W; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_fuel_source_sensor.Q(start = P_fuel_source_sensor.Q_0, nominal = 100.0) + "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction P_fuel_source_sensor.Xi + [6] "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_fuel_source_sensor.P( + start = P_fuel_source_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_fuel_source_sensor.h + (start = P_fuel_source_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_fuel_source_sensor.state.p( + start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature P_fuel_source_sensor.state.T( + start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction P_fuel_source_sensor.state.X[6]( + start = {0.92, 0.048, 0.005, 0.002, 0.015, 0.01}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate P_fuel_source_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_fuel_source_sensor.C_in.Q(start = P_fuel_source_sensor.Q_0, nominal = + 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_fuel_source_sensor.C_in.P + (start = P_fuel_source_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_fuel_source_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction P_fuel_source_sensor.C_in.Xi_outflow + [6]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + P_fuel_source_sensor.C_out.Q(start = -P_fuel_source_sensor.Q_0, nominal = + 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_fuel_source_sensor.C_out.P + (start = P_fuel_source_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_fuel_source_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction P_fuel_source_sensor.C_out.Xi_outflow + [6]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_fuel_source_sensor.flow_model.h_in + (start = P_fuel_source_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_fuel_source_sensor.flow_model.h_out + (start = P_fuel_source_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_fuel_source_sensor.flow_model.Q(start = P_fuel_source_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_fuel_source_sensor.flow_model.P_in + (start = P_fuel_source_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_fuel_source_sensor.flow_model.P_out + (start = P_fuel_source_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction P_fuel_source_sensor.flow_model.Xi + [6] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density P_fuel_source_sensor.flow_model.rho_in + (start = P_fuel_source_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density P_fuel_source_sensor.flow_model.rho_out + (start = P_fuel_source_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density P_fuel_source_sensor.flow_model.rho + (start = P_fuel_source_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + P_fuel_source_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + P_fuel_source_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + P_fuel_source_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_fuel_source_sensor.flow_model.T_in + (start = P_fuel_source_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_fuel_source_sensor.flow_model.T_out + (start = P_fuel_source_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_fuel_source_sensor.flow_model.state_in.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature P_fuel_source_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction P_fuel_source_sensor.flow_model.state_in.X + [6](start = {0.92, 0.048, 0.005, 0.002, 0.015, 0.01}) "Mass fractions (= (component mass)/total mass m_i/m)"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_fuel_source_sensor.flow_model.state_out.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature P_fuel_source_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction P_fuel_source_sensor.flow_model.state_out.X + [6](start = {0.92, 0.048, 0.005, 0.002, 0.015, 0.01}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + P_fuel_source_sensor.flow_model.DP(start = P_fuel_source_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power P_fuel_source_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + P_fuel_source_sensor.flow_model.DH(start = P_fuel_source_sensor.flow_model.h_out_0 + -P_fuel_source_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + P_fuel_source_sensor.flow_model.DT(start = P_fuel_source_sensor.flow_model.T_out_0 + -P_fuel_source_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_fuel_source_sensor.flow_model.C_in.Q(start = P_fuel_source_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_fuel_source_sensor.flow_model.C_in.P + (start = P_fuel_source_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_fuel_source_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction P_fuel_source_sensor.flow_model.C_in.Xi_outflow + [6]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + P_fuel_source_sensor.flow_model.C_out.Q(start = -P_fuel_source_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_fuel_source_sensor.flow_model.C_out.P + (start = P_fuel_source_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_fuel_source_sensor.flow_model.C_out.h_outflow + (start = P_fuel_source_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction P_fuel_source_sensor.flow_model.C_out.Xi_outflow + [6]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_fuel_source_sensor.flow_model.h + (start = P_fuel_source_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_fuel_source_sensor.flow_model.P + (start = P_fuel_source_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_fuel_source_sensor.flow_model.T + (start = P_fuel_source_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + Real P_fuel_source_sensor.P_barG(start = P_fuel_source_sensor.P_0*1E-05-1, + nominal = 100000.0); + Real P_fuel_source_sensor.P_psiG(start = P_fuel_source_sensor.P_0*0.000145038- + 14.50377377, nominal = 14.5038); + Real P_fuel_source_sensor.P_MPaG(start = P_fuel_source_sensor.P_0*1E-06-0.1, + nominal = 0.09999999999999999); + Real P_fuel_source_sensor.P_kPaG(start = P_fuel_source_sensor.P_0*0.001-100, + nominal = 100.0); + Real P_fuel_source_sensor.P_barA(start = P_fuel_source_sensor.P_0*1E-05, + nominal = 1.0, unit = "bar"); + Real P_fuel_source_sensor.P_psiA(start = P_fuel_source_sensor.P_0*0.000145038, + nominal = 14.5038); + Real P_fuel_source_sensor.P_MPaA(start = P_fuel_source_sensor.P_0*1E-06, + nominal = 0.09999999999999999); + Real P_fuel_source_sensor.P_kPaA(start = P_fuel_source_sensor.P_0*0.001, + nominal = 100.0); + Real P_fuel_source_sensor.P_inHg(start = P_fuel_source_sensor.P_0*0.0002953006, + nominal = 29.530060000000002); + Real P_fuel_source_sensor.P_mbar(start = P_fuel_source_sensor.P_0*0.01, + nominal = 1000.0, unit = "mbar"); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal P_fuel_source_sensor.P_sensor + (start = P_fuel_source_sensor.init_P); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_fuel_source_sensor.Q(start = T_fuel_source_sensor.Q_0, nominal = 100.0) + "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction T_fuel_source_sensor.Xi + [6] "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_fuel_source_sensor.P( + start = T_fuel_source_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_fuel_source_sensor.h + (start = T_fuel_source_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_fuel_source_sensor.state.p( + start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature T_fuel_source_sensor.state.T( + start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction T_fuel_source_sensor.state.X[6]( + start = {0.92, 0.048, 0.005, 0.002, 0.015, 0.01}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate T_fuel_source_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_fuel_source_sensor.C_in.Q(start = T_fuel_source_sensor.Q_0, nominal = + 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_fuel_source_sensor.C_in.P + (start = T_fuel_source_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_fuel_source_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction T_fuel_source_sensor.C_in.Xi_outflow + [6]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + T_fuel_source_sensor.C_out.Q(start = -T_fuel_source_sensor.Q_0, nominal = + 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_fuel_source_sensor.C_out.P + (start = T_fuel_source_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_fuel_source_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction T_fuel_source_sensor.C_out.Xi_outflow + [6]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_fuel_source_sensor.flow_model.h_in + (start = T_fuel_source_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_fuel_source_sensor.flow_model.h_out + (start = T_fuel_source_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_fuel_source_sensor.flow_model.Q(start = T_fuel_source_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_fuel_source_sensor.flow_model.P_in + (start = T_fuel_source_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_fuel_source_sensor.flow_model.P_out + (start = T_fuel_source_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction T_fuel_source_sensor.flow_model.Xi + [6] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density T_fuel_source_sensor.flow_model.rho_in + (start = T_fuel_source_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density T_fuel_source_sensor.flow_model.rho_out + (start = T_fuel_source_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density T_fuel_source_sensor.flow_model.rho + (start = T_fuel_source_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + T_fuel_source_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + T_fuel_source_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + T_fuel_source_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_fuel_source_sensor.flow_model.T_in + (start = T_fuel_source_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_fuel_source_sensor.flow_model.T_out + (start = T_fuel_source_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_fuel_source_sensor.flow_model.state_in.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature T_fuel_source_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction T_fuel_source_sensor.flow_model.state_in.X + [6](start = {0.92, 0.048, 0.005, 0.002, 0.015, 0.01}) "Mass fractions (= (component mass)/total mass m_i/m)"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_fuel_source_sensor.flow_model.state_out.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature T_fuel_source_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction T_fuel_source_sensor.flow_model.state_out.X + [6](start = {0.92, 0.048, 0.005, 0.002, 0.015, 0.01}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + T_fuel_source_sensor.flow_model.DP(start = T_fuel_source_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power T_fuel_source_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + T_fuel_source_sensor.flow_model.DH(start = T_fuel_source_sensor.flow_model.h_out_0 + -T_fuel_source_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + T_fuel_source_sensor.flow_model.DT(start = T_fuel_source_sensor.flow_model.T_out_0 + -T_fuel_source_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_fuel_source_sensor.flow_model.C_in.Q(start = T_fuel_source_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_fuel_source_sensor.flow_model.C_in.P + (start = T_fuel_source_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_fuel_source_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction T_fuel_source_sensor.flow_model.C_in.Xi_outflow + [6]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + T_fuel_source_sensor.flow_model.C_out.Q(start = -T_fuel_source_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_fuel_source_sensor.flow_model.C_out.P + (start = T_fuel_source_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_fuel_source_sensor.flow_model.C_out.h_outflow + (start = T_fuel_source_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction T_fuel_source_sensor.flow_model.C_out.Xi_outflow + [6]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_fuel_source_sensor.flow_model.h + (start = T_fuel_source_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_fuel_source_sensor.flow_model.P + (start = T_fuel_source_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_fuel_source_sensor.flow_model.T + (start = T_fuel_source_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_fuel_source_sensor.T( + start = T_fuel_source_sensor.T_0); + Real T_fuel_source_sensor.T_degC(start = T_fuel_source_sensor.T_0+273.15, + nominal = 573.15, unit = "degC"); + Real T_fuel_source_sensor.T_degF(start = (T_fuel_source_sensor.T_0+273.15)*1.8 + +32, nominal = 1063.67, unit = "degF"); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal T_fuel_source_sensor.T_sensor + (start = T_fuel_source_sensor.init_T); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Q_fuel_source_sensor.Q(start = Q_fuel_source_sensor.Q_0, nominal = 100.0) + "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction Q_fuel_source_sensor.Xi + [6] "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_fuel_source_sensor.P( + start = Q_fuel_source_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_fuel_source_sensor.h + (start = Q_fuel_source_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.AbsolutePressure Q_fuel_source_sensor.state.p( + start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature Q_fuel_source_sensor.state.T( + start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction Q_fuel_source_sensor.state.X[6]( + start = {0.92, 0.048, 0.005, 0.002, 0.015, 0.01}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate Q_fuel_source_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Q_fuel_source_sensor.C_in.Q(start = Q_fuel_source_sensor.Q_0, nominal = + 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_fuel_source_sensor.C_in.P + (start = Q_fuel_source_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_fuel_source_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction Q_fuel_source_sensor.C_in.Xi_outflow + [6]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + Q_fuel_source_sensor.C_out.Q(start = -Q_fuel_source_sensor.Q_0, nominal = + 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_fuel_source_sensor.C_out.P + (start = Q_fuel_source_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_fuel_source_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction Q_fuel_source_sensor.C_out.Xi_outflow + [6]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_fuel_source_sensor.flow_model.h_in + (start = Q_fuel_source_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_fuel_source_sensor.flow_model.h_out + (start = Q_fuel_source_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Q_fuel_source_sensor.flow_model.Q(start = Q_fuel_source_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_fuel_source_sensor.flow_model.P_in + (start = Q_fuel_source_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_fuel_source_sensor.flow_model.P_out + (start = Q_fuel_source_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction Q_fuel_source_sensor.flow_model.Xi + [6] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density Q_fuel_source_sensor.flow_model.rho_in + (start = Q_fuel_source_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density Q_fuel_source_sensor.flow_model.rho_out + (start = Q_fuel_source_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density Q_fuel_source_sensor.flow_model.rho + (start = Q_fuel_source_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + Q_fuel_source_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + Q_fuel_source_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + Q_fuel_source_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature Q_fuel_source_sensor.flow_model.T_in + (start = Q_fuel_source_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature Q_fuel_source_sensor.flow_model.T_out + (start = Q_fuel_source_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure Q_fuel_source_sensor.flow_model.state_in.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature Q_fuel_source_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction Q_fuel_source_sensor.flow_model.state_in.X + [6](start = {0.92, 0.048, 0.005, 0.002, 0.015, 0.01}) "Mass fractions (= (component mass)/total mass m_i/m)"; + Modelica.Media.Interfaces.Types.AbsolutePressure Q_fuel_source_sensor.flow_model.state_out.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature Q_fuel_source_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction Q_fuel_source_sensor.flow_model.state_out.X + [6](start = {0.92, 0.048, 0.005, 0.002, 0.015, 0.01}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + Q_fuel_source_sensor.flow_model.DP(start = Q_fuel_source_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power Q_fuel_source_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + Q_fuel_source_sensor.flow_model.DH(start = Q_fuel_source_sensor.flow_model.h_out_0 + -Q_fuel_source_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + Q_fuel_source_sensor.flow_model.DT(start = Q_fuel_source_sensor.flow_model.T_out_0 + -Q_fuel_source_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Q_fuel_source_sensor.flow_model.C_in.Q(start = Q_fuel_source_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_fuel_source_sensor.flow_model.C_in.P + (start = Q_fuel_source_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_fuel_source_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction Q_fuel_source_sensor.flow_model.C_in.Xi_outflow + [6]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + Q_fuel_source_sensor.flow_model.C_out.Q(start = -Q_fuel_source_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_fuel_source_sensor.flow_model.C_out.P + (start = Q_fuel_source_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_fuel_source_sensor.flow_model.C_out.h_outflow + (start = Q_fuel_source_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction Q_fuel_source_sensor.flow_model.C_out.Xi_outflow + [6]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_fuel_source_sensor.flow_model.h + (start = Q_fuel_source_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_fuel_source_sensor.flow_model.P + (start = Q_fuel_source_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature Q_fuel_source_sensor.flow_model.T + (start = Q_fuel_source_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.VolumeFlowRate Q_fuel_source_sensor.Qv + (start = Q_fuel_source_sensor.Qv_0); + Real Q_fuel_source_sensor.Q_lm(start = Q_fuel_source_sensor.Qv_0*60000, + nominal = 6000.0); + Real Q_fuel_source_sensor.Q_th(start = Q_fuel_source_sensor.Q_0*3.6, + nominal = 360.0); + Real Q_fuel_source_sensor.Q_lbs(start = Q_fuel_source_sensor.Q_0*2.2046, + nominal = 220.46); + Real Q_fuel_source_sensor.Q_Mlbh(start = Q_fuel_source_sensor.Q_0* + 0.0079366414387, nominal = 0.79366414387); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal Q_fuel_source_sensor.Q_sensor + (start = Q_fuel_source_sensor.Q_0); + MetroscopeModelingLibrary.Utilities.Units.NegativePower GT_generator.W_elec + "Electrical power produced by the generator"; + MetroscopeModelingLibrary.Utilities.Units.PositivePower GT_generator.W_shaft + "Mechanical power received by the generator"; + MetroscopeModelingLibrary.Utilities.Units.PositivePower GT_generator.C_in.W; + MetroscopeModelingLibrary.Utilities.Units.NegativePower GT_generator.C_out.W; + MetroscopeModelingLibrary.Utilities.Units.NegativePower ST_generator.W_elec + "Electrical power produced by the generator"; + MetroscopeModelingLibrary.Utilities.Units.PositivePower ST_generator.W_shaft + "Mechanical power received by the generator"; + MetroscopeModelingLibrary.Utilities.Units.PositivePower ST_generator.C_in.W; + MetroscopeModelingLibrary.Utilities.Units.NegativePower ST_generator.C_out.W; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_flue_gas_sink_sensor.Q(start = T_flue_gas_sink_sensor.Q_0, nominal = 100.0) + "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction T_flue_gas_sink_sensor.Xi + [5] "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_flue_gas_sink_sensor.P( + start = T_flue_gas_sink_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_flue_gas_sink_sensor.h + (start = T_flue_gas_sink_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_flue_gas_sink_sensor.state.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature T_flue_gas_sink_sensor.state.T( + start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction T_flue_gas_sink_sensor.state.X[5] + (start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate T_flue_gas_sink_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_flue_gas_sink_sensor.C_in.Q(start = T_flue_gas_sink_sensor.Q_0, nominal = + 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_flue_gas_sink_sensor.C_in.P + (start = T_flue_gas_sink_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_flue_gas_sink_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction T_flue_gas_sink_sensor.C_in.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + T_flue_gas_sink_sensor.C_out.Q(start = -T_flue_gas_sink_sensor.Q_0, + nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_flue_gas_sink_sensor.C_out.P + (start = T_flue_gas_sink_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_flue_gas_sink_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction T_flue_gas_sink_sensor.C_out.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_flue_gas_sink_sensor.flow_model.h_in + (start = T_flue_gas_sink_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_flue_gas_sink_sensor.flow_model.h_out + (start = T_flue_gas_sink_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_flue_gas_sink_sensor.flow_model.Q(start = T_flue_gas_sink_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_flue_gas_sink_sensor.flow_model.P_in + (start = T_flue_gas_sink_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_flue_gas_sink_sensor.flow_model.P_out + (start = T_flue_gas_sink_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction T_flue_gas_sink_sensor.flow_model.Xi + [5] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density T_flue_gas_sink_sensor.flow_model.rho_in + (start = T_flue_gas_sink_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density T_flue_gas_sink_sensor.flow_model.rho_out + (start = T_flue_gas_sink_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density T_flue_gas_sink_sensor.flow_model.rho + (start = T_flue_gas_sink_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + T_flue_gas_sink_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + T_flue_gas_sink_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + T_flue_gas_sink_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_flue_gas_sink_sensor.flow_model.T_in + (start = T_flue_gas_sink_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_flue_gas_sink_sensor.flow_model.T_out + (start = T_flue_gas_sink_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_flue_gas_sink_sensor.flow_model.state_in.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature T_flue_gas_sink_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction T_flue_gas_sink_sensor.flow_model.state_in.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_flue_gas_sink_sensor.flow_model.state_out.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature T_flue_gas_sink_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction T_flue_gas_sink_sensor.flow_model.state_out.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + T_flue_gas_sink_sensor.flow_model.DP(start = T_flue_gas_sink_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power T_flue_gas_sink_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + T_flue_gas_sink_sensor.flow_model.DH(start = T_flue_gas_sink_sensor.flow_model.h_out_0 + -T_flue_gas_sink_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + T_flue_gas_sink_sensor.flow_model.DT(start = T_flue_gas_sink_sensor.flow_model.T_out_0 + -T_flue_gas_sink_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_flue_gas_sink_sensor.flow_model.C_in.Q(start = T_flue_gas_sink_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_flue_gas_sink_sensor.flow_model.C_in.P + (start = T_flue_gas_sink_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_flue_gas_sink_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction T_flue_gas_sink_sensor.flow_model.C_in.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + T_flue_gas_sink_sensor.flow_model.C_out.Q(start = -T_flue_gas_sink_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_flue_gas_sink_sensor.flow_model.C_out.P + (start = T_flue_gas_sink_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_flue_gas_sink_sensor.flow_model.C_out.h_outflow + (start = T_flue_gas_sink_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction T_flue_gas_sink_sensor.flow_model.C_out.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_flue_gas_sink_sensor.flow_model.h + (start = T_flue_gas_sink_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_flue_gas_sink_sensor.flow_model.P + (start = T_flue_gas_sink_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_flue_gas_sink_sensor.flow_model.T + (start = T_flue_gas_sink_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_flue_gas_sink_sensor.T + (start = T_flue_gas_sink_sensor.T_0); + Real T_flue_gas_sink_sensor.T_degC(start = T_flue_gas_sink_sensor.T_0+273.15, + nominal = 573.15, unit = "degC"); + Real T_flue_gas_sink_sensor.T_degF(start = (T_flue_gas_sink_sensor.T_0+273.15) + *1.8+32, nominal = 1063.67, unit = "degF"); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal T_flue_gas_sink_sensor.T_sensor + (start = T_flue_gas_sink_sensor.init_T); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy AirFilter.h_in( + start = AirFilter.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy AirFilter.h_out( + start = AirFilter.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate AirFilter.Q( + start = AirFilter.Q_0) "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure AirFilter.P_in(start = + AirFilter.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure AirFilter.P_out(start = + AirFilter.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction AirFilter.Xi[5] + "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density AirFilter.rho_in(start = + AirFilter.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density AirFilter.rho_out(start = + AirFilter.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density AirFilter.rho(start = + AirFilter.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + AirFilter.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + AirFilter.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate AirFilter.Qv + "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature AirFilter.T_in(start = + AirFilter.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature AirFilter.T_out(start = + AirFilter.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure AirFilter.state_in.p(start = + 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature AirFilter.state_in.T(start = 500, + nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction AirFilter.state_in.X[5](start = { + 0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + Modelica.Media.Interfaces.Types.AbsolutePressure AirFilter.state_out.p( + start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature AirFilter.state_out.T(start = 500, + nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction AirFilter.state_out.X[5](start = + {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure AirFilter.DP( + start = AirFilter.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power AirFilter.W(start = 0, + nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy AirFilter.DH( + start = AirFilter.h_out_0-AirFilter.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature AirFilter.DT + (start = AirFilter.T_out_0-AirFilter.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + AirFilter.C_in.Q(start = AirFilter.Q_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure AirFilter.C_in.P(start = + AirFilter.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy AirFilter.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction AirFilter.C_in.Xi_outflow[5]( + start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + AirFilter.C_out.Q(start = -AirFilter.Q_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure AirFilter.C_out.P(start = + AirFilter.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy AirFilter.C_out.h_outflow + (start = AirFilter.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction AirFilter.C_out.Xi_outflow[5]( + start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy AirFilter.h( + start = AirFilter.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Percentage AirFilter.fouling; + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal AirFilter.Kfr( + start = AirFilter.Kfr_constant); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_filter_out_sensor.Q(start = P_filter_out_sensor.Q_0, nominal = 100.0) + "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction P_filter_out_sensor.Xi[5] + "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_filter_out_sensor.P( + start = P_filter_out_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_filter_out_sensor.h + (start = P_filter_out_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_filter_out_sensor.state.p( + start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature P_filter_out_sensor.state.T( + start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction P_filter_out_sensor.state.X[5]( + start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate P_filter_out_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_filter_out_sensor.C_in.Q(start = P_filter_out_sensor.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_filter_out_sensor.C_in.P( + start = P_filter_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_filter_out_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction P_filter_out_sensor.C_in.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + P_filter_out_sensor.C_out.Q(start = -P_filter_out_sensor.Q_0, nominal = + 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_filter_out_sensor.C_out.P + (start = P_filter_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_filter_out_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction P_filter_out_sensor.C_out.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_filter_out_sensor.flow_model.h_in + (start = P_filter_out_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_filter_out_sensor.flow_model.h_out + (start = P_filter_out_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_filter_out_sensor.flow_model.Q(start = P_filter_out_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_filter_out_sensor.flow_model.P_in + (start = P_filter_out_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_filter_out_sensor.flow_model.P_out + (start = P_filter_out_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction P_filter_out_sensor.flow_model.Xi + [5] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density P_filter_out_sensor.flow_model.rho_in + (start = P_filter_out_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density P_filter_out_sensor.flow_model.rho_out + (start = P_filter_out_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density P_filter_out_sensor.flow_model.rho + (start = P_filter_out_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + P_filter_out_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + P_filter_out_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + P_filter_out_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_filter_out_sensor.flow_model.T_in + (start = P_filter_out_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_filter_out_sensor.flow_model.T_out + (start = P_filter_out_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_filter_out_sensor.flow_model.state_in.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature P_filter_out_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction P_filter_out_sensor.flow_model.state_in.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_filter_out_sensor.flow_model.state_out.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature P_filter_out_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction P_filter_out_sensor.flow_model.state_out.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + P_filter_out_sensor.flow_model.DP(start = P_filter_out_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power P_filter_out_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + P_filter_out_sensor.flow_model.DH(start = P_filter_out_sensor.flow_model.h_out_0 + -P_filter_out_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + P_filter_out_sensor.flow_model.DT(start = P_filter_out_sensor.flow_model.T_out_0 + -P_filter_out_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_filter_out_sensor.flow_model.C_in.Q(start = P_filter_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_filter_out_sensor.flow_model.C_in.P + (start = P_filter_out_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_filter_out_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction P_filter_out_sensor.flow_model.C_in.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + P_filter_out_sensor.flow_model.C_out.Q(start = -P_filter_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_filter_out_sensor.flow_model.C_out.P + (start = P_filter_out_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_filter_out_sensor.flow_model.C_out.h_outflow + (start = P_filter_out_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction P_filter_out_sensor.flow_model.C_out.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_filter_out_sensor.flow_model.h + (start = P_filter_out_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_filter_out_sensor.flow_model.P + (start = P_filter_out_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_filter_out_sensor.flow_model.T + (start = P_filter_out_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + Real P_filter_out_sensor.P_barG(start = P_filter_out_sensor.P_0*1E-05-1, + nominal = 100000.0); + Real P_filter_out_sensor.P_psiG(start = P_filter_out_sensor.P_0*0.000145038- + 14.50377377, nominal = 14.5038); + Real P_filter_out_sensor.P_MPaG(start = P_filter_out_sensor.P_0*1E-06-0.1, + nominal = 0.09999999999999999); + Real P_filter_out_sensor.P_kPaG(start = P_filter_out_sensor.P_0*0.001-100, + nominal = 100.0); + Real P_filter_out_sensor.P_barA(start = P_filter_out_sensor.P_0*1E-05, + nominal = 1.0, unit = "bar"); + Real P_filter_out_sensor.P_psiA(start = P_filter_out_sensor.P_0*0.000145038, + nominal = 14.5038); + Real P_filter_out_sensor.P_MPaA(start = P_filter_out_sensor.P_0*1E-06, + nominal = 0.09999999999999999); + Real P_filter_out_sensor.P_kPaA(start = P_filter_out_sensor.P_0*0.001, + nominal = 100.0); + Real P_filter_out_sensor.P_inHg(start = P_filter_out_sensor.P_0*0.0002953006, + nominal = 29.530060000000002); + Real P_filter_out_sensor.P_mbar(start = P_filter_out_sensor.P_0*0.01, + nominal = 1000.0, unit = "mbar"); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal P_filter_out_sensor.P_sensor + (start = P_filter_out_sensor.init_P); + MetroscopeModelingLibrary.Utilities.Units.Temperature HPsuperheater2.maximum_achiveable_temperature_difference; + MetroscopeModelingLibrary.Utilities.Units.Temperature HPsuperheater2.nominal_cold_side_temperature_rise; + MetroscopeModelingLibrary.Utilities.Units.Temperature HPsuperheater2.nominal_hot_side_temperature_drop; + MetroscopeModelingLibrary.Utilities.Units.Power HPsuperheater2.W; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate HPsuperheater2.Q_cold( + start = HPsuperheater2.Q_cold_0); + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate HPsuperheater2.Q_hot( + start = HPsuperheater2.Q_hot_0); + MetroscopeModelingLibrary.Utilities.Units.Temperature HPsuperheater2.T_cold_in + (start = HPsuperheater2.T_cold_in_0); + MetroscopeModelingLibrary.Utilities.Units.Temperature HPsuperheater2.T_hot_in( + start = HPsuperheater2.T_hot_in_0); + MetroscopeModelingLibrary.Utilities.Units.Temperature HPsuperheater2.T_cold_out + (start = HPsuperheater2.T_cold_out_0); + MetroscopeModelingLibrary.Utilities.Units.Temperature HPsuperheater2.T_hot_out + (start = HPsuperheater2.T_hot_out_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + HPsuperheater2.DT_hot_in_side(start = HPsuperheater2.T_hot_in_0- + HPsuperheater2.T_cold_out_0) "Temperature difference between hot and cold fluids, hot inlet side"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + HPsuperheater2.DT_hot_out_side(start = HPsuperheater2.T_hot_out_0- + HPsuperheater2.T_cold_in_0) "Temperature difference between hot and cold fluids, hot outlet side"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + HPsuperheater2.pinch(start = min(HPsuperheater2.T_hot_in_0-HPsuperheater2.T_cold_out_0, + HPsuperheater2.T_hot_out_0-HPsuperheater2.T_cold_in_0)) "Lowest temperature difference"; + MetroscopeModelingLibrary.Utilities.Units.Percentage HPsuperheater2.fouling; + MetroscopeModelingLibrary.Utilities.Units.HeatCapacity HPsuperheater2.Cp_cold_min; + MetroscopeModelingLibrary.Utilities.Units.HeatCapacity HPsuperheater2.Cp_cold_max; + MetroscopeModelingLibrary.Utilities.Units.HeatCapacity HPsuperheater2.Cp_hot_min; + MetroscopeModelingLibrary.Utilities.Units.HeatCapacity HPsuperheater2.Cp_hot_max; + Modelica.Media.Interfaces.Types.FixedPhase HPsuperheater2.state_cold_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy HPsuperheater2.state_cold_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density HPsuperheater2.state_cold_out.d( + start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature HPsuperheater2.state_cold_out.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure HPsuperheater2.state_cold_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.AbsolutePressure HPsuperheater2.state_hot_out.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature HPsuperheater2.state_hot_out.T( + start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction HPsuperheater2.state_hot_out.X[5] + (start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + HPsuperheater2.C_hot_in.Q(start = HPsuperheater2.Q_hot_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater2.C_hot_in.P( + start = HPsuperheater2.P_hot_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsuperheater2.C_hot_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction HPsuperheater2.C_hot_in.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + HPsuperheater2.C_hot_out.Q(start = -HPsuperheater2.Q_hot_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater2.C_hot_out.P( + start = HPsuperheater2.P_hot_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsuperheater2.C_hot_out.h_outflow + (start = HPsuperheater2.h_hot_out_0); + Modelica.Media.Interfaces.Types.MassFraction HPsuperheater2.C_hot_out.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + HPsuperheater2.C_cold_in.Q(start = HPsuperheater2.Q_cold_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater2.C_cold_in.P( + start = HPsuperheater2.P_cold_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsuperheater2.C_cold_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction HPsuperheater2.C_cold_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + HPsuperheater2.C_cold_out.Q(start = -HPsuperheater2.Q_cold_0, nominal = + 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater2.C_cold_out.P + (start = HPsuperheater2.P_cold_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsuperheater2.C_cold_out.h_outflow + (start = HPsuperheater2.h_cold_out_0); + Modelica.Media.Interfaces.Types.MassFraction HPsuperheater2.C_cold_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputArea HPsuperheater2.HX.S + (start = HPsuperheater2.HX.S_0) "Heat exchange surface"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputHeatExchangeCoefficient + HPsuperheater2.HX.Kth(start = HPsuperheater2.HX.Kth_0) "Heat exchange coefficient"; + MetroscopeModelingLibrary.Utilities.Units.Power HPsuperheater2.HX.W(start = + HPsuperheater2.HX.W_0); + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputMassFlowRate + HPsuperheater2.HX.Q_hot(start = HPsuperheater2.HX.Q_hot_0) "Hot mass flow rate at the inlet"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputMassFlowRate + HPsuperheater2.HX.Q_cold(start = HPsuperheater2.HX.Q_cold_0) + "Cold mass flow rate at the inlet"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputHeatCapacity + HPsuperheater2.HX.Cp_hot(start = HPsuperheater2.HX.Cp_hot_0) + "Hot fluid specific heat capacity"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputHeatCapacity + HPsuperheater2.HX.Cp_cold(start = HPsuperheater2.HX.Cp_cold_0) + "Cold fluid specific heat capacity"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputTemperature + HPsuperheater2.HX.T_hot_in(start = HPsuperheater2.HX.T_hot_in_0) + "Temperature, hot side, at the inlet"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputTemperature + HPsuperheater2.HX.T_cold_in(start = HPsuperheater2.HX.T_cold_in_0) + "Temperature, cold side, at the inlet"; + Real HPsuperheater2.HX.QCpMIN(start = HPsuperheater2.HX.QCpMIN_0, unit = "W/K"); + Real HPsuperheater2.HX.QCpMAX(start = HPsuperheater2.HX.QCpMAX_0, unit = "W/K"); + Real HPsuperheater2.HX.NTU(start = HPsuperheater2.HX.NTU_0, unit = "1"); + MetroscopeModelingLibrary.Utilities.Units.Fraction HPsuperheater2.HX.Cr( + start = HPsuperheater2.HX.Cr_0); + MetroscopeModelingLibrary.Utilities.Units.Fraction HPsuperheater2.HX.epsilon( + start = HPsuperheater2.HX.epsilon_0); + MetroscopeModelingLibrary.Utilities.Units.Power HPsuperheater2.HX.W_max( + start = HPsuperheater2.HX.W_max_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsuperheater2.hot_side.h_in + (start = HPsuperheater2.hot_side.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsuperheater2.hot_side.h_out + (start = HPsuperheater2.hot_side.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + HPsuperheater2.hot_side.Q(start = HPsuperheater2.hot_side.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater2.hot_side.P_in + (start = HPsuperheater2.hot_side.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater2.hot_side.P_out + (start = HPsuperheater2.hot_side.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction HPsuperheater2.hot_side.Xi + [5] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density HPsuperheater2.hot_side.rho_in + (start = HPsuperheater2.hot_side.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density HPsuperheater2.hot_side.rho_out + (start = HPsuperheater2.hot_side.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density HPsuperheater2.hot_side.rho( + start = HPsuperheater2.hot_side.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + HPsuperheater2.hot_side.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + HPsuperheater2.hot_side.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + HPsuperheater2.hot_side.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature HPsuperheater2.hot_side.T_in + (start = HPsuperheater2.hot_side.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature HPsuperheater2.hot_side.T_out + (start = HPsuperheater2.hot_side.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure HPsuperheater2.hot_side.state_in.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature HPsuperheater2.hot_side.state_in.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction HPsuperheater2.hot_side.state_in.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + Modelica.Media.Interfaces.Types.AbsolutePressure HPsuperheater2.hot_side.state_out.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature HPsuperheater2.hot_side.state_out.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction HPsuperheater2.hot_side.state_out.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + HPsuperheater2.hot_side.DP(start = HPsuperheater2.hot_side.DP_0, nominal = + 105000.0); + MetroscopeModelingLibrary.Utilities.Units.Power HPsuperheater2.hot_side.W( + start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + HPsuperheater2.hot_side.DH(start = HPsuperheater2.hot_side.h_out_0- + HPsuperheater2.hot_side.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + HPsuperheater2.hot_side.DT(start = HPsuperheater2.hot_side.T_out_0- + HPsuperheater2.hot_side.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + HPsuperheater2.hot_side.C_in.Q(start = HPsuperheater2.hot_side.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater2.hot_side.C_in.P + (start = HPsuperheater2.hot_side.P_in_0, nominal = 105000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsuperheater2.hot_side.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction HPsuperheater2.hot_side.C_in.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + HPsuperheater2.hot_side.C_out.Q(start = -HPsuperheater2.hot_side.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater2.hot_side.C_out.P + (start = HPsuperheater2.hot_side.P_out_0, nominal = 105000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsuperheater2.hot_side.C_out.h_outflow + (start = HPsuperheater2.hot_side.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction HPsuperheater2.hot_side.C_out.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater2.hot_side.P( + start = HPsuperheater2.hot_side.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputPower HPsuperheater2.hot_side.W_input + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsuperheater2.cold_side.h_in + (start = HPsuperheater2.cold_side.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsuperheater2.cold_side.h_out + (start = HPsuperheater2.cold_side.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + HPsuperheater2.cold_side.Q(start = HPsuperheater2.cold_side.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater2.cold_side.P_in + (start = HPsuperheater2.cold_side.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater2.cold_side.P_out + (start = HPsuperheater2.cold_side.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction HPsuperheater2.cold_side.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density HPsuperheater2.cold_side.rho_in + (start = HPsuperheater2.cold_side.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density HPsuperheater2.cold_side.rho_out + (start = HPsuperheater2.cold_side.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density HPsuperheater2.cold_side.rho + (start = HPsuperheater2.cold_side.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + HPsuperheater2.cold_side.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + HPsuperheater2.cold_side.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + HPsuperheater2.cold_side.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature HPsuperheater2.cold_side.T_in + (start = HPsuperheater2.cold_side.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature HPsuperheater2.cold_side.T_out + (start = HPsuperheater2.cold_side.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase HPsuperheater2.cold_side.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy HPsuperheater2.cold_side.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density HPsuperheater2.cold_side.state_in.d( + start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature HPsuperheater2.cold_side.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure HPsuperheater2.cold_side.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase HPsuperheater2.cold_side.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy HPsuperheater2.cold_side.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density HPsuperheater2.cold_side.state_out.d( + start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature HPsuperheater2.cold_side.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure HPsuperheater2.cold_side.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + HPsuperheater2.cold_side.DP(start = HPsuperheater2.cold_side.DP_0, + nominal = 13000000.0); + MetroscopeModelingLibrary.Utilities.Units.Power HPsuperheater2.cold_side.W( + start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + HPsuperheater2.cold_side.DH(start = HPsuperheater2.cold_side.h_out_0- + HPsuperheater2.cold_side.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + HPsuperheater2.cold_side.DT(start = HPsuperheater2.cold_side.T_out_0- + HPsuperheater2.cold_side.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + HPsuperheater2.cold_side.C_in.Q(start = HPsuperheater2.cold_side.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater2.cold_side.C_in.P + (start = HPsuperheater2.cold_side.P_in_0, nominal = 13000000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsuperheater2.cold_side.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction HPsuperheater2.cold_side.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + HPsuperheater2.cold_side.C_out.Q(start = -HPsuperheater2.cold_side.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater2.cold_side.C_out.P + (start = HPsuperheater2.cold_side.P_out_0, nominal = 13000000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsuperheater2.cold_side.C_out.h_outflow + (start = HPsuperheater2.cold_side.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction HPsuperheater2.cold_side.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater2.cold_side.P( + start = HPsuperheater2.cold_side.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputPower HPsuperheater2.cold_side.W_input + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsuperheater2.cold_side_pipe.h_in + (start = HPsuperheater2.cold_side_pipe.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsuperheater2.cold_side_pipe.h_out + (start = HPsuperheater2.cold_side_pipe.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + HPsuperheater2.cold_side_pipe.Q(start = HPsuperheater2.cold_side_pipe.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater2.cold_side_pipe.P_in + (start = HPsuperheater2.cold_side_pipe.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater2.cold_side_pipe.P_out + (start = HPsuperheater2.cold_side_pipe.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction HPsuperheater2.cold_side_pipe.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density HPsuperheater2.cold_side_pipe.rho_in + (start = HPsuperheater2.cold_side_pipe.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density HPsuperheater2.cold_side_pipe.rho_out + (start = HPsuperheater2.cold_side_pipe.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density HPsuperheater2.cold_side_pipe.rho + (start = HPsuperheater2.cold_side_pipe.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + HPsuperheater2.cold_side_pipe.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + HPsuperheater2.cold_side_pipe.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + HPsuperheater2.cold_side_pipe.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature HPsuperheater2.cold_side_pipe.T_in + (start = HPsuperheater2.cold_side_pipe.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature HPsuperheater2.cold_side_pipe.T_out + (start = HPsuperheater2.cold_side_pipe.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase HPsuperheater2.cold_side_pipe.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy HPsuperheater2.cold_side_pipe.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density HPsuperheater2.cold_side_pipe.state_in.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature HPsuperheater2.cold_side_pipe.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure HPsuperheater2.cold_side_pipe.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase HPsuperheater2.cold_side_pipe.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy HPsuperheater2.cold_side_pipe.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density HPsuperheater2.cold_side_pipe.state_out.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature HPsuperheater2.cold_side_pipe.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure HPsuperheater2.cold_side_pipe.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + HPsuperheater2.cold_side_pipe.DP(start = HPsuperheater2.cold_side_pipe.DP_0, + nominal = 13000000.0); + MetroscopeModelingLibrary.Utilities.Units.Power HPsuperheater2.cold_side_pipe.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + HPsuperheater2.cold_side_pipe.DH(start = HPsuperheater2.cold_side_pipe.h_out_0 + -HPsuperheater2.cold_side_pipe.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + HPsuperheater2.cold_side_pipe.DT(start = HPsuperheater2.cold_side_pipe.T_out_0 + -HPsuperheater2.cold_side_pipe.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + HPsuperheater2.cold_side_pipe.C_in.Q(start = HPsuperheater2.cold_side_pipe.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater2.cold_side_pipe.C_in.P + (start = HPsuperheater2.cold_side_pipe.P_in_0, nominal = 13000000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsuperheater2.cold_side_pipe.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction HPsuperheater2.cold_side_pipe.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + HPsuperheater2.cold_side_pipe.C_out.Q(start = -HPsuperheater2.cold_side_pipe.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure HPsuperheater2.cold_side_pipe.C_out.P + (start = HPsuperheater2.cold_side_pipe.P_out_0, nominal = 12950000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsuperheater2.cold_side_pipe.C_out.h_outflow + (start = HPsuperheater2.cold_side_pipe.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction HPsuperheater2.cold_side_pipe.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HPsuperheater2.cold_side_pipe.h + (start = HPsuperheater2.cold_side_pipe.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Percentage HPsuperheater2.cold_side_pipe.fouling; + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal HPsuperheater2.cold_side_pipe.Kfr + (start = HPsuperheater2.cold_side_pipe.Kfr_constant); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal HPsuperheater2.Kth; + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal HPsuperheater2.Kfr_cold; + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + HPsuperheater2.STR(start = HPsuperheater2.T_cold_out_0-HPsuperheater2.T_cold_in_0) + "Steam Temperature Rise"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + HPsuperheater2.DT_superheat(start = HPsuperheater2.T_cold_out_0- + Modelica.Media.Water.WaterIF97_ph.saturationTemperature_Unique21( + HPsuperheater2.P_cold_in_0)) "Superheat temperature difference"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_w_HPSH2_out_sensor.Q(start = T_w_HPSH2_out_sensor.Q_0, nominal = 100.0) + "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction T_w_HPSH2_out_sensor.Xi + [0] "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_HPSH2_out_sensor.P( + start = T_w_HPSH2_out_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_HPSH2_out_sensor.h + (start = T_w_HPSH2_out_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.FixedPhase T_w_HPSH2_out_sensor.state.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy T_w_HPSH2_out_sensor.state.h( + start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density T_w_HPSH2_out_sensor.state.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature T_w_HPSH2_out_sensor.state.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_w_HPSH2_out_sensor.state.p( + start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate T_w_HPSH2_out_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_w_HPSH2_out_sensor.C_in.Q(start = T_w_HPSH2_out_sensor.Q_0, nominal = + 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_HPSH2_out_sensor.C_in.P + (start = T_w_HPSH2_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_HPSH2_out_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction T_w_HPSH2_out_sensor.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + T_w_HPSH2_out_sensor.C_out.Q(start = -T_w_HPSH2_out_sensor.Q_0, nominal = + 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_HPSH2_out_sensor.C_out.P + (start = T_w_HPSH2_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_HPSH2_out_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction T_w_HPSH2_out_sensor.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_HPSH2_out_sensor.flow_model.h_in + (start = T_w_HPSH2_out_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_HPSH2_out_sensor.flow_model.h_out + (start = T_w_HPSH2_out_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_w_HPSH2_out_sensor.flow_model.Q(start = T_w_HPSH2_out_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_HPSH2_out_sensor.flow_model.P_in + (start = T_w_HPSH2_out_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_HPSH2_out_sensor.flow_model.P_out + (start = T_w_HPSH2_out_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction T_w_HPSH2_out_sensor.flow_model.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density T_w_HPSH2_out_sensor.flow_model.rho_in + (start = T_w_HPSH2_out_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density T_w_HPSH2_out_sensor.flow_model.rho_out + (start = T_w_HPSH2_out_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density T_w_HPSH2_out_sensor.flow_model.rho + (start = T_w_HPSH2_out_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + T_w_HPSH2_out_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + T_w_HPSH2_out_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + T_w_HPSH2_out_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_w_HPSH2_out_sensor.flow_model.T_in + (start = T_w_HPSH2_out_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_w_HPSH2_out_sensor.flow_model.T_out + (start = T_w_HPSH2_out_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase T_w_HPSH2_out_sensor.flow_model.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy T_w_HPSH2_out_sensor.flow_model.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density T_w_HPSH2_out_sensor.flow_model.state_in.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature T_w_HPSH2_out_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_w_HPSH2_out_sensor.flow_model.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase T_w_HPSH2_out_sensor.flow_model.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy T_w_HPSH2_out_sensor.flow_model.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density T_w_HPSH2_out_sensor.flow_model.state_out.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature T_w_HPSH2_out_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_w_HPSH2_out_sensor.flow_model.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + T_w_HPSH2_out_sensor.flow_model.DP(start = T_w_HPSH2_out_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power T_w_HPSH2_out_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + T_w_HPSH2_out_sensor.flow_model.DH(start = T_w_HPSH2_out_sensor.flow_model.h_out_0 + -T_w_HPSH2_out_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + T_w_HPSH2_out_sensor.flow_model.DT(start = T_w_HPSH2_out_sensor.flow_model.T_out_0 + -T_w_HPSH2_out_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_w_HPSH2_out_sensor.flow_model.C_in.Q(start = T_w_HPSH2_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_HPSH2_out_sensor.flow_model.C_in.P + (start = T_w_HPSH2_out_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_HPSH2_out_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction T_w_HPSH2_out_sensor.flow_model.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + T_w_HPSH2_out_sensor.flow_model.C_out.Q(start = -T_w_HPSH2_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_HPSH2_out_sensor.flow_model.C_out.P + (start = T_w_HPSH2_out_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_HPSH2_out_sensor.flow_model.C_out.h_outflow + (start = T_w_HPSH2_out_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction T_w_HPSH2_out_sensor.flow_model.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_w_HPSH2_out_sensor.flow_model.h + (start = T_w_HPSH2_out_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_w_HPSH2_out_sensor.flow_model.P + (start = T_w_HPSH2_out_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_w_HPSH2_out_sensor.flow_model.T + (start = T_w_HPSH2_out_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_w_HPSH2_out_sensor.T( + start = T_w_HPSH2_out_sensor.T_0); + Real T_w_HPSH2_out_sensor.T_degC(start = T_w_HPSH2_out_sensor.T_0+273.15, + nominal = 573.15, unit = "degC"); + Real T_w_HPSH2_out_sensor.T_degF(start = (T_w_HPSH2_out_sensor.T_0+273.15)*1.8 + +32, nominal = 1063.67, unit = "degF"); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal T_w_HPSH2_out_sensor.T_sensor + (start = T_w_HPSH2_out_sensor.init_T); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_w_HPSH2_out_sensor.Q(start = P_w_HPSH2_out_sensor.Q_0, nominal = 100.0) + "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction P_w_HPSH2_out_sensor.Xi + [0] "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_HPSH2_out_sensor.P( + start = P_w_HPSH2_out_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_HPSH2_out_sensor.h + (start = P_w_HPSH2_out_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.FixedPhase P_w_HPSH2_out_sensor.state.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_w_HPSH2_out_sensor.state.h( + start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_w_HPSH2_out_sensor.state.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_w_HPSH2_out_sensor.state.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_w_HPSH2_out_sensor.state.p( + start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate P_w_HPSH2_out_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_w_HPSH2_out_sensor.C_in.Q(start = P_w_HPSH2_out_sensor.Q_0, nominal = + 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_HPSH2_out_sensor.C_in.P + (start = P_w_HPSH2_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_HPSH2_out_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction P_w_HPSH2_out_sensor.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + P_w_HPSH2_out_sensor.C_out.Q(start = -P_w_HPSH2_out_sensor.Q_0, nominal = + 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_HPSH2_out_sensor.C_out.P + (start = P_w_HPSH2_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_HPSH2_out_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction P_w_HPSH2_out_sensor.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_HPSH2_out_sensor.flow_model.h_in + (start = P_w_HPSH2_out_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_HPSH2_out_sensor.flow_model.h_out + (start = P_w_HPSH2_out_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_w_HPSH2_out_sensor.flow_model.Q(start = P_w_HPSH2_out_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_HPSH2_out_sensor.flow_model.P_in + (start = P_w_HPSH2_out_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_HPSH2_out_sensor.flow_model.P_out + (start = P_w_HPSH2_out_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction P_w_HPSH2_out_sensor.flow_model.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density P_w_HPSH2_out_sensor.flow_model.rho_in + (start = P_w_HPSH2_out_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density P_w_HPSH2_out_sensor.flow_model.rho_out + (start = P_w_HPSH2_out_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density P_w_HPSH2_out_sensor.flow_model.rho + (start = P_w_HPSH2_out_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + P_w_HPSH2_out_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + P_w_HPSH2_out_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + P_w_HPSH2_out_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_w_HPSH2_out_sensor.flow_model.T_in + (start = P_w_HPSH2_out_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_w_HPSH2_out_sensor.flow_model.T_out + (start = P_w_HPSH2_out_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase P_w_HPSH2_out_sensor.flow_model.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_w_HPSH2_out_sensor.flow_model.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_w_HPSH2_out_sensor.flow_model.state_in.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_w_HPSH2_out_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_w_HPSH2_out_sensor.flow_model.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase P_w_HPSH2_out_sensor.flow_model.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy P_w_HPSH2_out_sensor.flow_model.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density P_w_HPSH2_out_sensor.flow_model.state_out.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature P_w_HPSH2_out_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure P_w_HPSH2_out_sensor.flow_model.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + P_w_HPSH2_out_sensor.flow_model.DP(start = P_w_HPSH2_out_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power P_w_HPSH2_out_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + P_w_HPSH2_out_sensor.flow_model.DH(start = P_w_HPSH2_out_sensor.flow_model.h_out_0 + -P_w_HPSH2_out_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + P_w_HPSH2_out_sensor.flow_model.DT(start = P_w_HPSH2_out_sensor.flow_model.T_out_0 + -P_w_HPSH2_out_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + P_w_HPSH2_out_sensor.flow_model.C_in.Q(start = P_w_HPSH2_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_HPSH2_out_sensor.flow_model.C_in.P + (start = P_w_HPSH2_out_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_HPSH2_out_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction P_w_HPSH2_out_sensor.flow_model.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + P_w_HPSH2_out_sensor.flow_model.C_out.Q(start = -P_w_HPSH2_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_HPSH2_out_sensor.flow_model.C_out.P + (start = P_w_HPSH2_out_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_HPSH2_out_sensor.flow_model.C_out.h_outflow + (start = P_w_HPSH2_out_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction P_w_HPSH2_out_sensor.flow_model.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy P_w_HPSH2_out_sensor.flow_model.h + (start = P_w_HPSH2_out_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure P_w_HPSH2_out_sensor.flow_model.P + (start = P_w_HPSH2_out_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature P_w_HPSH2_out_sensor.flow_model.T + (start = P_w_HPSH2_out_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + Real P_w_HPSH2_out_sensor.P_barG(start = P_w_HPSH2_out_sensor.P_0*1E-05-1, + nominal = 100000.0); + Real P_w_HPSH2_out_sensor.P_psiG(start = P_w_HPSH2_out_sensor.P_0*0.000145038- + 14.50377377, nominal = 14.5038); + Real P_w_HPSH2_out_sensor.P_MPaG(start = P_w_HPSH2_out_sensor.P_0*1E-06-0.1, + nominal = 0.09999999999999999); + Real P_w_HPSH2_out_sensor.P_kPaG(start = P_w_HPSH2_out_sensor.P_0*0.001-100, + nominal = 100.0); + Real P_w_HPSH2_out_sensor.P_barA(start = P_w_HPSH2_out_sensor.P_0*1E-05, + nominal = 1.0, unit = "bar"); + Real P_w_HPSH2_out_sensor.P_psiA(start = P_w_HPSH2_out_sensor.P_0*0.000145038, + nominal = 14.5038); + Real P_w_HPSH2_out_sensor.P_MPaA(start = P_w_HPSH2_out_sensor.P_0*1E-06, + nominal = 0.09999999999999999); + Real P_w_HPSH2_out_sensor.P_kPaA(start = P_w_HPSH2_out_sensor.P_0*0.001, + nominal = 100.0); + Real P_w_HPSH2_out_sensor.P_inHg(start = P_w_HPSH2_out_sensor.P_0*0.0002953006, + nominal = 29.530060000000002); + Real P_w_HPSH2_out_sensor.P_mbar(start = P_w_HPSH2_out_sensor.P_0*0.01, + nominal = 1000.0, unit = "mbar"); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal P_w_HPSH2_out_sensor.P_sensor + (start = P_w_HPSH2_out_sensor.init_P); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy deSH_controlValve.h_in + (start = deSH_controlValve.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy deSH_controlValve.h_out + (start = deSH_controlValve.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + deSH_controlValve.Q(start = deSH_controlValve.Q_0) "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure deSH_controlValve.P_in( + start = deSH_controlValve.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure deSH_controlValve.P_out( + start = deSH_controlValve.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction deSH_controlValve.Xi[0] + "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density deSH_controlValve.rho_in( + start = deSH_controlValve.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density deSH_controlValve.rho_out( + start = deSH_controlValve.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density deSH_controlValve.rho( + start = deSH_controlValve.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + deSH_controlValve.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + deSH_controlValve.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + deSH_controlValve.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature deSH_controlValve.T_in( + start = deSH_controlValve.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature deSH_controlValve.T_out( + start = deSH_controlValve.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase deSH_controlValve.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy deSH_controlValve.state_in.h( + start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density deSH_controlValve.state_in.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature deSH_controlValve.state_in.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure deSH_controlValve.state_in.p( + start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase deSH_controlValve.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy deSH_controlValve.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density deSH_controlValve.state_out.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature deSH_controlValve.state_out.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure deSH_controlValve.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + deSH_controlValve.DP(start = deSH_controlValve.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power deSH_controlValve.W(start = 0, + nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + deSH_controlValve.DH(start = deSH_controlValve.h_out_0-deSH_controlValve.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + deSH_controlValve.DT(start = deSH_controlValve.T_out_0-deSH_controlValve.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + deSH_controlValve.C_in.Q(start = deSH_controlValve.Q_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure deSH_controlValve.C_in.P( + start = deSH_controlValve.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy deSH_controlValve.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction deSH_controlValve.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + deSH_controlValve.C_out.Q(start = -deSH_controlValve.Q_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure deSH_controlValve.C_out.P( + start = deSH_controlValve.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy deSH_controlValve.C_out.h_outflow + (start = deSH_controlValve.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction deSH_controlValve.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy deSH_controlValve.h + (start = deSH_controlValve.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Cv deSH_controlValve.Cv(start = + 10000.0) "Cv"; + Modelica.Blocks.Interfaces.RealInput deSH_controlValve.Opening(nominal = 0.5, + unit = "1", min = 0.0, max = 1.0); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal deSH_controlValve.Cv_max + (start = deSH_controlValve.Cv_max_constant); + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputPercentage + deSH_opening_sensor.Opening_pc(start = deSH_opening_sensor.Opening_pc_0, + nominal = 15.0, unit = "1"); + Modelica.Blocks.Interfaces.RealOutput deSH_opening_sensor.Opening(start = + deSH_opening_sensor.Opening_pc_0/100, nominal = 0.15, unit = "1", min = 0.0, + max = 1.0); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal deSH_opening_sensor.opening_sensor; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate Q_deSH_sensor.Q + (start = Q_deSH_sensor.Q_0, nominal = 100.0) "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction Q_deSH_sensor.Xi[0] + "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_deSH_sensor.P(start = + Q_deSH_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_deSH_sensor.h( + start = Q_deSH_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.FixedPhase Q_deSH_sensor.state.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy Q_deSH_sensor.state.h( + start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density Q_deSH_sensor.state.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature Q_deSH_sensor.state.T(start = 500, + nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure Q_deSH_sensor.state.p( + start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate Q_deSH_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Q_deSH_sensor.C_in.Q(start = Q_deSH_sensor.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_deSH_sensor.C_in.P( + start = Q_deSH_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_deSH_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction Q_deSH_sensor.C_in.Xi_outflow[0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + Q_deSH_sensor.C_out.Q(start = -Q_deSH_sensor.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_deSH_sensor.C_out.P( + start = Q_deSH_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_deSH_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction Q_deSH_sensor.C_out.Xi_outflow[0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_deSH_sensor.flow_model.h_in + (start = Q_deSH_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_deSH_sensor.flow_model.h_out + (start = Q_deSH_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Q_deSH_sensor.flow_model.Q(start = Q_deSH_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_deSH_sensor.flow_model.P_in + (start = Q_deSH_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_deSH_sensor.flow_model.P_out + (start = Q_deSH_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction Q_deSH_sensor.flow_model.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density Q_deSH_sensor.flow_model.rho_in + (start = Q_deSH_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density Q_deSH_sensor.flow_model.rho_out + (start = Q_deSH_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density Q_deSH_sensor.flow_model.rho + (start = Q_deSH_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + Q_deSH_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + Q_deSH_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + Q_deSH_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature Q_deSH_sensor.flow_model.T_in + (start = Q_deSH_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature Q_deSH_sensor.flow_model.T_out + (start = Q_deSH_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase Q_deSH_sensor.flow_model.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy Q_deSH_sensor.flow_model.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density Q_deSH_sensor.flow_model.state_in.d( + start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature Q_deSH_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure Q_deSH_sensor.flow_model.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase Q_deSH_sensor.flow_model.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy Q_deSH_sensor.flow_model.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density Q_deSH_sensor.flow_model.state_out.d( + start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature Q_deSH_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure Q_deSH_sensor.flow_model.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + Q_deSH_sensor.flow_model.DP(start = Q_deSH_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power Q_deSH_sensor.flow_model.W( + start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + Q_deSH_sensor.flow_model.DH(start = Q_deSH_sensor.flow_model.h_out_0- + Q_deSH_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + Q_deSH_sensor.flow_model.DT(start = Q_deSH_sensor.flow_model.T_out_0- + Q_deSH_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Q_deSH_sensor.flow_model.C_in.Q(start = Q_deSH_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_deSH_sensor.flow_model.C_in.P + (start = Q_deSH_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_deSH_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction Q_deSH_sensor.flow_model.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + Q_deSH_sensor.flow_model.C_out.Q(start = -Q_deSH_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_deSH_sensor.flow_model.C_out.P + (start = Q_deSH_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_deSH_sensor.flow_model.C_out.h_outflow + (start = Q_deSH_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction Q_deSH_sensor.flow_model.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Q_deSH_sensor.flow_model.h + (start = Q_deSH_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure Q_deSH_sensor.flow_model.P( + start = Q_deSH_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature Q_deSH_sensor.flow_model.T + (start = Q_deSH_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.VolumeFlowRate Q_deSH_sensor.Qv( + start = Q_deSH_sensor.Qv_0); + Real Q_deSH_sensor.Q_lm(start = Q_deSH_sensor.Qv_0*60000, nominal = 6000.0); + Real Q_deSH_sensor.Q_th(start = Q_deSH_sensor.Q_0*3.6, nominal = 360.0); + Real Q_deSH_sensor.Q_lbs(start = Q_deSH_sensor.Q_0*2.2046, nominal = 220.46); + Real Q_deSH_sensor.Q_Mlbh(start = Q_deSH_sensor.Q_0*0.0079366414387, + nominal = 0.79366414387); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal Q_deSH_sensor.Q_sensor + (start = Q_deSH_sensor.Q_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Evap_controlValve.h_in + (start = Evap_controlValve.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Evap_controlValve.h_out + (start = Evap_controlValve.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Evap_controlValve.Q(start = Evap_controlValve.Q_0) "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure Evap_controlValve.P_in( + start = Evap_controlValve.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure Evap_controlValve.P_out( + start = Evap_controlValve.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction Evap_controlValve.Xi[0] + "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density Evap_controlValve.rho_in( + start = Evap_controlValve.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density Evap_controlValve.rho_out( + start = Evap_controlValve.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density Evap_controlValve.rho( + start = Evap_controlValve.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + Evap_controlValve.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + Evap_controlValve.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + Evap_controlValve.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature Evap_controlValve.T_in( + start = Evap_controlValve.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature Evap_controlValve.T_out( + start = Evap_controlValve.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase Evap_controlValve.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy Evap_controlValve.state_in.h( + start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density Evap_controlValve.state_in.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature Evap_controlValve.state_in.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure Evap_controlValve.state_in.p( + start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase Evap_controlValve.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy Evap_controlValve.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density Evap_controlValve.state_out.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature Evap_controlValve.state_out.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure Evap_controlValve.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + Evap_controlValve.DP(start = Evap_controlValve.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power Evap_controlValve.W(start = 0, + nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + Evap_controlValve.DH(start = Evap_controlValve.h_out_0-Evap_controlValve.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + Evap_controlValve.DT(start = Evap_controlValve.T_out_0-Evap_controlValve.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Evap_controlValve.C_in.Q(start = Evap_controlValve.Q_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Evap_controlValve.C_in.P( + start = Evap_controlValve.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Evap_controlValve.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction Evap_controlValve.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + Evap_controlValve.C_out.Q(start = -Evap_controlValve.Q_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Evap_controlValve.C_out.P( + start = Evap_controlValve.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Evap_controlValve.C_out.h_outflow + (start = Evap_controlValve.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction Evap_controlValve.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Evap_controlValve.h + (start = Evap_controlValve.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Cv Evap_controlValve.Cv(start = + 10000.0) "Cv"; + Modelica.Blocks.Interfaces.RealInput Evap_controlValve.Opening(nominal = 0.5, + unit = "1", min = 0.0, max = 1.0); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal Evap_controlValve.Cv_max + (start = Evap_controlValve.Cv_max_constant); + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputPercentage + Evap_opening_sensor.Opening_pc(start = Evap_opening_sensor.Opening_pc_0, + nominal = 15.0, unit = "1"); + Modelica.Blocks.Interfaces.RealOutput Evap_opening_sensor.Opening(start = + Evap_opening_sensor.Opening_pc_0/100, nominal = 0.15, unit = "1", min = 0.0, + max = 1.0); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal Evap_opening_sensor.opening_sensor; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + moistAir_to_FlueGases.inlet.Q(start = 500, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure moistAir_to_FlueGases.inlet.P + (start = 100000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy moistAir_to_FlueGases.inlet.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction moistAir_to_FlueGases.inlet.Xi_outflow + [1]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy moistAir_to_FlueGases.sink.h_in; + MetroscopeModelingLibrary.Utilities.Units.MassFraction moistAir_to_FlueGases.sink.Xi_in + [1]; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputPressure + moistAir_to_FlueGases.sink.P_in; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + moistAir_to_FlueGases.sink.Q_in; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + moistAir_to_FlueGases.sink.Qv_in(start = 1); + MetroscopeModelingLibrary.Utilities.Units.Temperature moistAir_to_FlueGases.sink.T_in; + Modelica.Media.Interfaces.Types.AbsolutePressure moistAir_to_FlueGases.sink.state_in.p + "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature moistAir_to_FlueGases.sink.state_in.T + (min = 190.0, max = 647.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction moistAir_to_FlueGases.sink.state_in.X + [2](start = {0.01, 0.99}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + moistAir_to_FlueGases.sink.C_in.Q(nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure moistAir_to_FlueGases.sink.C_in.P + (start = 100000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy moistAir_to_FlueGases.sink.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction moistAir_to_FlueGases.sink.C_in.Xi_outflow + [1]; + Real moistAir_to_FlueGases.sink.relative_humidity(start = moistAir_to_FlueGases.sink.relative_humidity_0, + min = 0.0, max = 1.0); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + moistAir_to_FlueGases.outlet.Q(start = -500, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure moistAir_to_FlueGases.outlet.P + (start = 100000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy moistAir_to_FlueGases.outlet.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction moistAir_to_FlueGases.outlet.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputSpecificEnthalpy + moistAir_to_FlueGases.source.h_out(start = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputMassFraction + moistAir_to_FlueGases.source.Xi_out[5]; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputPressure + moistAir_to_FlueGases.source.P_out(start = moistAir_to_FlueGases.source.P_0); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + moistAir_to_FlueGases.source.Q_out(start = -moistAir_to_FlueGases.source.Q_0); + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + moistAir_to_FlueGases.source.Qv_out(start = -moistAir_to_FlueGases.source.Q_0 + /1000); + MetroscopeModelingLibrary.Utilities.Units.Temperature moistAir_to_FlueGases.source.T_out + (start = moistAir_to_FlueGases.source.T_0); + Modelica.Media.Interfaces.Types.AbsolutePressure moistAir_to_FlueGases.source.state_out.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature moistAir_to_FlueGases.source.state_out.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction moistAir_to_FlueGases.source.state_out.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + moistAir_to_FlueGases.source.C_out.Q(start = -moistAir_to_FlueGases.source.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure moistAir_to_FlueGases.source.C_out.P + (start = moistAir_to_FlueGases.source.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy moistAir_to_FlueGases.source.C_out.h_outflow + (start = moistAir_to_FlueGases.source.h_0); + Modelica.Media.Interfaces.Types.MassFraction moistAir_to_FlueGases.source.C_out.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputSpecificEnthalpy + source_air.h_out(start = 47645.766); + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputMassFraction + source_air.Xi_out[1]; + MetroscopeModelingLibrary.Utilities.Units.Inputs.InputPressure + source_air.P_out(start = source_air.P_0); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + source_air.Q_out(start = -source_air.Q_0); + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + source_air.Qv_out(start = -source_air.Q_0/1000); + MetroscopeModelingLibrary.Utilities.Units.Temperature source_air.T_out( + start = source_air.T_0); + Modelica.Media.Interfaces.Types.AbsolutePressure source_air.state_out.p + "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature source_air.state_out.T(min = 190.0, + max = 647.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction source_air.state_out.X[2]( + start = {0.01, 0.99}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + source_air.C_out.Q(start = -source_air.Q_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure source_air.C_out.P(start = + source_air.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy source_air.C_out.h_outflow + (start = source_air.h_0); + Modelica.Media.Interfaces.Types.MassFraction source_air.C_out.Xi_outflow[1]; + Real source_air.relative_humidity(start = source_air.relative_humidity_0, + min = 0.0, max = 1.0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_HPST_out_sensor.Q(start = T_HPST_out_sensor.Q_0, nominal = 100.0) + "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction T_HPST_out_sensor.Xi[0] + "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_HPST_out_sensor.P( + start = T_HPST_out_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_HPST_out_sensor.h + (start = T_HPST_out_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.FixedPhase T_HPST_out_sensor.state.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy T_HPST_out_sensor.state.h( + start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density T_HPST_out_sensor.state.d(start = 150, + nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature T_HPST_out_sensor.state.T(start = 500, + nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_HPST_out_sensor.state.p( + start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate T_HPST_out_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_HPST_out_sensor.C_in.Q(start = T_HPST_out_sensor.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_HPST_out_sensor.C_in.P( + start = T_HPST_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_HPST_out_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction T_HPST_out_sensor.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + T_HPST_out_sensor.C_out.Q(start = -T_HPST_out_sensor.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_HPST_out_sensor.C_out.P( + start = T_HPST_out_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_HPST_out_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction T_HPST_out_sensor.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_HPST_out_sensor.flow_model.h_in + (start = T_HPST_out_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_HPST_out_sensor.flow_model.h_out + (start = T_HPST_out_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_HPST_out_sensor.flow_model.Q(start = T_HPST_out_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_HPST_out_sensor.flow_model.P_in + (start = T_HPST_out_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_HPST_out_sensor.flow_model.P_out + (start = T_HPST_out_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction T_HPST_out_sensor.flow_model.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density T_HPST_out_sensor.flow_model.rho_in + (start = T_HPST_out_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density T_HPST_out_sensor.flow_model.rho_out + (start = T_HPST_out_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density T_HPST_out_sensor.flow_model.rho + (start = T_HPST_out_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + T_HPST_out_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + T_HPST_out_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + T_HPST_out_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_HPST_out_sensor.flow_model.T_in + (start = T_HPST_out_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_HPST_out_sensor.flow_model.T_out + (start = T_HPST_out_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase T_HPST_out_sensor.flow_model.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy T_HPST_out_sensor.flow_model.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density T_HPST_out_sensor.flow_model.state_in.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature T_HPST_out_sensor.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_HPST_out_sensor.flow_model.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase T_HPST_out_sensor.flow_model.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy T_HPST_out_sensor.flow_model.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density T_HPST_out_sensor.flow_model.state_out.d + (start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature T_HPST_out_sensor.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure T_HPST_out_sensor.flow_model.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + T_HPST_out_sensor.flow_model.DP(start = T_HPST_out_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power T_HPST_out_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + T_HPST_out_sensor.flow_model.DH(start = T_HPST_out_sensor.flow_model.h_out_0 + -T_HPST_out_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + T_HPST_out_sensor.flow_model.DT(start = T_HPST_out_sensor.flow_model.T_out_0 + -T_HPST_out_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + T_HPST_out_sensor.flow_model.C_in.Q(start = T_HPST_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_HPST_out_sensor.flow_model.C_in.P + (start = T_HPST_out_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_HPST_out_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction T_HPST_out_sensor.flow_model.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + T_HPST_out_sensor.flow_model.C_out.Q(start = -T_HPST_out_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure T_HPST_out_sensor.flow_model.C_out.P + (start = T_HPST_out_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_HPST_out_sensor.flow_model.C_out.h_outflow + (start = T_HPST_out_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction T_HPST_out_sensor.flow_model.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy T_HPST_out_sensor.flow_model.h + (start = T_HPST_out_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure T_HPST_out_sensor.flow_model.P + (start = T_HPST_out_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_HPST_out_sensor.flow_model.T + (start = T_HPST_out_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature T_HPST_out_sensor.T( + start = T_HPST_out_sensor.T_0); + Real T_HPST_out_sensor.T_degC(start = T_HPST_out_sensor.T_0+273.15, nominal = + 573.15, unit = "degC"); + Real T_HPST_out_sensor.T_degF(start = (T_HPST_out_sensor.T_0+273.15)*1.8+32, + nominal = 1063.67, unit = "degF"); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal T_HPST_out_sensor.T_sensor + (start = T_HPST_out_sensor.init_T); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy displayer.flow_model.h_in + (start = displayer.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy displayer.flow_model.h_out + (start = displayer.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + displayer.flow_model.Q(start = displayer.flow_model.Q_0) "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure displayer.flow_model.P_in( + start = displayer.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure displayer.flow_model.P_out( + start = displayer.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction displayer.flow_model.Xi + [0] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density displayer.flow_model.rho_in( + start = displayer.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density displayer.flow_model.rho_out + (start = displayer.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density displayer.flow_model.rho( + start = displayer.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + displayer.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + displayer.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + displayer.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature displayer.flow_model.T_in + (start = displayer.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature displayer.flow_model.T_out + (start = displayer.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.FixedPhase displayer.flow_model.state_in.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy displayer.flow_model.state_in.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density displayer.flow_model.state_in.d( + start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature displayer.flow_model.state_in.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure displayer.flow_model.state_in.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + Modelica.Media.Interfaces.Types.FixedPhase displayer.flow_model.state_out.phase + "Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use"; + Modelica.Media.Interfaces.Types.SpecificEnthalpy displayer.flow_model.state_out.h + (start = 100000.0, nominal = 500000.0) "Specific enthalpy"; + Modelica.Media.Interfaces.Types.Density displayer.flow_model.state_out.d( + start = 150, nominal = 500.0) "Density"; + Modelica.Media.Interfaces.Types.Temperature displayer.flow_model.state_out.T( + start = 500, nominal = 500.0, min = 273.15, max = 2273.15) "Temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure displayer.flow_model.state_out.p + (start = 5000000.0, nominal = 1000000.0, min = 611.657) "Pressure"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + displayer.flow_model.DP(start = displayer.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power displayer.flow_model.W( + start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + displayer.flow_model.DH(start = displayer.flow_model.h_out_0- + displayer.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + displayer.flow_model.DT(start = displayer.flow_model.T_out_0- + displayer.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + displayer.flow_model.C_in.Q(start = displayer.flow_model.Q_0, nominal = + 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure displayer.flow_model.C_in.P + (start = displayer.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy displayer.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction displayer.flow_model.C_in.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + displayer.flow_model.C_out.Q(start = -displayer.flow_model.Q_0, nominal = + 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure displayer.flow_model.C_out.P + (start = displayer.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy displayer.flow_model.C_out.h_outflow + (start = displayer.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction displayer.flow_model.C_out.Xi_outflow + [0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy displayer.flow_model.h + (start = displayer.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure displayer.flow_model.P( + start = displayer.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature displayer.flow_model.T( + start = displayer.flow_model.T_0) "Temperature of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + displayer.C_in.Q(start = displayer.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure displayer.C_in.P(start = + displayer.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy displayer.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction displayer.C_in.Xi_outflow[0]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + displayer.C_out.Q(start = -displayer.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure displayer.C_out.P(start = + displayer.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy displayer.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction displayer.C_out.Xi_outflow[0]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy fuelDisplayer.flow_model.h_in + (start = fuelDisplayer.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy fuelDisplayer.flow_model.h_out + (start = fuelDisplayer.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + fuelDisplayer.flow_model.Q(start = fuelDisplayer.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure fuelDisplayer.flow_model.P_in + (start = fuelDisplayer.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure fuelDisplayer.flow_model.P_out + (start = fuelDisplayer.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction fuelDisplayer.flow_model.Xi + [6] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density fuelDisplayer.flow_model.rho_in + (start = fuelDisplayer.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density fuelDisplayer.flow_model.rho_out + (start = fuelDisplayer.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density fuelDisplayer.flow_model.rho + (start = fuelDisplayer.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + fuelDisplayer.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + fuelDisplayer.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + fuelDisplayer.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature fuelDisplayer.flow_model.T_in + (start = fuelDisplayer.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature fuelDisplayer.flow_model.T_out + (start = fuelDisplayer.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure fuelDisplayer.flow_model.state_in.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature fuelDisplayer.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction fuelDisplayer.flow_model.state_in.X + [6](start = {0.92, 0.048, 0.005, 0.002, 0.015, 0.01}) "Mass fractions (= (component mass)/total mass m_i/m)"; + Modelica.Media.Interfaces.Types.AbsolutePressure fuelDisplayer.flow_model.state_out.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature fuelDisplayer.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction fuelDisplayer.flow_model.state_out.X + [6](start = {0.92, 0.048, 0.005, 0.002, 0.015, 0.01}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + fuelDisplayer.flow_model.DP(start = fuelDisplayer.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power fuelDisplayer.flow_model.W( + start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + fuelDisplayer.flow_model.DH(start = fuelDisplayer.flow_model.h_out_0- + fuelDisplayer.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + fuelDisplayer.flow_model.DT(start = fuelDisplayer.flow_model.T_out_0- + fuelDisplayer.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + fuelDisplayer.flow_model.C_in.Q(start = fuelDisplayer.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure fuelDisplayer.flow_model.C_in.P + (start = fuelDisplayer.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy fuelDisplayer.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction fuelDisplayer.flow_model.C_in.Xi_outflow + [6]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + fuelDisplayer.flow_model.C_out.Q(start = -fuelDisplayer.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure fuelDisplayer.flow_model.C_out.P + (start = fuelDisplayer.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy fuelDisplayer.flow_model.C_out.h_outflow + (start = fuelDisplayer.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction fuelDisplayer.flow_model.C_out.Xi_outflow + [6]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy fuelDisplayer.flow_model.h + (start = fuelDisplayer.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure fuelDisplayer.flow_model.P( + start = fuelDisplayer.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature fuelDisplayer.flow_model.T + (start = fuelDisplayer.flow_model.T_0) "Temperature of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + fuelDisplayer.C_in.Q(start = fuelDisplayer.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure fuelDisplayer.C_in.P( + start = fuelDisplayer.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy fuelDisplayer.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction fuelDisplayer.C_in.Xi_outflow[6]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + fuelDisplayer.C_out.Q(start = -fuelDisplayer.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure fuelDisplayer.C_out.P( + start = fuelDisplayer.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy fuelDisplayer.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction fuelDisplayer.C_out.Xi_outflow[6]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy moistAirDisplayer.flow_model.h_in + (start = moistAirDisplayer.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy moistAirDisplayer.flow_model.h_out + (start = moistAirDisplayer.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + moistAirDisplayer.flow_model.Q(start = moistAirDisplayer.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure moistAirDisplayer.flow_model.P_in + (start = moistAirDisplayer.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure moistAirDisplayer.flow_model.P_out + (start = moistAirDisplayer.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction moistAirDisplayer.flow_model.Xi + [1] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density moistAirDisplayer.flow_model.rho_in + (start = moistAirDisplayer.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density moistAirDisplayer.flow_model.rho_out + (start = moistAirDisplayer.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density moistAirDisplayer.flow_model.rho + (start = moistAirDisplayer.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + moistAirDisplayer.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + moistAirDisplayer.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + moistAirDisplayer.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature moistAirDisplayer.flow_model.T_in + (start = moistAirDisplayer.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature moistAirDisplayer.flow_model.T_out + (start = moistAirDisplayer.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure moistAirDisplayer.flow_model.state_in.p + "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature moistAirDisplayer.flow_model.state_in.T + (min = 190.0, max = 647.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction moistAirDisplayer.flow_model.state_in.X + [2](start = {0.01, 0.99}) "Mass fractions (= (component mass)/total mass m_i/m)"; + Modelica.Media.Interfaces.Types.AbsolutePressure moistAirDisplayer.flow_model.state_out.p + "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature moistAirDisplayer.flow_model.state_out.T + (min = 190.0, max = 647.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction moistAirDisplayer.flow_model.state_out.X + [2](start = {0.01, 0.99}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + moistAirDisplayer.flow_model.DP(start = moistAirDisplayer.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power moistAirDisplayer.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + moistAirDisplayer.flow_model.DH(start = moistAirDisplayer.flow_model.h_out_0 + -moistAirDisplayer.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + moistAirDisplayer.flow_model.DT(start = moistAirDisplayer.flow_model.T_out_0 + -moistAirDisplayer.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + moistAirDisplayer.flow_model.C_in.Q(start = moistAirDisplayer.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure moistAirDisplayer.flow_model.C_in.P + (start = moistAirDisplayer.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy moistAirDisplayer.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction moistAirDisplayer.flow_model.C_in.Xi_outflow + [1]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + moistAirDisplayer.flow_model.C_out.Q(start = -moistAirDisplayer.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure moistAirDisplayer.flow_model.C_out.P + (start = moistAirDisplayer.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy moistAirDisplayer.flow_model.C_out.h_outflow + (start = moistAirDisplayer.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction moistAirDisplayer.flow_model.C_out.Xi_outflow + [1]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy moistAirDisplayer.flow_model.h + (start = moistAirDisplayer.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure moistAirDisplayer.flow_model.P + (start = moistAirDisplayer.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature moistAirDisplayer.flow_model.T + (start = moistAirDisplayer.flow_model.T_0) "Temperature of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + moistAirDisplayer.C_in.Q(start = moistAirDisplayer.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure moistAirDisplayer.C_in.P( + start = moistAirDisplayer.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy moistAirDisplayer.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction moistAirDisplayer.C_in.Xi_outflow + [1]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + moistAirDisplayer.C_out.Q(start = -moistAirDisplayer.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure moistAirDisplayer.C_out.P( + start = moistAirDisplayer.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy moistAirDisplayer.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction moistAirDisplayer.C_out.Xi_outflow + [1]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy flueGasesDisplayer.flow_model.h_in + (start = flueGasesDisplayer.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy flueGasesDisplayer.flow_model.h_out + (start = flueGasesDisplayer.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + flueGasesDisplayer.flow_model.Q(start = flueGasesDisplayer.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure flueGasesDisplayer.flow_model.P_in + (start = flueGasesDisplayer.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure flueGasesDisplayer.flow_model.P_out + (start = flueGasesDisplayer.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction flueGasesDisplayer.flow_model.Xi + [5] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density flueGasesDisplayer.flow_model.rho_in + (start = flueGasesDisplayer.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density flueGasesDisplayer.flow_model.rho_out + (start = flueGasesDisplayer.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density flueGasesDisplayer.flow_model.rho + (start = flueGasesDisplayer.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + flueGasesDisplayer.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + flueGasesDisplayer.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + flueGasesDisplayer.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature flueGasesDisplayer.flow_model.T_in + (start = flueGasesDisplayer.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature flueGasesDisplayer.flow_model.T_out + (start = flueGasesDisplayer.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure flueGasesDisplayer.flow_model.state_in.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature flueGasesDisplayer.flow_model.state_in.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction flueGasesDisplayer.flow_model.state_in.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + Modelica.Media.Interfaces.Types.AbsolutePressure flueGasesDisplayer.flow_model.state_out.p + (start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature flueGasesDisplayer.flow_model.state_out.T + (start = 500, nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction flueGasesDisplayer.flow_model.state_out.X + [5](start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + flueGasesDisplayer.flow_model.DP(start = flueGasesDisplayer.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power flueGasesDisplayer.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + flueGasesDisplayer.flow_model.DH(start = flueGasesDisplayer.flow_model.h_out_0 + -flueGasesDisplayer.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + flueGasesDisplayer.flow_model.DT(start = flueGasesDisplayer.flow_model.T_out_0 + -flueGasesDisplayer.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + flueGasesDisplayer.flow_model.C_in.Q(start = flueGasesDisplayer.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure flueGasesDisplayer.flow_model.C_in.P + (start = flueGasesDisplayer.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy flueGasesDisplayer.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction flueGasesDisplayer.flow_model.C_in.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + flueGasesDisplayer.flow_model.C_out.Q(start = -flueGasesDisplayer.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure flueGasesDisplayer.flow_model.C_out.P + (start = flueGasesDisplayer.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy flueGasesDisplayer.flow_model.C_out.h_outflow + (start = flueGasesDisplayer.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction flueGasesDisplayer.flow_model.C_out.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy flueGasesDisplayer.flow_model.h + (start = flueGasesDisplayer.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure flueGasesDisplayer.flow_model.P + (start = flueGasesDisplayer.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature flueGasesDisplayer.flow_model.T + (start = flueGasesDisplayer.flow_model.T_0) "Temperature of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + flueGasesDisplayer.C_in.Q(start = flueGasesDisplayer.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure flueGasesDisplayer.C_in.P( + start = flueGasesDisplayer.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy flueGasesDisplayer.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction flueGasesDisplayer.C_in.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + flueGasesDisplayer.C_out.Q(start = -flueGasesDisplayer.Q_0, nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure flueGasesDisplayer.C_out.P( + start = flueGasesDisplayer.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy flueGasesDisplayer.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction flueGasesDisplayer.C_out.Xi_outflow + [5](start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Relative_Humidity_sensor.Q(start = Relative_Humidity_sensor.Q_0, nominal = + 100.0) "Component mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction Relative_Humidity_sensor.Xi + [1] "Component mass fractions"; + MetroscopeModelingLibrary.Utilities.Units.Pressure Relative_Humidity_sensor.P( + start = Relative_Humidity_sensor.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Relative_Humidity_sensor.h + (start = Relative_Humidity_sensor.h_0) "Enthalpy of the fluid into the component"; + Modelica.Media.Interfaces.Types.AbsolutePressure Relative_Humidity_sensor.state.p + "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature Relative_Humidity_sensor.state.T( + min = 190.0, max = 647.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction Relative_Humidity_sensor.state.X[2] + (start = {0.01, 0.99}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.MassFlowRate Relative_Humidity_sensor.mass_flow_rate_bias + (start = 0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Relative_Humidity_sensor.C_in.Q(start = Relative_Humidity_sensor.Q_0, + nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Relative_Humidity_sensor.C_in.P + (start = Relative_Humidity_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Relative_Humidity_sensor.C_in.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction Relative_Humidity_sensor.C_in.Xi_outflow + [1]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + Relative_Humidity_sensor.C_out.Q(start = -Relative_Humidity_sensor.Q_0, + nominal = 100.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Relative_Humidity_sensor.C_out.P + (start = Relative_Humidity_sensor.P_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Relative_Humidity_sensor.C_out.h_outflow + (start = 100000.0); + Modelica.Media.Interfaces.Types.MassFraction Relative_Humidity_sensor.C_out.Xi_outflow + [1]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Relative_Humidity_sensor.flow_model.h_in + (start = Relative_Humidity_sensor.flow_model.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Relative_Humidity_sensor.flow_model.h_out + (start = Relative_Humidity_sensor.flow_model.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Relative_Humidity_sensor.flow_model.Q(start = Relative_Humidity_sensor.flow_model.Q_0) + "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure Relative_Humidity_sensor.flow_model.P_in + (start = Relative_Humidity_sensor.flow_model.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure Relative_Humidity_sensor.flow_model.P_out + (start = Relative_Humidity_sensor.flow_model.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction Relative_Humidity_sensor.flow_model.Xi + [1] "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density Relative_Humidity_sensor.flow_model.rho_in + (start = Relative_Humidity_sensor.flow_model.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density Relative_Humidity_sensor.flow_model.rho_out + (start = Relative_Humidity_sensor.flow_model.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density Relative_Humidity_sensor.flow_model.rho + (start = Relative_Humidity_sensor.flow_model.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + Relative_Humidity_sensor.flow_model.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + Relative_Humidity_sensor.flow_model.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + Relative_Humidity_sensor.flow_model.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature Relative_Humidity_sensor.flow_model.T_in + (start = Relative_Humidity_sensor.flow_model.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature Relative_Humidity_sensor.flow_model.T_out + (start = Relative_Humidity_sensor.flow_model.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure Relative_Humidity_sensor.flow_model.state_in.p + "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature Relative_Humidity_sensor.flow_model.state_in.T + (min = 190.0, max = 647.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction Relative_Humidity_sensor.flow_model.state_in.X + [2](start = {0.01, 0.99}) "Mass fractions (= (component mass)/total mass m_i/m)"; + Modelica.Media.Interfaces.Types.AbsolutePressure Relative_Humidity_sensor.flow_model.state_out.p + "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature Relative_Humidity_sensor.flow_model.state_out.T + (min = 190.0, max = 647.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction Relative_Humidity_sensor.flow_model.state_out.X + [2](start = {0.01, 0.99}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + Relative_Humidity_sensor.flow_model.DP(start = Relative_Humidity_sensor.flow_model.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power Relative_Humidity_sensor.flow_model.W + (start = 0, nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + Relative_Humidity_sensor.flow_model.DH(start = Relative_Humidity_sensor.flow_model.h_out_0 + -Relative_Humidity_sensor.flow_model.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + Relative_Humidity_sensor.flow_model.DT(start = Relative_Humidity_sensor.flow_model.T_out_0 + -Relative_Humidity_sensor.flow_model.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + Relative_Humidity_sensor.flow_model.C_in.Q(start = Relative_Humidity_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Relative_Humidity_sensor.flow_model.C_in.P + (start = Relative_Humidity_sensor.flow_model.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Relative_Humidity_sensor.flow_model.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction Relative_Humidity_sensor.flow_model.C_in.Xi_outflow + [1]; + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + Relative_Humidity_sensor.flow_model.C_out.Q(start = -Relative_Humidity_sensor.flow_model.Q_0, + nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure Relative_Humidity_sensor.flow_model.C_out.P + (start = Relative_Humidity_sensor.flow_model.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Relative_Humidity_sensor.flow_model.C_out.h_outflow + (start = Relative_Humidity_sensor.flow_model.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction Relative_Humidity_sensor.flow_model.C_out.Xi_outflow + [1]; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy Relative_Humidity_sensor.flow_model.h + (start = Relative_Humidity_sensor.flow_model.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Pressure Relative_Humidity_sensor.flow_model.P + (start = Relative_Humidity_sensor.flow_model.P_0) "Pressure of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Temperature Relative_Humidity_sensor.flow_model.T + (start = Relative_Humidity_sensor.flow_model.T_0) "Temperature of the fluid into the component"; + Real Relative_Humidity_sensor.relative_humidity(start = Relative_Humidity_sensor.relative_humidity_0, + min = 0.0, max = 1.0); + Real Relative_Humidity_sensor.relative_humidity_pc(start = Relative_Humidity_sensor.relative_humidity_0 + *100, min = 0.0, max = 100.0); + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal Relative_Humidity_sensor.H_sensor + (start = Relative_Humidity_sensor.input_H); + output MetroscopeModelingLibrary.Utilities.Interfaces.RealOutput Filter_Kfr + "P_filter_out"; + output MetroscopeModelingLibrary.Utilities.Interfaces.RealOutput + compression_rate; + output MetroscopeModelingLibrary.Utilities.Interfaces.RealOutput + compressor_eta_is; + output MetroscopeModelingLibrary.Utilities.Interfaces.RealOutput Q_fuel_source; + output MetroscopeModelingLibrary.Utilities.Interfaces.RealOutput + turbine_eta_is; + output MetroscopeModelingLibrary.Utilities.Interfaces.RealOutput + economizer_Kfr_cold(nominal = 0.001); + output MetroscopeModelingLibrary.Utilities.Interfaces.RealOutput + economizer_Kth(start = 1000.0, nominal = 1000.0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HRSG_friction.h_in( + start = HRSG_friction.h_in_0) "Inlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HRSG_friction.h_out + (start = HRSG_friction.h_out_0) "Outlet specific enthalpy"; + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate HRSG_friction.Q + (start = HRSG_friction.Q_0) "Inlet Mass flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Pressure HRSG_friction.P_in(start = + HRSG_friction.P_in_0) "Inlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.Pressure HRSG_friction.P_out( + start = HRSG_friction.P_out_0) "Outlet Pressure"; + MetroscopeModelingLibrary.Utilities.Units.MassFraction HRSG_friction.Xi[5] + "Species mass fraction"; + MetroscopeModelingLibrary.Utilities.Units.Density HRSG_friction.rho_in( + start = HRSG_friction.rho_0) "Inlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density HRSG_friction.rho_out( + start = HRSG_friction.rho_0) "Outlet density"; + MetroscopeModelingLibrary.Utilities.Units.Density HRSG_friction.rho(start = + HRSG_friction.rho_0) "Mean density"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + HRSG_friction.Qv_in "Inlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.NegativeVolumeFlowRate + HRSG_friction.Qv_out "Outlet volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.PositiveVolumeFlowRate + HRSG_friction.Qv "Mean volumetric flow rate"; + MetroscopeModelingLibrary.Utilities.Units.Temperature HRSG_friction.T_in( + start = HRSG_friction.T_in_0) "Fluid temperature"; + MetroscopeModelingLibrary.Utilities.Units.Temperature HRSG_friction.T_out( + start = HRSG_friction.T_out_0) "Fluid temperature"; + Modelica.Media.Interfaces.Types.AbsolutePressure HRSG_friction.state_in.p( + start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature HRSG_friction.state_in.T(start = 500, + nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction HRSG_friction.state_in.X[5]( + start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + Modelica.Media.Interfaces.Types.AbsolutePressure HRSG_friction.state_out.p( + start = 1000000.0, nominal = 1000000.0) "Absolute pressure of medium"; + Modelica.Media.Interfaces.Types.Temperature HRSG_friction.state_out.T(start = 500, + nominal = 500.0, min = 200.0, max = 6000.0) "Temperature of medium"; + Modelica.Media.Interfaces.Types.MassFraction HRSG_friction.state_out.X[5]( + start = {0.768, 0.232, 0.0, 0.0, 0.0}) "Mass fractions (= (component mass)/total mass m_i/m)"; + MetroscopeModelingLibrary.Utilities.Units.DifferentialPressure + HRSG_friction.DP(start = HRSG_friction.DP_0); + MetroscopeModelingLibrary.Utilities.Units.Power HRSG_friction.W(start = 0, + nominal = 1000000.0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialEnthalpy + HRSG_friction.DH(start = HRSG_friction.h_out_0-HRSG_friction.h_in_0); + MetroscopeModelingLibrary.Utilities.Units.DifferentialTemperature + HRSG_friction.DT(start = HRSG_friction.T_out_0-HRSG_friction.T_in_0); + MetroscopeModelingLibrary.Utilities.Units.PositiveMassFlowRate + HRSG_friction.C_in.Q(start = HRSG_friction.Q_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure HRSG_friction.C_in.P( + start = HRSG_friction.P_in_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HRSG_friction.C_in.h_outflow + (start = 0); + Modelica.Media.Interfaces.Types.MassFraction HRSG_friction.C_in.Xi_outflow[5]( + start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.NegativeMassFlowRate + HRSG_friction.C_out.Q(start = -HRSG_friction.Q_0, nominal = 500.0); + MetroscopeModelingLibrary.Utilities.Units.Pressure HRSG_friction.C_out.P( + start = HRSG_friction.P_out_0); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HRSG_friction.C_out.h_outflow + (start = HRSG_friction.h_out_0); + Modelica.Media.Interfaces.Types.MassFraction HRSG_friction.C_out.Xi_outflow[5] + (start = {0.7481, 0.1392, 0.0525, 0.0601, 0.0}); + MetroscopeModelingLibrary.Utilities.Units.SpecificEnthalpy HRSG_friction.h( + start = HRSG_friction.h_0) "Enthalpy of the fluid into the component"; + MetroscopeModelingLibrary.Utilities.Units.Percentage HRSG_friction.fouling; + MetroscopeModelingLibrary.Utilities.Interfaces.GenericReal HRSG_friction.Kfr( + start = HRSG_friction.Kfr_constant); + output MetroscopeModelingLibrary.Utilities.Interfaces.RealOutput + HRSG_friction_Kfr(start = 0.022388678); + output MetroscopeModelingLibrary.Utilities.Interfaces.RealOutput Reheater_Kth( + start = 1000.0, nominal = 1000.0); + output MetroscopeModelingLibrary.Utilities.Interfaces.RealOutput + Reheater_Kfr_cold(nominal = 0.001); + output MetroscopeModelingLibrary.Utilities.Interfaces.RealOutput + HPsuperheater1_Kfr_cold(nominal = 0.001); + output MetroscopeModelingLibrary.Utilities.Interfaces.RealOutput + HPsuperheater1_Kth(start = 1000.0, nominal = 1000.0); + output MetroscopeModelingLibrary.Utilities.Interfaces.RealOutput + HPsuperheater2_Kfr_cold(nominal = 0.001); + output MetroscopeModelingLibrary.Utilities.Interfaces.RealOutput + HPsuperheater2_Kth(start = 1000.0, nominal = 1000.0); + output MetroscopeModelingLibrary.Utilities.Interfaces.RealOutput pumpRec_hn; + output MetroscopeModelingLibrary.Utilities.Interfaces.RealOutput pumpRec_rh; + output MetroscopeModelingLibrary.Utilities.Interfaces.RealOutput pump_hn; + output MetroscopeModelingLibrary.Utilities.Interfaces.RealOutput pump_rh; + output MetroscopeModelingLibrary.Utilities.Interfaces.RealOutput + LPsteamTurbine_Cst; + output MetroscopeModelingLibrary.Utilities.Interfaces.RealOutput + LPsteamTurbine_eta_is; + output MetroscopeModelingLibrary.Utilities.Interfaces.RealOutput + HPsteamTurbine_Cst; + output MetroscopeModelingLibrary.Utilities.Interfaces.RealOutput + HPsteamTurbine_eta_is; + output MetroscopeModelingLibrary.Utilities.Interfaces.RealOutput + LPST_control_valve_Cv; + output MetroscopeModelingLibrary.Utilities.Interfaces.RealOutput + HPST_control_valve_Cv; + output MetroscopeModelingLibrary.Utilities.Interfaces.RealOutput + T_flue_gas_sink(start = 1); + output MetroscopeModelingLibrary.Utilities.Interfaces.RealOutput + deSH_controlValve_Cv_max; + output MetroscopeModelingLibrary.Utilities.Interfaces.RealOutput + Evap_controlValve_Cv_max; + output MetroscopeModelingLibrary.Utilities.Interfaces.RealOutput + pumpRec_controlValve_Cv_max; + output MetroscopeModelingLibrary.Utilities.Interfaces.RealOutput Q_pumpRec_out; + output MetroscopeModelingLibrary.Utilities.Interfaces.RealOutput condenser_Kth; + output MetroscopeModelingLibrary.Utilities.Interfaces.RealOutput + condenser_Qv_cold_in; + +// Equations and algorithms + + // Component economiser.HX + // class MetroscopeModelingLibrary.Power.HeatExchange.NTUHeatExchange + equation + economiser.HX.W_max = economiser.HX.QCpMIN*(economiser.HX.T_hot_in- + economiser.HX.T_cold_in); + economiser.HX.W = economiser.HX.epsilon*economiser.HX.W_max; + economiser.HX.NTU = economiser.HX.Kth*economiser.HX.S/economiser.HX.QCpMIN; + economiser.HX.Cr = economiser.HX.QCpMIN/economiser.HX.QCpMAX; + if (economiser.HX.config == "shell_and_tubes_two_passes") then + if (economiser.HX.QCp_max_side == "hot") then + economiser.HX.QCpMAX = economiser.HX.Q_hot*economiser.HX.Cp_hot; + economiser.HX.QCpMIN = economiser.HX.Q_cold*economiser.HX.Cp_cold; + elseif (economiser.HX.QCp_max_side == "cold") then + economiser.HX.QCpMIN = economiser.HX.Q_hot*economiser.HX.Cp_hot; + economiser.HX.QCpMAX = economiser.HX.Q_cold*economiser.HX.Cp_cold; + else + economiser.HX.QCpMIN = min(economiser.HX.Q_hot*economiser.HX.Cp_hot, + economiser.HX.Q_cold*economiser.HX.Cp_cold); + economiser.HX.QCpMAX = max(economiser.HX.Q_hot*economiser.HX.Cp_hot, + economiser.HX.Q_cold*economiser.HX.Cp_cold); + end if; + assert(economiser.HX.QCpMIN < economiser.HX.QCpMAX, "QCPMIN is higher than QCpMAX"); + economiser.HX.epsilon = 2/(1+economiser.HX.Cr+sqrt(1+economiser.HX.Cr^2)*(1 + +exp( -economiser.HX.NTU*(1+economiser.HX.Cr^2)^0.5))/(1-exp( - + economiser.HX.NTU*(1+economiser.HX.Cr^2)^0.5))); + elseif (economiser.HX.config == "monophasic_cross_current") then + if (economiser.HX.mixed_fluid == "hot") then + if (economiser.HX.QCp_max_side == "hot") then + economiser.HX.QCpMAX = economiser.HX.Q_hot*economiser.HX.Cp_hot; + economiser.HX.QCpMIN = economiser.HX.Q_cold*economiser.HX.Cp_cold; + assert(economiser.HX.QCpMIN < economiser.HX.QCpMAX, "QCPMIN is higher than QCpMAX"); + economiser.HX.epsilon = (1-exp( -economiser.HX.Cr*(1-exp( - + economiser.HX.NTU))))/economiser.HX.Cr; + elseif (economiser.HX.QCp_max_side == "cold") then + economiser.HX.QCpMIN = economiser.HX.Q_hot*economiser.HX.Cp_hot; + economiser.HX.QCpMAX = economiser.HX.Q_cold*economiser.HX.Cp_cold; + assert(economiser.HX.QCpMIN < economiser.HX.QCpMAX, "QCPMIN is higher than QCpMAX"); + economiser.HX.epsilon = 1-exp( -(1-exp( -economiser.HX.Cr* + economiser.HX.NTU))/economiser.HX.Cr); + else + if (economiser.HX.Q_hot*economiser.HX.Cp_hot < economiser.HX.Q_cold* + economiser.HX.Cp_cold) then + economiser.HX.QCpMIN = economiser.HX.Q_hot*economiser.HX.Cp_hot; + economiser.HX.QCpMAX = economiser.HX.Q_cold*economiser.HX.Cp_cold; + economiser.HX.epsilon = 1-exp( -(1-exp( -economiser.HX.Cr* + economiser.HX.NTU))/economiser.HX.Cr); + else + economiser.HX.QCpMAX = economiser.HX.Q_hot*economiser.HX.Cp_hot; + economiser.HX.QCpMIN = economiser.HX.Q_cold*economiser.HX.Cp_cold; + economiser.HX.epsilon = (1-exp( -economiser.HX.Cr*(1-exp( - + economiser.HX.NTU))))/economiser.HX.Cr; + end if; + end if; + else + if (economiser.HX.QCp_max_side == "hot") then + economiser.HX.QCpMAX = economiser.HX.Q_hot*economiser.HX.Cp_hot; + economiser.HX.QCpMIN = economiser.HX.Q_cold*economiser.HX.Cp_cold; + assert(economiser.HX.QCpMIN < economiser.HX.QCpMAX, "QCPMIN is higher than QCpMAX"); + economiser.HX.epsilon = 1-exp( -(1-exp( -economiser.HX.Cr* + economiser.HX.NTU))/economiser.HX.Cr); + elseif (economiser.HX.QCp_max_side == "cold") then + economiser.HX.QCpMIN = economiser.HX.Q_hot*economiser.HX.Cp_hot; + economiser.HX.QCpMAX = economiser.HX.Q_cold*economiser.HX.Cp_cold; + assert(economiser.HX.QCpMIN < economiser.HX.QCpMAX, "QCPMIN is higher than QCpMAX"); + economiser.HX.epsilon = (1-exp( -economiser.HX.Cr*(1-exp( - + economiser.HX.NTU))))/economiser.HX.Cr; + else + if (economiser.HX.Q_hot*economiser.HX.Cp_hot < economiser.HX.Q_cold* + economiser.HX.Cp_cold) then + economiser.HX.QCpMIN = economiser.HX.Q_hot*economiser.HX.Cp_hot; + economiser.HX.QCpMAX = economiser.HX.Q_cold*economiser.HX.Cp_cold; + economiser.HX.epsilon = (1-exp( -economiser.HX.Cr*(1-exp( - + economiser.HX.NTU))))/economiser.HX.Cr; + else + economiser.HX.QCpMAX = economiser.HX.Q_hot*economiser.HX.Cp_hot; + economiser.HX.QCpMIN = economiser.HX.Q_cold*economiser.HX.Cp_cold; + economiser.HX.epsilon = 1-exp( -(1-exp( -economiser.HX.Cr* + economiser.HX.NTU))/economiser.HX.Cr); + end if; + end if; + end if; + elseif (economiser.HX.config == "monophasic_counter_current") then + if (economiser.HX.QCp_max_side == "hot") then + economiser.HX.QCpMAX = economiser.HX.Q_hot*economiser.HX.Cp_hot; + economiser.HX.QCpMIN = economiser.HX.Q_cold*economiser.HX.Cp_cold; + elseif (economiser.HX.QCp_max_side == "cold") then + economiser.HX.QCpMIN = economiser.HX.Q_hot*economiser.HX.Cp_hot; + economiser.HX.QCpMAX = economiser.HX.Q_cold*economiser.HX.Cp_cold; + else + economiser.HX.QCpMIN = min(economiser.HX.Q_hot*economiser.HX.Cp_hot, + economiser.HX.Q_cold*economiser.HX.Cp_cold); + economiser.HX.QCpMAX = max(economiser.HX.Q_hot*economiser.HX.Cp_hot, + economiser.HX.Q_cold*economiser.HX.Cp_cold); + end if; + assert(economiser.HX.QCpMIN < economiser.HX.QCpMAX, "QCPMIN is higher than QCpMAX"); + economiser.HX.epsilon = (1-exp( -economiser.HX.NTU*(1-economiser.HX.Cr)))/ + (1-economiser.HX.Cr*exp( -economiser.HX.NTU*(1-economiser.HX.Cr))); + elseif (economiser.HX.config == "evaporator") then + economiser.HX.QCpMAX = 10000000000.0; + economiser.HX.QCpMIN = economiser.HX.Q_hot*economiser.HX.Cp_hot; + economiser.HX.epsilon = 1-exp( -economiser.HX.NTU); + elseif (economiser.HX.config == "condenser") then + economiser.HX.QCpMAX = 10000000000.0; + economiser.HX.QCpMIN = economiser.HX.Q_cold*economiser.HX.Cp_cold; + economiser.HX.epsilon = 1-exp( -economiser.HX.NTU); + else + economiser.HX.QCpMAX = 0; + economiser.HX.QCpMIN = 0; + economiser.HX.epsilon = 0; + end if; + assert(economiser.HX.config == "evaporator" or economiser.HX.config == + "condenser" or economiser.HX.config == "shell_and_tubes_two_passes" or + economiser.HX.config == "monophasic_cross_current" or economiser.HX.config + == "monophasic_counter_current", "config parameter of NTUHeatExchange should be one of 'shell_and_tubes_two_passes', 'condenser', 'evaporator', 'monophasic_cross_current', or 'monophasic_counter_current'"); + assert(economiser.HX.mixed_fluid == "hot" or economiser.HX.mixed_fluid == + "cold", "mixed_fluid parameter of NTUHeatExchange should be 'hot' or 'cold'"); + assert(economiser.HX.W > 0, "Heat exchange is done in the wrong direction", + AssertionLevel.warning); + + // Component economiser.hot_side + // class MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + economiser.hot_side.h_in = inStream(economiser.hot_side.C_in.h_outflow); + economiser.hot_side.h_out = economiser.hot_side.C_out.h_outflow; + economiser.hot_side.Q = economiser.hot_side.C_in.Q; + economiser.hot_side.P_in = economiser.hot_side.C_in.P; + economiser.hot_side.P_out = economiser.hot_side.C_out.P; + economiser.hot_side.Xi = inStream(economiser.hot_side.C_in.Xi_outflow); + economiser.hot_side.C_in.h_outflow = 1000000.0; + economiser.hot_side.C_in.Xi_outflow = zeros(5); + economiser.hot_side.state_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (economiser.hot_side.P_in, economiser.hot_side.h_in, economiser.hot_side.Xi); + economiser.hot_side.state_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (economiser.hot_side.P_out, economiser.hot_side.h_out, economiser.hot_side.Xi); + economiser.hot_side.T_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + economiser.hot_side.state_in); + economiser.hot_side.T_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + economiser.hot_side.state_out); + economiser.hot_side.rho_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + economiser.hot_side.state_in); + economiser.hot_side.rho_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + economiser.hot_side.state_out); + economiser.hot_side.rho = (economiser.hot_side.rho_in+economiser.hot_side.rho_out) + /2; + economiser.hot_side.Qv_in = economiser.hot_side.Q/economiser.hot_side.rho_in; + economiser.hot_side.Qv_out = -economiser.hot_side.Q/economiser.hot_side.rho_out; + economiser.hot_side.Qv = (economiser.hot_side.Qv_in-economiser.hot_side.Qv_out) + /2; + economiser.hot_side.P_out-economiser.hot_side.P_in = economiser.hot_side.DP; + economiser.hot_side.Q*(economiser.hot_side.h_out-economiser.hot_side.h_in) + = economiser.hot_side.W; + economiser.hot_side.h_out-economiser.hot_side.h_in = economiser.hot_side.DH; + economiser.hot_side.T_out-economiser.hot_side.T_in = economiser.hot_side.DT; + economiser.hot_side.C_in.Q+economiser.hot_side.C_out.Q = 0; + economiser.hot_side.C_out.Xi_outflow = inStream(economiser.hot_side.C_in.Xi_outflow); + assert(economiser.hot_side.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPFlowModel + equation + economiser.hot_side.P = economiser.hot_side.P_in; + economiser.hot_side.DP = 0; + // end of extends + equation + economiser.hot_side.W = economiser.hot_side.W_input; + + // Component economiser.cold_side + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + economiser.cold_side.h_in = inStream(economiser.cold_side.C_in.h_outflow); + economiser.cold_side.h_out = economiser.cold_side.C_out.h_outflow; + economiser.cold_side.Q = economiser.cold_side.C_in.Q; + economiser.cold_side.P_in = economiser.cold_side.C_in.P; + economiser.cold_side.P_out = economiser.cold_side.C_out.P; + economiser.cold_side.Xi = inStream(economiser.cold_side.C_in.Xi_outflow); + economiser.cold_side.C_in.h_outflow = 1000000.0; + economiser.cold_side.C_in.Xi_outflow = zeros(0); + economiser.cold_side.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (economiser.cold_side.P_in, economiser.cold_side.h_in, economiser.cold_side.Xi, + 0, 0); + economiser.cold_side.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (economiser.cold_side.P_out, economiser.cold_side.h_out, + economiser.cold_side.Xi, 0, 0); + economiser.cold_side.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + economiser.cold_side.state_in); + economiser.cold_side.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + economiser.cold_side.state_out); + economiser.cold_side.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + economiser.cold_side.state_in); + economiser.cold_side.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + economiser.cold_side.state_out); + economiser.cold_side.rho = (economiser.cold_side.rho_in+economiser.cold_side.rho_out) + /2; + economiser.cold_side.Qv_in = economiser.cold_side.Q/economiser.cold_side.rho_in; + economiser.cold_side.Qv_out = -economiser.cold_side.Q/economiser.cold_side.rho_out; + economiser.cold_side.Qv = (economiser.cold_side.Qv_in-economiser.cold_side.Qv_out) + /2; + economiser.cold_side.P_out-economiser.cold_side.P_in = economiser.cold_side.DP; + economiser.cold_side.Q*(economiser.cold_side.h_out-economiser.cold_side.h_in) + = economiser.cold_side.W; + economiser.cold_side.h_out-economiser.cold_side.h_in = economiser.cold_side.DH; + economiser.cold_side.T_out-economiser.cold_side.T_in = economiser.cold_side.DT; + economiser.cold_side.C_in.Q+economiser.cold_side.C_out.Q = 0; + economiser.cold_side.C_out.Xi_outflow = inStream(economiser.cold_side.C_in.Xi_outflow); + assert(economiser.cold_side.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPFlowModel + equation + economiser.cold_side.P = economiser.cold_side.P_in; + economiser.cold_side.DP = 0; + // end of extends + equation + economiser.cold_side.W = economiser.cold_side.W_input; + + // Component economiser.cold_side_pipe + // class MetroscopeModelingLibrary.WaterSteam.Pipes.FrictionPipe + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + economiser.cold_side_pipe.h_in = inStream(economiser.cold_side_pipe.C_in.h_outflow); + economiser.cold_side_pipe.h_out = economiser.cold_side_pipe.C_out.h_outflow; + economiser.cold_side_pipe.Q = economiser.cold_side_pipe.C_in.Q; + economiser.cold_side_pipe.P_in = economiser.cold_side_pipe.C_in.P; + economiser.cold_side_pipe.P_out = economiser.cold_side_pipe.C_out.P; + economiser.cold_side_pipe.Xi = inStream(economiser.cold_side_pipe.C_in.Xi_outflow); + economiser.cold_side_pipe.C_in.h_outflow = 1000000.0; + economiser.cold_side_pipe.C_in.Xi_outflow = zeros(0); + economiser.cold_side_pipe.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (economiser.cold_side_pipe.P_in, economiser.cold_side_pipe.h_in, + economiser.cold_side_pipe.Xi, 0, 0); + economiser.cold_side_pipe.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (economiser.cold_side_pipe.P_out, economiser.cold_side_pipe.h_out, + economiser.cold_side_pipe.Xi, 0, 0); + economiser.cold_side_pipe.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + economiser.cold_side_pipe.state_in); + economiser.cold_side_pipe.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + economiser.cold_side_pipe.state_out); + economiser.cold_side_pipe.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + economiser.cold_side_pipe.state_in); + economiser.cold_side_pipe.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + economiser.cold_side_pipe.state_out); + economiser.cold_side_pipe.rho = (economiser.cold_side_pipe.rho_in+ + economiser.cold_side_pipe.rho_out)/2; + economiser.cold_side_pipe.Qv_in = economiser.cold_side_pipe.Q/ + economiser.cold_side_pipe.rho_in; + economiser.cold_side_pipe.Qv_out = -economiser.cold_side_pipe.Q/ + economiser.cold_side_pipe.rho_out; + economiser.cold_side_pipe.Qv = (economiser.cold_side_pipe.Qv_in- + economiser.cold_side_pipe.Qv_out)/2; + economiser.cold_side_pipe.P_out-economiser.cold_side_pipe.P_in = + economiser.cold_side_pipe.DP; + economiser.cold_side_pipe.Q*(economiser.cold_side_pipe.h_out- + economiser.cold_side_pipe.h_in) = economiser.cold_side_pipe.W; + economiser.cold_side_pipe.h_out-economiser.cold_side_pipe.h_in = + economiser.cold_side_pipe.DH; + economiser.cold_side_pipe.T_out-economiser.cold_side_pipe.T_in = + economiser.cold_side_pipe.DT; + economiser.cold_side_pipe.C_in.Q+economiser.cold_side_pipe.C_out.Q = 0; + economiser.cold_side_pipe.C_out.Xi_outflow = inStream(economiser.cold_side_pipe.C_in.Xi_outflow); + assert(economiser.cold_side_pipe.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoHFlowModel + equation + economiser.cold_side_pipe.h = economiser.cold_side_pipe.h_in; + economiser.cold_side_pipe.DH = 0; + // extends MetroscopeModelingLibrary.Partial.Pipes.FrictionPipe + equation + if ( not economiser.cold_side_pipe.faulty) then + economiser.cold_side_pipe.fouling = 0; + end if; + economiser.cold_side_pipe.DP = -(1+economiser.cold_side_pipe.fouling/100) + *economiser.cold_side_pipe.Kfr*economiser.cold_side_pipe.Q*abs( + economiser.cold_side_pipe.Q)/economiser.cold_side_pipe.rho_in; + // end of extends + + // Component economiser + // class MetroscopeModelingLibrary.MultiFluid.HeatExchangers.Economiser + // extends MetroscopeModelingLibrary.Partial.HeatExchangers.WaterFlueGasesMonophasicHX + equation + if ( not economiser.faulty) then + economiser.fouling = 0; + end if; + economiser.Q_cold = economiser.cold_side.Q; + economiser.Q_hot = economiser.hot_side.Q; + economiser.T_cold_in = economiser.cold_side_pipe.T_in; + economiser.T_cold_out = economiser.cold_side.T_out; + economiser.T_hot_in = economiser.hot_side.T_in; + economiser.T_hot_out = economiser.hot_side.T_out; + economiser.cold_side.W = economiser.W; + economiser.hot_side.W+economiser.cold_side.W = 0; + economiser.HX.W = economiser.W; + economiser.HX.Kth = economiser.Kth*(1-economiser.fouling/100); + economiser.HX.S = economiser.S; + economiser.HX.Q_cold = economiser.Q_cold; + economiser.HX.Q_hot = economiser.Q_hot; + economiser.HX.T_cold_in = economiser.T_cold_in; + economiser.HX.T_hot_in = economiser.T_hot_in; + economiser.HX.Cp_cold = (economiser.Cp_cold_min+economiser.Cp_cold_max)/2; + economiser.HX.Cp_hot = (economiser.Cp_hot_min+economiser.Cp_hot_max)/2; + economiser.DT_hot_in_side = economiser.T_hot_in-economiser.T_cold_out; + economiser.DT_hot_out_side = economiser.T_hot_out-economiser.T_cold_in; + economiser.pinch = min(economiser.DT_hot_in_side, economiser.DT_hot_out_side); + assert(economiser.pinch > 0, "A negative pinch is reached", + AssertionLevel.warning); + assert(economiser.pinch > 1 or economiser.pinch < 0, "A very low pinch (<1) is reached", + AssertionLevel.warning); + economiser.maximum_achiveable_temperature_difference = economiser.hot_side.T_in + -economiser.cold_side.T_in; + if (economiser.nominal_DT_default) then + economiser.nominal_cold_side_temperature_rise = economiser.hot_side.T_in + -economiser.cold_side.T_in; + economiser.nominal_hot_side_temperature_drop = economiser.hot_side.T_in- + economiser.cold_side.T_in; + end if; + economiser.Cp_cold_min = Modelica.Media.Water.WaterIF97_ph.specificHeatCapacityCp_Unique14 + ( + economiser.cold_side.state_in); + economiser.state_cold_out = Modelica.Media.Water.WaterIF97_ph.setState_pTX_Unique15 + (economiser.cold_side.P_in, economiser.cold_side.T_in+economiser.nominal_cold_side_temperature_rise, + economiser.cold_side.Xi, 0, 0); + economiser.Cp_cold_max = Modelica.Media.Water.WaterIF97_ph.specificHeatCapacityCp_Unique14 + ( + economiser.state_cold_out); + economiser.Cp_hot_max = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.specificHeatCapacityCp_Unique18 + ( + economiser.hot_side.state_in); + economiser.state_hot_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_pTX_Unique19 + (economiser.hot_side.P_in, economiser.hot_side.T_in-economiser.nominal_hot_side_temperature_drop, + economiser.hot_side.Xi); + economiser.Cp_hot_min = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.specificHeatCapacityCp_Unique18 + ( + economiser.state_hot_out); + // end of extends + equation + economiser.FTR = economiser.T_cold_out-economiser.T_cold_in; + economiser.cold_side_pipe.C_in.P = economiser.C_cold_in.P; + economiser.C_cold_in.Q-economiser.cold_side_pipe.C_in.Q = 0.0; + economiser.cold_side.C_out.P = economiser.C_cold_out.P; + economiser.C_cold_out.Q-economiser.cold_side.C_out.Q = 0.0; + economiser.hot_side.C_in.P = economiser.C_hot_in.P; + economiser.C_hot_in.Q-economiser.hot_side.C_in.Q = 0.0; + economiser.hot_side.C_out.P = economiser.C_hot_out.P; + economiser.C_hot_out.Q-economiser.hot_side.C_out.Q = 0.0; + economiser.cold_side_pipe.Kfr = economiser.Kfr_cold; + economiser.cold_side_pipe.C_out.P = economiser.cold_side.C_in.P; + economiser.cold_side.C_in.Q+economiser.cold_side_pipe.C_out.Q = 0.0; + + // Component flue_gas_sink + // class MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Sink + // extends MetroscopeModelingLibrary.Partial.BoundaryConditions.FluidSink + equation + flue_gas_sink.C_in.P = flue_gas_sink.P_in; + flue_gas_sink.C_in.Q = flue_gas_sink.Q_in; + inStream(flue_gas_sink.C_in.h_outflow) = flue_gas_sink.h_in; + inStream(flue_gas_sink.C_in.Xi_outflow) = flue_gas_sink.Xi_in; + flue_gas_sink.state_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (flue_gas_sink.P_in, flue_gas_sink.h_in, flue_gas_sink.Xi_in); + flue_gas_sink.T_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + flue_gas_sink.state_in); + flue_gas_sink.Qv_in = flue_gas_sink.Q_in/MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + flue_gas_sink.state_in); + flue_gas_sink.C_in.h_outflow = 0; + flue_gas_sink.C_in.Xi_outflow = zeros(5); + // end of extends + + // Component T_w_eco_out_sensor.flow_model + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + T_w_eco_out_sensor.flow_model.h_in = inStream(T_w_eco_out_sensor.flow_model.C_in.h_outflow); + T_w_eco_out_sensor.flow_model.h_out = T_w_eco_out_sensor.flow_model.C_out.h_outflow; + T_w_eco_out_sensor.flow_model.Q = T_w_eco_out_sensor.flow_model.C_in.Q; + T_w_eco_out_sensor.flow_model.P_in = T_w_eco_out_sensor.flow_model.C_in.P; + T_w_eco_out_sensor.flow_model.P_out = T_w_eco_out_sensor.flow_model.C_out.P; + T_w_eco_out_sensor.flow_model.Xi = inStream(T_w_eco_out_sensor.flow_model.C_in.Xi_outflow); + T_w_eco_out_sensor.flow_model.C_in.h_outflow = 1000000.0; + T_w_eco_out_sensor.flow_model.C_in.Xi_outflow = zeros(0); + T_w_eco_out_sensor.flow_model.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (T_w_eco_out_sensor.flow_model.P_in, T_w_eco_out_sensor.flow_model.h_in, + T_w_eco_out_sensor.flow_model.Xi, 0, 0); + T_w_eco_out_sensor.flow_model.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (T_w_eco_out_sensor.flow_model.P_out, T_w_eco_out_sensor.flow_model.h_out, + T_w_eco_out_sensor.flow_model.Xi, 0, 0); + T_w_eco_out_sensor.flow_model.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + T_w_eco_out_sensor.flow_model.state_in); + T_w_eco_out_sensor.flow_model.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + T_w_eco_out_sensor.flow_model.state_out); + T_w_eco_out_sensor.flow_model.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + T_w_eco_out_sensor.flow_model.state_in); + T_w_eco_out_sensor.flow_model.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + T_w_eco_out_sensor.flow_model.state_out); + T_w_eco_out_sensor.flow_model.rho = (T_w_eco_out_sensor.flow_model.rho_in+ + T_w_eco_out_sensor.flow_model.rho_out)/2; + T_w_eco_out_sensor.flow_model.Qv_in = T_w_eco_out_sensor.flow_model.Q/ + T_w_eco_out_sensor.flow_model.rho_in; + T_w_eco_out_sensor.flow_model.Qv_out = -T_w_eco_out_sensor.flow_model.Q/ + T_w_eco_out_sensor.flow_model.rho_out; + T_w_eco_out_sensor.flow_model.Qv = (T_w_eco_out_sensor.flow_model.Qv_in- + T_w_eco_out_sensor.flow_model.Qv_out)/2; + T_w_eco_out_sensor.flow_model.P_out-T_w_eco_out_sensor.flow_model.P_in = + T_w_eco_out_sensor.flow_model.DP; + T_w_eco_out_sensor.flow_model.Q*(T_w_eco_out_sensor.flow_model.h_out- + T_w_eco_out_sensor.flow_model.h_in) = T_w_eco_out_sensor.flow_model.W; + T_w_eco_out_sensor.flow_model.h_out-T_w_eco_out_sensor.flow_model.h_in = + T_w_eco_out_sensor.flow_model.DH; + T_w_eco_out_sensor.flow_model.T_out-T_w_eco_out_sensor.flow_model.T_in = + T_w_eco_out_sensor.flow_model.DT; + T_w_eco_out_sensor.flow_model.C_in.Q+T_w_eco_out_sensor.flow_model.C_out.Q + = 0; + T_w_eco_out_sensor.flow_model.C_out.Xi_outflow = inStream(T_w_eco_out_sensor.flow_model.C_in.Xi_outflow); + assert(T_w_eco_out_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + T_w_eco_out_sensor.flow_model.P = T_w_eco_out_sensor.flow_model.P_in; + T_w_eco_out_sensor.flow_model.h = T_w_eco_out_sensor.flow_model.h_in; + T_w_eco_out_sensor.flow_model.T = T_w_eco_out_sensor.flow_model.T_in; + T_w_eco_out_sensor.flow_model.DP = 0; + T_w_eco_out_sensor.flow_model.DH = 0; + // end of extends + + // Component T_w_eco_out_sensor + // class MetroscopeModelingLibrary.Sensors_Control.WaterSteam.TemperatureSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not T_w_eco_out_sensor.faulty_flow_rate) then + T_w_eco_out_sensor.mass_flow_rate_bias = 0; + end if; + T_w_eco_out_sensor.P = T_w_eco_out_sensor.C_in.P; + T_w_eco_out_sensor.Q = T_w_eco_out_sensor.C_in.Q+T_w_eco_out_sensor.mass_flow_rate_bias; + T_w_eco_out_sensor.Xi = inStream(T_w_eco_out_sensor.C_in.Xi_outflow); + T_w_eco_out_sensor.h = inStream(T_w_eco_out_sensor.C_in.h_outflow); + T_w_eco_out_sensor.state = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (T_w_eco_out_sensor.P, T_w_eco_out_sensor.h, T_w_eco_out_sensor.Xi, 0, 0); + assert(T_w_eco_out_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.TemperatureSensor + equation + T_w_eco_out_sensor.T = T_w_eco_out_sensor.flow_model.T; + T_w_eco_out_sensor.T_degC+273.15 = T_w_eco_out_sensor.T; + T_w_eco_out_sensor.T_degF = T_w_eco_out_sensor.T_degC*1.8+32; + if (T_w_eco_out_sensor.signal_unit == "degC") then + T_w_eco_out_sensor.T_sensor = T_w_eco_out_sensor.T_degC; + elseif (T_w_eco_out_sensor.signal_unit == "degF") then + T_w_eco_out_sensor.T_sensor = T_w_eco_out_sensor.T_degF; + elseif (T_w_eco_out_sensor.signal_unit == "K") then + T_w_eco_out_sensor.T_sensor = T_w_eco_out_sensor.T; + else + assert(false, "Unavailable unit selected for %name"); + end if; + // end of extends + equation + T_w_eco_out_sensor.flow_model.C_in.P = T_w_eco_out_sensor.C_in.P; + T_w_eco_out_sensor.C_in.Q-T_w_eco_out_sensor.flow_model.C_in.Q = 0.0; + T_w_eco_out_sensor.flow_model.C_out.P = T_w_eco_out_sensor.C_out.P; + T_w_eco_out_sensor.C_out.Q-T_w_eco_out_sensor.flow_model.C_out.Q = 0.0; + + // Component P_w_eco_out_sensor.flow_model + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + P_w_eco_out_sensor.flow_model.h_in = inStream(P_w_eco_out_sensor.flow_model.C_in.h_outflow); + P_w_eco_out_sensor.flow_model.h_out = P_w_eco_out_sensor.flow_model.C_out.h_outflow; + P_w_eco_out_sensor.flow_model.Q = P_w_eco_out_sensor.flow_model.C_in.Q; + P_w_eco_out_sensor.flow_model.P_in = P_w_eco_out_sensor.flow_model.C_in.P; + P_w_eco_out_sensor.flow_model.P_out = P_w_eco_out_sensor.flow_model.C_out.P; + P_w_eco_out_sensor.flow_model.Xi = inStream(P_w_eco_out_sensor.flow_model.C_in.Xi_outflow); + P_w_eco_out_sensor.flow_model.C_in.h_outflow = 1000000.0; + P_w_eco_out_sensor.flow_model.C_in.Xi_outflow = zeros(0); + P_w_eco_out_sensor.flow_model.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_w_eco_out_sensor.flow_model.P_in, P_w_eco_out_sensor.flow_model.h_in, + P_w_eco_out_sensor.flow_model.Xi, 0, 0); + P_w_eco_out_sensor.flow_model.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_w_eco_out_sensor.flow_model.P_out, P_w_eco_out_sensor.flow_model.h_out, + P_w_eco_out_sensor.flow_model.Xi, 0, 0); + P_w_eco_out_sensor.flow_model.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + P_w_eco_out_sensor.flow_model.state_in); + P_w_eco_out_sensor.flow_model.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + P_w_eco_out_sensor.flow_model.state_out); + P_w_eco_out_sensor.flow_model.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + P_w_eco_out_sensor.flow_model.state_in); + P_w_eco_out_sensor.flow_model.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + P_w_eco_out_sensor.flow_model.state_out); + P_w_eco_out_sensor.flow_model.rho = (P_w_eco_out_sensor.flow_model.rho_in+ + P_w_eco_out_sensor.flow_model.rho_out)/2; + P_w_eco_out_sensor.flow_model.Qv_in = P_w_eco_out_sensor.flow_model.Q/ + P_w_eco_out_sensor.flow_model.rho_in; + P_w_eco_out_sensor.flow_model.Qv_out = -P_w_eco_out_sensor.flow_model.Q/ + P_w_eco_out_sensor.flow_model.rho_out; + P_w_eco_out_sensor.flow_model.Qv = (P_w_eco_out_sensor.flow_model.Qv_in- + P_w_eco_out_sensor.flow_model.Qv_out)/2; + P_w_eco_out_sensor.flow_model.P_out-P_w_eco_out_sensor.flow_model.P_in = + P_w_eco_out_sensor.flow_model.DP; + P_w_eco_out_sensor.flow_model.Q*(P_w_eco_out_sensor.flow_model.h_out- + P_w_eco_out_sensor.flow_model.h_in) = P_w_eco_out_sensor.flow_model.W; + P_w_eco_out_sensor.flow_model.h_out-P_w_eco_out_sensor.flow_model.h_in = + P_w_eco_out_sensor.flow_model.DH; + P_w_eco_out_sensor.flow_model.T_out-P_w_eco_out_sensor.flow_model.T_in = + P_w_eco_out_sensor.flow_model.DT; + P_w_eco_out_sensor.flow_model.C_in.Q+P_w_eco_out_sensor.flow_model.C_out.Q + = 0; + P_w_eco_out_sensor.flow_model.C_out.Xi_outflow = inStream(P_w_eco_out_sensor.flow_model.C_in.Xi_outflow); + assert(P_w_eco_out_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + P_w_eco_out_sensor.flow_model.P = P_w_eco_out_sensor.flow_model.P_in; + P_w_eco_out_sensor.flow_model.h = P_w_eco_out_sensor.flow_model.h_in; + P_w_eco_out_sensor.flow_model.T = P_w_eco_out_sensor.flow_model.T_in; + P_w_eco_out_sensor.flow_model.DP = 0; + P_w_eco_out_sensor.flow_model.DH = 0; + // end of extends + + // Component P_w_eco_out_sensor + // class MetroscopeModelingLibrary.Sensors_Control.WaterSteam.PressureSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not P_w_eco_out_sensor.faulty_flow_rate) then + P_w_eco_out_sensor.mass_flow_rate_bias = 0; + end if; + P_w_eco_out_sensor.P = P_w_eco_out_sensor.C_in.P; + P_w_eco_out_sensor.Q = P_w_eco_out_sensor.C_in.Q+P_w_eco_out_sensor.mass_flow_rate_bias; + P_w_eco_out_sensor.Xi = inStream(P_w_eco_out_sensor.C_in.Xi_outflow); + P_w_eco_out_sensor.h = inStream(P_w_eco_out_sensor.C_in.h_outflow); + P_w_eco_out_sensor.state = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_w_eco_out_sensor.P, P_w_eco_out_sensor.h, P_w_eco_out_sensor.Xi, 0, 0); + assert(P_w_eco_out_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.PressureSensor + equation + P_w_eco_out_sensor.P_barA = P_w_eco_out_sensor.P*1E-05; + P_w_eco_out_sensor.P_psiA = P_w_eco_out_sensor.P*0.000145038; + P_w_eco_out_sensor.P_MPaA = P_w_eco_out_sensor.P*1E-06; + P_w_eco_out_sensor.P_kPaA = P_w_eco_out_sensor.P*0.001; + P_w_eco_out_sensor.P_barG = P_w_eco_out_sensor.P_barA-1; + P_w_eco_out_sensor.P_psiG = P_w_eco_out_sensor.P_psiA-14.50377377; + P_w_eco_out_sensor.P_MPaG = P_w_eco_out_sensor.P_MPaA-0.1; + P_w_eco_out_sensor.P_kPaG = P_w_eco_out_sensor.P_kPaA-100; + P_w_eco_out_sensor.P_mbar = P_w_eco_out_sensor.P*0.01; + P_w_eco_out_sensor.P_inHg = P_w_eco_out_sensor.P*0.0002953006; + if (P_w_eco_out_sensor.signal_unit == "barA") then + P_w_eco_out_sensor.P_sensor = P_w_eco_out_sensor.P_barA; + elseif (P_w_eco_out_sensor.signal_unit == "barG") then + P_w_eco_out_sensor.P_sensor = P_w_eco_out_sensor.P_barG; + elseif (P_w_eco_out_sensor.signal_unit == "mbar") then + P_w_eco_out_sensor.P_sensor = P_w_eco_out_sensor.P_mbar; + elseif (P_w_eco_out_sensor.signal_unit == "MPaA") then + P_w_eco_out_sensor.P_sensor = P_w_eco_out_sensor.P_MPaA; + elseif (P_w_eco_out_sensor.signal_unit == "kPaA") then + P_w_eco_out_sensor.P_sensor = P_w_eco_out_sensor.P_kPaA; + else + P_w_eco_out_sensor.P_sensor = P_w_eco_out_sensor.P; + end if; + // end of extends + equation + P_w_eco_out_sensor.flow_model.C_in.P = P_w_eco_out_sensor.C_in.P; + P_w_eco_out_sensor.C_in.Q-P_w_eco_out_sensor.flow_model.C_in.Q = 0.0; + P_w_eco_out_sensor.flow_model.C_out.P = P_w_eco_out_sensor.C_out.P; + P_w_eco_out_sensor.C_out.Q-P_w_eco_out_sensor.flow_model.C_out.Q = 0.0; + + // Component evaporator.HX_vaporising + // class MetroscopeModelingLibrary.Power.HeatExchange.NTUHeatExchange + equation + evaporator.HX_vaporising.W_max = evaporator.HX_vaporising.QCpMIN*( + evaporator.HX_vaporising.T_hot_in-evaporator.HX_vaporising.T_cold_in); + evaporator.HX_vaporising.W = evaporator.HX_vaporising.epsilon* + evaporator.HX_vaporising.W_max; + evaporator.HX_vaporising.NTU = evaporator.HX_vaporising.Kth*evaporator.HX_vaporising.S + /evaporator.HX_vaporising.QCpMIN; + evaporator.HX_vaporising.Cr = evaporator.HX_vaporising.QCpMIN/ + evaporator.HX_vaporising.QCpMAX; + if (evaporator.HX_vaporising.config == "shell_and_tubes_two_passes") then + if (evaporator.HX_vaporising.QCp_max_side == "hot") then + evaporator.HX_vaporising.QCpMAX = evaporator.HX_vaporising.Q_hot* + evaporator.HX_vaporising.Cp_hot; + evaporator.HX_vaporising.QCpMIN = evaporator.HX_vaporising.Q_cold* + evaporator.HX_vaporising.Cp_cold; + elseif (evaporator.HX_vaporising.QCp_max_side == "cold") then + evaporator.HX_vaporising.QCpMIN = evaporator.HX_vaporising.Q_hot* + evaporator.HX_vaporising.Cp_hot; + evaporator.HX_vaporising.QCpMAX = evaporator.HX_vaporising.Q_cold* + evaporator.HX_vaporising.Cp_cold; + else + evaporator.HX_vaporising.QCpMIN = min(evaporator.HX_vaporising.Q_hot* + evaporator.HX_vaporising.Cp_hot, evaporator.HX_vaporising.Q_cold* + evaporator.HX_vaporising.Cp_cold); + evaporator.HX_vaporising.QCpMAX = max(evaporator.HX_vaporising.Q_hot* + evaporator.HX_vaporising.Cp_hot, evaporator.HX_vaporising.Q_cold* + evaporator.HX_vaporising.Cp_cold); + end if; + assert(evaporator.HX_vaporising.QCpMIN < evaporator.HX_vaporising.QCpMAX, + "QCPMIN is higher than QCpMAX"); + evaporator.HX_vaporising.epsilon = 2/(1+evaporator.HX_vaporising.Cr+sqrt(1 + +evaporator.HX_vaporising.Cr^2)*(1+exp( -evaporator.HX_vaporising.NTU*(1 + +evaporator.HX_vaporising.Cr^2)^0.5))/(1-exp( -evaporator.HX_vaporising.NTU + *(1+evaporator.HX_vaporising.Cr^2)^0.5))); + elseif (evaporator.HX_vaporising.config == "monophasic_cross_current") then + if (evaporator.HX_vaporising.mixed_fluid == "hot") then + if (evaporator.HX_vaporising.QCp_max_side == "hot") then + evaporator.HX_vaporising.QCpMAX = evaporator.HX_vaporising.Q_hot* + evaporator.HX_vaporising.Cp_hot; + evaporator.HX_vaporising.QCpMIN = evaporator.HX_vaporising.Q_cold* + evaporator.HX_vaporising.Cp_cold; + assert(evaporator.HX_vaporising.QCpMIN < evaporator.HX_vaporising.QCpMAX, + "QCPMIN is higher than QCpMAX"); + evaporator.HX_vaporising.epsilon = (1-exp( -evaporator.HX_vaporising.Cr + *(1-exp( -evaporator.HX_vaporising.NTU))))/evaporator.HX_vaporising.Cr; + elseif (evaporator.HX_vaporising.QCp_max_side == "cold") then + evaporator.HX_vaporising.QCpMIN = evaporator.HX_vaporising.Q_hot* + evaporator.HX_vaporising.Cp_hot; + evaporator.HX_vaporising.QCpMAX = evaporator.HX_vaporising.Q_cold* + evaporator.HX_vaporising.Cp_cold; + assert(evaporator.HX_vaporising.QCpMIN < evaporator.HX_vaporising.QCpMAX, + "QCPMIN is higher than QCpMAX"); + evaporator.HX_vaporising.epsilon = 1-exp( -(1-exp( -evaporator.HX_vaporising.Cr + *evaporator.HX_vaporising.NTU))/evaporator.HX_vaporising.Cr); + else + if (evaporator.HX_vaporising.Q_hot*evaporator.HX_vaporising.Cp_hot < + evaporator.HX_vaporising.Q_cold*evaporator.HX_vaporising.Cp_cold) + then + evaporator.HX_vaporising.QCpMIN = evaporator.HX_vaporising.Q_hot* + evaporator.HX_vaporising.Cp_hot; + evaporator.HX_vaporising.QCpMAX = evaporator.HX_vaporising.Q_cold* + evaporator.HX_vaporising.Cp_cold; + evaporator.HX_vaporising.epsilon = 1-exp( -(1-exp( -evaporator.HX_vaporising.Cr + *evaporator.HX_vaporising.NTU))/evaporator.HX_vaporising.Cr); + else + evaporator.HX_vaporising.QCpMAX = evaporator.HX_vaporising.Q_hot* + evaporator.HX_vaporising.Cp_hot; + evaporator.HX_vaporising.QCpMIN = evaporator.HX_vaporising.Q_cold* + evaporator.HX_vaporising.Cp_cold; + evaporator.HX_vaporising.epsilon = (1-exp( -evaporator.HX_vaporising.Cr + *(1-exp( -evaporator.HX_vaporising.NTU))))/evaporator.HX_vaporising.Cr; + end if; + end if; + else + if (evaporator.HX_vaporising.QCp_max_side == "hot") then + evaporator.HX_vaporising.QCpMAX = evaporator.HX_vaporising.Q_hot* + evaporator.HX_vaporising.Cp_hot; + evaporator.HX_vaporising.QCpMIN = evaporator.HX_vaporising.Q_cold* + evaporator.HX_vaporising.Cp_cold; + assert(evaporator.HX_vaporising.QCpMIN < evaporator.HX_vaporising.QCpMAX, + "QCPMIN is higher than QCpMAX"); + evaporator.HX_vaporising.epsilon = 1-exp( -(1-exp( -evaporator.HX_vaporising.Cr + *evaporator.HX_vaporising.NTU))/evaporator.HX_vaporising.Cr); + elseif (evaporator.HX_vaporising.QCp_max_side == "cold") then + evaporator.HX_vaporising.QCpMIN = evaporator.HX_vaporising.Q_hot* + evaporator.HX_vaporising.Cp_hot; + evaporator.HX_vaporising.QCpMAX = evaporator.HX_vaporising.Q_cold* + evaporator.HX_vaporising.Cp_cold; + assert(evaporator.HX_vaporising.QCpMIN < evaporator.HX_vaporising.QCpMAX, + "QCPMIN is higher than QCpMAX"); + evaporator.HX_vaporising.epsilon = (1-exp( -evaporator.HX_vaporising.Cr + *(1-exp( -evaporator.HX_vaporising.NTU))))/evaporator.HX_vaporising.Cr; + else + if (evaporator.HX_vaporising.Q_hot*evaporator.HX_vaporising.Cp_hot < + evaporator.HX_vaporising.Q_cold*evaporator.HX_vaporising.Cp_cold) + then + evaporator.HX_vaporising.QCpMIN = evaporator.HX_vaporising.Q_hot* + evaporator.HX_vaporising.Cp_hot; + evaporator.HX_vaporising.QCpMAX = evaporator.HX_vaporising.Q_cold* + evaporator.HX_vaporising.Cp_cold; + evaporator.HX_vaporising.epsilon = (1-exp( -evaporator.HX_vaporising.Cr + *(1-exp( -evaporator.HX_vaporising.NTU))))/evaporator.HX_vaporising.Cr; + else + evaporator.HX_vaporising.QCpMAX = evaporator.HX_vaporising.Q_hot* + evaporator.HX_vaporising.Cp_hot; + evaporator.HX_vaporising.QCpMIN = evaporator.HX_vaporising.Q_cold* + evaporator.HX_vaporising.Cp_cold; + evaporator.HX_vaporising.epsilon = 1-exp( -(1-exp( -evaporator.HX_vaporising.Cr + *evaporator.HX_vaporising.NTU))/evaporator.HX_vaporising.Cr); + end if; + end if; + end if; + elseif (evaporator.HX_vaporising.config == "monophasic_counter_current") + then + if (evaporator.HX_vaporising.QCp_max_side == "hot") then + evaporator.HX_vaporising.QCpMAX = evaporator.HX_vaporising.Q_hot* + evaporator.HX_vaporising.Cp_hot; + evaporator.HX_vaporising.QCpMIN = evaporator.HX_vaporising.Q_cold* + evaporator.HX_vaporising.Cp_cold; + elseif (evaporator.HX_vaporising.QCp_max_side == "cold") then + evaporator.HX_vaporising.QCpMIN = evaporator.HX_vaporising.Q_hot* + evaporator.HX_vaporising.Cp_hot; + evaporator.HX_vaporising.QCpMAX = evaporator.HX_vaporising.Q_cold* + evaporator.HX_vaporising.Cp_cold; + else + evaporator.HX_vaporising.QCpMIN = min(evaporator.HX_vaporising.Q_hot* + evaporator.HX_vaporising.Cp_hot, evaporator.HX_vaporising.Q_cold* + evaporator.HX_vaporising.Cp_cold); + evaporator.HX_vaporising.QCpMAX = max(evaporator.HX_vaporising.Q_hot* + evaporator.HX_vaporising.Cp_hot, evaporator.HX_vaporising.Q_cold* + evaporator.HX_vaporising.Cp_cold); + end if; + assert(evaporator.HX_vaporising.QCpMIN < evaporator.HX_vaporising.QCpMAX, + "QCPMIN is higher than QCpMAX"); + evaporator.HX_vaporising.epsilon = (1-exp( -evaporator.HX_vaporising.NTU*(1 + -evaporator.HX_vaporising.Cr)))/(1-evaporator.HX_vaporising.Cr*exp( - + evaporator.HX_vaporising.NTU*(1-evaporator.HX_vaporising.Cr))); + elseif (evaporator.HX_vaporising.config == "evaporator") then + evaporator.HX_vaporising.QCpMAX = 10000000000.0; + evaporator.HX_vaporising.QCpMIN = evaporator.HX_vaporising.Q_hot* + evaporator.HX_vaporising.Cp_hot; + evaporator.HX_vaporising.epsilon = 1-exp( -evaporator.HX_vaporising.NTU); + elseif (evaporator.HX_vaporising.config == "condenser") then + evaporator.HX_vaporising.QCpMAX = 10000000000.0; + evaporator.HX_vaporising.QCpMIN = evaporator.HX_vaporising.Q_cold* + evaporator.HX_vaporising.Cp_cold; + evaporator.HX_vaporising.epsilon = 1-exp( -evaporator.HX_vaporising.NTU); + else + evaporator.HX_vaporising.QCpMAX = 0; + evaporator.HX_vaporising.QCpMIN = 0; + evaporator.HX_vaporising.epsilon = 0; + end if; + assert(evaporator.HX_vaporising.config == "evaporator" or evaporator.HX_vaporising.config + == "condenser" or evaporator.HX_vaporising.config == "shell_and_tubes_two_passes" + or evaporator.HX_vaporising.config == "monophasic_cross_current" or + evaporator.HX_vaporising.config == "monophasic_counter_current", + "config parameter of NTUHeatExchange should be one of 'shell_and_tubes_two_passes', 'condenser', 'evaporator', 'monophasic_cross_current', or 'monophasic_counter_current'"); + assert(evaporator.HX_vaporising.mixed_fluid == "hot" or evaporator.HX_vaporising.mixed_fluid + == "cold", "mixed_fluid parameter of NTUHeatExchange should be 'hot' or 'cold'"); + assert(evaporator.HX_vaporising.W > 0, "Heat exchange is done in the wrong direction", + AssertionLevel.warning); + + // Component evaporator.hot_side_vaporising + // class MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + evaporator.hot_side_vaporising.h_in = inStream(evaporator.hot_side_vaporising.C_in.h_outflow); + evaporator.hot_side_vaporising.h_out = evaporator.hot_side_vaporising.C_out.h_outflow; + evaporator.hot_side_vaporising.Q = evaporator.hot_side_vaporising.C_in.Q; + evaporator.hot_side_vaporising.P_in = evaporator.hot_side_vaporising.C_in.P; + evaporator.hot_side_vaporising.P_out = evaporator.hot_side_vaporising.C_out.P; + evaporator.hot_side_vaporising.Xi = inStream(evaporator.hot_side_vaporising.C_in.Xi_outflow); + evaporator.hot_side_vaporising.C_in.h_outflow = 1000000.0; + evaporator.hot_side_vaporising.C_in.Xi_outflow = zeros(5); + evaporator.hot_side_vaporising.state_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (evaporator.hot_side_vaporising.P_in, evaporator.hot_side_vaporising.h_in, + evaporator.hot_side_vaporising.Xi); + evaporator.hot_side_vaporising.state_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (evaporator.hot_side_vaporising.P_out, evaporator.hot_side_vaporising.h_out, + evaporator.hot_side_vaporising.Xi); + evaporator.hot_side_vaporising.T_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + evaporator.hot_side_vaporising.state_in); + evaporator.hot_side_vaporising.T_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + evaporator.hot_side_vaporising.state_out); + evaporator.hot_side_vaporising.rho_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + evaporator.hot_side_vaporising.state_in); + evaporator.hot_side_vaporising.rho_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + evaporator.hot_side_vaporising.state_out); + evaporator.hot_side_vaporising.rho = (evaporator.hot_side_vaporising.rho_in + +evaporator.hot_side_vaporising.rho_out)/2; + evaporator.hot_side_vaporising.Qv_in = evaporator.hot_side_vaporising.Q/ + evaporator.hot_side_vaporising.rho_in; + evaporator.hot_side_vaporising.Qv_out = -evaporator.hot_side_vaporising.Q + /evaporator.hot_side_vaporising.rho_out; + evaporator.hot_side_vaporising.Qv = (evaporator.hot_side_vaporising.Qv_in- + evaporator.hot_side_vaporising.Qv_out)/2; + evaporator.hot_side_vaporising.P_out-evaporator.hot_side_vaporising.P_in + = evaporator.hot_side_vaporising.DP; + evaporator.hot_side_vaporising.Q*(evaporator.hot_side_vaporising.h_out- + evaporator.hot_side_vaporising.h_in) = evaporator.hot_side_vaporising.W; + evaporator.hot_side_vaporising.h_out-evaporator.hot_side_vaporising.h_in + = evaporator.hot_side_vaporising.DH; + evaporator.hot_side_vaporising.T_out-evaporator.hot_side_vaporising.T_in + = evaporator.hot_side_vaporising.DT; + evaporator.hot_side_vaporising.C_in.Q+evaporator.hot_side_vaporising.C_out.Q + = 0; + evaporator.hot_side_vaporising.C_out.Xi_outflow = inStream( + evaporator.hot_side_vaporising.C_in.Xi_outflow); + assert(evaporator.hot_side_vaporising.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPFlowModel + equation + evaporator.hot_side_vaporising.P = evaporator.hot_side_vaporising.P_in; + evaporator.hot_side_vaporising.DP = 0; + // end of extends + equation + evaporator.hot_side_vaporising.W = evaporator.hot_side_vaporising.W_input; + + // Component evaporator.cold_side_vaporising + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + evaporator.cold_side_vaporising.h_in = inStream(evaporator.cold_side_vaporising.C_in.h_outflow); + evaporator.cold_side_vaporising.h_out = evaporator.cold_side_vaporising.C_out.h_outflow; + evaporator.cold_side_vaporising.Q = evaporator.cold_side_vaporising.C_in.Q; + evaporator.cold_side_vaporising.P_in = evaporator.cold_side_vaporising.C_in.P; + evaporator.cold_side_vaporising.P_out = evaporator.cold_side_vaporising.C_out.P; + evaporator.cold_side_vaporising.Xi = inStream(evaporator.cold_side_vaporising.C_in.Xi_outflow); + evaporator.cold_side_vaporising.C_in.h_outflow = 1000000.0; + evaporator.cold_side_vaporising.C_in.Xi_outflow = zeros(0); + evaporator.cold_side_vaporising.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (evaporator.cold_side_vaporising.P_in, evaporator.cold_side_vaporising.h_in, + evaporator.cold_side_vaporising.Xi, 0, 0); + evaporator.cold_side_vaporising.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (evaporator.cold_side_vaporising.P_out, evaporator.cold_side_vaporising.h_out, + evaporator.cold_side_vaporising.Xi, 0, 0); + evaporator.cold_side_vaporising.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + evaporator.cold_side_vaporising.state_in); + evaporator.cold_side_vaporising.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + evaporator.cold_side_vaporising.state_out); + evaporator.cold_side_vaporising.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + evaporator.cold_side_vaporising.state_in); + evaporator.cold_side_vaporising.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + evaporator.cold_side_vaporising.state_out); + evaporator.cold_side_vaporising.rho = (evaporator.cold_side_vaporising.rho_in + +evaporator.cold_side_vaporising.rho_out)/2; + evaporator.cold_side_vaporising.Qv_in = evaporator.cold_side_vaporising.Q/ + evaporator.cold_side_vaporising.rho_in; + evaporator.cold_side_vaporising.Qv_out = -evaporator.cold_side_vaporising.Q + /evaporator.cold_side_vaporising.rho_out; + evaporator.cold_side_vaporising.Qv = (evaporator.cold_side_vaporising.Qv_in + -evaporator.cold_side_vaporising.Qv_out)/2; + evaporator.cold_side_vaporising.P_out-evaporator.cold_side_vaporising.P_in + = evaporator.cold_side_vaporising.DP; + evaporator.cold_side_vaporising.Q*(evaporator.cold_side_vaporising.h_out- + evaporator.cold_side_vaporising.h_in) = evaporator.cold_side_vaporising.W; + evaporator.cold_side_vaporising.h_out-evaporator.cold_side_vaporising.h_in + = evaporator.cold_side_vaporising.DH; + evaporator.cold_side_vaporising.T_out-evaporator.cold_side_vaporising.T_in + = evaporator.cold_side_vaporising.DT; + evaporator.cold_side_vaporising.C_in.Q+evaporator.cold_side_vaporising.C_out.Q + = 0; + evaporator.cold_side_vaporising.C_out.Xi_outflow = inStream( + evaporator.cold_side_vaporising.C_in.Xi_outflow); + assert(evaporator.cold_side_vaporising.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPFlowModel + equation + evaporator.cold_side_vaporising.P = evaporator.cold_side_vaporising.P_in; + evaporator.cold_side_vaporising.DP = 0; + // end of extends + equation + evaporator.cold_side_vaporising.W = evaporator.cold_side_vaporising.W_input; + + // Component evaporator.hot_side_heating + // class MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + evaporator.hot_side_heating.h_in = inStream(evaporator.hot_side_heating.C_in.h_outflow); + evaporator.hot_side_heating.h_out = evaporator.hot_side_heating.C_out.h_outflow; + evaporator.hot_side_heating.Q = evaporator.hot_side_heating.C_in.Q; + evaporator.hot_side_heating.P_in = evaporator.hot_side_heating.C_in.P; + evaporator.hot_side_heating.P_out = evaporator.hot_side_heating.C_out.P; + evaporator.hot_side_heating.Xi = inStream(evaporator.hot_side_heating.C_in.Xi_outflow); + evaporator.hot_side_heating.C_in.h_outflow = 1000000.0; + evaporator.hot_side_heating.C_in.Xi_outflow = zeros(5); + evaporator.hot_side_heating.state_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (evaporator.hot_side_heating.P_in, evaporator.hot_side_heating.h_in, + evaporator.hot_side_heating.Xi); + evaporator.hot_side_heating.state_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (evaporator.hot_side_heating.P_out, evaporator.hot_side_heating.h_out, + evaporator.hot_side_heating.Xi); + evaporator.hot_side_heating.T_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + evaporator.hot_side_heating.state_in); + evaporator.hot_side_heating.T_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + evaporator.hot_side_heating.state_out); + evaporator.hot_side_heating.rho_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + evaporator.hot_side_heating.state_in); + evaporator.hot_side_heating.rho_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + evaporator.hot_side_heating.state_out); + evaporator.hot_side_heating.rho = (evaporator.hot_side_heating.rho_in+ + evaporator.hot_side_heating.rho_out)/2; + evaporator.hot_side_heating.Qv_in = evaporator.hot_side_heating.Q/ + evaporator.hot_side_heating.rho_in; + evaporator.hot_side_heating.Qv_out = -evaporator.hot_side_heating.Q/ + evaporator.hot_side_heating.rho_out; + evaporator.hot_side_heating.Qv = (evaporator.hot_side_heating.Qv_in- + evaporator.hot_side_heating.Qv_out)/2; + evaporator.hot_side_heating.P_out-evaporator.hot_side_heating.P_in = + evaporator.hot_side_heating.DP; + evaporator.hot_side_heating.Q*(evaporator.hot_side_heating.h_out- + evaporator.hot_side_heating.h_in) = evaporator.hot_side_heating.W; + evaporator.hot_side_heating.h_out-evaporator.hot_side_heating.h_in = + evaporator.hot_side_heating.DH; + evaporator.hot_side_heating.T_out-evaporator.hot_side_heating.T_in = + evaporator.hot_side_heating.DT; + evaporator.hot_side_heating.C_in.Q+evaporator.hot_side_heating.C_out.Q = 0; + evaporator.hot_side_heating.C_out.Xi_outflow = inStream(evaporator.hot_side_heating.C_in.Xi_outflow); + assert(evaporator.hot_side_heating.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPFlowModel + equation + evaporator.hot_side_heating.P = evaporator.hot_side_heating.P_in; + evaporator.hot_side_heating.DP = 0; + // end of extends + equation + evaporator.hot_side_heating.W = evaporator.hot_side_heating.W_input; + + // Component evaporator.cold_side_heating + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + evaporator.cold_side_heating.h_in = inStream(evaporator.cold_side_heating.C_in.h_outflow); + evaporator.cold_side_heating.h_out = evaporator.cold_side_heating.C_out.h_outflow; + evaporator.cold_side_heating.Q = evaporator.cold_side_heating.C_in.Q; + evaporator.cold_side_heating.P_in = evaporator.cold_side_heating.C_in.P; + evaporator.cold_side_heating.P_out = evaporator.cold_side_heating.C_out.P; + evaporator.cold_side_heating.Xi = inStream(evaporator.cold_side_heating.C_in.Xi_outflow); + evaporator.cold_side_heating.C_in.h_outflow = 1000000.0; + evaporator.cold_side_heating.C_in.Xi_outflow = zeros(0); + evaporator.cold_side_heating.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (evaporator.cold_side_heating.P_in, evaporator.cold_side_heating.h_in, + evaporator.cold_side_heating.Xi, 0, 0); + evaporator.cold_side_heating.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (evaporator.cold_side_heating.P_out, evaporator.cold_side_heating.h_out, + evaporator.cold_side_heating.Xi, 0, 0); + evaporator.cold_side_heating.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + evaporator.cold_side_heating.state_in); + evaporator.cold_side_heating.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + evaporator.cold_side_heating.state_out); + evaporator.cold_side_heating.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + evaporator.cold_side_heating.state_in); + evaporator.cold_side_heating.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + evaporator.cold_side_heating.state_out); + evaporator.cold_side_heating.rho = (evaporator.cold_side_heating.rho_in+ + evaporator.cold_side_heating.rho_out)/2; + evaporator.cold_side_heating.Qv_in = evaporator.cold_side_heating.Q/ + evaporator.cold_side_heating.rho_in; + evaporator.cold_side_heating.Qv_out = -evaporator.cold_side_heating.Q/ + evaporator.cold_side_heating.rho_out; + evaporator.cold_side_heating.Qv = (evaporator.cold_side_heating.Qv_in- + evaporator.cold_side_heating.Qv_out)/2; + evaporator.cold_side_heating.P_out-evaporator.cold_side_heating.P_in = + evaporator.cold_side_heating.DP; + evaporator.cold_side_heating.Q*(evaporator.cold_side_heating.h_out- + evaporator.cold_side_heating.h_in) = evaporator.cold_side_heating.W; + evaporator.cold_side_heating.h_out-evaporator.cold_side_heating.h_in = + evaporator.cold_side_heating.DH; + evaporator.cold_side_heating.T_out-evaporator.cold_side_heating.T_in = + evaporator.cold_side_heating.DT; + evaporator.cold_side_heating.C_in.Q+evaporator.cold_side_heating.C_out.Q + = 0; + evaporator.cold_side_heating.C_out.Xi_outflow = inStream(evaporator.cold_side_heating.C_in.Xi_outflow); + assert(evaporator.cold_side_heating.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPFlowModel + equation + evaporator.cold_side_heating.P = evaporator.cold_side_heating.P_in; + evaporator.cold_side_heating.DP = 0; + // end of extends + equation + evaporator.cold_side_heating.W = evaporator.cold_side_heating.W_input; + + // Component evaporator + // class MetroscopeModelingLibrary.MultiFluid.HeatExchangers.Evaporator + equation + if ( not evaporator.faulty) then + evaporator.fouling = 0; + end if; + evaporator.Q_cold = evaporator.cold_side_heating.Q; + evaporator.Q_hot = evaporator.hot_side_vaporising.Q; + evaporator.T_cold_in = evaporator.cold_side_heating.T_in; + evaporator.T_cold_out = evaporator.cold_side_vaporising.T_out; + evaporator.T_hot_in = evaporator.hot_side_vaporising.T_in; + evaporator.T_hot_out = evaporator.hot_side_heating.T_out; + evaporator.Tsat = evaporator.cold_side_heating.T_out; + evaporator.h_vap_sat = Modelica.Media.Water.WaterIF97_ph.dewEnthalpy_Unique22 + ( + Modelica.Media.Water.WaterIF97_ph.setSat_p_Unique23(evaporator.cold_side_heating.P_in)); + evaporator.h_liq_sat = Modelica.Media.Water.WaterIF97_ph.bubbleEnthalpy_Unique24 + ( + Modelica.Media.Water.WaterIF97_ph.setSat_p_Unique23(evaporator.cold_side_heating.P_in)); + evaporator.T_approach = evaporator.cold_side_heating.DT; + evaporator.hot_side_heating.W+evaporator.cold_side_heating.W = 0; + evaporator.cold_side_heating.W = evaporator.W_heating; + if (evaporator.cold_side_heating.h_in < evaporator.h_liq_sat) then + evaporator.cold_side_heating.h_out = evaporator.h_liq_sat; + else + evaporator.cold_side_heating.h_out = evaporator.cold_side_heating.h_in; + end if; + evaporator.hot_side_vaporising.W+evaporator.cold_side_vaporising.W = 0; + evaporator.cold_side_vaporising.W = evaporator.W_vap; + evaporator.cold_side_vaporising.h_out = evaporator.x_steam_out* + evaporator.h_vap_sat+(1-evaporator.x_steam_out)*evaporator.h_liq_sat; + evaporator.HX_vaporising.W = evaporator.W_vap; + evaporator.HX_vaporising.Kth = evaporator.Kth*(1-evaporator.fouling/100); + evaporator.HX_vaporising.S = evaporator.S; + evaporator.HX_vaporising.Q_cold = evaporator.Q_cold; + evaporator.HX_vaporising.Q_hot = evaporator.Q_hot; + evaporator.HX_vaporising.T_cold_in = evaporator.Tsat; + evaporator.HX_vaporising.T_hot_in = evaporator.hot_side_vaporising.T_in; + evaporator.HX_vaporising.Cp_cold = 0; + evaporator.HX_vaporising.Cp_hot = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.specificHeatCapacityCp_Unique18 + ( + evaporator.hot_side_vaporising.state_in); + evaporator.DT_hot_in_side = evaporator.T_hot_in-evaporator.T_cold_out; + evaporator.DT_hot_out_side = evaporator.T_hot_out-evaporator.T_cold_in; + evaporator.pinch = min(evaporator.DT_hot_in_side, evaporator.DT_hot_out_side); + assert(evaporator.pinch > 0, "A negative pinch is reached", AssertionLevel. + warning); + assert(evaporator.pinch > 1 or evaporator.pinch < 0, "A very low pinch (<1) is reached", + AssertionLevel.warning); + evaporator.cold_side_heating.C_in.P = evaporator.C_cold_in.P; + evaporator.C_cold_in.Q-evaporator.cold_side_heating.C_in.Q = 0.0; + evaporator.cold_side_vaporising.C_out.P = evaporator.C_cold_out.P; + evaporator.C_cold_out.Q-evaporator.cold_side_vaporising.C_out.Q = 0.0; + evaporator.hot_side_vaporising.C_in.P = evaporator.C_hot_in.P; + evaporator.C_hot_in.Q-evaporator.hot_side_vaporising.C_in.Q = 0.0; + evaporator.hot_side_heating.C_out.P = evaporator.C_hot_out.P; + evaporator.C_hot_out.Q-evaporator.hot_side_heating.C_out.Q = 0.0; + evaporator.cold_side_vaporising.C_in.P = evaporator.cold_side_heating.C_out.P; + evaporator.cold_side_heating.C_out.Q+evaporator.cold_side_vaporising.C_in.Q + = 0.0; + evaporator.hot_side_vaporising.C_out.P = evaporator.hot_side_heating.C_in.P; + evaporator.hot_side_heating.C_in.Q+evaporator.hot_side_vaporising.C_out.Q = + 0.0; + + // Component P_w_evap_out_sensor.flow_model + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + P_w_evap_out_sensor.flow_model.h_in = inStream(P_w_evap_out_sensor.flow_model.C_in.h_outflow); + P_w_evap_out_sensor.flow_model.h_out = P_w_evap_out_sensor.flow_model.C_out.h_outflow; + P_w_evap_out_sensor.flow_model.Q = P_w_evap_out_sensor.flow_model.C_in.Q; + P_w_evap_out_sensor.flow_model.P_in = P_w_evap_out_sensor.flow_model.C_in.P; + P_w_evap_out_sensor.flow_model.P_out = P_w_evap_out_sensor.flow_model.C_out.P; + P_w_evap_out_sensor.flow_model.Xi = inStream(P_w_evap_out_sensor.flow_model.C_in.Xi_outflow); + P_w_evap_out_sensor.flow_model.C_in.h_outflow = 1000000.0; + P_w_evap_out_sensor.flow_model.C_in.Xi_outflow = zeros(0); + P_w_evap_out_sensor.flow_model.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_w_evap_out_sensor.flow_model.P_in, P_w_evap_out_sensor.flow_model.h_in, + P_w_evap_out_sensor.flow_model.Xi, 0, 0); + P_w_evap_out_sensor.flow_model.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_w_evap_out_sensor.flow_model.P_out, P_w_evap_out_sensor.flow_model.h_out, + P_w_evap_out_sensor.flow_model.Xi, 0, 0); + P_w_evap_out_sensor.flow_model.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + P_w_evap_out_sensor.flow_model.state_in); + P_w_evap_out_sensor.flow_model.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + P_w_evap_out_sensor.flow_model.state_out); + P_w_evap_out_sensor.flow_model.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + P_w_evap_out_sensor.flow_model.state_in); + P_w_evap_out_sensor.flow_model.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + P_w_evap_out_sensor.flow_model.state_out); + P_w_evap_out_sensor.flow_model.rho = (P_w_evap_out_sensor.flow_model.rho_in + +P_w_evap_out_sensor.flow_model.rho_out)/2; + P_w_evap_out_sensor.flow_model.Qv_in = P_w_evap_out_sensor.flow_model.Q/ + P_w_evap_out_sensor.flow_model.rho_in; + P_w_evap_out_sensor.flow_model.Qv_out = -P_w_evap_out_sensor.flow_model.Q + /P_w_evap_out_sensor.flow_model.rho_out; + P_w_evap_out_sensor.flow_model.Qv = (P_w_evap_out_sensor.flow_model.Qv_in- + P_w_evap_out_sensor.flow_model.Qv_out)/2; + P_w_evap_out_sensor.flow_model.P_out-P_w_evap_out_sensor.flow_model.P_in + = P_w_evap_out_sensor.flow_model.DP; + P_w_evap_out_sensor.flow_model.Q*(P_w_evap_out_sensor.flow_model.h_out- + P_w_evap_out_sensor.flow_model.h_in) = P_w_evap_out_sensor.flow_model.W; + P_w_evap_out_sensor.flow_model.h_out-P_w_evap_out_sensor.flow_model.h_in + = P_w_evap_out_sensor.flow_model.DH; + P_w_evap_out_sensor.flow_model.T_out-P_w_evap_out_sensor.flow_model.T_in + = P_w_evap_out_sensor.flow_model.DT; + P_w_evap_out_sensor.flow_model.C_in.Q+P_w_evap_out_sensor.flow_model.C_out.Q + = 0; + P_w_evap_out_sensor.flow_model.C_out.Xi_outflow = inStream( + P_w_evap_out_sensor.flow_model.C_in.Xi_outflow); + assert(P_w_evap_out_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + P_w_evap_out_sensor.flow_model.P = P_w_evap_out_sensor.flow_model.P_in; + P_w_evap_out_sensor.flow_model.h = P_w_evap_out_sensor.flow_model.h_in; + P_w_evap_out_sensor.flow_model.T = P_w_evap_out_sensor.flow_model.T_in; + P_w_evap_out_sensor.flow_model.DP = 0; + P_w_evap_out_sensor.flow_model.DH = 0; + // end of extends + + // Component P_w_evap_out_sensor + // class MetroscopeModelingLibrary.Sensors_Control.WaterSteam.PressureSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not P_w_evap_out_sensor.faulty_flow_rate) then + P_w_evap_out_sensor.mass_flow_rate_bias = 0; + end if; + P_w_evap_out_sensor.P = P_w_evap_out_sensor.C_in.P; + P_w_evap_out_sensor.Q = P_w_evap_out_sensor.C_in.Q+P_w_evap_out_sensor.mass_flow_rate_bias; + P_w_evap_out_sensor.Xi = inStream(P_w_evap_out_sensor.C_in.Xi_outflow); + P_w_evap_out_sensor.h = inStream(P_w_evap_out_sensor.C_in.h_outflow); + P_w_evap_out_sensor.state = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_w_evap_out_sensor.P, P_w_evap_out_sensor.h, P_w_evap_out_sensor.Xi, 0, + 0); + assert(P_w_evap_out_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.PressureSensor + equation + P_w_evap_out_sensor.P_barA = P_w_evap_out_sensor.P*1E-05; + P_w_evap_out_sensor.P_psiA = P_w_evap_out_sensor.P*0.000145038; + P_w_evap_out_sensor.P_MPaA = P_w_evap_out_sensor.P*1E-06; + P_w_evap_out_sensor.P_kPaA = P_w_evap_out_sensor.P*0.001; + P_w_evap_out_sensor.P_barG = P_w_evap_out_sensor.P_barA-1; + P_w_evap_out_sensor.P_psiG = P_w_evap_out_sensor.P_psiA-14.50377377; + P_w_evap_out_sensor.P_MPaG = P_w_evap_out_sensor.P_MPaA-0.1; + P_w_evap_out_sensor.P_kPaG = P_w_evap_out_sensor.P_kPaA-100; + P_w_evap_out_sensor.P_mbar = P_w_evap_out_sensor.P*0.01; + P_w_evap_out_sensor.P_inHg = P_w_evap_out_sensor.P*0.0002953006; + if (P_w_evap_out_sensor.signal_unit == "barA") then + P_w_evap_out_sensor.P_sensor = P_w_evap_out_sensor.P_barA; + elseif (P_w_evap_out_sensor.signal_unit == "barG") then + P_w_evap_out_sensor.P_sensor = P_w_evap_out_sensor.P_barG; + elseif (P_w_evap_out_sensor.signal_unit == "mbar") then + P_w_evap_out_sensor.P_sensor = P_w_evap_out_sensor.P_mbar; + elseif (P_w_evap_out_sensor.signal_unit == "MPaA") then + P_w_evap_out_sensor.P_sensor = P_w_evap_out_sensor.P_MPaA; + elseif (P_w_evap_out_sensor.signal_unit == "kPaA") then + P_w_evap_out_sensor.P_sensor = P_w_evap_out_sensor.P_kPaA; + else + P_w_evap_out_sensor.P_sensor = P_w_evap_out_sensor.P; + end if; + // end of extends + equation + P_w_evap_out_sensor.flow_model.C_in.P = P_w_evap_out_sensor.C_in.P; + P_w_evap_out_sensor.C_in.Q-P_w_evap_out_sensor.flow_model.C_in.Q = 0.0; + P_w_evap_out_sensor.flow_model.C_out.P = P_w_evap_out_sensor.C_out.P; + P_w_evap_out_sensor.C_out.Q-P_w_evap_out_sensor.flow_model.C_out.Q = 0.0; + + // Component HPsuperheater1.HX + // class MetroscopeModelingLibrary.Power.HeatExchange.NTUHeatExchange + equation + HPsuperheater1.HX.W_max = HPsuperheater1.HX.QCpMIN*(HPsuperheater1.HX.T_hot_in + -HPsuperheater1.HX.T_cold_in); + HPsuperheater1.HX.W = HPsuperheater1.HX.epsilon*HPsuperheater1.HX.W_max; + HPsuperheater1.HX.NTU = HPsuperheater1.HX.Kth*HPsuperheater1.HX.S/ + HPsuperheater1.HX.QCpMIN; + HPsuperheater1.HX.Cr = HPsuperheater1.HX.QCpMIN/HPsuperheater1.HX.QCpMAX; + if (HPsuperheater1.HX.config == "shell_and_tubes_two_passes") then + if (HPsuperheater1.HX.QCp_max_side == "hot") then + HPsuperheater1.HX.QCpMAX = HPsuperheater1.HX.Q_hot*HPsuperheater1.HX.Cp_hot; + HPsuperheater1.HX.QCpMIN = HPsuperheater1.HX.Q_cold*HPsuperheater1.HX.Cp_cold; + elseif (HPsuperheater1.HX.QCp_max_side == "cold") then + HPsuperheater1.HX.QCpMIN = HPsuperheater1.HX.Q_hot*HPsuperheater1.HX.Cp_hot; + HPsuperheater1.HX.QCpMAX = HPsuperheater1.HX.Q_cold*HPsuperheater1.HX.Cp_cold; + else + HPsuperheater1.HX.QCpMIN = min(HPsuperheater1.HX.Q_hot*HPsuperheater1.HX.Cp_hot, + HPsuperheater1.HX.Q_cold*HPsuperheater1.HX.Cp_cold); + HPsuperheater1.HX.QCpMAX = max(HPsuperheater1.HX.Q_hot*HPsuperheater1.HX.Cp_hot, + HPsuperheater1.HX.Q_cold*HPsuperheater1.HX.Cp_cold); + end if; + assert(HPsuperheater1.HX.QCpMIN < HPsuperheater1.HX.QCpMAX, + "QCPMIN is higher than QCpMAX"); + HPsuperheater1.HX.epsilon = 2/(1+HPsuperheater1.HX.Cr+sqrt(1+ + HPsuperheater1.HX.Cr^2)*(1+exp( -HPsuperheater1.HX.NTU*(1+ + HPsuperheater1.HX.Cr^2)^0.5))/(1-exp( -HPsuperheater1.HX.NTU*(1+ + HPsuperheater1.HX.Cr^2)^0.5))); + elseif (HPsuperheater1.HX.config == "monophasic_cross_current") then + if (HPsuperheater1.HX.mixed_fluid == "hot") then + if (HPsuperheater1.HX.QCp_max_side == "hot") then + HPsuperheater1.HX.QCpMAX = HPsuperheater1.HX.Q_hot*HPsuperheater1.HX.Cp_hot; + HPsuperheater1.HX.QCpMIN = HPsuperheater1.HX.Q_cold*HPsuperheater1.HX.Cp_cold; + assert(HPsuperheater1.HX.QCpMIN < HPsuperheater1.HX.QCpMAX, + "QCPMIN is higher than QCpMAX"); + HPsuperheater1.HX.epsilon = (1-exp( -HPsuperheater1.HX.Cr*(1-exp( - + HPsuperheater1.HX.NTU))))/HPsuperheater1.HX.Cr; + elseif (HPsuperheater1.HX.QCp_max_side == "cold") then + HPsuperheater1.HX.QCpMIN = HPsuperheater1.HX.Q_hot*HPsuperheater1.HX.Cp_hot; + HPsuperheater1.HX.QCpMAX = HPsuperheater1.HX.Q_cold*HPsuperheater1.HX.Cp_cold; + assert(HPsuperheater1.HX.QCpMIN < HPsuperheater1.HX.QCpMAX, + "QCPMIN is higher than QCpMAX"); + HPsuperheater1.HX.epsilon = 1-exp( -(1-exp( -HPsuperheater1.HX.Cr* + HPsuperheater1.HX.NTU))/HPsuperheater1.HX.Cr); + else + if (HPsuperheater1.HX.Q_hot*HPsuperheater1.HX.Cp_hot < + HPsuperheater1.HX.Q_cold*HPsuperheater1.HX.Cp_cold) then + HPsuperheater1.HX.QCpMIN = HPsuperheater1.HX.Q_hot*HPsuperheater1.HX.Cp_hot; + HPsuperheater1.HX.QCpMAX = HPsuperheater1.HX.Q_cold*HPsuperheater1.HX.Cp_cold; + HPsuperheater1.HX.epsilon = 1-exp( -(1-exp( -HPsuperheater1.HX.Cr* + HPsuperheater1.HX.NTU))/HPsuperheater1.HX.Cr); + else + HPsuperheater1.HX.QCpMAX = HPsuperheater1.HX.Q_hot*HPsuperheater1.HX.Cp_hot; + HPsuperheater1.HX.QCpMIN = HPsuperheater1.HX.Q_cold*HPsuperheater1.HX.Cp_cold; + HPsuperheater1.HX.epsilon = (1-exp( -HPsuperheater1.HX.Cr*(1-exp( - + HPsuperheater1.HX.NTU))))/HPsuperheater1.HX.Cr; + end if; + end if; + else + if (HPsuperheater1.HX.QCp_max_side == "hot") then + HPsuperheater1.HX.QCpMAX = HPsuperheater1.HX.Q_hot*HPsuperheater1.HX.Cp_hot; + HPsuperheater1.HX.QCpMIN = HPsuperheater1.HX.Q_cold*HPsuperheater1.HX.Cp_cold; + assert(HPsuperheater1.HX.QCpMIN < HPsuperheater1.HX.QCpMAX, + "QCPMIN is higher than QCpMAX"); + HPsuperheater1.HX.epsilon = 1-exp( -(1-exp( -HPsuperheater1.HX.Cr* + HPsuperheater1.HX.NTU))/HPsuperheater1.HX.Cr); + elseif (HPsuperheater1.HX.QCp_max_side == "cold") then + HPsuperheater1.HX.QCpMIN = HPsuperheater1.HX.Q_hot*HPsuperheater1.HX.Cp_hot; + HPsuperheater1.HX.QCpMAX = HPsuperheater1.HX.Q_cold*HPsuperheater1.HX.Cp_cold; + assert(HPsuperheater1.HX.QCpMIN < HPsuperheater1.HX.QCpMAX, + "QCPMIN is higher than QCpMAX"); + HPsuperheater1.HX.epsilon = (1-exp( -HPsuperheater1.HX.Cr*(1-exp( - + HPsuperheater1.HX.NTU))))/HPsuperheater1.HX.Cr; + else + if (HPsuperheater1.HX.Q_hot*HPsuperheater1.HX.Cp_hot < + HPsuperheater1.HX.Q_cold*HPsuperheater1.HX.Cp_cold) then + HPsuperheater1.HX.QCpMIN = HPsuperheater1.HX.Q_hot*HPsuperheater1.HX.Cp_hot; + HPsuperheater1.HX.QCpMAX = HPsuperheater1.HX.Q_cold*HPsuperheater1.HX.Cp_cold; + HPsuperheater1.HX.epsilon = (1-exp( -HPsuperheater1.HX.Cr*(1-exp( - + HPsuperheater1.HX.NTU))))/HPsuperheater1.HX.Cr; + else + HPsuperheater1.HX.QCpMAX = HPsuperheater1.HX.Q_hot*HPsuperheater1.HX.Cp_hot; + HPsuperheater1.HX.QCpMIN = HPsuperheater1.HX.Q_cold*HPsuperheater1.HX.Cp_cold; + HPsuperheater1.HX.epsilon = 1-exp( -(1-exp( -HPsuperheater1.HX.Cr* + HPsuperheater1.HX.NTU))/HPsuperheater1.HX.Cr); + end if; + end if; + end if; + elseif (HPsuperheater1.HX.config == "monophasic_counter_current") then + if (HPsuperheater1.HX.QCp_max_side == "hot") then + HPsuperheater1.HX.QCpMAX = HPsuperheater1.HX.Q_hot*HPsuperheater1.HX.Cp_hot; + HPsuperheater1.HX.QCpMIN = HPsuperheater1.HX.Q_cold*HPsuperheater1.HX.Cp_cold; + elseif (HPsuperheater1.HX.QCp_max_side == "cold") then + HPsuperheater1.HX.QCpMIN = HPsuperheater1.HX.Q_hot*HPsuperheater1.HX.Cp_hot; + HPsuperheater1.HX.QCpMAX = HPsuperheater1.HX.Q_cold*HPsuperheater1.HX.Cp_cold; + else + HPsuperheater1.HX.QCpMIN = min(HPsuperheater1.HX.Q_hot*HPsuperheater1.HX.Cp_hot, + HPsuperheater1.HX.Q_cold*HPsuperheater1.HX.Cp_cold); + HPsuperheater1.HX.QCpMAX = max(HPsuperheater1.HX.Q_hot*HPsuperheater1.HX.Cp_hot, + HPsuperheater1.HX.Q_cold*HPsuperheater1.HX.Cp_cold); + end if; + assert(HPsuperheater1.HX.QCpMIN < HPsuperheater1.HX.QCpMAX, + "QCPMIN is higher than QCpMAX"); + HPsuperheater1.HX.epsilon = (1-exp( -HPsuperheater1.HX.NTU*(1- + HPsuperheater1.HX.Cr)))/(1-HPsuperheater1.HX.Cr*exp( -HPsuperheater1.HX.NTU + *(1-HPsuperheater1.HX.Cr))); + elseif (HPsuperheater1.HX.config == "evaporator") then + HPsuperheater1.HX.QCpMAX = 10000000000.0; + HPsuperheater1.HX.QCpMIN = HPsuperheater1.HX.Q_hot*HPsuperheater1.HX.Cp_hot; + HPsuperheater1.HX.epsilon = 1-exp( -HPsuperheater1.HX.NTU); + elseif (HPsuperheater1.HX.config == "condenser") then + HPsuperheater1.HX.QCpMAX = 10000000000.0; + HPsuperheater1.HX.QCpMIN = HPsuperheater1.HX.Q_cold*HPsuperheater1.HX.Cp_cold; + HPsuperheater1.HX.epsilon = 1-exp( -HPsuperheater1.HX.NTU); + else + HPsuperheater1.HX.QCpMAX = 0; + HPsuperheater1.HX.QCpMIN = 0; + HPsuperheater1.HX.epsilon = 0; + end if; + assert(HPsuperheater1.HX.config == "evaporator" or HPsuperheater1.HX.config + == "condenser" or HPsuperheater1.HX.config == "shell_and_tubes_two_passes" + or HPsuperheater1.HX.config == "monophasic_cross_current" or + HPsuperheater1.HX.config == "monophasic_counter_current", "config parameter of NTUHeatExchange should be one of 'shell_and_tubes_two_passes', 'condenser', 'evaporator', 'monophasic_cross_current', or 'monophasic_counter_current'"); + assert(HPsuperheater1.HX.mixed_fluid == "hot" or HPsuperheater1.HX.mixed_fluid + == "cold", "mixed_fluid parameter of NTUHeatExchange should be 'hot' or 'cold'"); + assert(HPsuperheater1.HX.W > 0, "Heat exchange is done in the wrong direction", + AssertionLevel.warning); + + // Component HPsuperheater1.hot_side + // class MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + HPsuperheater1.hot_side.h_in = inStream(HPsuperheater1.hot_side.C_in.h_outflow); + HPsuperheater1.hot_side.h_out = HPsuperheater1.hot_side.C_out.h_outflow; + HPsuperheater1.hot_side.Q = HPsuperheater1.hot_side.C_in.Q; + HPsuperheater1.hot_side.P_in = HPsuperheater1.hot_side.C_in.P; + HPsuperheater1.hot_side.P_out = HPsuperheater1.hot_side.C_out.P; + HPsuperheater1.hot_side.Xi = inStream(HPsuperheater1.hot_side.C_in.Xi_outflow); + HPsuperheater1.hot_side.C_in.h_outflow = 1000000.0; + HPsuperheater1.hot_side.C_in.Xi_outflow = zeros(5); + HPsuperheater1.hot_side.state_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (HPsuperheater1.hot_side.P_in, HPsuperheater1.hot_side.h_in, + HPsuperheater1.hot_side.Xi); + HPsuperheater1.hot_side.state_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (HPsuperheater1.hot_side.P_out, HPsuperheater1.hot_side.h_out, + HPsuperheater1.hot_side.Xi); + HPsuperheater1.hot_side.T_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + HPsuperheater1.hot_side.state_in); + HPsuperheater1.hot_side.T_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + HPsuperheater1.hot_side.state_out); + HPsuperheater1.hot_side.rho_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + HPsuperheater1.hot_side.state_in); + HPsuperheater1.hot_side.rho_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + HPsuperheater1.hot_side.state_out); + HPsuperheater1.hot_side.rho = (HPsuperheater1.hot_side.rho_in+ + HPsuperheater1.hot_side.rho_out)/2; + HPsuperheater1.hot_side.Qv_in = HPsuperheater1.hot_side.Q/HPsuperheater1.hot_side.rho_in; + HPsuperheater1.hot_side.Qv_out = -HPsuperheater1.hot_side.Q/ + HPsuperheater1.hot_side.rho_out; + HPsuperheater1.hot_side.Qv = (HPsuperheater1.hot_side.Qv_in- + HPsuperheater1.hot_side.Qv_out)/2; + HPsuperheater1.hot_side.P_out-HPsuperheater1.hot_side.P_in = + HPsuperheater1.hot_side.DP; + HPsuperheater1.hot_side.Q*(HPsuperheater1.hot_side.h_out-HPsuperheater1.hot_side.h_in) + = HPsuperheater1.hot_side.W; + HPsuperheater1.hot_side.h_out-HPsuperheater1.hot_side.h_in = + HPsuperheater1.hot_side.DH; + HPsuperheater1.hot_side.T_out-HPsuperheater1.hot_side.T_in = + HPsuperheater1.hot_side.DT; + HPsuperheater1.hot_side.C_in.Q+HPsuperheater1.hot_side.C_out.Q = 0; + HPsuperheater1.hot_side.C_out.Xi_outflow = inStream(HPsuperheater1.hot_side.C_in.Xi_outflow); + assert(HPsuperheater1.hot_side.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPFlowModel + equation + HPsuperheater1.hot_side.P = HPsuperheater1.hot_side.P_in; + HPsuperheater1.hot_side.DP = 0; + // end of extends + equation + HPsuperheater1.hot_side.W = HPsuperheater1.hot_side.W_input; + + // Component HPsuperheater1.cold_side + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + HPsuperheater1.cold_side.h_in = inStream(HPsuperheater1.cold_side.C_in.h_outflow); + HPsuperheater1.cold_side.h_out = HPsuperheater1.cold_side.C_out.h_outflow; + HPsuperheater1.cold_side.Q = HPsuperheater1.cold_side.C_in.Q; + HPsuperheater1.cold_side.P_in = HPsuperheater1.cold_side.C_in.P; + HPsuperheater1.cold_side.P_out = HPsuperheater1.cold_side.C_out.P; + HPsuperheater1.cold_side.Xi = inStream(HPsuperheater1.cold_side.C_in.Xi_outflow); + HPsuperheater1.cold_side.C_in.h_outflow = 1000000.0; + HPsuperheater1.cold_side.C_in.Xi_outflow = zeros(0); + HPsuperheater1.cold_side.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (HPsuperheater1.cold_side.P_in, HPsuperheater1.cold_side.h_in, + HPsuperheater1.cold_side.Xi, 0, 0); + HPsuperheater1.cold_side.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (HPsuperheater1.cold_side.P_out, HPsuperheater1.cold_side.h_out, + HPsuperheater1.cold_side.Xi, 0, 0); + HPsuperheater1.cold_side.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + HPsuperheater1.cold_side.state_in); + HPsuperheater1.cold_side.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + HPsuperheater1.cold_side.state_out); + HPsuperheater1.cold_side.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + HPsuperheater1.cold_side.state_in); + HPsuperheater1.cold_side.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + HPsuperheater1.cold_side.state_out); + HPsuperheater1.cold_side.rho = (HPsuperheater1.cold_side.rho_in+ + HPsuperheater1.cold_side.rho_out)/2; + HPsuperheater1.cold_side.Qv_in = HPsuperheater1.cold_side.Q/ + HPsuperheater1.cold_side.rho_in; + HPsuperheater1.cold_side.Qv_out = -HPsuperheater1.cold_side.Q/ + HPsuperheater1.cold_side.rho_out; + HPsuperheater1.cold_side.Qv = (HPsuperheater1.cold_side.Qv_in- + HPsuperheater1.cold_side.Qv_out)/2; + HPsuperheater1.cold_side.P_out-HPsuperheater1.cold_side.P_in = + HPsuperheater1.cold_side.DP; + HPsuperheater1.cold_side.Q*(HPsuperheater1.cold_side.h_out- + HPsuperheater1.cold_side.h_in) = HPsuperheater1.cold_side.W; + HPsuperheater1.cold_side.h_out-HPsuperheater1.cold_side.h_in = + HPsuperheater1.cold_side.DH; + HPsuperheater1.cold_side.T_out-HPsuperheater1.cold_side.T_in = + HPsuperheater1.cold_side.DT; + HPsuperheater1.cold_side.C_in.Q+HPsuperheater1.cold_side.C_out.Q = 0; + HPsuperheater1.cold_side.C_out.Xi_outflow = inStream(HPsuperheater1.cold_side.C_in.Xi_outflow); + assert(HPsuperheater1.cold_side.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPFlowModel + equation + HPsuperheater1.cold_side.P = HPsuperheater1.cold_side.P_in; + HPsuperheater1.cold_side.DP = 0; + // end of extends + equation + HPsuperheater1.cold_side.W = HPsuperheater1.cold_side.W_input; + + // Component HPsuperheater1.cold_side_pipe + // class MetroscopeModelingLibrary.WaterSteam.Pipes.FrictionPipe + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + HPsuperheater1.cold_side_pipe.h_in = inStream(HPsuperheater1.cold_side_pipe.C_in.h_outflow); + HPsuperheater1.cold_side_pipe.h_out = HPsuperheater1.cold_side_pipe.C_out.h_outflow; + HPsuperheater1.cold_side_pipe.Q = HPsuperheater1.cold_side_pipe.C_in.Q; + HPsuperheater1.cold_side_pipe.P_in = HPsuperheater1.cold_side_pipe.C_in.P; + HPsuperheater1.cold_side_pipe.P_out = HPsuperheater1.cold_side_pipe.C_out.P; + HPsuperheater1.cold_side_pipe.Xi = inStream(HPsuperheater1.cold_side_pipe.C_in.Xi_outflow); + HPsuperheater1.cold_side_pipe.C_in.h_outflow = 1000000.0; + HPsuperheater1.cold_side_pipe.C_in.Xi_outflow = zeros(0); + HPsuperheater1.cold_side_pipe.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (HPsuperheater1.cold_side_pipe.P_in, HPsuperheater1.cold_side_pipe.h_in, + HPsuperheater1.cold_side_pipe.Xi, 0, 0); + HPsuperheater1.cold_side_pipe.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (HPsuperheater1.cold_side_pipe.P_out, HPsuperheater1.cold_side_pipe.h_out, + HPsuperheater1.cold_side_pipe.Xi, 0, 0); + HPsuperheater1.cold_side_pipe.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + HPsuperheater1.cold_side_pipe.state_in); + HPsuperheater1.cold_side_pipe.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + HPsuperheater1.cold_side_pipe.state_out); + HPsuperheater1.cold_side_pipe.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + HPsuperheater1.cold_side_pipe.state_in); + HPsuperheater1.cold_side_pipe.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + HPsuperheater1.cold_side_pipe.state_out); + HPsuperheater1.cold_side_pipe.rho = (HPsuperheater1.cold_side_pipe.rho_in+ + HPsuperheater1.cold_side_pipe.rho_out)/2; + HPsuperheater1.cold_side_pipe.Qv_in = HPsuperheater1.cold_side_pipe.Q/ + HPsuperheater1.cold_side_pipe.rho_in; + HPsuperheater1.cold_side_pipe.Qv_out = -HPsuperheater1.cold_side_pipe.Q/ + HPsuperheater1.cold_side_pipe.rho_out; + HPsuperheater1.cold_side_pipe.Qv = (HPsuperheater1.cold_side_pipe.Qv_in- + HPsuperheater1.cold_side_pipe.Qv_out)/2; + HPsuperheater1.cold_side_pipe.P_out-HPsuperheater1.cold_side_pipe.P_in = + HPsuperheater1.cold_side_pipe.DP; + HPsuperheater1.cold_side_pipe.Q*(HPsuperheater1.cold_side_pipe.h_out- + HPsuperheater1.cold_side_pipe.h_in) = HPsuperheater1.cold_side_pipe.W; + HPsuperheater1.cold_side_pipe.h_out-HPsuperheater1.cold_side_pipe.h_in = + HPsuperheater1.cold_side_pipe.DH; + HPsuperheater1.cold_side_pipe.T_out-HPsuperheater1.cold_side_pipe.T_in = + HPsuperheater1.cold_side_pipe.DT; + HPsuperheater1.cold_side_pipe.C_in.Q+HPsuperheater1.cold_side_pipe.C_out.Q + = 0; + HPsuperheater1.cold_side_pipe.C_out.Xi_outflow = inStream(HPsuperheater1.cold_side_pipe.C_in.Xi_outflow); + assert(HPsuperheater1.cold_side_pipe.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoHFlowModel + equation + HPsuperheater1.cold_side_pipe.h = HPsuperheater1.cold_side_pipe.h_in; + HPsuperheater1.cold_side_pipe.DH = 0; + // extends MetroscopeModelingLibrary.Partial.Pipes.FrictionPipe + equation + if ( not HPsuperheater1.cold_side_pipe.faulty) then + HPsuperheater1.cold_side_pipe.fouling = 0; + end if; + HPsuperheater1.cold_side_pipe.DP = -(1+HPsuperheater1.cold_side_pipe.fouling + /100)*HPsuperheater1.cold_side_pipe.Kfr*HPsuperheater1.cold_side_pipe.Q* + abs(HPsuperheater1.cold_side_pipe.Q)/HPsuperheater1.cold_side_pipe.rho_in; + // end of extends + + // Component HPsuperheater1 + // class MetroscopeModelingLibrary.MultiFluid.HeatExchangers.Superheater + // extends MetroscopeModelingLibrary.Partial.HeatExchangers.WaterFlueGasesMonophasicHX + equation + if ( not HPsuperheater1.faulty) then + HPsuperheater1.fouling = 0; + end if; + HPsuperheater1.Q_cold = HPsuperheater1.cold_side.Q; + HPsuperheater1.Q_hot = HPsuperheater1.hot_side.Q; + HPsuperheater1.T_cold_in = HPsuperheater1.cold_side_pipe.T_in; + HPsuperheater1.T_cold_out = HPsuperheater1.cold_side.T_out; + HPsuperheater1.T_hot_in = HPsuperheater1.hot_side.T_in; + HPsuperheater1.T_hot_out = HPsuperheater1.hot_side.T_out; + HPsuperheater1.cold_side.W = HPsuperheater1.W; + HPsuperheater1.hot_side.W+HPsuperheater1.cold_side.W = 0; + HPsuperheater1.HX.W = HPsuperheater1.W; + HPsuperheater1.HX.Kth = HPsuperheater1.Kth*(1-HPsuperheater1.fouling/100); + HPsuperheater1.HX.S = HPsuperheater1.S; + HPsuperheater1.HX.Q_cold = HPsuperheater1.Q_cold; + HPsuperheater1.HX.Q_hot = HPsuperheater1.Q_hot; + HPsuperheater1.HX.T_cold_in = HPsuperheater1.T_cold_in; + HPsuperheater1.HX.T_hot_in = HPsuperheater1.T_hot_in; + HPsuperheater1.HX.Cp_cold = (HPsuperheater1.Cp_cold_min+HPsuperheater1.Cp_cold_max) + /2; + HPsuperheater1.HX.Cp_hot = (HPsuperheater1.Cp_hot_min+HPsuperheater1.Cp_hot_max) + /2; + HPsuperheater1.DT_hot_in_side = HPsuperheater1.T_hot_in-HPsuperheater1.T_cold_out; + HPsuperheater1.DT_hot_out_side = HPsuperheater1.T_hot_out-HPsuperheater1.T_cold_in; + HPsuperheater1.pinch = min(HPsuperheater1.DT_hot_in_side, HPsuperheater1.DT_hot_out_side); + assert(HPsuperheater1.pinch > 0, "A negative pinch is reached", + AssertionLevel.warning); + assert(HPsuperheater1.pinch > 1 or HPsuperheater1.pinch < 0, + "A very low pinch (<1) is reached", AssertionLevel.warning); + HPsuperheater1.maximum_achiveable_temperature_difference = + HPsuperheater1.hot_side.T_in-HPsuperheater1.cold_side.T_in; + if (HPsuperheater1.nominal_DT_default) then + HPsuperheater1.nominal_cold_side_temperature_rise = HPsuperheater1.hot_side.T_in + -HPsuperheater1.cold_side.T_in; + HPsuperheater1.nominal_hot_side_temperature_drop = HPsuperheater1.hot_side.T_in + -HPsuperheater1.cold_side.T_in; + end if; + HPsuperheater1.Cp_cold_min = Modelica.Media.Water.WaterIF97_ph.specificHeatCapacityCp_Unique14 + ( + HPsuperheater1.cold_side.state_in); + HPsuperheater1.state_cold_out = Modelica.Media.Water.WaterIF97_ph.setState_pTX_Unique15 + (HPsuperheater1.cold_side.P_in, HPsuperheater1.cold_side.T_in+ + HPsuperheater1.nominal_cold_side_temperature_rise, HPsuperheater1.cold_side.Xi, + 0, 0); + HPsuperheater1.Cp_cold_max = Modelica.Media.Water.WaterIF97_ph.specificHeatCapacityCp_Unique14 + ( + HPsuperheater1.state_cold_out); + HPsuperheater1.Cp_hot_max = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.specificHeatCapacityCp_Unique18 + ( + HPsuperheater1.hot_side.state_in); + HPsuperheater1.state_hot_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_pTX_Unique19 + (HPsuperheater1.hot_side.P_in, HPsuperheater1.hot_side.T_in- + HPsuperheater1.nominal_hot_side_temperature_drop, HPsuperheater1.hot_side.Xi); + HPsuperheater1.Cp_hot_min = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.specificHeatCapacityCp_Unique18 + ( + HPsuperheater1.state_hot_out); + // end of extends + equation + HPsuperheater1.STR = HPsuperheater1.T_cold_out-HPsuperheater1.T_cold_in; + HPsuperheater1.DT_superheat = HPsuperheater1.T_cold_out-Modelica.Media.Water.WaterIF97_ph.saturationTemperature_Unique21 + (HPsuperheater1.cold_side_pipe.P_in); + HPsuperheater1.cold_side_pipe.C_in.P = HPsuperheater1.C_cold_in.P; + HPsuperheater1.C_cold_in.Q-HPsuperheater1.cold_side_pipe.C_in.Q = 0.0; + HPsuperheater1.cold_side.C_out.P = HPsuperheater1.C_cold_out.P; + HPsuperheater1.C_cold_out.Q-HPsuperheater1.cold_side.C_out.Q = 0.0; + HPsuperheater1.hot_side.C_in.P = HPsuperheater1.C_hot_in.P; + HPsuperheater1.C_hot_in.Q-HPsuperheater1.hot_side.C_in.Q = 0.0; + HPsuperheater1.hot_side.C_out.P = HPsuperheater1.C_hot_out.P; + HPsuperheater1.C_hot_out.Q-HPsuperheater1.hot_side.C_out.Q = 0.0; + HPsuperheater1.cold_side_pipe.Kfr = HPsuperheater1.Kfr_cold; + HPsuperheater1.cold_side_pipe.C_out.P = HPsuperheater1.cold_side.C_in.P; + HPsuperheater1.cold_side.C_in.Q+HPsuperheater1.cold_side_pipe.C_out.Q = 0.0; + + // Component T_w_HPSH1_out_sensor.flow_model + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + T_w_HPSH1_out_sensor.flow_model.h_in = inStream(T_w_HPSH1_out_sensor.flow_model.C_in.h_outflow); + T_w_HPSH1_out_sensor.flow_model.h_out = T_w_HPSH1_out_sensor.flow_model.C_out.h_outflow; + T_w_HPSH1_out_sensor.flow_model.Q = T_w_HPSH1_out_sensor.flow_model.C_in.Q; + T_w_HPSH1_out_sensor.flow_model.P_in = T_w_HPSH1_out_sensor.flow_model.C_in.P; + T_w_HPSH1_out_sensor.flow_model.P_out = T_w_HPSH1_out_sensor.flow_model.C_out.P; + T_w_HPSH1_out_sensor.flow_model.Xi = inStream(T_w_HPSH1_out_sensor.flow_model.C_in.Xi_outflow); + T_w_HPSH1_out_sensor.flow_model.C_in.h_outflow = 1000000.0; + T_w_HPSH1_out_sensor.flow_model.C_in.Xi_outflow = zeros(0); + T_w_HPSH1_out_sensor.flow_model.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (T_w_HPSH1_out_sensor.flow_model.P_in, T_w_HPSH1_out_sensor.flow_model.h_in, + T_w_HPSH1_out_sensor.flow_model.Xi, 0, 0); + T_w_HPSH1_out_sensor.flow_model.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (T_w_HPSH1_out_sensor.flow_model.P_out, T_w_HPSH1_out_sensor.flow_model.h_out, + T_w_HPSH1_out_sensor.flow_model.Xi, 0, 0); + T_w_HPSH1_out_sensor.flow_model.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + T_w_HPSH1_out_sensor.flow_model.state_in); + T_w_HPSH1_out_sensor.flow_model.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + T_w_HPSH1_out_sensor.flow_model.state_out); + T_w_HPSH1_out_sensor.flow_model.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + T_w_HPSH1_out_sensor.flow_model.state_in); + T_w_HPSH1_out_sensor.flow_model.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + T_w_HPSH1_out_sensor.flow_model.state_out); + T_w_HPSH1_out_sensor.flow_model.rho = (T_w_HPSH1_out_sensor.flow_model.rho_in + +T_w_HPSH1_out_sensor.flow_model.rho_out)/2; + T_w_HPSH1_out_sensor.flow_model.Qv_in = T_w_HPSH1_out_sensor.flow_model.Q/ + T_w_HPSH1_out_sensor.flow_model.rho_in; + T_w_HPSH1_out_sensor.flow_model.Qv_out = -T_w_HPSH1_out_sensor.flow_model.Q + /T_w_HPSH1_out_sensor.flow_model.rho_out; + T_w_HPSH1_out_sensor.flow_model.Qv = (T_w_HPSH1_out_sensor.flow_model.Qv_in + -T_w_HPSH1_out_sensor.flow_model.Qv_out)/2; + T_w_HPSH1_out_sensor.flow_model.P_out-T_w_HPSH1_out_sensor.flow_model.P_in + = T_w_HPSH1_out_sensor.flow_model.DP; + T_w_HPSH1_out_sensor.flow_model.Q*(T_w_HPSH1_out_sensor.flow_model.h_out- + T_w_HPSH1_out_sensor.flow_model.h_in) = T_w_HPSH1_out_sensor.flow_model.W; + T_w_HPSH1_out_sensor.flow_model.h_out-T_w_HPSH1_out_sensor.flow_model.h_in + = T_w_HPSH1_out_sensor.flow_model.DH; + T_w_HPSH1_out_sensor.flow_model.T_out-T_w_HPSH1_out_sensor.flow_model.T_in + = T_w_HPSH1_out_sensor.flow_model.DT; + T_w_HPSH1_out_sensor.flow_model.C_in.Q+T_w_HPSH1_out_sensor.flow_model.C_out.Q + = 0; + T_w_HPSH1_out_sensor.flow_model.C_out.Xi_outflow = inStream( + T_w_HPSH1_out_sensor.flow_model.C_in.Xi_outflow); + assert(T_w_HPSH1_out_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + T_w_HPSH1_out_sensor.flow_model.P = T_w_HPSH1_out_sensor.flow_model.P_in; + T_w_HPSH1_out_sensor.flow_model.h = T_w_HPSH1_out_sensor.flow_model.h_in; + T_w_HPSH1_out_sensor.flow_model.T = T_w_HPSH1_out_sensor.flow_model.T_in; + T_w_HPSH1_out_sensor.flow_model.DP = 0; + T_w_HPSH1_out_sensor.flow_model.DH = 0; + // end of extends + + // Component T_w_HPSH1_out_sensor + // class MetroscopeModelingLibrary.Sensors_Control.WaterSteam.TemperatureSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not T_w_HPSH1_out_sensor.faulty_flow_rate) then + T_w_HPSH1_out_sensor.mass_flow_rate_bias = 0; + end if; + T_w_HPSH1_out_sensor.P = T_w_HPSH1_out_sensor.C_in.P; + T_w_HPSH1_out_sensor.Q = T_w_HPSH1_out_sensor.C_in.Q+T_w_HPSH1_out_sensor.mass_flow_rate_bias; + T_w_HPSH1_out_sensor.Xi = inStream(T_w_HPSH1_out_sensor.C_in.Xi_outflow); + T_w_HPSH1_out_sensor.h = inStream(T_w_HPSH1_out_sensor.C_in.h_outflow); + T_w_HPSH1_out_sensor.state = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (T_w_HPSH1_out_sensor.P, T_w_HPSH1_out_sensor.h, T_w_HPSH1_out_sensor.Xi, + 0, 0); + assert(T_w_HPSH1_out_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.TemperatureSensor + equation + T_w_HPSH1_out_sensor.T = T_w_HPSH1_out_sensor.flow_model.T; + T_w_HPSH1_out_sensor.T_degC+273.15 = T_w_HPSH1_out_sensor.T; + T_w_HPSH1_out_sensor.T_degF = T_w_HPSH1_out_sensor.T_degC*1.8+32; + if (T_w_HPSH1_out_sensor.signal_unit == "degC") then + T_w_HPSH1_out_sensor.T_sensor = T_w_HPSH1_out_sensor.T_degC; + elseif (T_w_HPSH1_out_sensor.signal_unit == "degF") then + T_w_HPSH1_out_sensor.T_sensor = T_w_HPSH1_out_sensor.T_degF; + elseif (T_w_HPSH1_out_sensor.signal_unit == "K") then + T_w_HPSH1_out_sensor.T_sensor = T_w_HPSH1_out_sensor.T; + else + assert(false, "Unavailable unit selected for %name"); + end if; + // end of extends + equation + T_w_HPSH1_out_sensor.flow_model.C_in.P = T_w_HPSH1_out_sensor.C_in.P; + T_w_HPSH1_out_sensor.C_in.Q-T_w_HPSH1_out_sensor.flow_model.C_in.Q = 0.0; + T_w_HPSH1_out_sensor.flow_model.C_out.P = T_w_HPSH1_out_sensor.C_out.P; + T_w_HPSH1_out_sensor.C_out.Q-T_w_HPSH1_out_sensor.flow_model.C_out.Q = 0.0; + + // Component P_w_HPSH1_out_sensor.flow_model + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + P_w_HPSH1_out_sensor.flow_model.h_in = inStream(P_w_HPSH1_out_sensor.flow_model.C_in.h_outflow); + P_w_HPSH1_out_sensor.flow_model.h_out = P_w_HPSH1_out_sensor.flow_model.C_out.h_outflow; + P_w_HPSH1_out_sensor.flow_model.Q = P_w_HPSH1_out_sensor.flow_model.C_in.Q; + P_w_HPSH1_out_sensor.flow_model.P_in = P_w_HPSH1_out_sensor.flow_model.C_in.P; + P_w_HPSH1_out_sensor.flow_model.P_out = P_w_HPSH1_out_sensor.flow_model.C_out.P; + P_w_HPSH1_out_sensor.flow_model.Xi = inStream(P_w_HPSH1_out_sensor.flow_model.C_in.Xi_outflow); + P_w_HPSH1_out_sensor.flow_model.C_in.h_outflow = 1000000.0; + P_w_HPSH1_out_sensor.flow_model.C_in.Xi_outflow = zeros(0); + P_w_HPSH1_out_sensor.flow_model.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_w_HPSH1_out_sensor.flow_model.P_in, P_w_HPSH1_out_sensor.flow_model.h_in, + P_w_HPSH1_out_sensor.flow_model.Xi, 0, 0); + P_w_HPSH1_out_sensor.flow_model.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_w_HPSH1_out_sensor.flow_model.P_out, P_w_HPSH1_out_sensor.flow_model.h_out, + P_w_HPSH1_out_sensor.flow_model.Xi, 0, 0); + P_w_HPSH1_out_sensor.flow_model.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + P_w_HPSH1_out_sensor.flow_model.state_in); + P_w_HPSH1_out_sensor.flow_model.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + P_w_HPSH1_out_sensor.flow_model.state_out); + P_w_HPSH1_out_sensor.flow_model.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + P_w_HPSH1_out_sensor.flow_model.state_in); + P_w_HPSH1_out_sensor.flow_model.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + P_w_HPSH1_out_sensor.flow_model.state_out); + P_w_HPSH1_out_sensor.flow_model.rho = (P_w_HPSH1_out_sensor.flow_model.rho_in + +P_w_HPSH1_out_sensor.flow_model.rho_out)/2; + P_w_HPSH1_out_sensor.flow_model.Qv_in = P_w_HPSH1_out_sensor.flow_model.Q/ + P_w_HPSH1_out_sensor.flow_model.rho_in; + P_w_HPSH1_out_sensor.flow_model.Qv_out = -P_w_HPSH1_out_sensor.flow_model.Q + /P_w_HPSH1_out_sensor.flow_model.rho_out; + P_w_HPSH1_out_sensor.flow_model.Qv = (P_w_HPSH1_out_sensor.flow_model.Qv_in + -P_w_HPSH1_out_sensor.flow_model.Qv_out)/2; + P_w_HPSH1_out_sensor.flow_model.P_out-P_w_HPSH1_out_sensor.flow_model.P_in + = P_w_HPSH1_out_sensor.flow_model.DP; + P_w_HPSH1_out_sensor.flow_model.Q*(P_w_HPSH1_out_sensor.flow_model.h_out- + P_w_HPSH1_out_sensor.flow_model.h_in) = P_w_HPSH1_out_sensor.flow_model.W; + P_w_HPSH1_out_sensor.flow_model.h_out-P_w_HPSH1_out_sensor.flow_model.h_in + = P_w_HPSH1_out_sensor.flow_model.DH; + P_w_HPSH1_out_sensor.flow_model.T_out-P_w_HPSH1_out_sensor.flow_model.T_in + = P_w_HPSH1_out_sensor.flow_model.DT; + P_w_HPSH1_out_sensor.flow_model.C_in.Q+P_w_HPSH1_out_sensor.flow_model.C_out.Q + = 0; + P_w_HPSH1_out_sensor.flow_model.C_out.Xi_outflow = inStream( + P_w_HPSH1_out_sensor.flow_model.C_in.Xi_outflow); + assert(P_w_HPSH1_out_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + P_w_HPSH1_out_sensor.flow_model.P = P_w_HPSH1_out_sensor.flow_model.P_in; + P_w_HPSH1_out_sensor.flow_model.h = P_w_HPSH1_out_sensor.flow_model.h_in; + P_w_HPSH1_out_sensor.flow_model.T = P_w_HPSH1_out_sensor.flow_model.T_in; + P_w_HPSH1_out_sensor.flow_model.DP = 0; + P_w_HPSH1_out_sensor.flow_model.DH = 0; + // end of extends + + // Component P_w_HPSH1_out_sensor + // class MetroscopeModelingLibrary.Sensors_Control.WaterSteam.PressureSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not P_w_HPSH1_out_sensor.faulty_flow_rate) then + P_w_HPSH1_out_sensor.mass_flow_rate_bias = 0; + end if; + P_w_HPSH1_out_sensor.P = P_w_HPSH1_out_sensor.C_in.P; + P_w_HPSH1_out_sensor.Q = P_w_HPSH1_out_sensor.C_in.Q+P_w_HPSH1_out_sensor.mass_flow_rate_bias; + P_w_HPSH1_out_sensor.Xi = inStream(P_w_HPSH1_out_sensor.C_in.Xi_outflow); + P_w_HPSH1_out_sensor.h = inStream(P_w_HPSH1_out_sensor.C_in.h_outflow); + P_w_HPSH1_out_sensor.state = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_w_HPSH1_out_sensor.P, P_w_HPSH1_out_sensor.h, P_w_HPSH1_out_sensor.Xi, + 0, 0); + assert(P_w_HPSH1_out_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.PressureSensor + equation + P_w_HPSH1_out_sensor.P_barA = P_w_HPSH1_out_sensor.P*1E-05; + P_w_HPSH1_out_sensor.P_psiA = P_w_HPSH1_out_sensor.P*0.000145038; + P_w_HPSH1_out_sensor.P_MPaA = P_w_HPSH1_out_sensor.P*1E-06; + P_w_HPSH1_out_sensor.P_kPaA = P_w_HPSH1_out_sensor.P*0.001; + P_w_HPSH1_out_sensor.P_barG = P_w_HPSH1_out_sensor.P_barA-1; + P_w_HPSH1_out_sensor.P_psiG = P_w_HPSH1_out_sensor.P_psiA-14.50377377; + P_w_HPSH1_out_sensor.P_MPaG = P_w_HPSH1_out_sensor.P_MPaA-0.1; + P_w_HPSH1_out_sensor.P_kPaG = P_w_HPSH1_out_sensor.P_kPaA-100; + P_w_HPSH1_out_sensor.P_mbar = P_w_HPSH1_out_sensor.P*0.01; + P_w_HPSH1_out_sensor.P_inHg = P_w_HPSH1_out_sensor.P*0.0002953006; + if (P_w_HPSH1_out_sensor.signal_unit == "barA") then + P_w_HPSH1_out_sensor.P_sensor = P_w_HPSH1_out_sensor.P_barA; + elseif (P_w_HPSH1_out_sensor.signal_unit == "barG") then + P_w_HPSH1_out_sensor.P_sensor = P_w_HPSH1_out_sensor.P_barG; + elseif (P_w_HPSH1_out_sensor.signal_unit == "mbar") then + P_w_HPSH1_out_sensor.P_sensor = P_w_HPSH1_out_sensor.P_mbar; + elseif (P_w_HPSH1_out_sensor.signal_unit == "MPaA") then + P_w_HPSH1_out_sensor.P_sensor = P_w_HPSH1_out_sensor.P_MPaA; + elseif (P_w_HPSH1_out_sensor.signal_unit == "kPaA") then + P_w_HPSH1_out_sensor.P_sensor = P_w_HPSH1_out_sensor.P_kPaA; + else + P_w_HPSH1_out_sensor.P_sensor = P_w_HPSH1_out_sensor.P; + end if; + // end of extends + equation + P_w_HPSH1_out_sensor.flow_model.C_in.P = P_w_HPSH1_out_sensor.C_in.P; + P_w_HPSH1_out_sensor.C_in.Q-P_w_HPSH1_out_sensor.flow_model.C_in.Q = 0.0; + P_w_HPSH1_out_sensor.flow_model.C_out.P = P_w_HPSH1_out_sensor.C_out.P; + P_w_HPSH1_out_sensor.C_out.Q-P_w_HPSH1_out_sensor.flow_model.C_out.Q = 0.0; + + // Component HPST_control_valve + // class MetroscopeModelingLibrary.WaterSteam.Pipes.SlideValve + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + HPST_control_valve.h_in = inStream(HPST_control_valve.C_in.h_outflow); + HPST_control_valve.h_out = HPST_control_valve.C_out.h_outflow; + HPST_control_valve.Q = HPST_control_valve.C_in.Q; + HPST_control_valve.P_in = HPST_control_valve.C_in.P; + HPST_control_valve.P_out = HPST_control_valve.C_out.P; + HPST_control_valve.Xi = inStream(HPST_control_valve.C_in.Xi_outflow); + HPST_control_valve.C_in.h_outflow = 1000000.0; + HPST_control_valve.C_in.Xi_outflow = zeros(0); + HPST_control_valve.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (HPST_control_valve.P_in, HPST_control_valve.h_in, HPST_control_valve.Xi, + 0, 0); + HPST_control_valve.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (HPST_control_valve.P_out, HPST_control_valve.h_out, HPST_control_valve.Xi, + 0, 0); + HPST_control_valve.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + HPST_control_valve.state_in); + HPST_control_valve.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + HPST_control_valve.state_out); + HPST_control_valve.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + HPST_control_valve.state_in); + HPST_control_valve.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + HPST_control_valve.state_out); + HPST_control_valve.rho = (HPST_control_valve.rho_in+HPST_control_valve.rho_out) + /2; + HPST_control_valve.Qv_in = HPST_control_valve.Q/HPST_control_valve.rho_in; + HPST_control_valve.Qv_out = -HPST_control_valve.Q/HPST_control_valve.rho_out; + HPST_control_valve.Qv = (HPST_control_valve.Qv_in-HPST_control_valve.Qv_out) + /2; + HPST_control_valve.P_out-HPST_control_valve.P_in = HPST_control_valve.DP; + HPST_control_valve.Q*(HPST_control_valve.h_out-HPST_control_valve.h_in) = + HPST_control_valve.W; + HPST_control_valve.h_out-HPST_control_valve.h_in = HPST_control_valve.DH; + HPST_control_valve.T_out-HPST_control_valve.T_in = HPST_control_valve.DT; + HPST_control_valve.C_in.Q+HPST_control_valve.C_out.Q = 0; + HPST_control_valve.C_out.Xi_outflow = inStream(HPST_control_valve.C_in.Xi_outflow); + assert(HPST_control_valve.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoHFlowModel + equation + HPST_control_valve.h = HPST_control_valve.h_in; + HPST_control_valve.DH = 0; + // extends MetroscopeModelingLibrary.Partial.Pipes.SlideValve + equation + if ( not HPST_control_valve.faulty) then + HPST_control_valve.closed_valve = 0; + end if; + HPST_control_valve.DP*(1-HPST_control_valve.closed_valve/100)^2* + HPST_control_valve.Cv*abs(HPST_control_valve.Cv) = -1733000000000.0*abs + (HPST_control_valve.Q)*HPST_control_valve.Q/HPST_control_valve.rho_in^2; + // end of extends + + // Component P_HPST_in_sensor.flow_model + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + P_HPST_in_sensor.flow_model.h_in = inStream(P_HPST_in_sensor.flow_model.C_in.h_outflow); + P_HPST_in_sensor.flow_model.h_out = P_HPST_in_sensor.flow_model.C_out.h_outflow; + P_HPST_in_sensor.flow_model.Q = P_HPST_in_sensor.flow_model.C_in.Q; + P_HPST_in_sensor.flow_model.P_in = P_HPST_in_sensor.flow_model.C_in.P; + P_HPST_in_sensor.flow_model.P_out = P_HPST_in_sensor.flow_model.C_out.P; + P_HPST_in_sensor.flow_model.Xi = inStream(P_HPST_in_sensor.flow_model.C_in.Xi_outflow); + P_HPST_in_sensor.flow_model.C_in.h_outflow = 1000000.0; + P_HPST_in_sensor.flow_model.C_in.Xi_outflow = zeros(0); + P_HPST_in_sensor.flow_model.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_HPST_in_sensor.flow_model.P_in, P_HPST_in_sensor.flow_model.h_in, + P_HPST_in_sensor.flow_model.Xi, 0, 0); + P_HPST_in_sensor.flow_model.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_HPST_in_sensor.flow_model.P_out, P_HPST_in_sensor.flow_model.h_out, + P_HPST_in_sensor.flow_model.Xi, 0, 0); + P_HPST_in_sensor.flow_model.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + P_HPST_in_sensor.flow_model.state_in); + P_HPST_in_sensor.flow_model.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + P_HPST_in_sensor.flow_model.state_out); + P_HPST_in_sensor.flow_model.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + P_HPST_in_sensor.flow_model.state_in); + P_HPST_in_sensor.flow_model.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + P_HPST_in_sensor.flow_model.state_out); + P_HPST_in_sensor.flow_model.rho = (P_HPST_in_sensor.flow_model.rho_in+ + P_HPST_in_sensor.flow_model.rho_out)/2; + P_HPST_in_sensor.flow_model.Qv_in = P_HPST_in_sensor.flow_model.Q/ + P_HPST_in_sensor.flow_model.rho_in; + P_HPST_in_sensor.flow_model.Qv_out = -P_HPST_in_sensor.flow_model.Q/ + P_HPST_in_sensor.flow_model.rho_out; + P_HPST_in_sensor.flow_model.Qv = (P_HPST_in_sensor.flow_model.Qv_in- + P_HPST_in_sensor.flow_model.Qv_out)/2; + P_HPST_in_sensor.flow_model.P_out-P_HPST_in_sensor.flow_model.P_in = + P_HPST_in_sensor.flow_model.DP; + P_HPST_in_sensor.flow_model.Q*(P_HPST_in_sensor.flow_model.h_out- + P_HPST_in_sensor.flow_model.h_in) = P_HPST_in_sensor.flow_model.W; + P_HPST_in_sensor.flow_model.h_out-P_HPST_in_sensor.flow_model.h_in = + P_HPST_in_sensor.flow_model.DH; + P_HPST_in_sensor.flow_model.T_out-P_HPST_in_sensor.flow_model.T_in = + P_HPST_in_sensor.flow_model.DT; + P_HPST_in_sensor.flow_model.C_in.Q+P_HPST_in_sensor.flow_model.C_out.Q = 0; + P_HPST_in_sensor.flow_model.C_out.Xi_outflow = inStream(P_HPST_in_sensor.flow_model.C_in.Xi_outflow); + assert(P_HPST_in_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + P_HPST_in_sensor.flow_model.P = P_HPST_in_sensor.flow_model.P_in; + P_HPST_in_sensor.flow_model.h = P_HPST_in_sensor.flow_model.h_in; + P_HPST_in_sensor.flow_model.T = P_HPST_in_sensor.flow_model.T_in; + P_HPST_in_sensor.flow_model.DP = 0; + P_HPST_in_sensor.flow_model.DH = 0; + // end of extends + + // Component P_HPST_in_sensor + // class MetroscopeModelingLibrary.Sensors_Control.WaterSteam.PressureSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not P_HPST_in_sensor.faulty_flow_rate) then + P_HPST_in_sensor.mass_flow_rate_bias = 0; + end if; + P_HPST_in_sensor.P = P_HPST_in_sensor.C_in.P; + P_HPST_in_sensor.Q = P_HPST_in_sensor.C_in.Q+P_HPST_in_sensor.mass_flow_rate_bias; + P_HPST_in_sensor.Xi = inStream(P_HPST_in_sensor.C_in.Xi_outflow); + P_HPST_in_sensor.h = inStream(P_HPST_in_sensor.C_in.h_outflow); + P_HPST_in_sensor.state = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_HPST_in_sensor.P, P_HPST_in_sensor.h, P_HPST_in_sensor.Xi, 0, 0); + assert(P_HPST_in_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.PressureSensor + equation + P_HPST_in_sensor.P_barA = P_HPST_in_sensor.P*1E-05; + P_HPST_in_sensor.P_psiA = P_HPST_in_sensor.P*0.000145038; + P_HPST_in_sensor.P_MPaA = P_HPST_in_sensor.P*1E-06; + P_HPST_in_sensor.P_kPaA = P_HPST_in_sensor.P*0.001; + P_HPST_in_sensor.P_barG = P_HPST_in_sensor.P_barA-1; + P_HPST_in_sensor.P_psiG = P_HPST_in_sensor.P_psiA-14.50377377; + P_HPST_in_sensor.P_MPaG = P_HPST_in_sensor.P_MPaA-0.1; + P_HPST_in_sensor.P_kPaG = P_HPST_in_sensor.P_kPaA-100; + P_HPST_in_sensor.P_mbar = P_HPST_in_sensor.P*0.01; + P_HPST_in_sensor.P_inHg = P_HPST_in_sensor.P*0.0002953006; + if (P_HPST_in_sensor.signal_unit == "barA") then + P_HPST_in_sensor.P_sensor = P_HPST_in_sensor.P_barA; + elseif (P_HPST_in_sensor.signal_unit == "barG") then + P_HPST_in_sensor.P_sensor = P_HPST_in_sensor.P_barG; + elseif (P_HPST_in_sensor.signal_unit == "mbar") then + P_HPST_in_sensor.P_sensor = P_HPST_in_sensor.P_mbar; + elseif (P_HPST_in_sensor.signal_unit == "MPaA") then + P_HPST_in_sensor.P_sensor = P_HPST_in_sensor.P_MPaA; + elseif (P_HPST_in_sensor.signal_unit == "kPaA") then + P_HPST_in_sensor.P_sensor = P_HPST_in_sensor.P_kPaA; + else + P_HPST_in_sensor.P_sensor = P_HPST_in_sensor.P; + end if; + // end of extends + equation + P_HPST_in_sensor.flow_model.C_in.P = P_HPST_in_sensor.C_in.P; + P_HPST_in_sensor.C_in.Q-P_HPST_in_sensor.flow_model.C_in.Q = 0.0; + P_HPST_in_sensor.flow_model.C_out.P = P_HPST_in_sensor.C_out.P; + P_HPST_in_sensor.C_out.Q-P_HPST_in_sensor.flow_model.C_out.Q = 0.0; + + // Component HPsteamTurbine + // class MetroscopeModelingLibrary.WaterSteam.Machines.SteamTurbine + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + HPsteamTurbine.h_in = inStream(HPsteamTurbine.C_in.h_outflow); + HPsteamTurbine.h_out = HPsteamTurbine.C_out.h_outflow; + HPsteamTurbine.Q = HPsteamTurbine.C_in.Q; + HPsteamTurbine.P_in = HPsteamTurbine.C_in.P; + HPsteamTurbine.P_out = HPsteamTurbine.C_out.P; + HPsteamTurbine.Xi = inStream(HPsteamTurbine.C_in.Xi_outflow); + HPsteamTurbine.C_in.h_outflow = 1000000.0; + HPsteamTurbine.C_in.Xi_outflow = zeros(0); + HPsteamTurbine.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (HPsteamTurbine.P_in, HPsteamTurbine.h_in, HPsteamTurbine.Xi, 0, 0); + HPsteamTurbine.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (HPsteamTurbine.P_out, HPsteamTurbine.h_out, HPsteamTurbine.Xi, 0, 0); + HPsteamTurbine.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + HPsteamTurbine.state_in); + HPsteamTurbine.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + HPsteamTurbine.state_out); + HPsteamTurbine.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + HPsteamTurbine.state_in); + HPsteamTurbine.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + HPsteamTurbine.state_out); + HPsteamTurbine.rho = (HPsteamTurbine.rho_in+HPsteamTurbine.rho_out)/2; + HPsteamTurbine.Qv_in = HPsteamTurbine.Q/HPsteamTurbine.rho_in; + HPsteamTurbine.Qv_out = -HPsteamTurbine.Q/HPsteamTurbine.rho_out; + HPsteamTurbine.Qv = (HPsteamTurbine.Qv_in-HPsteamTurbine.Qv_out)/2; + HPsteamTurbine.P_out-HPsteamTurbine.P_in = HPsteamTurbine.DP; + HPsteamTurbine.Q*(HPsteamTurbine.h_out-HPsteamTurbine.h_in) = + HPsteamTurbine.W; + HPsteamTurbine.h_out-HPsteamTurbine.h_in = HPsteamTurbine.DH; + HPsteamTurbine.T_out-HPsteamTurbine.T_in = HPsteamTurbine.DT; + HPsteamTurbine.C_in.Q+HPsteamTurbine.C_out.Q = 0; + HPsteamTurbine.C_out.Xi_outflow = inStream(HPsteamTurbine.C_in.Xi_outflow); + assert(HPsteamTurbine.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // end of extends + equation + HPsteamTurbine.Q = sqrt((HPsteamTurbine.P_in^2-HPsteamTurbine.P_out^2)/( + HPsteamTurbine.Cst*HPsteamTurbine.T_in*HPsteamTurbine.x_in)); + HPsteamTurbine.state_is = Modelica.Media.Water.WaterIF97_ph.setState_psX_Unique25 + (HPsteamTurbine.P_out, Modelica.Media.Water.WaterIF97_ph.specificEntropy_Unique29 + ( + HPsteamTurbine.state_in), {1.0}, 0, 0); + HPsteamTurbine.h_is = Modelica.Media.Water.WaterIF97_ph.specificEnthalpy_Unique30 + ( + HPsteamTurbine.state_is); + HPsteamTurbine.DH = HPsteamTurbine.xm*HPsteamTurbine.eta_is*( + HPsteamTurbine.h_is-HPsteamTurbine.h_in); + HPsteamTurbine.W = HPsteamTurbine.C_W_out.W; + HPsteamTurbine.h_vap_sat_in = Modelica.Media.Water.WaterIF97_ph.dewEnthalpy_Unique31 + ( + Modelica.Media.Water.WaterIF97_ph.setSat_p_Unique32(HPsteamTurbine.P_in)); + HPsteamTurbine.h_liq_sat_in = Modelica.Media.Water.WaterIF97_ph.bubbleEnthalpy_Unique34 + ( + Modelica.Media.Water.WaterIF97_ph.setSat_p_Unique32(HPsteamTurbine.P_in)); + HPsteamTurbine.x_in = min((HPsteamTurbine.h_in-HPsteamTurbine.h_liq_sat_in)/ + (HPsteamTurbine.h_vap_sat_in-HPsteamTurbine.h_liq_sat_in), 1); + HPsteamTurbine.h_vap_sat_out = Modelica.Media.Water.WaterIF97_ph.dewEnthalpy_Unique31 + ( + Modelica.Media.Water.WaterIF97_ph.setSat_p_Unique32(HPsteamTurbine.P_out)); + HPsteamTurbine.h_liq_sat_out = Modelica.Media.Water.WaterIF97_ph.bubbleEnthalpy_Unique34 + ( + Modelica.Media.Water.WaterIF97_ph.setSat_p_Unique32(HPsteamTurbine.P_out)); + HPsteamTurbine.x_out = min((HPsteamTurbine.h_out-HPsteamTurbine.h_liq_sat_out) + /(HPsteamTurbine.h_vap_sat_out-HPsteamTurbine.h_liq_sat_out), 1); + HPsteamTurbine.xm = (HPsteamTurbine.x_in+HPsteamTurbine.x_out)/2; + + // Component P_HPST_out_sensor.flow_model + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + P_HPST_out_sensor.flow_model.h_in = inStream(P_HPST_out_sensor.flow_model.C_in.h_outflow); + P_HPST_out_sensor.flow_model.h_out = P_HPST_out_sensor.flow_model.C_out.h_outflow; + P_HPST_out_sensor.flow_model.Q = P_HPST_out_sensor.flow_model.C_in.Q; + P_HPST_out_sensor.flow_model.P_in = P_HPST_out_sensor.flow_model.C_in.P; + P_HPST_out_sensor.flow_model.P_out = P_HPST_out_sensor.flow_model.C_out.P; + P_HPST_out_sensor.flow_model.Xi = inStream(P_HPST_out_sensor.flow_model.C_in.Xi_outflow); + P_HPST_out_sensor.flow_model.C_in.h_outflow = 1000000.0; + P_HPST_out_sensor.flow_model.C_in.Xi_outflow = zeros(0); + P_HPST_out_sensor.flow_model.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_HPST_out_sensor.flow_model.P_in, P_HPST_out_sensor.flow_model.h_in, + P_HPST_out_sensor.flow_model.Xi, 0, 0); + P_HPST_out_sensor.flow_model.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_HPST_out_sensor.flow_model.P_out, P_HPST_out_sensor.flow_model.h_out, + P_HPST_out_sensor.flow_model.Xi, 0, 0); + P_HPST_out_sensor.flow_model.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + P_HPST_out_sensor.flow_model.state_in); + P_HPST_out_sensor.flow_model.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + P_HPST_out_sensor.flow_model.state_out); + P_HPST_out_sensor.flow_model.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + P_HPST_out_sensor.flow_model.state_in); + P_HPST_out_sensor.flow_model.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + P_HPST_out_sensor.flow_model.state_out); + P_HPST_out_sensor.flow_model.rho = (P_HPST_out_sensor.flow_model.rho_in+ + P_HPST_out_sensor.flow_model.rho_out)/2; + P_HPST_out_sensor.flow_model.Qv_in = P_HPST_out_sensor.flow_model.Q/ + P_HPST_out_sensor.flow_model.rho_in; + P_HPST_out_sensor.flow_model.Qv_out = -P_HPST_out_sensor.flow_model.Q/ + P_HPST_out_sensor.flow_model.rho_out; + P_HPST_out_sensor.flow_model.Qv = (P_HPST_out_sensor.flow_model.Qv_in- + P_HPST_out_sensor.flow_model.Qv_out)/2; + P_HPST_out_sensor.flow_model.P_out-P_HPST_out_sensor.flow_model.P_in = + P_HPST_out_sensor.flow_model.DP; + P_HPST_out_sensor.flow_model.Q*(P_HPST_out_sensor.flow_model.h_out- + P_HPST_out_sensor.flow_model.h_in) = P_HPST_out_sensor.flow_model.W; + P_HPST_out_sensor.flow_model.h_out-P_HPST_out_sensor.flow_model.h_in = + P_HPST_out_sensor.flow_model.DH; + P_HPST_out_sensor.flow_model.T_out-P_HPST_out_sensor.flow_model.T_in = + P_HPST_out_sensor.flow_model.DT; + P_HPST_out_sensor.flow_model.C_in.Q+P_HPST_out_sensor.flow_model.C_out.Q + = 0; + P_HPST_out_sensor.flow_model.C_out.Xi_outflow = inStream(P_HPST_out_sensor.flow_model.C_in.Xi_outflow); + assert(P_HPST_out_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + P_HPST_out_sensor.flow_model.P = P_HPST_out_sensor.flow_model.P_in; + P_HPST_out_sensor.flow_model.h = P_HPST_out_sensor.flow_model.h_in; + P_HPST_out_sensor.flow_model.T = P_HPST_out_sensor.flow_model.T_in; + P_HPST_out_sensor.flow_model.DP = 0; + P_HPST_out_sensor.flow_model.DH = 0; + // end of extends + + // Component P_HPST_out_sensor + // class MetroscopeModelingLibrary.Sensors_Control.WaterSteam.PressureSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not P_HPST_out_sensor.faulty_flow_rate) then + P_HPST_out_sensor.mass_flow_rate_bias = 0; + end if; + P_HPST_out_sensor.P = P_HPST_out_sensor.C_in.P; + P_HPST_out_sensor.Q = P_HPST_out_sensor.C_in.Q+P_HPST_out_sensor.mass_flow_rate_bias; + P_HPST_out_sensor.Xi = inStream(P_HPST_out_sensor.C_in.Xi_outflow); + P_HPST_out_sensor.h = inStream(P_HPST_out_sensor.C_in.h_outflow); + P_HPST_out_sensor.state = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_HPST_out_sensor.P, P_HPST_out_sensor.h, P_HPST_out_sensor.Xi, 0, 0); + assert(P_HPST_out_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.PressureSensor + equation + P_HPST_out_sensor.P_barA = P_HPST_out_sensor.P*1E-05; + P_HPST_out_sensor.P_psiA = P_HPST_out_sensor.P*0.000145038; + P_HPST_out_sensor.P_MPaA = P_HPST_out_sensor.P*1E-06; + P_HPST_out_sensor.P_kPaA = P_HPST_out_sensor.P*0.001; + P_HPST_out_sensor.P_barG = P_HPST_out_sensor.P_barA-1; + P_HPST_out_sensor.P_psiG = P_HPST_out_sensor.P_psiA-14.50377377; + P_HPST_out_sensor.P_MPaG = P_HPST_out_sensor.P_MPaA-0.1; + P_HPST_out_sensor.P_kPaG = P_HPST_out_sensor.P_kPaA-100; + P_HPST_out_sensor.P_mbar = P_HPST_out_sensor.P*0.01; + P_HPST_out_sensor.P_inHg = P_HPST_out_sensor.P*0.0002953006; + if (P_HPST_out_sensor.signal_unit == "barA") then + P_HPST_out_sensor.P_sensor = P_HPST_out_sensor.P_barA; + elseif (P_HPST_out_sensor.signal_unit == "barG") then + P_HPST_out_sensor.P_sensor = P_HPST_out_sensor.P_barG; + elseif (P_HPST_out_sensor.signal_unit == "mbar") then + P_HPST_out_sensor.P_sensor = P_HPST_out_sensor.P_mbar; + elseif (P_HPST_out_sensor.signal_unit == "MPaA") then + P_HPST_out_sensor.P_sensor = P_HPST_out_sensor.P_MPaA; + elseif (P_HPST_out_sensor.signal_unit == "kPaA") then + P_HPST_out_sensor.P_sensor = P_HPST_out_sensor.P_kPaA; + else + P_HPST_out_sensor.P_sensor = P_HPST_out_sensor.P; + end if; + // end of extends + equation + P_HPST_out_sensor.flow_model.C_in.P = P_HPST_out_sensor.C_in.P; + P_HPST_out_sensor.C_in.Q-P_HPST_out_sensor.flow_model.C_in.Q = 0.0; + P_HPST_out_sensor.flow_model.C_out.P = P_HPST_out_sensor.C_out.P; + P_HPST_out_sensor.C_out.Q-P_HPST_out_sensor.flow_model.C_out.Q = 0.0; + + // Component W_ST_out_sensor + // class MetroscopeModelingLibrary.Sensors_Control.Power.PowerSensor + equation + W_ST_out_sensor.C_in.W+W_ST_out_sensor.C_out.W = 0; + W_ST_out_sensor.W = W_ST_out_sensor.C_in.W; + W_ST_out_sensor.W_MW = W_ST_out_sensor.W/1000000.0; + if (W_ST_out_sensor.output_signal_unit == "MW") then + W_ST_out_sensor.W_sensor = W_ST_out_sensor.W_MW; + else + W_ST_out_sensor.W_sensor = W_ST_out_sensor.W; + end if; + + // Component condenser.cold_side_pipe + // class MetroscopeModelingLibrary.WaterSteam.Pipes.FrictionPipe + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + condenser.cold_side_pipe.h_in = inStream(condenser.cold_side_pipe.C_in.h_outflow); + condenser.cold_side_pipe.h_out = condenser.cold_side_pipe.C_out.h_outflow; + condenser.cold_side_pipe.Q = condenser.cold_side_pipe.C_in.Q; + condenser.cold_side_pipe.P_in = condenser.cold_side_pipe.C_in.P; + condenser.cold_side_pipe.P_out = condenser.cold_side_pipe.C_out.P; + condenser.cold_side_pipe.Xi = inStream(condenser.cold_side_pipe.C_in.Xi_outflow); + condenser.cold_side_pipe.C_in.h_outflow = 1000000.0; + condenser.cold_side_pipe.C_in.Xi_outflow = zeros(0); + condenser.cold_side_pipe.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (condenser.cold_side_pipe.P_in, condenser.cold_side_pipe.h_in, + condenser.cold_side_pipe.Xi, 0, 0); + condenser.cold_side_pipe.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (condenser.cold_side_pipe.P_out, condenser.cold_side_pipe.h_out, + condenser.cold_side_pipe.Xi, 0, 0); + condenser.cold_side_pipe.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + condenser.cold_side_pipe.state_in); + condenser.cold_side_pipe.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + condenser.cold_side_pipe.state_out); + condenser.cold_side_pipe.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + condenser.cold_side_pipe.state_in); + condenser.cold_side_pipe.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + condenser.cold_side_pipe.state_out); + condenser.cold_side_pipe.rho = (condenser.cold_side_pipe.rho_in+ + condenser.cold_side_pipe.rho_out)/2; + condenser.cold_side_pipe.Qv_in = condenser.cold_side_pipe.Q/ + condenser.cold_side_pipe.rho_in; + condenser.cold_side_pipe.Qv_out = -condenser.cold_side_pipe.Q/ + condenser.cold_side_pipe.rho_out; + condenser.cold_side_pipe.Qv = (condenser.cold_side_pipe.Qv_in- + condenser.cold_side_pipe.Qv_out)/2; + condenser.cold_side_pipe.P_out-condenser.cold_side_pipe.P_in = + condenser.cold_side_pipe.DP; + condenser.cold_side_pipe.Q*(condenser.cold_side_pipe.h_out- + condenser.cold_side_pipe.h_in) = condenser.cold_side_pipe.W; + condenser.cold_side_pipe.h_out-condenser.cold_side_pipe.h_in = + condenser.cold_side_pipe.DH; + condenser.cold_side_pipe.T_out-condenser.cold_side_pipe.T_in = + condenser.cold_side_pipe.DT; + condenser.cold_side_pipe.C_in.Q+condenser.cold_side_pipe.C_out.Q = 0; + condenser.cold_side_pipe.C_out.Xi_outflow = inStream(condenser.cold_side_pipe.C_in.Xi_outflow); + assert(condenser.cold_side_pipe.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoHFlowModel + equation + condenser.cold_side_pipe.h = condenser.cold_side_pipe.h_in; + condenser.cold_side_pipe.DH = 0; + // extends MetroscopeModelingLibrary.Partial.Pipes.FrictionPipe + equation + if ( not condenser.cold_side_pipe.faulty) then + condenser.cold_side_pipe.fouling = 0; + end if; + condenser.cold_side_pipe.DP = -(1+condenser.cold_side_pipe.fouling/100)* + condenser.cold_side_pipe.Kfr*condenser.cold_side_pipe.Q*abs( + condenser.cold_side_pipe.Q)/condenser.cold_side_pipe.rho_in; + // end of extends + + // Component condenser.hot_side + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + condenser.hot_side.h_in = inStream(condenser.hot_side.C_in.h_outflow); + condenser.hot_side.h_out = condenser.hot_side.C_out.h_outflow; + condenser.hot_side.Q = condenser.hot_side.C_in.Q; + condenser.hot_side.P_in = condenser.hot_side.C_in.P; + condenser.hot_side.P_out = condenser.hot_side.C_out.P; + condenser.hot_side.Xi = inStream(condenser.hot_side.C_in.Xi_outflow); + condenser.hot_side.C_in.h_outflow = 1000000.0; + condenser.hot_side.C_in.Xi_outflow = zeros(0); + condenser.hot_side.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (condenser.hot_side.P_in, condenser.hot_side.h_in, condenser.hot_side.Xi, + 0, 0); + condenser.hot_side.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (condenser.hot_side.P_out, condenser.hot_side.h_out, condenser.hot_side.Xi, + 0, 0); + condenser.hot_side.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + condenser.hot_side.state_in); + condenser.hot_side.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + condenser.hot_side.state_out); + condenser.hot_side.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + condenser.hot_side.state_in); + condenser.hot_side.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + condenser.hot_side.state_out); + condenser.hot_side.rho = (condenser.hot_side.rho_in+condenser.hot_side.rho_out) + /2; + condenser.hot_side.Qv_in = condenser.hot_side.Q/condenser.hot_side.rho_in; + condenser.hot_side.Qv_out = -condenser.hot_side.Q/condenser.hot_side.rho_out; + condenser.hot_side.Qv = (condenser.hot_side.Qv_in-condenser.hot_side.Qv_out) + /2; + condenser.hot_side.P_out-condenser.hot_side.P_in = condenser.hot_side.DP; + condenser.hot_side.Q*(condenser.hot_side.h_out-condenser.hot_side.h_in) = + condenser.hot_side.W; + condenser.hot_side.h_out-condenser.hot_side.h_in = condenser.hot_side.DH; + condenser.hot_side.T_out-condenser.hot_side.T_in = condenser.hot_side.DT; + condenser.hot_side.C_in.Q+condenser.hot_side.C_out.Q = 0; + condenser.hot_side.C_out.Xi_outflow = inStream(condenser.hot_side.C_in.Xi_outflow); + assert(condenser.hot_side.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPFlowModel + equation + condenser.hot_side.P = condenser.hot_side.P_in; + condenser.hot_side.DP = 0; + // end of extends + equation + condenser.hot_side.W = condenser.hot_side.W_input; + + // Component condenser.cold_side + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + condenser.cold_side.h_in = inStream(condenser.cold_side.C_in.h_outflow); + condenser.cold_side.h_out = condenser.cold_side.C_out.h_outflow; + condenser.cold_side.Q = condenser.cold_side.C_in.Q; + condenser.cold_side.P_in = condenser.cold_side.C_in.P; + condenser.cold_side.P_out = condenser.cold_side.C_out.P; + condenser.cold_side.Xi = inStream(condenser.cold_side.C_in.Xi_outflow); + condenser.cold_side.C_in.h_outflow = 1000000.0; + condenser.cold_side.C_in.Xi_outflow = zeros(0); + condenser.cold_side.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (condenser.cold_side.P_in, condenser.cold_side.h_in, condenser.cold_side.Xi, + 0, 0); + condenser.cold_side.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (condenser.cold_side.P_out, condenser.cold_side.h_out, condenser.cold_side.Xi, + 0, 0); + condenser.cold_side.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + condenser.cold_side.state_in); + condenser.cold_side.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + condenser.cold_side.state_out); + condenser.cold_side.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + condenser.cold_side.state_in); + condenser.cold_side.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + condenser.cold_side.state_out); + condenser.cold_side.rho = (condenser.cold_side.rho_in+condenser.cold_side.rho_out) + /2; + condenser.cold_side.Qv_in = condenser.cold_side.Q/condenser.cold_side.rho_in; + condenser.cold_side.Qv_out = -condenser.cold_side.Q/condenser.cold_side.rho_out; + condenser.cold_side.Qv = (condenser.cold_side.Qv_in-condenser.cold_side.Qv_out) + /2; + condenser.cold_side.P_out-condenser.cold_side.P_in = condenser.cold_side.DP; + condenser.cold_side.Q*(condenser.cold_side.h_out-condenser.cold_side.h_in) + = condenser.cold_side.W; + condenser.cold_side.h_out-condenser.cold_side.h_in = condenser.cold_side.DH; + condenser.cold_side.T_out-condenser.cold_side.T_in = condenser.cold_side.DT; + condenser.cold_side.C_in.Q+condenser.cold_side.C_out.Q = 0; + condenser.cold_side.C_out.Xi_outflow = inStream(condenser.cold_side.C_in.Xi_outflow); + assert(condenser.cold_side.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPFlowModel + equation + condenser.cold_side.P = condenser.cold_side.P_in; + condenser.cold_side.DP = 0; + // end of extends + equation + condenser.cold_side.W = condenser.cold_side.W_input; + + // Component condenser.water_height_pipe + // class MetroscopeModelingLibrary.WaterSteam.Pipes.HeightVariationPipe + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + condenser.water_height_pipe.h_in = inStream(condenser.water_height_pipe.C_in.h_outflow); + condenser.water_height_pipe.h_out = condenser.water_height_pipe.C_out.h_outflow; + condenser.water_height_pipe.Q = condenser.water_height_pipe.C_in.Q; + condenser.water_height_pipe.P_in = condenser.water_height_pipe.C_in.P; + condenser.water_height_pipe.P_out = condenser.water_height_pipe.C_out.P; + condenser.water_height_pipe.Xi = inStream(condenser.water_height_pipe.C_in.Xi_outflow); + condenser.water_height_pipe.C_in.h_outflow = 1000000.0; + condenser.water_height_pipe.C_in.Xi_outflow = zeros(0); + condenser.water_height_pipe.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (condenser.water_height_pipe.P_in, condenser.water_height_pipe.h_in, + condenser.water_height_pipe.Xi, 0, 0); + condenser.water_height_pipe.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (condenser.water_height_pipe.P_out, condenser.water_height_pipe.h_out, + condenser.water_height_pipe.Xi, 0, 0); + condenser.water_height_pipe.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + condenser.water_height_pipe.state_in); + condenser.water_height_pipe.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + condenser.water_height_pipe.state_out); + condenser.water_height_pipe.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + condenser.water_height_pipe.state_in); + condenser.water_height_pipe.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + condenser.water_height_pipe.state_out); + condenser.water_height_pipe.rho = (condenser.water_height_pipe.rho_in+ + condenser.water_height_pipe.rho_out)/2; + condenser.water_height_pipe.Qv_in = condenser.water_height_pipe.Q/ + condenser.water_height_pipe.rho_in; + condenser.water_height_pipe.Qv_out = -condenser.water_height_pipe.Q/ + condenser.water_height_pipe.rho_out; + condenser.water_height_pipe.Qv = (condenser.water_height_pipe.Qv_in- + condenser.water_height_pipe.Qv_out)/2; + condenser.water_height_pipe.P_out-condenser.water_height_pipe.P_in = + condenser.water_height_pipe.DP; + condenser.water_height_pipe.Q*(condenser.water_height_pipe.h_out- + condenser.water_height_pipe.h_in) = condenser.water_height_pipe.W; + condenser.water_height_pipe.h_out-condenser.water_height_pipe.h_in = + condenser.water_height_pipe.DH; + condenser.water_height_pipe.T_out-condenser.water_height_pipe.T_in = + condenser.water_height_pipe.DT; + condenser.water_height_pipe.C_in.Q+condenser.water_height_pipe.C_out.Q = 0; + condenser.water_height_pipe.C_out.Xi_outflow = inStream(condenser.water_height_pipe.C_in.Xi_outflow); + assert(condenser.water_height_pipe.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoHFlowModel + equation + condenser.water_height_pipe.h = condenser.water_height_pipe.h_in; + condenser.water_height_pipe.DH = 0; + // extends MetroscopeModelingLibrary.Partial.Pipes.HeightVariationPipe + equation + condenser.water_height_pipe.DP = -condenser.water_height_pipe.rho_in* + 9.80665*condenser.water_height_pipe.delta_z; + // end of extends + + // Component condenser.incondensables_in + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + condenser.incondensables_in.h_in = inStream(condenser.incondensables_in.C_in.h_outflow); + condenser.incondensables_in.h_out = condenser.incondensables_in.C_out.h_outflow; + condenser.incondensables_in.Q = condenser.incondensables_in.C_in.Q; + condenser.incondensables_in.P_in = condenser.incondensables_in.C_in.P; + condenser.incondensables_in.P_out = condenser.incondensables_in.C_out.P; + condenser.incondensables_in.Xi = inStream(condenser.incondensables_in.C_in.Xi_outflow); + condenser.incondensables_in.C_in.h_outflow = 1000000.0; + condenser.incondensables_in.C_in.Xi_outflow = zeros(0); + condenser.incondensables_in.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (condenser.incondensables_in.P_in, condenser.incondensables_in.h_in, + condenser.incondensables_in.Xi, 0, 0); + condenser.incondensables_in.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (condenser.incondensables_in.P_out, condenser.incondensables_in.h_out, + condenser.incondensables_in.Xi, 0, 0); + condenser.incondensables_in.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + condenser.incondensables_in.state_in); + condenser.incondensables_in.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + condenser.incondensables_in.state_out); + condenser.incondensables_in.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + condenser.incondensables_in.state_in); + condenser.incondensables_in.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + condenser.incondensables_in.state_out); + condenser.incondensables_in.rho = (condenser.incondensables_in.rho_in+ + condenser.incondensables_in.rho_out)/2; + condenser.incondensables_in.Qv_in = condenser.incondensables_in.Q/ + condenser.incondensables_in.rho_in; + condenser.incondensables_in.Qv_out = -condenser.incondensables_in.Q/ + condenser.incondensables_in.rho_out; + condenser.incondensables_in.Qv = (condenser.incondensables_in.Qv_in- + condenser.incondensables_in.Qv_out)/2; + condenser.incondensables_in.P_out-condenser.incondensables_in.P_in = + condenser.incondensables_in.DP; + condenser.incondensables_in.Q*(condenser.incondensables_in.h_out- + condenser.incondensables_in.h_in) = condenser.incondensables_in.W; + condenser.incondensables_in.h_out-condenser.incondensables_in.h_in = + condenser.incondensables_in.DH; + condenser.incondensables_in.T_out-condenser.incondensables_in.T_in = + condenser.incondensables_in.DT; + condenser.incondensables_in.C_in.Q+condenser.incondensables_in.C_out.Q = 0; + condenser.incondensables_in.C_out.Xi_outflow = inStream(condenser.incondensables_in.C_in.Xi_outflow); + assert(condenser.incondensables_in.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoHFlowModel + equation + condenser.incondensables_in.h = condenser.incondensables_in.h_in; + condenser.incondensables_in.DH = 0; + // end of extends + equation + condenser.incondensables_in.DP = condenser.incondensables_in.DP_input; + + // Component condenser.incondensables_out + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + condenser.incondensables_out.h_in = inStream(condenser.incondensables_out.C_in.h_outflow); + condenser.incondensables_out.h_out = condenser.incondensables_out.C_out.h_outflow; + condenser.incondensables_out.Q = condenser.incondensables_out.C_in.Q; + condenser.incondensables_out.P_in = condenser.incondensables_out.C_in.P; + condenser.incondensables_out.P_out = condenser.incondensables_out.C_out.P; + condenser.incondensables_out.Xi = inStream(condenser.incondensables_out.C_in.Xi_outflow); + condenser.incondensables_out.C_in.h_outflow = 1000000.0; + condenser.incondensables_out.C_in.Xi_outflow = zeros(0); + condenser.incondensables_out.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (condenser.incondensables_out.P_in, condenser.incondensables_out.h_in, + condenser.incondensables_out.Xi, 0, 0); + condenser.incondensables_out.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (condenser.incondensables_out.P_out, condenser.incondensables_out.h_out, + condenser.incondensables_out.Xi, 0, 0); + condenser.incondensables_out.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + condenser.incondensables_out.state_in); + condenser.incondensables_out.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + condenser.incondensables_out.state_out); + condenser.incondensables_out.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + condenser.incondensables_out.state_in); + condenser.incondensables_out.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + condenser.incondensables_out.state_out); + condenser.incondensables_out.rho = (condenser.incondensables_out.rho_in+ + condenser.incondensables_out.rho_out)/2; + condenser.incondensables_out.Qv_in = condenser.incondensables_out.Q/ + condenser.incondensables_out.rho_in; + condenser.incondensables_out.Qv_out = -condenser.incondensables_out.Q/ + condenser.incondensables_out.rho_out; + condenser.incondensables_out.Qv = (condenser.incondensables_out.Qv_in- + condenser.incondensables_out.Qv_out)/2; + condenser.incondensables_out.P_out-condenser.incondensables_out.P_in = + condenser.incondensables_out.DP; + condenser.incondensables_out.Q*(condenser.incondensables_out.h_out- + condenser.incondensables_out.h_in) = condenser.incondensables_out.W; + condenser.incondensables_out.h_out-condenser.incondensables_out.h_in = + condenser.incondensables_out.DH; + condenser.incondensables_out.T_out-condenser.incondensables_out.T_in = + condenser.incondensables_out.DT; + condenser.incondensables_out.C_in.Q+condenser.incondensables_out.C_out.Q + = 0; + condenser.incondensables_out.C_out.Xi_outflow = inStream(condenser.incondensables_out.C_in.Xi_outflow); + assert(condenser.incondensables_out.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoHFlowModel + equation + condenser.incondensables_out.h = condenser.incondensables_out.h_in; + condenser.incondensables_out.DH = 0; + // end of extends + equation + condenser.incondensables_out.DP = condenser.incondensables_out.DP_input; + + // Component condenser + // class MetroscopeModelingLibrary.WaterSteam.HeatExchangers.Condenser + equation + if ( not condenser.faulty) then + condenser.fouling = 0; + condenser.air_intake = 0; + condenser.Qv_cold_in_decrease = 0; + end if; + condenser.Q_cold = condenser.cold_side.Q; + condenser.T_cold_in = condenser.cold_side.T_in; + condenser.T_cold_out = condenser.cold_side.T_out; + condenser.cold_side.Qv = condenser.Qv_cold_in*(1-condenser.Qv_cold_in_decrease + /100); + condenser.Q_hot = condenser.hot_side.Q; + condenser.T_hot_in = condenser.hot_side.T_in; + condenser.T_hot_out = condenser.hot_side.T_out; + condenser.cold_side.W = condenser.W; + condenser.P_tot = condenser.incondensables_in.P_in; + condenser.hot_side.W+condenser.cold_side.W = 0; + condenser.cold_side_pipe.Kfr = condenser.Kfr_cold; + condenser.water_height_pipe.delta_z = -condenser.water_height; + condenser.water_height_pipe.DP = condenser.water_height_DP; + condenser.P_incond = condenser.P_offset+condenser.R*(condenser.C_incond+ + condenser.air_intake)*condenser.Tsat; + condenser.incondensables_in.DP = -condenser.P_incond; + condenser.incondensables_out.DP = condenser.P_incond; + assert(condenser.T_hot_in-condenser.Tsat < 0.1, "The steam admitted in the condenser in superheated", + AssertionLevel.warning); + condenser.Psat = condenser.hot_side.P_in; + condenser.Tsat = Modelica.Media.Water.WaterIF97_ph.saturationTemperature_Unique21 + (condenser.Psat); + condenser.hot_side.h_out = Modelica.Media.Water.WaterIF97_ph.bubbleEnthalpy_Unique24 + ( + Modelica.Media.Water.WaterIF97_ph.setSat_p_Unique23(condenser.Psat)); + 0 = condenser.Tsat-condenser.T_cold_out-(condenser.Tsat-condenser.T_cold_in) + *exp(condenser.Kth*(1-condenser.fouling/100)*condenser.S*(( + condenser.T_cold_in-condenser.T_cold_out)/condenser.W)); + condenser.cold_side_pipe.C_in.P = condenser.C_cold_in.P; + condenser.C_cold_in.Q-condenser.cold_side_pipe.C_in.Q = 0.0; + condenser.cold_side.C_out.P = condenser.C_cold_out.P; + condenser.C_cold_out.Q-condenser.cold_side.C_out.Q = 0.0; + condenser.incondensables_in.C_in.P = condenser.C_hot_in.P; + condenser.C_hot_in.Q-condenser.incondensables_in.C_in.Q = 0.0; + condenser.water_height_pipe.C_out.P = condenser.C_hot_out.P; + condenser.C_hot_out.Q-condenser.water_height_pipe.C_out.Q = 0.0; + condenser.cold_side_pipe.C_out.P = condenser.cold_side.C_in.P; + condenser.cold_side.C_in.Q+condenser.cold_side_pipe.C_out.Q = 0.0; + condenser.incondensables_in.C_out.P = condenser.hot_side.C_in.P; + condenser.hot_side.C_in.Q+condenser.incondensables_in.C_out.Q = 0.0; + condenser.incondensables_out.C_in.P = condenser.hot_side.C_out.P; + condenser.hot_side.C_out.Q+condenser.incondensables_out.C_in.Q = 0.0; + condenser.water_height_pipe.C_in.P = condenser.incondensables_out.C_out.P; + condenser.incondensables_out.C_out.Q+condenser.water_height_pipe.C_in.Q = + 0.0; + + // Component T_circulating_water_out_sensor.flow_model + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + T_circulating_water_out_sensor.flow_model.h_in = inStream(T_circulating_water_out_sensor.flow_model.C_in.h_outflow); + T_circulating_water_out_sensor.flow_model.h_out = T_circulating_water_out_sensor.flow_model.C_out.h_outflow; + T_circulating_water_out_sensor.flow_model.Q = T_circulating_water_out_sensor.flow_model.C_in.Q; + T_circulating_water_out_sensor.flow_model.P_in = T_circulating_water_out_sensor.flow_model.C_in.P; + T_circulating_water_out_sensor.flow_model.P_out = T_circulating_water_out_sensor.flow_model.C_out.P; + T_circulating_water_out_sensor.flow_model.Xi = inStream(T_circulating_water_out_sensor.flow_model.C_in.Xi_outflow); + T_circulating_water_out_sensor.flow_model.C_in.h_outflow = 1000000.0; + T_circulating_water_out_sensor.flow_model.C_in.Xi_outflow = zeros(0); + T_circulating_water_out_sensor.flow_model.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (T_circulating_water_out_sensor.flow_model.P_in, T_circulating_water_out_sensor.flow_model.h_in, + T_circulating_water_out_sensor.flow_model.Xi, 0, 0); + T_circulating_water_out_sensor.flow_model.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (T_circulating_water_out_sensor.flow_model.P_out, T_circulating_water_out_sensor.flow_model.h_out, + T_circulating_water_out_sensor.flow_model.Xi, 0, 0); + T_circulating_water_out_sensor.flow_model.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + T_circulating_water_out_sensor.flow_model.state_in); + T_circulating_water_out_sensor.flow_model.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + T_circulating_water_out_sensor.flow_model.state_out); + T_circulating_water_out_sensor.flow_model.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + T_circulating_water_out_sensor.flow_model.state_in); + T_circulating_water_out_sensor.flow_model.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + T_circulating_water_out_sensor.flow_model.state_out); + T_circulating_water_out_sensor.flow_model.rho = (T_circulating_water_out_sensor.flow_model.rho_in + +T_circulating_water_out_sensor.flow_model.rho_out)/2; + T_circulating_water_out_sensor.flow_model.Qv_in = T_circulating_water_out_sensor.flow_model.Q + /T_circulating_water_out_sensor.flow_model.rho_in; + T_circulating_water_out_sensor.flow_model.Qv_out = -T_circulating_water_out_sensor.flow_model.Q + /T_circulating_water_out_sensor.flow_model.rho_out; + T_circulating_water_out_sensor.flow_model.Qv = (T_circulating_water_out_sensor.flow_model.Qv_in + -T_circulating_water_out_sensor.flow_model.Qv_out)/2; + T_circulating_water_out_sensor.flow_model.P_out-T_circulating_water_out_sensor.flow_model.P_in + = T_circulating_water_out_sensor.flow_model.DP; + T_circulating_water_out_sensor.flow_model.Q*(T_circulating_water_out_sensor.flow_model.h_out + -T_circulating_water_out_sensor.flow_model.h_in) = T_circulating_water_out_sensor.flow_model.W; + T_circulating_water_out_sensor.flow_model.h_out-T_circulating_water_out_sensor.flow_model.h_in + = T_circulating_water_out_sensor.flow_model.DH; + T_circulating_water_out_sensor.flow_model.T_out-T_circulating_water_out_sensor.flow_model.T_in + = T_circulating_water_out_sensor.flow_model.DT; + T_circulating_water_out_sensor.flow_model.C_in.Q+T_circulating_water_out_sensor.flow_model.C_out.Q + = 0; + T_circulating_water_out_sensor.flow_model.C_out.Xi_outflow = inStream( + T_circulating_water_out_sensor.flow_model.C_in.Xi_outflow); + assert(T_circulating_water_out_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + T_circulating_water_out_sensor.flow_model.P = T_circulating_water_out_sensor.flow_model.P_in; + T_circulating_water_out_sensor.flow_model.h = T_circulating_water_out_sensor.flow_model.h_in; + T_circulating_water_out_sensor.flow_model.T = T_circulating_water_out_sensor.flow_model.T_in; + T_circulating_water_out_sensor.flow_model.DP = 0; + T_circulating_water_out_sensor.flow_model.DH = 0; + // end of extends + + // Component T_circulating_water_out_sensor + // class MetroscopeModelingLibrary.Sensors_Control.WaterSteam.TemperatureSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not T_circulating_water_out_sensor.faulty_flow_rate) then + T_circulating_water_out_sensor.mass_flow_rate_bias = 0; + end if; + T_circulating_water_out_sensor.P = T_circulating_water_out_sensor.C_in.P; + T_circulating_water_out_sensor.Q = T_circulating_water_out_sensor.C_in.Q+ + T_circulating_water_out_sensor.mass_flow_rate_bias; + T_circulating_water_out_sensor.Xi = inStream(T_circulating_water_out_sensor.C_in.Xi_outflow); + T_circulating_water_out_sensor.h = inStream(T_circulating_water_out_sensor.C_in.h_outflow); + T_circulating_water_out_sensor.state = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (T_circulating_water_out_sensor.P, T_circulating_water_out_sensor.h, + T_circulating_water_out_sensor.Xi, 0, 0); + assert(T_circulating_water_out_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.TemperatureSensor + equation + T_circulating_water_out_sensor.T = T_circulating_water_out_sensor.flow_model.T; + T_circulating_water_out_sensor.T_degC+273.15 = T_circulating_water_out_sensor.T; + T_circulating_water_out_sensor.T_degF = T_circulating_water_out_sensor.T_degC + *1.8+32; + if (T_circulating_water_out_sensor.signal_unit == "degC") then + T_circulating_water_out_sensor.T_sensor = T_circulating_water_out_sensor.T_degC; + elseif (T_circulating_water_out_sensor.signal_unit == "degF") then + T_circulating_water_out_sensor.T_sensor = T_circulating_water_out_sensor.T_degF; + elseif (T_circulating_water_out_sensor.signal_unit == "K") then + T_circulating_water_out_sensor.T_sensor = T_circulating_water_out_sensor.T; + else + assert(false, "Unavailable unit selected for %name"); + end if; + // end of extends + equation + T_circulating_water_out_sensor.flow_model.C_in.P = T_circulating_water_out_sensor.C_in.P; + T_circulating_water_out_sensor.C_in.Q-T_circulating_water_out_sensor.flow_model.C_in.Q + = 0.0; + T_circulating_water_out_sensor.flow_model.C_out.P = T_circulating_water_out_sensor.C_out.P; + T_circulating_water_out_sensor.C_out.Q-T_circulating_water_out_sensor.flow_model.C_out.Q + = 0.0; + + // Component circulating_water_source + // class MetroscopeModelingLibrary.WaterSteam.BoundaryConditions.Source + // extends MetroscopeModelingLibrary.Partial.BoundaryConditions.FluidSource + equation + circulating_water_source.C_out.P = circulating_water_source.P_out; + circulating_water_source.C_out.Q = circulating_water_source.Q_out; + circulating_water_source.C_out.h_outflow = circulating_water_source.h_out; + circulating_water_source.C_out.Xi_outflow = circulating_water_source.Xi_out; + circulating_water_source.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (circulating_water_source.P_out, circulating_water_source.h_out, + circulating_water_source.Xi_out, 0, 0); + circulating_water_source.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + circulating_water_source.state_out); + circulating_water_source.Qv_out = circulating_water_source.Q_out/ + Modelica.Media.Water.WaterIF97_ph.density_Unique13( + circulating_water_source.state_out); + // end of extends + + // Component circulating_water_sink + // class MetroscopeModelingLibrary.WaterSteam.BoundaryConditions.Sink + // extends MetroscopeModelingLibrary.Partial.BoundaryConditions.FluidSink + equation + circulating_water_sink.C_in.P = circulating_water_sink.P_in; + circulating_water_sink.C_in.Q = circulating_water_sink.Q_in; + inStream(circulating_water_sink.C_in.h_outflow) = circulating_water_sink.h_in; + inStream(circulating_water_sink.C_in.Xi_outflow) = circulating_water_sink.Xi_in; + circulating_water_sink.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (circulating_water_sink.P_in, circulating_water_sink.h_in, + circulating_water_sink.Xi_in, 0, 0); + circulating_water_sink.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + circulating_water_sink.state_in); + circulating_water_sink.Qv_in = circulating_water_sink.Q_in/ + Modelica.Media.Water.WaterIF97_ph.density_Unique13( + circulating_water_sink.state_in); + circulating_water_sink.C_in.h_outflow = 0; + circulating_water_sink.C_in.Xi_outflow = zeros(0); + // end of extends + + // Component pump + // class MetroscopeModelingLibrary.WaterSteam.Machines.FixedSpeedPump + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + pump.h_in = inStream(pump.C_in.h_outflow); + pump.h_out = pump.C_out.h_outflow; + pump.Q = pump.C_in.Q; + pump.P_in = pump.C_in.P; + pump.P_out = pump.C_out.P; + pump.Xi = inStream(pump.C_in.Xi_outflow); + pump.C_in.h_outflow = 1000000.0; + pump.C_in.Xi_outflow = zeros(0); + pump.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8( + pump.P_in, pump.h_in, pump.Xi, 0, 0); + pump.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8( + pump.P_out, pump.h_out, pump.Xi, 0, 0); + pump.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12( + pump.state_in); + pump.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12( + pump.state_out); + pump.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13( + pump.state_in); + pump.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13( + pump.state_out); + pump.rho = (pump.rho_in+pump.rho_out)/2; + pump.Qv_in = pump.Q/pump.rho_in; + pump.Qv_out = -pump.Q/pump.rho_out; + pump.Qv = (pump.Qv_in-pump.Qv_out)/2; + pump.P_out-pump.P_in = pump.DP; + pump.Q*(pump.h_out-pump.h_in) = pump.W; + pump.h_out-pump.h_in = pump.DH; + pump.T_out-pump.T_in = pump.DT; + pump.C_in.Q+pump.C_out.Q = 0; + pump.C_out.Xi_outflow = inStream(pump.C_in.Xi_outflow); + assert(pump.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Machines.FixedSpeedPump + equation + pump.DP = pump.rho*9.80665*pump.hn; + pump.DH = 9.80665*pump.hn/pump.rh; + // end of extends + + // Component T_pump_out_sensor.flow_model + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + T_pump_out_sensor.flow_model.h_in = inStream(T_pump_out_sensor.flow_model.C_in.h_outflow); + T_pump_out_sensor.flow_model.h_out = T_pump_out_sensor.flow_model.C_out.h_outflow; + T_pump_out_sensor.flow_model.Q = T_pump_out_sensor.flow_model.C_in.Q; + T_pump_out_sensor.flow_model.P_in = T_pump_out_sensor.flow_model.C_in.P; + T_pump_out_sensor.flow_model.P_out = T_pump_out_sensor.flow_model.C_out.P; + T_pump_out_sensor.flow_model.Xi = inStream(T_pump_out_sensor.flow_model.C_in.Xi_outflow); + T_pump_out_sensor.flow_model.C_in.h_outflow = 1000000.0; + T_pump_out_sensor.flow_model.C_in.Xi_outflow = zeros(0); + T_pump_out_sensor.flow_model.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (T_pump_out_sensor.flow_model.P_in, T_pump_out_sensor.flow_model.h_in, + T_pump_out_sensor.flow_model.Xi, 0, 0); + T_pump_out_sensor.flow_model.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (T_pump_out_sensor.flow_model.P_out, T_pump_out_sensor.flow_model.h_out, + T_pump_out_sensor.flow_model.Xi, 0, 0); + T_pump_out_sensor.flow_model.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + T_pump_out_sensor.flow_model.state_in); + T_pump_out_sensor.flow_model.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + T_pump_out_sensor.flow_model.state_out); + T_pump_out_sensor.flow_model.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + T_pump_out_sensor.flow_model.state_in); + T_pump_out_sensor.flow_model.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + T_pump_out_sensor.flow_model.state_out); + T_pump_out_sensor.flow_model.rho = (T_pump_out_sensor.flow_model.rho_in+ + T_pump_out_sensor.flow_model.rho_out)/2; + T_pump_out_sensor.flow_model.Qv_in = T_pump_out_sensor.flow_model.Q/ + T_pump_out_sensor.flow_model.rho_in; + T_pump_out_sensor.flow_model.Qv_out = -T_pump_out_sensor.flow_model.Q/ + T_pump_out_sensor.flow_model.rho_out; + T_pump_out_sensor.flow_model.Qv = (T_pump_out_sensor.flow_model.Qv_in- + T_pump_out_sensor.flow_model.Qv_out)/2; + T_pump_out_sensor.flow_model.P_out-T_pump_out_sensor.flow_model.P_in = + T_pump_out_sensor.flow_model.DP; + T_pump_out_sensor.flow_model.Q*(T_pump_out_sensor.flow_model.h_out- + T_pump_out_sensor.flow_model.h_in) = T_pump_out_sensor.flow_model.W; + T_pump_out_sensor.flow_model.h_out-T_pump_out_sensor.flow_model.h_in = + T_pump_out_sensor.flow_model.DH; + T_pump_out_sensor.flow_model.T_out-T_pump_out_sensor.flow_model.T_in = + T_pump_out_sensor.flow_model.DT; + T_pump_out_sensor.flow_model.C_in.Q+T_pump_out_sensor.flow_model.C_out.Q + = 0; + T_pump_out_sensor.flow_model.C_out.Xi_outflow = inStream(T_pump_out_sensor.flow_model.C_in.Xi_outflow); + assert(T_pump_out_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + T_pump_out_sensor.flow_model.P = T_pump_out_sensor.flow_model.P_in; + T_pump_out_sensor.flow_model.h = T_pump_out_sensor.flow_model.h_in; + T_pump_out_sensor.flow_model.T = T_pump_out_sensor.flow_model.T_in; + T_pump_out_sensor.flow_model.DP = 0; + T_pump_out_sensor.flow_model.DH = 0; + // end of extends + + // Component T_pump_out_sensor + // class MetroscopeModelingLibrary.Sensors_Control.WaterSteam.TemperatureSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not T_pump_out_sensor.faulty_flow_rate) then + T_pump_out_sensor.mass_flow_rate_bias = 0; + end if; + T_pump_out_sensor.P = T_pump_out_sensor.C_in.P; + T_pump_out_sensor.Q = T_pump_out_sensor.C_in.Q+T_pump_out_sensor.mass_flow_rate_bias; + T_pump_out_sensor.Xi = inStream(T_pump_out_sensor.C_in.Xi_outflow); + T_pump_out_sensor.h = inStream(T_pump_out_sensor.C_in.h_outflow); + T_pump_out_sensor.state = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (T_pump_out_sensor.P, T_pump_out_sensor.h, T_pump_out_sensor.Xi, 0, 0); + assert(T_pump_out_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.TemperatureSensor + equation + T_pump_out_sensor.T = T_pump_out_sensor.flow_model.T; + T_pump_out_sensor.T_degC+273.15 = T_pump_out_sensor.T; + T_pump_out_sensor.T_degF = T_pump_out_sensor.T_degC*1.8+32; + if (T_pump_out_sensor.signal_unit == "degC") then + T_pump_out_sensor.T_sensor = T_pump_out_sensor.T_degC; + elseif (T_pump_out_sensor.signal_unit == "degF") then + T_pump_out_sensor.T_sensor = T_pump_out_sensor.T_degF; + elseif (T_pump_out_sensor.signal_unit == "K") then + T_pump_out_sensor.T_sensor = T_pump_out_sensor.T; + else + assert(false, "Unavailable unit selected for %name"); + end if; + // end of extends + equation + T_pump_out_sensor.flow_model.C_in.P = T_pump_out_sensor.C_in.P; + T_pump_out_sensor.C_in.Q-T_pump_out_sensor.flow_model.C_in.Q = 0.0; + T_pump_out_sensor.flow_model.C_out.P = T_pump_out_sensor.C_out.P; + T_pump_out_sensor.C_out.Q-T_pump_out_sensor.flow_model.C_out.Q = 0.0; + + // Component P_pump_out_sensor.flow_model + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + P_pump_out_sensor.flow_model.h_in = inStream(P_pump_out_sensor.flow_model.C_in.h_outflow); + P_pump_out_sensor.flow_model.h_out = P_pump_out_sensor.flow_model.C_out.h_outflow; + P_pump_out_sensor.flow_model.Q = P_pump_out_sensor.flow_model.C_in.Q; + P_pump_out_sensor.flow_model.P_in = P_pump_out_sensor.flow_model.C_in.P; + P_pump_out_sensor.flow_model.P_out = P_pump_out_sensor.flow_model.C_out.P; + P_pump_out_sensor.flow_model.Xi = inStream(P_pump_out_sensor.flow_model.C_in.Xi_outflow); + P_pump_out_sensor.flow_model.C_in.h_outflow = 1000000.0; + P_pump_out_sensor.flow_model.C_in.Xi_outflow = zeros(0); + P_pump_out_sensor.flow_model.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_pump_out_sensor.flow_model.P_in, P_pump_out_sensor.flow_model.h_in, + P_pump_out_sensor.flow_model.Xi, 0, 0); + P_pump_out_sensor.flow_model.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_pump_out_sensor.flow_model.P_out, P_pump_out_sensor.flow_model.h_out, + P_pump_out_sensor.flow_model.Xi, 0, 0); + P_pump_out_sensor.flow_model.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + P_pump_out_sensor.flow_model.state_in); + P_pump_out_sensor.flow_model.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + P_pump_out_sensor.flow_model.state_out); + P_pump_out_sensor.flow_model.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + P_pump_out_sensor.flow_model.state_in); + P_pump_out_sensor.flow_model.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + P_pump_out_sensor.flow_model.state_out); + P_pump_out_sensor.flow_model.rho = (P_pump_out_sensor.flow_model.rho_in+ + P_pump_out_sensor.flow_model.rho_out)/2; + P_pump_out_sensor.flow_model.Qv_in = P_pump_out_sensor.flow_model.Q/ + P_pump_out_sensor.flow_model.rho_in; + P_pump_out_sensor.flow_model.Qv_out = -P_pump_out_sensor.flow_model.Q/ + P_pump_out_sensor.flow_model.rho_out; + P_pump_out_sensor.flow_model.Qv = (P_pump_out_sensor.flow_model.Qv_in- + P_pump_out_sensor.flow_model.Qv_out)/2; + P_pump_out_sensor.flow_model.P_out-P_pump_out_sensor.flow_model.P_in = + P_pump_out_sensor.flow_model.DP; + P_pump_out_sensor.flow_model.Q*(P_pump_out_sensor.flow_model.h_out- + P_pump_out_sensor.flow_model.h_in) = P_pump_out_sensor.flow_model.W; + P_pump_out_sensor.flow_model.h_out-P_pump_out_sensor.flow_model.h_in = + P_pump_out_sensor.flow_model.DH; + P_pump_out_sensor.flow_model.T_out-P_pump_out_sensor.flow_model.T_in = + P_pump_out_sensor.flow_model.DT; + P_pump_out_sensor.flow_model.C_in.Q+P_pump_out_sensor.flow_model.C_out.Q + = 0; + P_pump_out_sensor.flow_model.C_out.Xi_outflow = inStream(P_pump_out_sensor.flow_model.C_in.Xi_outflow); + assert(P_pump_out_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + P_pump_out_sensor.flow_model.P = P_pump_out_sensor.flow_model.P_in; + P_pump_out_sensor.flow_model.h = P_pump_out_sensor.flow_model.h_in; + P_pump_out_sensor.flow_model.T = P_pump_out_sensor.flow_model.T_in; + P_pump_out_sensor.flow_model.DP = 0; + P_pump_out_sensor.flow_model.DH = 0; + // end of extends + + // Component P_pump_out_sensor + // class MetroscopeModelingLibrary.Sensors_Control.WaterSteam.PressureSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not P_pump_out_sensor.faulty_flow_rate) then + P_pump_out_sensor.mass_flow_rate_bias = 0; + end if; + P_pump_out_sensor.P = P_pump_out_sensor.C_in.P; + P_pump_out_sensor.Q = P_pump_out_sensor.C_in.Q+P_pump_out_sensor.mass_flow_rate_bias; + P_pump_out_sensor.Xi = inStream(P_pump_out_sensor.C_in.Xi_outflow); + P_pump_out_sensor.h = inStream(P_pump_out_sensor.C_in.h_outflow); + P_pump_out_sensor.state = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_pump_out_sensor.P, P_pump_out_sensor.h, P_pump_out_sensor.Xi, 0, 0); + assert(P_pump_out_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.PressureSensor + equation + P_pump_out_sensor.P_barA = P_pump_out_sensor.P*1E-05; + P_pump_out_sensor.P_psiA = P_pump_out_sensor.P*0.000145038; + P_pump_out_sensor.P_MPaA = P_pump_out_sensor.P*1E-06; + P_pump_out_sensor.P_kPaA = P_pump_out_sensor.P*0.001; + P_pump_out_sensor.P_barG = P_pump_out_sensor.P_barA-1; + P_pump_out_sensor.P_psiG = P_pump_out_sensor.P_psiA-14.50377377; + P_pump_out_sensor.P_MPaG = P_pump_out_sensor.P_MPaA-0.1; + P_pump_out_sensor.P_kPaG = P_pump_out_sensor.P_kPaA-100; + P_pump_out_sensor.P_mbar = P_pump_out_sensor.P*0.01; + P_pump_out_sensor.P_inHg = P_pump_out_sensor.P*0.0002953006; + if (P_pump_out_sensor.signal_unit == "barA") then + P_pump_out_sensor.P_sensor = P_pump_out_sensor.P_barA; + elseif (P_pump_out_sensor.signal_unit == "barG") then + P_pump_out_sensor.P_sensor = P_pump_out_sensor.P_barG; + elseif (P_pump_out_sensor.signal_unit == "mbar") then + P_pump_out_sensor.P_sensor = P_pump_out_sensor.P_mbar; + elseif (P_pump_out_sensor.signal_unit == "MPaA") then + P_pump_out_sensor.P_sensor = P_pump_out_sensor.P_MPaA; + elseif (P_pump_out_sensor.signal_unit == "kPaA") then + P_pump_out_sensor.P_sensor = P_pump_out_sensor.P_kPaA; + else + P_pump_out_sensor.P_sensor = P_pump_out_sensor.P; + end if; + // end of extends + equation + P_pump_out_sensor.flow_model.C_in.P = P_pump_out_sensor.C_in.P; + P_pump_out_sensor.C_in.Q-P_pump_out_sensor.flow_model.C_in.Q = 0.0; + P_pump_out_sensor.flow_model.C_out.P = P_pump_out_sensor.C_out.P; + P_pump_out_sensor.C_out.Q-P_pump_out_sensor.flow_model.C_out.Q = 0.0; + + // Component loopBreaker + // class MetroscopeModelingLibrary.WaterSteam.Pipes.LoopBreaker + // extends MetroscopeModelingLibrary.Partial.Pipes.LoopBreaker + equation + loopBreaker.C_in.P = loopBreaker.C_out.P; + inStream(loopBreaker.C_in.h_outflow) = loopBreaker.C_out.h_outflow; + loopBreaker.C_in.h_outflow = 0; + inStream(loopBreaker.C_in.Xi_outflow) = loopBreaker.C_out.Xi_outflow; + loopBreaker.C_in.Xi_outflow = zeros(0); + loopBreaker.C_in.Q+loopBreaker.C_out.Q = loopBreaker.loop_flow_error; + // end of extends + + // Component Q_pump_out_sensor.flow_model + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + Q_pump_out_sensor.flow_model.h_in = inStream(Q_pump_out_sensor.flow_model.C_in.h_outflow); + Q_pump_out_sensor.flow_model.h_out = Q_pump_out_sensor.flow_model.C_out.h_outflow; + Q_pump_out_sensor.flow_model.Q = Q_pump_out_sensor.flow_model.C_in.Q; + Q_pump_out_sensor.flow_model.P_in = Q_pump_out_sensor.flow_model.C_in.P; + Q_pump_out_sensor.flow_model.P_out = Q_pump_out_sensor.flow_model.C_out.P; + Q_pump_out_sensor.flow_model.Xi = inStream(Q_pump_out_sensor.flow_model.C_in.Xi_outflow); + Q_pump_out_sensor.flow_model.C_in.h_outflow = 1000000.0; + Q_pump_out_sensor.flow_model.C_in.Xi_outflow = zeros(0); + Q_pump_out_sensor.flow_model.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (Q_pump_out_sensor.flow_model.P_in, Q_pump_out_sensor.flow_model.h_in, + Q_pump_out_sensor.flow_model.Xi, 0, 0); + Q_pump_out_sensor.flow_model.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (Q_pump_out_sensor.flow_model.P_out, Q_pump_out_sensor.flow_model.h_out, + Q_pump_out_sensor.flow_model.Xi, 0, 0); + Q_pump_out_sensor.flow_model.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + Q_pump_out_sensor.flow_model.state_in); + Q_pump_out_sensor.flow_model.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + Q_pump_out_sensor.flow_model.state_out); + Q_pump_out_sensor.flow_model.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + Q_pump_out_sensor.flow_model.state_in); + Q_pump_out_sensor.flow_model.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + Q_pump_out_sensor.flow_model.state_out); + Q_pump_out_sensor.flow_model.rho = (Q_pump_out_sensor.flow_model.rho_in+ + Q_pump_out_sensor.flow_model.rho_out)/2; + Q_pump_out_sensor.flow_model.Qv_in = Q_pump_out_sensor.flow_model.Q/ + Q_pump_out_sensor.flow_model.rho_in; + Q_pump_out_sensor.flow_model.Qv_out = -Q_pump_out_sensor.flow_model.Q/ + Q_pump_out_sensor.flow_model.rho_out; + Q_pump_out_sensor.flow_model.Qv = (Q_pump_out_sensor.flow_model.Qv_in- + Q_pump_out_sensor.flow_model.Qv_out)/2; + Q_pump_out_sensor.flow_model.P_out-Q_pump_out_sensor.flow_model.P_in = + Q_pump_out_sensor.flow_model.DP; + Q_pump_out_sensor.flow_model.Q*(Q_pump_out_sensor.flow_model.h_out- + Q_pump_out_sensor.flow_model.h_in) = Q_pump_out_sensor.flow_model.W; + Q_pump_out_sensor.flow_model.h_out-Q_pump_out_sensor.flow_model.h_in = + Q_pump_out_sensor.flow_model.DH; + Q_pump_out_sensor.flow_model.T_out-Q_pump_out_sensor.flow_model.T_in = + Q_pump_out_sensor.flow_model.DT; + Q_pump_out_sensor.flow_model.C_in.Q+Q_pump_out_sensor.flow_model.C_out.Q + = 0; + Q_pump_out_sensor.flow_model.C_out.Xi_outflow = inStream(Q_pump_out_sensor.flow_model.C_in.Xi_outflow); + assert(Q_pump_out_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + Q_pump_out_sensor.flow_model.P = Q_pump_out_sensor.flow_model.P_in; + Q_pump_out_sensor.flow_model.h = Q_pump_out_sensor.flow_model.h_in; + Q_pump_out_sensor.flow_model.T = Q_pump_out_sensor.flow_model.T_in; + Q_pump_out_sensor.flow_model.DP = 0; + Q_pump_out_sensor.flow_model.DH = 0; + // end of extends + + // Component Q_pump_out_sensor + // class MetroscopeModelingLibrary.Sensors_Control.WaterSteam.FlowSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not Q_pump_out_sensor.faulty_flow_rate) then + Q_pump_out_sensor.mass_flow_rate_bias = 0; + end if; + Q_pump_out_sensor.P = Q_pump_out_sensor.C_in.P; + Q_pump_out_sensor.Q = Q_pump_out_sensor.C_in.Q+Q_pump_out_sensor.mass_flow_rate_bias; + Q_pump_out_sensor.Xi = inStream(Q_pump_out_sensor.C_in.Xi_outflow); + Q_pump_out_sensor.h = inStream(Q_pump_out_sensor.C_in.h_outflow); + Q_pump_out_sensor.state = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (Q_pump_out_sensor.P, Q_pump_out_sensor.h, Q_pump_out_sensor.Xi, 0, 0); + assert(Q_pump_out_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.FlowSensor + equation + Q_pump_out_sensor.Qv = Q_pump_out_sensor.Q/Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + Q_pump_out_sensor.state); + Q_pump_out_sensor.Q_lm = Q_pump_out_sensor.Qv*60000; + Q_pump_out_sensor.Q_th = Q_pump_out_sensor.Q*3.6; + Q_pump_out_sensor.Q_lbs = Q_pump_out_sensor.Q*2.2046; + Q_pump_out_sensor.Q_Mlbh = Q_pump_out_sensor.Q*0.0079366414387; + if (Q_pump_out_sensor.signal_unit == "l/m") then + Q_pump_out_sensor.Q_sensor = Q_pump_out_sensor.Q_lm; + elseif (Q_pump_out_sensor.signal_unit == "t/h") then + Q_pump_out_sensor.Q_sensor = Q_pump_out_sensor.Q_th; + else + Q_pump_out_sensor.Q_sensor = Q_pump_out_sensor.Q; + end if; + // end of extends + equation + Q_pump_out_sensor.flow_model.C_in.P = Q_pump_out_sensor.C_in.P; + Q_pump_out_sensor.C_in.Q-Q_pump_out_sensor.flow_model.C_in.Q = 0.0; + Q_pump_out_sensor.flow_model.C_out.P = Q_pump_out_sensor.C_out.P; + Q_pump_out_sensor.C_out.Q-Q_pump_out_sensor.flow_model.C_out.Q = 0.0; + + // Component airCompressor + // class MetroscopeModelingLibrary.FlueGases.Machines.AirCompressor + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + airCompressor.h_in = inStream(airCompressor.C_in.h_outflow); + airCompressor.h_out = airCompressor.C_out.h_outflow; + airCompressor.Q = airCompressor.C_in.Q; + airCompressor.P_in = airCompressor.C_in.P; + airCompressor.P_out = airCompressor.C_out.P; + airCompressor.Xi = inStream(airCompressor.C_in.Xi_outflow); + airCompressor.C_in.h_outflow = 1000000.0; + airCompressor.C_in.Xi_outflow = zeros(5); + airCompressor.state_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (airCompressor.P_in, airCompressor.h_in, airCompressor.Xi); + airCompressor.state_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (airCompressor.P_out, airCompressor.h_out, airCompressor.Xi); + airCompressor.T_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + airCompressor.state_in); + airCompressor.T_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + airCompressor.state_out); + airCompressor.rho_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + airCompressor.state_in); + airCompressor.rho_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + airCompressor.state_out); + airCompressor.rho = (airCompressor.rho_in+airCompressor.rho_out)/2; + airCompressor.Qv_in = airCompressor.Q/airCompressor.rho_in; + airCompressor.Qv_out = -airCompressor.Q/airCompressor.rho_out; + airCompressor.Qv = (airCompressor.Qv_in-airCompressor.Qv_out)/2; + airCompressor.P_out-airCompressor.P_in = airCompressor.DP; + airCompressor.Q*(airCompressor.h_out-airCompressor.h_in) = airCompressor.W; + airCompressor.h_out-airCompressor.h_in = airCompressor.DH; + airCompressor.T_out-airCompressor.T_in = airCompressor.DT; + airCompressor.C_in.Q+airCompressor.C_out.Q = 0; + airCompressor.C_out.Xi_outflow = inStream(airCompressor.C_in.Xi_outflow); + assert(airCompressor.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // end of extends + equation + if ( not airCompressor.faulty) then + airCompressor.eta_is_decrease = 0; + airCompressor.tau_decrease = 0; + end if; + airCompressor.tau*(1-airCompressor.tau_decrease/100) = airCompressor.P_out/ + airCompressor.P_in; + airCompressor.DH*airCompressor.eta_is*(1-airCompressor.eta_is_decrease/100) + = airCompressor.h_is-airCompressor.h_in; + airCompressor.C_W_in.W = airCompressor.W; + airCompressor.state_is = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_psX_Unique35 + (airCompressor.P_out, MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.specificEntropy_Unique41 + ( + airCompressor.state_in), airCompressor.Xi); + airCompressor.h_is = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.specificEnthalpy_Unique42 + ( + airCompressor.state_is); + airCompressor.Q_reduced = airCompressor.Q*sqrt(airCompressor.T_in)/ + airCompressor.P_in; + + // Component gasTurbine + // class MetroscopeModelingLibrary.FlueGases.Machines.GasTurbine + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + gasTurbine.h_in = inStream(gasTurbine.C_in.h_outflow); + gasTurbine.h_out = gasTurbine.C_out.h_outflow; + gasTurbine.Q = gasTurbine.C_in.Q; + gasTurbine.P_in = gasTurbine.C_in.P; + gasTurbine.P_out = gasTurbine.C_out.P; + gasTurbine.Xi = inStream(gasTurbine.C_in.Xi_outflow); + gasTurbine.C_in.h_outflow = 1000000.0; + gasTurbine.C_in.Xi_outflow = zeros(5); + gasTurbine.state_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (gasTurbine.P_in, gasTurbine.h_in, gasTurbine.Xi); + gasTurbine.state_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (gasTurbine.P_out, gasTurbine.h_out, gasTurbine.Xi); + gasTurbine.T_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + gasTurbine.state_in); + gasTurbine.T_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + gasTurbine.state_out); + gasTurbine.rho_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + gasTurbine.state_in); + gasTurbine.rho_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + gasTurbine.state_out); + gasTurbine.rho = (gasTurbine.rho_in+gasTurbine.rho_out)/2; + gasTurbine.Qv_in = gasTurbine.Q/gasTurbine.rho_in; + gasTurbine.Qv_out = -gasTurbine.Q/gasTurbine.rho_out; + gasTurbine.Qv = (gasTurbine.Qv_in-gasTurbine.Qv_out)/2; + gasTurbine.P_out-gasTurbine.P_in = gasTurbine.DP; + gasTurbine.Q*(gasTurbine.h_out-gasTurbine.h_in) = gasTurbine.W; + gasTurbine.h_out-gasTurbine.h_in = gasTurbine.DH; + gasTurbine.T_out-gasTurbine.T_in = gasTurbine.DT; + gasTurbine.C_in.Q+gasTurbine.C_out.Q = 0; + gasTurbine.C_out.Xi_outflow = inStream(gasTurbine.C_in.Xi_outflow); + assert(gasTurbine.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // end of extends + equation + if ( not gasTurbine.faulty) then + gasTurbine.eta_is_decrease = 0; + end if; + gasTurbine.tau = gasTurbine.P_in/gasTurbine.P_out; + gasTurbine.DH = gasTurbine.eta_is*(1-gasTurbine.eta_is_decrease/100)*( + gasTurbine.h_is-gasTurbine.h_in); + gasTurbine.W_shaft = -gasTurbine.C_W_shaft.W; + gasTurbine.W_shaft = -gasTurbine.eta_mech*gasTurbine.W; + gasTurbine.state_is = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_psX_Unique35 + (gasTurbine.P_out, MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.specificEntropy_Unique41 + ( + gasTurbine.state_in), gasTurbine.Xi); + gasTurbine.h_is = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.specificEnthalpy_Unique42 + ( + gasTurbine.state_is); + + // Component sink_power + // class MetroscopeModelingLibrary.Power.BoundaryConditions.Sink + equation + sink_power.W_in = sink_power.C_in.W; + + // Component combustionChamber.sink_fuel + // class MetroscopeModelingLibrary.Fuel.BoundaryConditions.Sink + // extends MetroscopeModelingLibrary.Partial.BoundaryConditions.FluidSink + equation + combustionChamber.sink_fuel.C_in.P = combustionChamber.sink_fuel.P_in; + combustionChamber.sink_fuel.C_in.Q = combustionChamber.sink_fuel.Q_in; + inStream(combustionChamber.sink_fuel.C_in.h_outflow) = combustionChamber.sink_fuel.h_in; + inStream(combustionChamber.sink_fuel.C_in.Xi_outflow) = combustionChamber.sink_fuel.Xi_in; + combustionChamber.sink_fuel.state_in = MetroscopeModelingLibrary.Utilities.Media.FuelMedium.setState_phX_Unique43 + (combustionChamber.sink_fuel.P_in, combustionChamber.sink_fuel.h_in, + combustionChamber.sink_fuel.Xi_in); + combustionChamber.sink_fuel.T_in = MetroscopeModelingLibrary.Utilities.Media.FuelMedium.temperature_Unique48 + ( + combustionChamber.sink_fuel.state_in); + combustionChamber.sink_fuel.Qv_in = combustionChamber.sink_fuel.Q_in/ + MetroscopeModelingLibrary.Utilities.Media.FuelMedium.density_Unique49( + combustionChamber.sink_fuel.state_in); + combustionChamber.sink_fuel.C_in.h_outflow = 0; + combustionChamber.sink_fuel.C_in.Xi_outflow = zeros(6); + // end of extends + + // Component combustionChamber.source_exhaust + // class MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Source + // extends MetroscopeModelingLibrary.Partial.BoundaryConditions.FluidSource + equation + combustionChamber.source_exhaust.C_out.P = combustionChamber.source_exhaust.P_out; + combustionChamber.source_exhaust.C_out.Q = combustionChamber.source_exhaust.Q_out; + combustionChamber.source_exhaust.C_out.h_outflow = combustionChamber.source_exhaust.h_out; + combustionChamber.source_exhaust.C_out.Xi_outflow = combustionChamber.source_exhaust.Xi_out; + combustionChamber.source_exhaust.state_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (combustionChamber.source_exhaust.P_out, combustionChamber.source_exhaust.h_out, + combustionChamber.source_exhaust.Xi_out); + combustionChamber.source_exhaust.T_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + combustionChamber.source_exhaust.state_out); + combustionChamber.source_exhaust.Qv_out = combustionChamber.source_exhaust.Q_out + /MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + combustionChamber.source_exhaust.state_out); + // end of extends + + // Component combustionChamber.sink_air + // class MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Sink + // extends MetroscopeModelingLibrary.Partial.BoundaryConditions.FluidSink + equation + combustionChamber.sink_air.C_in.P = combustionChamber.sink_air.P_in; + combustionChamber.sink_air.C_in.Q = combustionChamber.sink_air.Q_in; + inStream(combustionChamber.sink_air.C_in.h_outflow) = combustionChamber.sink_air.h_in; + inStream(combustionChamber.sink_air.C_in.Xi_outflow) = combustionChamber.sink_air.Xi_in; + combustionChamber.sink_air.state_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (combustionChamber.sink_air.P_in, combustionChamber.sink_air.h_in, + combustionChamber.sink_air.Xi_in); + combustionChamber.sink_air.T_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + combustionChamber.sink_air.state_in); + combustionChamber.sink_air.Qv_in = combustionChamber.sink_air.Q_in/ + MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + combustionChamber.sink_air.state_in); + combustionChamber.sink_air.C_in.h_outflow = 0; + combustionChamber.sink_air.C_in.Xi_outflow = zeros(5); + // end of extends + + // Component combustionChamber.pressure_loss + // class MetroscopeModelingLibrary.FlueGases.Pipes.FrictionPipe + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + combustionChamber.pressure_loss.h_in = inStream(combustionChamber.pressure_loss.C_in.h_outflow); + combustionChamber.pressure_loss.h_out = combustionChamber.pressure_loss.C_out.h_outflow; + combustionChamber.pressure_loss.Q = combustionChamber.pressure_loss.C_in.Q; + combustionChamber.pressure_loss.P_in = combustionChamber.pressure_loss.C_in.P; + combustionChamber.pressure_loss.P_out = combustionChamber.pressure_loss.C_out.P; + combustionChamber.pressure_loss.Xi = inStream(combustionChamber.pressure_loss.C_in.Xi_outflow); + combustionChamber.pressure_loss.C_in.h_outflow = 1000000.0; + combustionChamber.pressure_loss.C_in.Xi_outflow = zeros(5); + combustionChamber.pressure_loss.state_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (combustionChamber.pressure_loss.P_in, combustionChamber.pressure_loss.h_in, + combustionChamber.pressure_loss.Xi); + combustionChamber.pressure_loss.state_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (combustionChamber.pressure_loss.P_out, combustionChamber.pressure_loss.h_out, + combustionChamber.pressure_loss.Xi); + combustionChamber.pressure_loss.T_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + combustionChamber.pressure_loss.state_in); + combustionChamber.pressure_loss.T_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + combustionChamber.pressure_loss.state_out); + combustionChamber.pressure_loss.rho_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + combustionChamber.pressure_loss.state_in); + combustionChamber.pressure_loss.rho_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + combustionChamber.pressure_loss.state_out); + combustionChamber.pressure_loss.rho = (combustionChamber.pressure_loss.rho_in + +combustionChamber.pressure_loss.rho_out)/2; + combustionChamber.pressure_loss.Qv_in = combustionChamber.pressure_loss.Q/ + combustionChamber.pressure_loss.rho_in; + combustionChamber.pressure_loss.Qv_out = -combustionChamber.pressure_loss.Q + /combustionChamber.pressure_loss.rho_out; + combustionChamber.pressure_loss.Qv = (combustionChamber.pressure_loss.Qv_in + -combustionChamber.pressure_loss.Qv_out)/2; + combustionChamber.pressure_loss.P_out-combustionChamber.pressure_loss.P_in + = combustionChamber.pressure_loss.DP; + combustionChamber.pressure_loss.Q*(combustionChamber.pressure_loss.h_out- + combustionChamber.pressure_loss.h_in) = combustionChamber.pressure_loss.W; + combustionChamber.pressure_loss.h_out-combustionChamber.pressure_loss.h_in + = combustionChamber.pressure_loss.DH; + combustionChamber.pressure_loss.T_out-combustionChamber.pressure_loss.T_in + = combustionChamber.pressure_loss.DT; + combustionChamber.pressure_loss.C_in.Q+combustionChamber.pressure_loss.C_out.Q + = 0; + combustionChamber.pressure_loss.C_out.Xi_outflow = inStream( + combustionChamber.pressure_loss.C_in.Xi_outflow); + assert(combustionChamber.pressure_loss.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoHFlowModel + equation + combustionChamber.pressure_loss.h = combustionChamber.pressure_loss.h_in; + combustionChamber.pressure_loss.DH = 0; + // extends MetroscopeModelingLibrary.Partial.Pipes.FrictionPipe + equation + if ( not combustionChamber.pressure_loss.faulty) then + combustionChamber.pressure_loss.fouling = 0; + end if; + combustionChamber.pressure_loss.DP = -(1+combustionChamber.pressure_loss.fouling + /100)*combustionChamber.pressure_loss.Kfr*combustionChamber.pressure_loss.Q + *abs(combustionChamber.pressure_loss.Q)/combustionChamber.pressure_loss.rho_in; + // end of extends + + // Component combustionChamber + // class MetroscopeModelingLibrary.MultiFluid.Machines.CombustionChamber + equation + combustionChamber.Q_air = combustionChamber.sink_air.Q_in; + combustionChamber.Q_fuel = combustionChamber.sink_fuel.Q_in; + combustionChamber.Q_exhaust = -combustionChamber.source_exhaust.Q_out; + combustionChamber.h_in_air = combustionChamber.sink_air.h_in; + combustionChamber.h_in_fuel = combustionChamber.sink_fuel.h_in; + combustionChamber.h_exhaust = combustionChamber.source_exhaust.h_out; + combustionChamber.X_in_N2 = combustionChamber.sink_air.Xi_in[1]; + combustionChamber.X_in_O2 = combustionChamber.sink_air.Xi_in[2]; + combustionChamber.X_in_H2O = combustionChamber.sink_air.Xi_in[3]; + combustionChamber.X_in_CO2 = combustionChamber.sink_air.Xi_in[4]; + combustionChamber.X_in_SO2 = combustionChamber.sink_air.Xi_in[5]; + combustionChamber.X_fuel_CH4 = combustionChamber.sink_fuel.Xi_in[1]; + combustionChamber.X_fuel_C2H6 = combustionChamber.sink_fuel.Xi_in[2]; + combustionChamber.X_fuel_C3H8 = combustionChamber.sink_fuel.Xi_in[3]; + combustionChamber.X_fuel_C4H10_n_butane = combustionChamber.sink_fuel.Xi_in[4]; + combustionChamber.X_fuel_N2 = combustionChamber.sink_fuel.Xi_in[5]; + combustionChamber.X_fuel_CO2 = combustionChamber.sink_fuel.Xi_in[6]; + combustionChamber.X_out_N2 = combustionChamber.source_exhaust.Xi_out[1]; + combustionChamber.X_out_O2 = combustionChamber.source_exhaust.Xi_out[2]; + combustionChamber.X_out_H2O = combustionChamber.source_exhaust.Xi_out[3]; + combustionChamber.X_out_CO2 = combustionChamber.source_exhaust.Xi_out[4]; + combustionChamber.X_out_SO2 = combustionChamber.source_exhaust.Xi_out[5]; + combustionChamber.Q_exhaust = combustionChamber.Q_air+combustionChamber.Q_fuel; + combustionChamber.sink_air.P_in-combustionChamber.source_exhaust.P_out = 0; + combustionChamber.Wth = combustionChamber.eta*combustionChamber.Q_fuel* + combustionChamber.LHV; + combustionChamber.Q_exhaust*combustionChamber.h_exhaust = combustionChamber.Q_air + *combustionChamber.h_in_air+combustionChamber.Q_fuel*combustionChamber.h_in_fuel + +combustionChamber.Wth; + combustionChamber.X_fuel_C = 12.0106*(combustionChamber.X_fuel_CH4/16.04252+2 + *combustionChamber.X_fuel_C2H6/30.06908+3*combustionChamber.X_fuel_C3H8/ + 44.09564+4*combustionChamber.X_fuel_C4H10_n_butane/58.1222+ + combustionChamber.X_fuel_CO2/44.0094); + combustionChamber.X_fuel_H = 1.00798*(4*combustionChamber.X_fuel_CH4/ + 16.04252+6*combustionChamber.X_fuel_C2H6/30.06908+8*combustionChamber.X_fuel_C3H8 + /44.09564+10*combustionChamber.X_fuel_C4H10_n_butane/58.1222); + combustionChamber.X_fuel_O = 31.9988*combustionChamber.X_fuel_CO2/44.0094; + ( -combustionChamber.Q_exhaust*combustionChamber.X_out_N2)+combustionChamber.Q_air + *combustionChamber.X_in_N2+combustionChamber.Q_fuel*combustionChamber.X_fuel_N2 + = 0; + ( -combustionChamber.Q_exhaust*combustionChamber.X_out_O2)+combustionChamber.Q_air + *combustionChamber.X_in_O2+combustionChamber.Q_fuel*combustionChamber.X_fuel_O + *0.5 = combustionChamber.Q_fuel*15.9994*(2*combustionChamber.X_fuel_C/ + 12.0106+0.5*combustionChamber.X_fuel_H/1.00798); + ( -combustionChamber.Q_exhaust*combustionChamber.X_out_H2O)+combustionChamber.Q_air + *combustionChamber.X_in_H2O = -combustionChamber.Q_fuel*(0.5* + combustionChamber.X_fuel_H/1.00798)*18.01536; + ( -combustionChamber.Q_exhaust*combustionChamber.X_out_CO2)+combustionChamber.Q_air + *combustionChamber.X_in_CO2 = -combustionChamber.Q_fuel*combustionChamber.X_fuel_C + *44.0094/12.0106; + ( -combustionChamber.Q_exhaust*combustionChamber.X_out_SO2)+combustionChamber.Q_air + *combustionChamber.X_in_SO2 = 0; + combustionChamber.pressure_loss.Kfr = combustionChamber.Kfr; + combustionChamber.sink_air.C_in.P = combustionChamber.inlet.P; + combustionChamber.inlet.Q-combustionChamber.sink_air.C_in.Q = 0.0; + combustionChamber.sink_fuel.C_in.P = combustionChamber.inlet1.P; + combustionChamber.inlet1.Q-combustionChamber.sink_fuel.C_in.Q = 0.0; + combustionChamber.pressure_loss.C_out.P = combustionChamber.outlet.P; + combustionChamber.outlet.Q-combustionChamber.pressure_loss.C_out.Q = 0.0; + combustionChamber.source_exhaust.C_out.P = combustionChamber.pressure_loss.C_in.P; + combustionChamber.pressure_loss.C_in.Q+combustionChamber.source_exhaust.C_out.Q + = 0.0; + + // Component source_fuel + // class MetroscopeModelingLibrary.Fuel.BoundaryConditions.Source + // extends MetroscopeModelingLibrary.Partial.BoundaryConditions.FluidSource + equation + source_fuel.C_out.P = source_fuel.P_out; + source_fuel.C_out.Q = source_fuel.Q_out; + source_fuel.C_out.h_outflow = source_fuel.h_out; + source_fuel.C_out.Xi_outflow = source_fuel.Xi_out; + source_fuel.state_out = MetroscopeModelingLibrary.Utilities.Media.FuelMedium.setState_phX_Unique43 + (source_fuel.P_out, source_fuel.h_out, source_fuel.Xi_out); + source_fuel.T_out = MetroscopeModelingLibrary.Utilities.Media.FuelMedium.temperature_Unique48 + ( + source_fuel.state_out); + source_fuel.Qv_out = source_fuel.Q_out/MetroscopeModelingLibrary.Utilities.Media.FuelMedium.density_Unique49 + ( + source_fuel.state_out); + // end of extends + equation + source_fuel.amCH4 = source_fuel.amC+4*source_fuel.amH; + source_fuel.amC2H6 = 2*source_fuel.amC+6*source_fuel.amH; + source_fuel.amC3H8 = 3*source_fuel.amC+8*source_fuel.amH; + source_fuel.amC4H10 = 4*source_fuel.amC+10*source_fuel.amH; + source_fuel.amN2 = 2*source_fuel.amN; + source_fuel.amCO2 = source_fuel.amC+2*source_fuel.amO; + source_fuel.X_CH4 = source_fuel.Xi_out[1]; + source_fuel.X_C2H6 = source_fuel.Xi_out[2]; + source_fuel.X_C3H8 = source_fuel.Xi_out[3]; + source_fuel.X_C4H10_n_butane = source_fuel.Xi_out[4]; + source_fuel.X_N2 = source_fuel.Xi_out[5]; + source_fuel.X_CO2 = source_fuel.Xi_out[6]; + source_fuel.mean_molecular_mass = source_fuel.X_molar_CH4*source_fuel.amCH4+ + source_fuel.X_molar_C2H6*source_fuel.amC2H6+source_fuel.X_molar_C3H8* + source_fuel.amC3H8+source_fuel.X_molar_C4H10_n_butane*source_fuel.amC4H10+ + source_fuel.X_molar_N2*source_fuel.amN2+source_fuel.X_molar_CO2* + source_fuel.amCO2; + source_fuel.X_molar_CH4 = source_fuel.X_CH4/source_fuel.amCH4* + source_fuel.mean_molecular_mass; + source_fuel.X_molar_C2H6 = source_fuel.X_C2H6/source_fuel.amC2H6* + source_fuel.mean_molecular_mass; + source_fuel.X_molar_C3H8 = source_fuel.X_C3H8/source_fuel.amC3H8* + source_fuel.mean_molecular_mass; + source_fuel.X_molar_C4H10_n_butane = source_fuel.X_C4H10_n_butane/ + source_fuel.amC4H10*source_fuel.mean_molecular_mass; + source_fuel.X_molar_N2 = source_fuel.X_N2/source_fuel.amN2*source_fuel.mean_molecular_mass; + source_fuel.X_molar_CO2 = source_fuel.X_CO2/source_fuel.amCO2* + source_fuel.mean_molecular_mass; + + // Component compressor_P_out_sensor.flow_model + // class MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + compressor_P_out_sensor.flow_model.h_in = inStream(compressor_P_out_sensor.flow_model.C_in.h_outflow); + compressor_P_out_sensor.flow_model.h_out = compressor_P_out_sensor.flow_model.C_out.h_outflow; + compressor_P_out_sensor.flow_model.Q = compressor_P_out_sensor.flow_model.C_in.Q; + compressor_P_out_sensor.flow_model.P_in = compressor_P_out_sensor.flow_model.C_in.P; + compressor_P_out_sensor.flow_model.P_out = compressor_P_out_sensor.flow_model.C_out.P; + compressor_P_out_sensor.flow_model.Xi = inStream(compressor_P_out_sensor.flow_model.C_in.Xi_outflow); + compressor_P_out_sensor.flow_model.C_in.h_outflow = 1000000.0; + compressor_P_out_sensor.flow_model.C_in.Xi_outflow = zeros(5); + compressor_P_out_sensor.flow_model.state_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (compressor_P_out_sensor.flow_model.P_in, compressor_P_out_sensor.flow_model.h_in, + compressor_P_out_sensor.flow_model.Xi); + compressor_P_out_sensor.flow_model.state_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (compressor_P_out_sensor.flow_model.P_out, compressor_P_out_sensor.flow_model.h_out, + compressor_P_out_sensor.flow_model.Xi); + compressor_P_out_sensor.flow_model.T_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + compressor_P_out_sensor.flow_model.state_in); + compressor_P_out_sensor.flow_model.T_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + compressor_P_out_sensor.flow_model.state_out); + compressor_P_out_sensor.flow_model.rho_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + compressor_P_out_sensor.flow_model.state_in); + compressor_P_out_sensor.flow_model.rho_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + compressor_P_out_sensor.flow_model.state_out); + compressor_P_out_sensor.flow_model.rho = (compressor_P_out_sensor.flow_model.rho_in + +compressor_P_out_sensor.flow_model.rho_out)/2; + compressor_P_out_sensor.flow_model.Qv_in = compressor_P_out_sensor.flow_model.Q + /compressor_P_out_sensor.flow_model.rho_in; + compressor_P_out_sensor.flow_model.Qv_out = -compressor_P_out_sensor.flow_model.Q + /compressor_P_out_sensor.flow_model.rho_out; + compressor_P_out_sensor.flow_model.Qv = (compressor_P_out_sensor.flow_model.Qv_in + -compressor_P_out_sensor.flow_model.Qv_out)/2; + compressor_P_out_sensor.flow_model.P_out-compressor_P_out_sensor.flow_model.P_in + = compressor_P_out_sensor.flow_model.DP; + compressor_P_out_sensor.flow_model.Q*(compressor_P_out_sensor.flow_model.h_out + -compressor_P_out_sensor.flow_model.h_in) = compressor_P_out_sensor.flow_model.W; + compressor_P_out_sensor.flow_model.h_out-compressor_P_out_sensor.flow_model.h_in + = compressor_P_out_sensor.flow_model.DH; + compressor_P_out_sensor.flow_model.T_out-compressor_P_out_sensor.flow_model.T_in + = compressor_P_out_sensor.flow_model.DT; + compressor_P_out_sensor.flow_model.C_in.Q+compressor_P_out_sensor.flow_model.C_out.Q + = 0; + compressor_P_out_sensor.flow_model.C_out.Xi_outflow = inStream( + compressor_P_out_sensor.flow_model.C_in.Xi_outflow); + assert(compressor_P_out_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + compressor_P_out_sensor.flow_model.P = compressor_P_out_sensor.flow_model.P_in; + compressor_P_out_sensor.flow_model.h = compressor_P_out_sensor.flow_model.h_in; + compressor_P_out_sensor.flow_model.T = compressor_P_out_sensor.flow_model.T_in; + compressor_P_out_sensor.flow_model.DP = 0; + compressor_P_out_sensor.flow_model.DH = 0; + // end of extends + + // Component compressor_P_out_sensor + // class MetroscopeModelingLibrary.Sensors_Control.FlueGases.PressureSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not compressor_P_out_sensor.faulty_flow_rate) then + compressor_P_out_sensor.mass_flow_rate_bias = 0; + end if; + compressor_P_out_sensor.P = compressor_P_out_sensor.C_in.P; + compressor_P_out_sensor.Q = compressor_P_out_sensor.C_in.Q+ + compressor_P_out_sensor.mass_flow_rate_bias; + compressor_P_out_sensor.Xi = inStream(compressor_P_out_sensor.C_in.Xi_outflow); + compressor_P_out_sensor.h = inStream(compressor_P_out_sensor.C_in.h_outflow); + compressor_P_out_sensor.state = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (compressor_P_out_sensor.P, compressor_P_out_sensor.h, compressor_P_out_sensor.Xi); + assert(compressor_P_out_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.PressureSensor + equation + compressor_P_out_sensor.P_barA = compressor_P_out_sensor.P*1E-05; + compressor_P_out_sensor.P_psiA = compressor_P_out_sensor.P*0.000145038; + compressor_P_out_sensor.P_MPaA = compressor_P_out_sensor.P*1E-06; + compressor_P_out_sensor.P_kPaA = compressor_P_out_sensor.P*0.001; + compressor_P_out_sensor.P_barG = compressor_P_out_sensor.P_barA-1; + compressor_P_out_sensor.P_psiG = compressor_P_out_sensor.P_psiA- + 14.50377377; + compressor_P_out_sensor.P_MPaG = compressor_P_out_sensor.P_MPaA-0.1; + compressor_P_out_sensor.P_kPaG = compressor_P_out_sensor.P_kPaA-100; + compressor_P_out_sensor.P_mbar = compressor_P_out_sensor.P*0.01; + compressor_P_out_sensor.P_inHg = compressor_P_out_sensor.P*0.0002953006; + if (compressor_P_out_sensor.signal_unit == "barA") then + compressor_P_out_sensor.P_sensor = compressor_P_out_sensor.P_barA; + elseif (compressor_P_out_sensor.signal_unit == "barG") then + compressor_P_out_sensor.P_sensor = compressor_P_out_sensor.P_barG; + elseif (compressor_P_out_sensor.signal_unit == "mbar") then + compressor_P_out_sensor.P_sensor = compressor_P_out_sensor.P_mbar; + elseif (compressor_P_out_sensor.signal_unit == "MPaA") then + compressor_P_out_sensor.P_sensor = compressor_P_out_sensor.P_MPaA; + elseif (compressor_P_out_sensor.signal_unit == "kPaA") then + compressor_P_out_sensor.P_sensor = compressor_P_out_sensor.P_kPaA; + else + compressor_P_out_sensor.P_sensor = compressor_P_out_sensor.P; + end if; + // end of extends + equation + compressor_P_out_sensor.flow_model.C_in.P = compressor_P_out_sensor.C_in.P; + compressor_P_out_sensor.C_in.Q-compressor_P_out_sensor.flow_model.C_in.Q = + 0.0; + compressor_P_out_sensor.flow_model.C_out.P = compressor_P_out_sensor.C_out.P; + compressor_P_out_sensor.C_out.Q-compressor_P_out_sensor.flow_model.C_out.Q + = 0.0; + + // Component compressor_T_out_sensor.flow_model + // class MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + compressor_T_out_sensor.flow_model.h_in = inStream(compressor_T_out_sensor.flow_model.C_in.h_outflow); + compressor_T_out_sensor.flow_model.h_out = compressor_T_out_sensor.flow_model.C_out.h_outflow; + compressor_T_out_sensor.flow_model.Q = compressor_T_out_sensor.flow_model.C_in.Q; + compressor_T_out_sensor.flow_model.P_in = compressor_T_out_sensor.flow_model.C_in.P; + compressor_T_out_sensor.flow_model.P_out = compressor_T_out_sensor.flow_model.C_out.P; + compressor_T_out_sensor.flow_model.Xi = inStream(compressor_T_out_sensor.flow_model.C_in.Xi_outflow); + compressor_T_out_sensor.flow_model.C_in.h_outflow = 1000000.0; + compressor_T_out_sensor.flow_model.C_in.Xi_outflow = zeros(5); + compressor_T_out_sensor.flow_model.state_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (compressor_T_out_sensor.flow_model.P_in, compressor_T_out_sensor.flow_model.h_in, + compressor_T_out_sensor.flow_model.Xi); + compressor_T_out_sensor.flow_model.state_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (compressor_T_out_sensor.flow_model.P_out, compressor_T_out_sensor.flow_model.h_out, + compressor_T_out_sensor.flow_model.Xi); + compressor_T_out_sensor.flow_model.T_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + compressor_T_out_sensor.flow_model.state_in); + compressor_T_out_sensor.flow_model.T_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + compressor_T_out_sensor.flow_model.state_out); + compressor_T_out_sensor.flow_model.rho_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + compressor_T_out_sensor.flow_model.state_in); + compressor_T_out_sensor.flow_model.rho_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + compressor_T_out_sensor.flow_model.state_out); + compressor_T_out_sensor.flow_model.rho = (compressor_T_out_sensor.flow_model.rho_in + +compressor_T_out_sensor.flow_model.rho_out)/2; + compressor_T_out_sensor.flow_model.Qv_in = compressor_T_out_sensor.flow_model.Q + /compressor_T_out_sensor.flow_model.rho_in; + compressor_T_out_sensor.flow_model.Qv_out = -compressor_T_out_sensor.flow_model.Q + /compressor_T_out_sensor.flow_model.rho_out; + compressor_T_out_sensor.flow_model.Qv = (compressor_T_out_sensor.flow_model.Qv_in + -compressor_T_out_sensor.flow_model.Qv_out)/2; + compressor_T_out_sensor.flow_model.P_out-compressor_T_out_sensor.flow_model.P_in + = compressor_T_out_sensor.flow_model.DP; + compressor_T_out_sensor.flow_model.Q*(compressor_T_out_sensor.flow_model.h_out + -compressor_T_out_sensor.flow_model.h_in) = compressor_T_out_sensor.flow_model.W; + compressor_T_out_sensor.flow_model.h_out-compressor_T_out_sensor.flow_model.h_in + = compressor_T_out_sensor.flow_model.DH; + compressor_T_out_sensor.flow_model.T_out-compressor_T_out_sensor.flow_model.T_in + = compressor_T_out_sensor.flow_model.DT; + compressor_T_out_sensor.flow_model.C_in.Q+compressor_T_out_sensor.flow_model.C_out.Q + = 0; + compressor_T_out_sensor.flow_model.C_out.Xi_outflow = inStream( + compressor_T_out_sensor.flow_model.C_in.Xi_outflow); + assert(compressor_T_out_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + compressor_T_out_sensor.flow_model.P = compressor_T_out_sensor.flow_model.P_in; + compressor_T_out_sensor.flow_model.h = compressor_T_out_sensor.flow_model.h_in; + compressor_T_out_sensor.flow_model.T = compressor_T_out_sensor.flow_model.T_in; + compressor_T_out_sensor.flow_model.DP = 0; + compressor_T_out_sensor.flow_model.DH = 0; + // end of extends + + // Component compressor_T_out_sensor + // class MetroscopeModelingLibrary.Sensors_Control.FlueGases.TemperatureSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not compressor_T_out_sensor.faulty_flow_rate) then + compressor_T_out_sensor.mass_flow_rate_bias = 0; + end if; + compressor_T_out_sensor.P = compressor_T_out_sensor.C_in.P; + compressor_T_out_sensor.Q = compressor_T_out_sensor.C_in.Q+ + compressor_T_out_sensor.mass_flow_rate_bias; + compressor_T_out_sensor.Xi = inStream(compressor_T_out_sensor.C_in.Xi_outflow); + compressor_T_out_sensor.h = inStream(compressor_T_out_sensor.C_in.h_outflow); + compressor_T_out_sensor.state = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (compressor_T_out_sensor.P, compressor_T_out_sensor.h, compressor_T_out_sensor.Xi); + assert(compressor_T_out_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.TemperatureSensor + equation + compressor_T_out_sensor.T = compressor_T_out_sensor.flow_model.T; + compressor_T_out_sensor.T_degC+273.15 = compressor_T_out_sensor.T; + compressor_T_out_sensor.T_degF = compressor_T_out_sensor.T_degC*1.8+32; + if (compressor_T_out_sensor.signal_unit == "degC") then + compressor_T_out_sensor.T_sensor = compressor_T_out_sensor.T_degC; + elseif (compressor_T_out_sensor.signal_unit == "degF") then + compressor_T_out_sensor.T_sensor = compressor_T_out_sensor.T_degF; + elseif (compressor_T_out_sensor.signal_unit == "K") then + compressor_T_out_sensor.T_sensor = compressor_T_out_sensor.T; + else + assert(false, "Unavailable unit selected for %name"); + end if; + // end of extends + equation + compressor_T_out_sensor.flow_model.C_in.P = compressor_T_out_sensor.C_in.P; + compressor_T_out_sensor.C_in.Q-compressor_T_out_sensor.flow_model.C_in.Q = + 0.0; + compressor_T_out_sensor.flow_model.C_out.P = compressor_T_out_sensor.C_out.P; + compressor_T_out_sensor.C_out.Q-compressor_T_out_sensor.flow_model.C_out.Q + = 0.0; + + // Component turbine_P_out_sensor.flow_model + // class MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + turbine_P_out_sensor.flow_model.h_in = inStream(turbine_P_out_sensor.flow_model.C_in.h_outflow); + turbine_P_out_sensor.flow_model.h_out = turbine_P_out_sensor.flow_model.C_out.h_outflow; + turbine_P_out_sensor.flow_model.Q = turbine_P_out_sensor.flow_model.C_in.Q; + turbine_P_out_sensor.flow_model.P_in = turbine_P_out_sensor.flow_model.C_in.P; + turbine_P_out_sensor.flow_model.P_out = turbine_P_out_sensor.flow_model.C_out.P; + turbine_P_out_sensor.flow_model.Xi = inStream(turbine_P_out_sensor.flow_model.C_in.Xi_outflow); + turbine_P_out_sensor.flow_model.C_in.h_outflow = 1000000.0; + turbine_P_out_sensor.flow_model.C_in.Xi_outflow = zeros(5); + turbine_P_out_sensor.flow_model.state_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (turbine_P_out_sensor.flow_model.P_in, turbine_P_out_sensor.flow_model.h_in, + turbine_P_out_sensor.flow_model.Xi); + turbine_P_out_sensor.flow_model.state_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (turbine_P_out_sensor.flow_model.P_out, turbine_P_out_sensor.flow_model.h_out, + turbine_P_out_sensor.flow_model.Xi); + turbine_P_out_sensor.flow_model.T_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + turbine_P_out_sensor.flow_model.state_in); + turbine_P_out_sensor.flow_model.T_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + turbine_P_out_sensor.flow_model.state_out); + turbine_P_out_sensor.flow_model.rho_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + turbine_P_out_sensor.flow_model.state_in); + turbine_P_out_sensor.flow_model.rho_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + turbine_P_out_sensor.flow_model.state_out); + turbine_P_out_sensor.flow_model.rho = (turbine_P_out_sensor.flow_model.rho_in + +turbine_P_out_sensor.flow_model.rho_out)/2; + turbine_P_out_sensor.flow_model.Qv_in = turbine_P_out_sensor.flow_model.Q/ + turbine_P_out_sensor.flow_model.rho_in; + turbine_P_out_sensor.flow_model.Qv_out = -turbine_P_out_sensor.flow_model.Q + /turbine_P_out_sensor.flow_model.rho_out; + turbine_P_out_sensor.flow_model.Qv = (turbine_P_out_sensor.flow_model.Qv_in + -turbine_P_out_sensor.flow_model.Qv_out)/2; + turbine_P_out_sensor.flow_model.P_out-turbine_P_out_sensor.flow_model.P_in + = turbine_P_out_sensor.flow_model.DP; + turbine_P_out_sensor.flow_model.Q*(turbine_P_out_sensor.flow_model.h_out- + turbine_P_out_sensor.flow_model.h_in) = turbine_P_out_sensor.flow_model.W; + turbine_P_out_sensor.flow_model.h_out-turbine_P_out_sensor.flow_model.h_in + = turbine_P_out_sensor.flow_model.DH; + turbine_P_out_sensor.flow_model.T_out-turbine_P_out_sensor.flow_model.T_in + = turbine_P_out_sensor.flow_model.DT; + turbine_P_out_sensor.flow_model.C_in.Q+turbine_P_out_sensor.flow_model.C_out.Q + = 0; + turbine_P_out_sensor.flow_model.C_out.Xi_outflow = inStream( + turbine_P_out_sensor.flow_model.C_in.Xi_outflow); + assert(turbine_P_out_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + turbine_P_out_sensor.flow_model.P = turbine_P_out_sensor.flow_model.P_in; + turbine_P_out_sensor.flow_model.h = turbine_P_out_sensor.flow_model.h_in; + turbine_P_out_sensor.flow_model.T = turbine_P_out_sensor.flow_model.T_in; + turbine_P_out_sensor.flow_model.DP = 0; + turbine_P_out_sensor.flow_model.DH = 0; + // end of extends + + // Component turbine_P_out_sensor + // class MetroscopeModelingLibrary.Sensors_Control.FlueGases.PressureSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not turbine_P_out_sensor.faulty_flow_rate) then + turbine_P_out_sensor.mass_flow_rate_bias = 0; + end if; + turbine_P_out_sensor.P = turbine_P_out_sensor.C_in.P; + turbine_P_out_sensor.Q = turbine_P_out_sensor.C_in.Q+turbine_P_out_sensor.mass_flow_rate_bias; + turbine_P_out_sensor.Xi = inStream(turbine_P_out_sensor.C_in.Xi_outflow); + turbine_P_out_sensor.h = inStream(turbine_P_out_sensor.C_in.h_outflow); + turbine_P_out_sensor.state = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (turbine_P_out_sensor.P, turbine_P_out_sensor.h, turbine_P_out_sensor.Xi); + assert(turbine_P_out_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.PressureSensor + equation + turbine_P_out_sensor.P_barA = turbine_P_out_sensor.P*1E-05; + turbine_P_out_sensor.P_psiA = turbine_P_out_sensor.P*0.000145038; + turbine_P_out_sensor.P_MPaA = turbine_P_out_sensor.P*1E-06; + turbine_P_out_sensor.P_kPaA = turbine_P_out_sensor.P*0.001; + turbine_P_out_sensor.P_barG = turbine_P_out_sensor.P_barA-1; + turbine_P_out_sensor.P_psiG = turbine_P_out_sensor.P_psiA-14.50377377; + turbine_P_out_sensor.P_MPaG = turbine_P_out_sensor.P_MPaA-0.1; + turbine_P_out_sensor.P_kPaG = turbine_P_out_sensor.P_kPaA-100; + turbine_P_out_sensor.P_mbar = turbine_P_out_sensor.P*0.01; + turbine_P_out_sensor.P_inHg = turbine_P_out_sensor.P*0.0002953006; + if (turbine_P_out_sensor.signal_unit == "barA") then + turbine_P_out_sensor.P_sensor = turbine_P_out_sensor.P_barA; + elseif (turbine_P_out_sensor.signal_unit == "barG") then + turbine_P_out_sensor.P_sensor = turbine_P_out_sensor.P_barG; + elseif (turbine_P_out_sensor.signal_unit == "mbar") then + turbine_P_out_sensor.P_sensor = turbine_P_out_sensor.P_mbar; + elseif (turbine_P_out_sensor.signal_unit == "MPaA") then + turbine_P_out_sensor.P_sensor = turbine_P_out_sensor.P_MPaA; + elseif (turbine_P_out_sensor.signal_unit == "kPaA") then + turbine_P_out_sensor.P_sensor = turbine_P_out_sensor.P_kPaA; + else + turbine_P_out_sensor.P_sensor = turbine_P_out_sensor.P; + end if; + // end of extends + equation + turbine_P_out_sensor.flow_model.C_in.P = turbine_P_out_sensor.C_in.P; + turbine_P_out_sensor.C_in.Q-turbine_P_out_sensor.flow_model.C_in.Q = 0.0; + turbine_P_out_sensor.flow_model.C_out.P = turbine_P_out_sensor.C_out.P; + turbine_P_out_sensor.C_out.Q-turbine_P_out_sensor.flow_model.C_out.Q = 0.0; + + // Component W_GT_sensor + // class MetroscopeModelingLibrary.Sensors_Control.Power.PowerSensor + equation + W_GT_sensor.C_in.W+W_GT_sensor.C_out.W = 0; + W_GT_sensor.W = W_GT_sensor.C_in.W; + W_GT_sensor.W_MW = W_GT_sensor.W/1000000.0; + if (W_GT_sensor.output_signal_unit == "MW") then + W_GT_sensor.W_sensor = W_GT_sensor.W_MW; + else + W_GT_sensor.W_sensor = W_GT_sensor.W; + end if; + + // Component turbine_T_out_sensor.flow_model + // class MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + turbine_T_out_sensor.flow_model.h_in = inStream(turbine_T_out_sensor.flow_model.C_in.h_outflow); + turbine_T_out_sensor.flow_model.h_out = turbine_T_out_sensor.flow_model.C_out.h_outflow; + turbine_T_out_sensor.flow_model.Q = turbine_T_out_sensor.flow_model.C_in.Q; + turbine_T_out_sensor.flow_model.P_in = turbine_T_out_sensor.flow_model.C_in.P; + turbine_T_out_sensor.flow_model.P_out = turbine_T_out_sensor.flow_model.C_out.P; + turbine_T_out_sensor.flow_model.Xi = inStream(turbine_T_out_sensor.flow_model.C_in.Xi_outflow); + turbine_T_out_sensor.flow_model.C_in.h_outflow = 1000000.0; + turbine_T_out_sensor.flow_model.C_in.Xi_outflow = zeros(5); + turbine_T_out_sensor.flow_model.state_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (turbine_T_out_sensor.flow_model.P_in, turbine_T_out_sensor.flow_model.h_in, + turbine_T_out_sensor.flow_model.Xi); + turbine_T_out_sensor.flow_model.state_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (turbine_T_out_sensor.flow_model.P_out, turbine_T_out_sensor.flow_model.h_out, + turbine_T_out_sensor.flow_model.Xi); + turbine_T_out_sensor.flow_model.T_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + turbine_T_out_sensor.flow_model.state_in); + turbine_T_out_sensor.flow_model.T_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + turbine_T_out_sensor.flow_model.state_out); + turbine_T_out_sensor.flow_model.rho_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + turbine_T_out_sensor.flow_model.state_in); + turbine_T_out_sensor.flow_model.rho_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + turbine_T_out_sensor.flow_model.state_out); + turbine_T_out_sensor.flow_model.rho = (turbine_T_out_sensor.flow_model.rho_in + +turbine_T_out_sensor.flow_model.rho_out)/2; + turbine_T_out_sensor.flow_model.Qv_in = turbine_T_out_sensor.flow_model.Q/ + turbine_T_out_sensor.flow_model.rho_in; + turbine_T_out_sensor.flow_model.Qv_out = -turbine_T_out_sensor.flow_model.Q + /turbine_T_out_sensor.flow_model.rho_out; + turbine_T_out_sensor.flow_model.Qv = (turbine_T_out_sensor.flow_model.Qv_in + -turbine_T_out_sensor.flow_model.Qv_out)/2; + turbine_T_out_sensor.flow_model.P_out-turbine_T_out_sensor.flow_model.P_in + = turbine_T_out_sensor.flow_model.DP; + turbine_T_out_sensor.flow_model.Q*(turbine_T_out_sensor.flow_model.h_out- + turbine_T_out_sensor.flow_model.h_in) = turbine_T_out_sensor.flow_model.W; + turbine_T_out_sensor.flow_model.h_out-turbine_T_out_sensor.flow_model.h_in + = turbine_T_out_sensor.flow_model.DH; + turbine_T_out_sensor.flow_model.T_out-turbine_T_out_sensor.flow_model.T_in + = turbine_T_out_sensor.flow_model.DT; + turbine_T_out_sensor.flow_model.C_in.Q+turbine_T_out_sensor.flow_model.C_out.Q + = 0; + turbine_T_out_sensor.flow_model.C_out.Xi_outflow = inStream( + turbine_T_out_sensor.flow_model.C_in.Xi_outflow); + assert(turbine_T_out_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + turbine_T_out_sensor.flow_model.P = turbine_T_out_sensor.flow_model.P_in; + turbine_T_out_sensor.flow_model.h = turbine_T_out_sensor.flow_model.h_in; + turbine_T_out_sensor.flow_model.T = turbine_T_out_sensor.flow_model.T_in; + turbine_T_out_sensor.flow_model.DP = 0; + turbine_T_out_sensor.flow_model.DH = 0; + // end of extends + + // Component turbine_T_out_sensor + // class MetroscopeModelingLibrary.Sensors_Control.FlueGases.TemperatureSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not turbine_T_out_sensor.faulty_flow_rate) then + turbine_T_out_sensor.mass_flow_rate_bias = 0; + end if; + turbine_T_out_sensor.P = turbine_T_out_sensor.C_in.P; + turbine_T_out_sensor.Q = turbine_T_out_sensor.C_in.Q+turbine_T_out_sensor.mass_flow_rate_bias; + turbine_T_out_sensor.Xi = inStream(turbine_T_out_sensor.C_in.Xi_outflow); + turbine_T_out_sensor.h = inStream(turbine_T_out_sensor.C_in.h_outflow); + turbine_T_out_sensor.state = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (turbine_T_out_sensor.P, turbine_T_out_sensor.h, turbine_T_out_sensor.Xi); + assert(turbine_T_out_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.TemperatureSensor + equation + turbine_T_out_sensor.T = turbine_T_out_sensor.flow_model.T; + turbine_T_out_sensor.T_degC+273.15 = turbine_T_out_sensor.T; + turbine_T_out_sensor.T_degF = turbine_T_out_sensor.T_degC*1.8+32; + if (turbine_T_out_sensor.signal_unit == "degC") then + turbine_T_out_sensor.T_sensor = turbine_T_out_sensor.T_degC; + elseif (turbine_T_out_sensor.signal_unit == "degF") then + turbine_T_out_sensor.T_sensor = turbine_T_out_sensor.T_degF; + elseif (turbine_T_out_sensor.signal_unit == "K") then + turbine_T_out_sensor.T_sensor = turbine_T_out_sensor.T; + else + assert(false, "Unavailable unit selected for %name"); + end if; + // end of extends + equation + turbine_T_out_sensor.flow_model.C_in.P = turbine_T_out_sensor.C_in.P; + turbine_T_out_sensor.C_in.Q-turbine_T_out_sensor.flow_model.C_in.Q = 0.0; + turbine_T_out_sensor.flow_model.C_out.P = turbine_T_out_sensor.C_out.P; + turbine_T_out_sensor.C_out.Q-turbine_T_out_sensor.flow_model.C_out.Q = 0.0; + + // Component Reheater.HX + // class MetroscopeModelingLibrary.Power.HeatExchange.NTUHeatExchange + equation + Reheater.HX.W_max = Reheater.HX.QCpMIN*(Reheater.HX.T_hot_in- + Reheater.HX.T_cold_in); + Reheater.HX.W = Reheater.HX.epsilon*Reheater.HX.W_max; + Reheater.HX.NTU = Reheater.HX.Kth*Reheater.HX.S/Reheater.HX.QCpMIN; + Reheater.HX.Cr = Reheater.HX.QCpMIN/Reheater.HX.QCpMAX; + if (Reheater.HX.config == "shell_and_tubes_two_passes") then + if (Reheater.HX.QCp_max_side == "hot") then + Reheater.HX.QCpMAX = Reheater.HX.Q_hot*Reheater.HX.Cp_hot; + Reheater.HX.QCpMIN = Reheater.HX.Q_cold*Reheater.HX.Cp_cold; + elseif (Reheater.HX.QCp_max_side == "cold") then + Reheater.HX.QCpMIN = Reheater.HX.Q_hot*Reheater.HX.Cp_hot; + Reheater.HX.QCpMAX = Reheater.HX.Q_cold*Reheater.HX.Cp_cold; + else + Reheater.HX.QCpMIN = min(Reheater.HX.Q_hot*Reheater.HX.Cp_hot, + Reheater.HX.Q_cold*Reheater.HX.Cp_cold); + Reheater.HX.QCpMAX = max(Reheater.HX.Q_hot*Reheater.HX.Cp_hot, + Reheater.HX.Q_cold*Reheater.HX.Cp_cold); + end if; + assert(Reheater.HX.QCpMIN < Reheater.HX.QCpMAX, "QCPMIN is higher than QCpMAX"); + Reheater.HX.epsilon = 2/(1+Reheater.HX.Cr+sqrt(1+Reheater.HX.Cr^2)*(1+exp( + -Reheater.HX.NTU*(1+Reheater.HX.Cr^2)^0.5))/(1-exp( -Reheater.HX.NTU*(1 + +Reheater.HX.Cr^2)^0.5))); + elseif (Reheater.HX.config == "monophasic_cross_current") then + if (Reheater.HX.mixed_fluid == "hot") then + if (Reheater.HX.QCp_max_side == "hot") then + Reheater.HX.QCpMAX = Reheater.HX.Q_hot*Reheater.HX.Cp_hot; + Reheater.HX.QCpMIN = Reheater.HX.Q_cold*Reheater.HX.Cp_cold; + assert(Reheater.HX.QCpMIN < Reheater.HX.QCpMAX, "QCPMIN is higher than QCpMAX"); + Reheater.HX.epsilon = (1-exp( -Reheater.HX.Cr*(1-exp( -Reheater.HX.NTU)))) + /Reheater.HX.Cr; + elseif (Reheater.HX.QCp_max_side == "cold") then + Reheater.HX.QCpMIN = Reheater.HX.Q_hot*Reheater.HX.Cp_hot; + Reheater.HX.QCpMAX = Reheater.HX.Q_cold*Reheater.HX.Cp_cold; + assert(Reheater.HX.QCpMIN < Reheater.HX.QCpMAX, "QCPMIN is higher than QCpMAX"); + Reheater.HX.epsilon = 1-exp( -(1-exp( -Reheater.HX.Cr*Reheater.HX.NTU)) + /Reheater.HX.Cr); + else + if (Reheater.HX.Q_hot*Reheater.HX.Cp_hot < Reheater.HX.Q_cold* + Reheater.HX.Cp_cold) then + Reheater.HX.QCpMIN = Reheater.HX.Q_hot*Reheater.HX.Cp_hot; + Reheater.HX.QCpMAX = Reheater.HX.Q_cold*Reheater.HX.Cp_cold; + Reheater.HX.epsilon = 1-exp( -(1-exp( -Reheater.HX.Cr* + Reheater.HX.NTU))/Reheater.HX.Cr); + else + Reheater.HX.QCpMAX = Reheater.HX.Q_hot*Reheater.HX.Cp_hot; + Reheater.HX.QCpMIN = Reheater.HX.Q_cold*Reheater.HX.Cp_cold; + Reheater.HX.epsilon = (1-exp( -Reheater.HX.Cr*(1-exp( - + Reheater.HX.NTU))))/Reheater.HX.Cr; + end if; + end if; + else + if (Reheater.HX.QCp_max_side == "hot") then + Reheater.HX.QCpMAX = Reheater.HX.Q_hot*Reheater.HX.Cp_hot; + Reheater.HX.QCpMIN = Reheater.HX.Q_cold*Reheater.HX.Cp_cold; + assert(Reheater.HX.QCpMIN < Reheater.HX.QCpMAX, "QCPMIN is higher than QCpMAX"); + Reheater.HX.epsilon = 1-exp( -(1-exp( -Reheater.HX.Cr*Reheater.HX.NTU)) + /Reheater.HX.Cr); + elseif (Reheater.HX.QCp_max_side == "cold") then + Reheater.HX.QCpMIN = Reheater.HX.Q_hot*Reheater.HX.Cp_hot; + Reheater.HX.QCpMAX = Reheater.HX.Q_cold*Reheater.HX.Cp_cold; + assert(Reheater.HX.QCpMIN < Reheater.HX.QCpMAX, "QCPMIN is higher than QCpMAX"); + Reheater.HX.epsilon = (1-exp( -Reheater.HX.Cr*(1-exp( -Reheater.HX.NTU)))) + /Reheater.HX.Cr; + else + if (Reheater.HX.Q_hot*Reheater.HX.Cp_hot < Reheater.HX.Q_cold* + Reheater.HX.Cp_cold) then + Reheater.HX.QCpMIN = Reheater.HX.Q_hot*Reheater.HX.Cp_hot; + Reheater.HX.QCpMAX = Reheater.HX.Q_cold*Reheater.HX.Cp_cold; + Reheater.HX.epsilon = (1-exp( -Reheater.HX.Cr*(1-exp( - + Reheater.HX.NTU))))/Reheater.HX.Cr; + else + Reheater.HX.QCpMAX = Reheater.HX.Q_hot*Reheater.HX.Cp_hot; + Reheater.HX.QCpMIN = Reheater.HX.Q_cold*Reheater.HX.Cp_cold; + Reheater.HX.epsilon = 1-exp( -(1-exp( -Reheater.HX.Cr* + Reheater.HX.NTU))/Reheater.HX.Cr); + end if; + end if; + end if; + elseif (Reheater.HX.config == "monophasic_counter_current") then + if (Reheater.HX.QCp_max_side == "hot") then + Reheater.HX.QCpMAX = Reheater.HX.Q_hot*Reheater.HX.Cp_hot; + Reheater.HX.QCpMIN = Reheater.HX.Q_cold*Reheater.HX.Cp_cold; + elseif (Reheater.HX.QCp_max_side == "cold") then + Reheater.HX.QCpMIN = Reheater.HX.Q_hot*Reheater.HX.Cp_hot; + Reheater.HX.QCpMAX = Reheater.HX.Q_cold*Reheater.HX.Cp_cold; + else + Reheater.HX.QCpMIN = min(Reheater.HX.Q_hot*Reheater.HX.Cp_hot, + Reheater.HX.Q_cold*Reheater.HX.Cp_cold); + Reheater.HX.QCpMAX = max(Reheater.HX.Q_hot*Reheater.HX.Cp_hot, + Reheater.HX.Q_cold*Reheater.HX.Cp_cold); + end if; + assert(Reheater.HX.QCpMIN < Reheater.HX.QCpMAX, "QCPMIN is higher than QCpMAX"); + Reheater.HX.epsilon = (1-exp( -Reheater.HX.NTU*(1-Reheater.HX.Cr)))/(1- + Reheater.HX.Cr*exp( -Reheater.HX.NTU*(1-Reheater.HX.Cr))); + elseif (Reheater.HX.config == "evaporator") then + Reheater.HX.QCpMAX = 10000000000.0; + Reheater.HX.QCpMIN = Reheater.HX.Q_hot*Reheater.HX.Cp_hot; + Reheater.HX.epsilon = 1-exp( -Reheater.HX.NTU); + elseif (Reheater.HX.config == "condenser") then + Reheater.HX.QCpMAX = 10000000000.0; + Reheater.HX.QCpMIN = Reheater.HX.Q_cold*Reheater.HX.Cp_cold; + Reheater.HX.epsilon = 1-exp( -Reheater.HX.NTU); + else + Reheater.HX.QCpMAX = 0; + Reheater.HX.QCpMIN = 0; + Reheater.HX.epsilon = 0; + end if; + assert(Reheater.HX.config == "evaporator" or Reheater.HX.config == + "condenser" or Reheater.HX.config == "shell_and_tubes_two_passes" or + Reheater.HX.config == "monophasic_cross_current" or Reheater.HX.config == + "monophasic_counter_current", "config parameter of NTUHeatExchange should be one of 'shell_and_tubes_two_passes', 'condenser', 'evaporator', 'monophasic_cross_current', or 'monophasic_counter_current'"); + assert(Reheater.HX.mixed_fluid == "hot" or Reheater.HX.mixed_fluid == "cold", + "mixed_fluid parameter of NTUHeatExchange should be 'hot' or 'cold'"); + assert(Reheater.HX.W > 0, "Heat exchange is done in the wrong direction", + AssertionLevel.warning); + + // Component Reheater.hot_side + // class MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + Reheater.hot_side.h_in = inStream(Reheater.hot_side.C_in.h_outflow); + Reheater.hot_side.h_out = Reheater.hot_side.C_out.h_outflow; + Reheater.hot_side.Q = Reheater.hot_side.C_in.Q; + Reheater.hot_side.P_in = Reheater.hot_side.C_in.P; + Reheater.hot_side.P_out = Reheater.hot_side.C_out.P; + Reheater.hot_side.Xi = inStream(Reheater.hot_side.C_in.Xi_outflow); + Reheater.hot_side.C_in.h_outflow = 1000000.0; + Reheater.hot_side.C_in.Xi_outflow = zeros(5); + Reheater.hot_side.state_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (Reheater.hot_side.P_in, Reheater.hot_side.h_in, Reheater.hot_side.Xi); + Reheater.hot_side.state_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (Reheater.hot_side.P_out, Reheater.hot_side.h_out, Reheater.hot_side.Xi); + Reheater.hot_side.T_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + Reheater.hot_side.state_in); + Reheater.hot_side.T_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + Reheater.hot_side.state_out); + Reheater.hot_side.rho_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + Reheater.hot_side.state_in); + Reheater.hot_side.rho_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + Reheater.hot_side.state_out); + Reheater.hot_side.rho = (Reheater.hot_side.rho_in+Reheater.hot_side.rho_out) + /2; + Reheater.hot_side.Qv_in = Reheater.hot_side.Q/Reheater.hot_side.rho_in; + Reheater.hot_side.Qv_out = -Reheater.hot_side.Q/Reheater.hot_side.rho_out; + Reheater.hot_side.Qv = (Reheater.hot_side.Qv_in-Reheater.hot_side.Qv_out)/2; + Reheater.hot_side.P_out-Reheater.hot_side.P_in = Reheater.hot_side.DP; + Reheater.hot_side.Q*(Reheater.hot_side.h_out-Reheater.hot_side.h_in) = + Reheater.hot_side.W; + Reheater.hot_side.h_out-Reheater.hot_side.h_in = Reheater.hot_side.DH; + Reheater.hot_side.T_out-Reheater.hot_side.T_in = Reheater.hot_side.DT; + Reheater.hot_side.C_in.Q+Reheater.hot_side.C_out.Q = 0; + Reheater.hot_side.C_out.Xi_outflow = inStream(Reheater.hot_side.C_in.Xi_outflow); + assert(Reheater.hot_side.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPFlowModel + equation + Reheater.hot_side.P = Reheater.hot_side.P_in; + Reheater.hot_side.DP = 0; + // end of extends + equation + Reheater.hot_side.W = Reheater.hot_side.W_input; + + // Component Reheater.cold_side + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + Reheater.cold_side.h_in = inStream(Reheater.cold_side.C_in.h_outflow); + Reheater.cold_side.h_out = Reheater.cold_side.C_out.h_outflow; + Reheater.cold_side.Q = Reheater.cold_side.C_in.Q; + Reheater.cold_side.P_in = Reheater.cold_side.C_in.P; + Reheater.cold_side.P_out = Reheater.cold_side.C_out.P; + Reheater.cold_side.Xi = inStream(Reheater.cold_side.C_in.Xi_outflow); + Reheater.cold_side.C_in.h_outflow = 1000000.0; + Reheater.cold_side.C_in.Xi_outflow = zeros(0); + Reheater.cold_side.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (Reheater.cold_side.P_in, Reheater.cold_side.h_in, Reheater.cold_side.Xi, + 0, 0); + Reheater.cold_side.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (Reheater.cold_side.P_out, Reheater.cold_side.h_out, Reheater.cold_side.Xi, + 0, 0); + Reheater.cold_side.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + Reheater.cold_side.state_in); + Reheater.cold_side.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + Reheater.cold_side.state_out); + Reheater.cold_side.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + Reheater.cold_side.state_in); + Reheater.cold_side.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + Reheater.cold_side.state_out); + Reheater.cold_side.rho = (Reheater.cold_side.rho_in+Reheater.cold_side.rho_out) + /2; + Reheater.cold_side.Qv_in = Reheater.cold_side.Q/Reheater.cold_side.rho_in; + Reheater.cold_side.Qv_out = -Reheater.cold_side.Q/Reheater.cold_side.rho_out; + Reheater.cold_side.Qv = (Reheater.cold_side.Qv_in-Reheater.cold_side.Qv_out) + /2; + Reheater.cold_side.P_out-Reheater.cold_side.P_in = Reheater.cold_side.DP; + Reheater.cold_side.Q*(Reheater.cold_side.h_out-Reheater.cold_side.h_in) = + Reheater.cold_side.W; + Reheater.cold_side.h_out-Reheater.cold_side.h_in = Reheater.cold_side.DH; + Reheater.cold_side.T_out-Reheater.cold_side.T_in = Reheater.cold_side.DT; + Reheater.cold_side.C_in.Q+Reheater.cold_side.C_out.Q = 0; + Reheater.cold_side.C_out.Xi_outflow = inStream(Reheater.cold_side.C_in.Xi_outflow); + assert(Reheater.cold_side.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPFlowModel + equation + Reheater.cold_side.P = Reheater.cold_side.P_in; + Reheater.cold_side.DP = 0; + // end of extends + equation + Reheater.cold_side.W = Reheater.cold_side.W_input; + + // Component Reheater.cold_side_pipe + // class MetroscopeModelingLibrary.WaterSteam.Pipes.FrictionPipe + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + Reheater.cold_side_pipe.h_in = inStream(Reheater.cold_side_pipe.C_in.h_outflow); + Reheater.cold_side_pipe.h_out = Reheater.cold_side_pipe.C_out.h_outflow; + Reheater.cold_side_pipe.Q = Reheater.cold_side_pipe.C_in.Q; + Reheater.cold_side_pipe.P_in = Reheater.cold_side_pipe.C_in.P; + Reheater.cold_side_pipe.P_out = Reheater.cold_side_pipe.C_out.P; + Reheater.cold_side_pipe.Xi = inStream(Reheater.cold_side_pipe.C_in.Xi_outflow); + Reheater.cold_side_pipe.C_in.h_outflow = 1000000.0; + Reheater.cold_side_pipe.C_in.Xi_outflow = zeros(0); + Reheater.cold_side_pipe.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (Reheater.cold_side_pipe.P_in, Reheater.cold_side_pipe.h_in, + Reheater.cold_side_pipe.Xi, 0, 0); + Reheater.cold_side_pipe.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (Reheater.cold_side_pipe.P_out, Reheater.cold_side_pipe.h_out, + Reheater.cold_side_pipe.Xi, 0, 0); + Reheater.cold_side_pipe.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + Reheater.cold_side_pipe.state_in); + Reheater.cold_side_pipe.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + Reheater.cold_side_pipe.state_out); + Reheater.cold_side_pipe.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + Reheater.cold_side_pipe.state_in); + Reheater.cold_side_pipe.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + Reheater.cold_side_pipe.state_out); + Reheater.cold_side_pipe.rho = (Reheater.cold_side_pipe.rho_in+ + Reheater.cold_side_pipe.rho_out)/2; + Reheater.cold_side_pipe.Qv_in = Reheater.cold_side_pipe.Q/Reheater.cold_side_pipe.rho_in; + Reheater.cold_side_pipe.Qv_out = -Reheater.cold_side_pipe.Q/ + Reheater.cold_side_pipe.rho_out; + Reheater.cold_side_pipe.Qv = (Reheater.cold_side_pipe.Qv_in- + Reheater.cold_side_pipe.Qv_out)/2; + Reheater.cold_side_pipe.P_out-Reheater.cold_side_pipe.P_in = + Reheater.cold_side_pipe.DP; + Reheater.cold_side_pipe.Q*(Reheater.cold_side_pipe.h_out-Reheater.cold_side_pipe.h_in) + = Reheater.cold_side_pipe.W; + Reheater.cold_side_pipe.h_out-Reheater.cold_side_pipe.h_in = + Reheater.cold_side_pipe.DH; + Reheater.cold_side_pipe.T_out-Reheater.cold_side_pipe.T_in = + Reheater.cold_side_pipe.DT; + Reheater.cold_side_pipe.C_in.Q+Reheater.cold_side_pipe.C_out.Q = 0; + Reheater.cold_side_pipe.C_out.Xi_outflow = inStream(Reheater.cold_side_pipe.C_in.Xi_outflow); + assert(Reheater.cold_side_pipe.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoHFlowModel + equation + Reheater.cold_side_pipe.h = Reheater.cold_side_pipe.h_in; + Reheater.cold_side_pipe.DH = 0; + // extends MetroscopeModelingLibrary.Partial.Pipes.FrictionPipe + equation + if ( not Reheater.cold_side_pipe.faulty) then + Reheater.cold_side_pipe.fouling = 0; + end if; + Reheater.cold_side_pipe.DP = -(1+Reheater.cold_side_pipe.fouling/100)* + Reheater.cold_side_pipe.Kfr*Reheater.cold_side_pipe.Q*abs( + Reheater.cold_side_pipe.Q)/Reheater.cold_side_pipe.rho_in; + // end of extends + + // Component Reheater + // class MetroscopeModelingLibrary.MultiFluid.HeatExchangers.Superheater + // extends MetroscopeModelingLibrary.Partial.HeatExchangers.WaterFlueGasesMonophasicHX + equation + if ( not Reheater.faulty) then + Reheater.fouling = 0; + end if; + Reheater.Q_cold = Reheater.cold_side.Q; + Reheater.Q_hot = Reheater.hot_side.Q; + Reheater.T_cold_in = Reheater.cold_side_pipe.T_in; + Reheater.T_cold_out = Reheater.cold_side.T_out; + Reheater.T_hot_in = Reheater.hot_side.T_in; + Reheater.T_hot_out = Reheater.hot_side.T_out; + Reheater.cold_side.W = Reheater.W; + Reheater.hot_side.W+Reheater.cold_side.W = 0; + Reheater.HX.W = Reheater.W; + Reheater.HX.Kth = Reheater.Kth*(1-Reheater.fouling/100); + Reheater.HX.S = Reheater.S; + Reheater.HX.Q_cold = Reheater.Q_cold; + Reheater.HX.Q_hot = Reheater.Q_hot; + Reheater.HX.T_cold_in = Reheater.T_cold_in; + Reheater.HX.T_hot_in = Reheater.T_hot_in; + Reheater.HX.Cp_cold = (Reheater.Cp_cold_min+Reheater.Cp_cold_max)/2; + Reheater.HX.Cp_hot = (Reheater.Cp_hot_min+Reheater.Cp_hot_max)/2; + Reheater.DT_hot_in_side = Reheater.T_hot_in-Reheater.T_cold_out; + Reheater.DT_hot_out_side = Reheater.T_hot_out-Reheater.T_cold_in; + Reheater.pinch = min(Reheater.DT_hot_in_side, Reheater.DT_hot_out_side); + assert(Reheater.pinch > 0, "A negative pinch is reached", AssertionLevel. + warning); + assert(Reheater.pinch > 1 or Reheater.pinch < 0, "A very low pinch (<1) is reached", + AssertionLevel.warning); + Reheater.maximum_achiveable_temperature_difference = Reheater.hot_side.T_in + -Reheater.cold_side.T_in; + if (Reheater.nominal_DT_default) then + Reheater.nominal_cold_side_temperature_rise = Reheater.hot_side.T_in- + Reheater.cold_side.T_in; + Reheater.nominal_hot_side_temperature_drop = Reheater.hot_side.T_in- + Reheater.cold_side.T_in; + end if; + Reheater.Cp_cold_min = Modelica.Media.Water.WaterIF97_ph.specificHeatCapacityCp_Unique14 + ( + Reheater.cold_side.state_in); + Reheater.state_cold_out = Modelica.Media.Water.WaterIF97_ph.setState_pTX_Unique15 + (Reheater.cold_side.P_in, Reheater.cold_side.T_in+Reheater.nominal_cold_side_temperature_rise, + Reheater.cold_side.Xi, 0, 0); + Reheater.Cp_cold_max = Modelica.Media.Water.WaterIF97_ph.specificHeatCapacityCp_Unique14 + ( + Reheater.state_cold_out); + Reheater.Cp_hot_max = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.specificHeatCapacityCp_Unique18 + ( + Reheater.hot_side.state_in); + Reheater.state_hot_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_pTX_Unique19 + (Reheater.hot_side.P_in, Reheater.hot_side.T_in-Reheater.nominal_hot_side_temperature_drop, + Reheater.hot_side.Xi); + Reheater.Cp_hot_min = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.specificHeatCapacityCp_Unique18 + ( + Reheater.state_hot_out); + // end of extends + equation + Reheater.STR = Reheater.T_cold_out-Reheater.T_cold_in; + Reheater.DT_superheat = Reheater.T_cold_out-Modelica.Media.Water.WaterIF97_ph.saturationTemperature_Unique21 + (Reheater.cold_side_pipe.P_in); + Reheater.cold_side_pipe.C_in.P = Reheater.C_cold_in.P; + Reheater.C_cold_in.Q-Reheater.cold_side_pipe.C_in.Q = 0.0; + Reheater.cold_side.C_out.P = Reheater.C_cold_out.P; + Reheater.C_cold_out.Q-Reheater.cold_side.C_out.Q = 0.0; + Reheater.hot_side.C_in.P = Reheater.C_hot_in.P; + Reheater.C_hot_in.Q-Reheater.hot_side.C_in.Q = 0.0; + Reheater.hot_side.C_out.P = Reheater.C_hot_out.P; + Reheater.C_hot_out.Q-Reheater.hot_side.C_out.Q = 0.0; + Reheater.cold_side_pipe.Kfr = Reheater.Kfr_cold; + Reheater.cold_side_pipe.C_out.P = Reheater.cold_side.C_in.P; + Reheater.cold_side.C_in.Q+Reheater.cold_side_pipe.C_out.Q = 0.0; + + // Component LPsteamTurbine + // class MetroscopeModelingLibrary.WaterSteam.Machines.SteamTurbine + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + LPsteamTurbine.h_in = inStream(LPsteamTurbine.C_in.h_outflow); + LPsteamTurbine.h_out = LPsteamTurbine.C_out.h_outflow; + LPsteamTurbine.Q = LPsteamTurbine.C_in.Q; + LPsteamTurbine.P_in = LPsteamTurbine.C_in.P; + LPsteamTurbine.P_out = LPsteamTurbine.C_out.P; + LPsteamTurbine.Xi = inStream(LPsteamTurbine.C_in.Xi_outflow); + LPsteamTurbine.C_in.h_outflow = 1000000.0; + LPsteamTurbine.C_in.Xi_outflow = zeros(0); + LPsteamTurbine.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (LPsteamTurbine.P_in, LPsteamTurbine.h_in, LPsteamTurbine.Xi, 0, 0); + LPsteamTurbine.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (LPsteamTurbine.P_out, LPsteamTurbine.h_out, LPsteamTurbine.Xi, 0, 0); + LPsteamTurbine.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + LPsteamTurbine.state_in); + LPsteamTurbine.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + LPsteamTurbine.state_out); + LPsteamTurbine.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + LPsteamTurbine.state_in); + LPsteamTurbine.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + LPsteamTurbine.state_out); + LPsteamTurbine.rho = (LPsteamTurbine.rho_in+LPsteamTurbine.rho_out)/2; + LPsteamTurbine.Qv_in = LPsteamTurbine.Q/LPsteamTurbine.rho_in; + LPsteamTurbine.Qv_out = -LPsteamTurbine.Q/LPsteamTurbine.rho_out; + LPsteamTurbine.Qv = (LPsteamTurbine.Qv_in-LPsteamTurbine.Qv_out)/2; + LPsteamTurbine.P_out-LPsteamTurbine.P_in = LPsteamTurbine.DP; + LPsteamTurbine.Q*(LPsteamTurbine.h_out-LPsteamTurbine.h_in) = + LPsteamTurbine.W; + LPsteamTurbine.h_out-LPsteamTurbine.h_in = LPsteamTurbine.DH; + LPsteamTurbine.T_out-LPsteamTurbine.T_in = LPsteamTurbine.DT; + LPsteamTurbine.C_in.Q+LPsteamTurbine.C_out.Q = 0; + LPsteamTurbine.C_out.Xi_outflow = inStream(LPsteamTurbine.C_in.Xi_outflow); + assert(LPsteamTurbine.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // end of extends + equation + LPsteamTurbine.Q = sqrt((LPsteamTurbine.P_in^2-LPsteamTurbine.P_out^2)/( + LPsteamTurbine.Cst*LPsteamTurbine.T_in*LPsteamTurbine.x_in)); + LPsteamTurbine.state_is = Modelica.Media.Water.WaterIF97_ph.setState_psX_Unique25 + (LPsteamTurbine.P_out, Modelica.Media.Water.WaterIF97_ph.specificEntropy_Unique29 + ( + LPsteamTurbine.state_in), {1.0}, 0, 0); + LPsteamTurbine.h_is = Modelica.Media.Water.WaterIF97_ph.specificEnthalpy_Unique30 + ( + LPsteamTurbine.state_is); + LPsteamTurbine.DH = LPsteamTurbine.xm*LPsteamTurbine.eta_is*( + LPsteamTurbine.h_is-LPsteamTurbine.h_in); + LPsteamTurbine.W = LPsteamTurbine.C_W_out.W; + LPsteamTurbine.h_vap_sat_in = Modelica.Media.Water.WaterIF97_ph.dewEnthalpy_Unique31 + ( + Modelica.Media.Water.WaterIF97_ph.setSat_p_Unique32(LPsteamTurbine.P_in)); + LPsteamTurbine.h_liq_sat_in = Modelica.Media.Water.WaterIF97_ph.bubbleEnthalpy_Unique34 + ( + Modelica.Media.Water.WaterIF97_ph.setSat_p_Unique32(LPsteamTurbine.P_in)); + LPsteamTurbine.x_in = min((LPsteamTurbine.h_in-LPsteamTurbine.h_liq_sat_in)/ + (LPsteamTurbine.h_vap_sat_in-LPsteamTurbine.h_liq_sat_in), 1); + LPsteamTurbine.h_vap_sat_out = Modelica.Media.Water.WaterIF97_ph.dewEnthalpy_Unique31 + ( + Modelica.Media.Water.WaterIF97_ph.setSat_p_Unique32(LPsteamTurbine.P_out)); + LPsteamTurbine.h_liq_sat_out = Modelica.Media.Water.WaterIF97_ph.bubbleEnthalpy_Unique34 + ( + Modelica.Media.Water.WaterIF97_ph.setSat_p_Unique32(LPsteamTurbine.P_out)); + LPsteamTurbine.x_out = min((LPsteamTurbine.h_out-LPsteamTurbine.h_liq_sat_out) + /(LPsteamTurbine.h_vap_sat_out-LPsteamTurbine.h_liq_sat_out), 1); + LPsteamTurbine.xm = (LPsteamTurbine.x_in+LPsteamTurbine.x_out)/2; + + // Component T_w_ReH_out_sensor.flow_model + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + T_w_ReH_out_sensor.flow_model.h_in = inStream(T_w_ReH_out_sensor.flow_model.C_in.h_outflow); + T_w_ReH_out_sensor.flow_model.h_out = T_w_ReH_out_sensor.flow_model.C_out.h_outflow; + T_w_ReH_out_sensor.flow_model.Q = T_w_ReH_out_sensor.flow_model.C_in.Q; + T_w_ReH_out_sensor.flow_model.P_in = T_w_ReH_out_sensor.flow_model.C_in.P; + T_w_ReH_out_sensor.flow_model.P_out = T_w_ReH_out_sensor.flow_model.C_out.P; + T_w_ReH_out_sensor.flow_model.Xi = inStream(T_w_ReH_out_sensor.flow_model.C_in.Xi_outflow); + T_w_ReH_out_sensor.flow_model.C_in.h_outflow = 1000000.0; + T_w_ReH_out_sensor.flow_model.C_in.Xi_outflow = zeros(0); + T_w_ReH_out_sensor.flow_model.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (T_w_ReH_out_sensor.flow_model.P_in, T_w_ReH_out_sensor.flow_model.h_in, + T_w_ReH_out_sensor.flow_model.Xi, 0, 0); + T_w_ReH_out_sensor.flow_model.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (T_w_ReH_out_sensor.flow_model.P_out, T_w_ReH_out_sensor.flow_model.h_out, + T_w_ReH_out_sensor.flow_model.Xi, 0, 0); + T_w_ReH_out_sensor.flow_model.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + T_w_ReH_out_sensor.flow_model.state_in); + T_w_ReH_out_sensor.flow_model.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + T_w_ReH_out_sensor.flow_model.state_out); + T_w_ReH_out_sensor.flow_model.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + T_w_ReH_out_sensor.flow_model.state_in); + T_w_ReH_out_sensor.flow_model.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + T_w_ReH_out_sensor.flow_model.state_out); + T_w_ReH_out_sensor.flow_model.rho = (T_w_ReH_out_sensor.flow_model.rho_in+ + T_w_ReH_out_sensor.flow_model.rho_out)/2; + T_w_ReH_out_sensor.flow_model.Qv_in = T_w_ReH_out_sensor.flow_model.Q/ + T_w_ReH_out_sensor.flow_model.rho_in; + T_w_ReH_out_sensor.flow_model.Qv_out = -T_w_ReH_out_sensor.flow_model.Q/ + T_w_ReH_out_sensor.flow_model.rho_out; + T_w_ReH_out_sensor.flow_model.Qv = (T_w_ReH_out_sensor.flow_model.Qv_in- + T_w_ReH_out_sensor.flow_model.Qv_out)/2; + T_w_ReH_out_sensor.flow_model.P_out-T_w_ReH_out_sensor.flow_model.P_in = + T_w_ReH_out_sensor.flow_model.DP; + T_w_ReH_out_sensor.flow_model.Q*(T_w_ReH_out_sensor.flow_model.h_out- + T_w_ReH_out_sensor.flow_model.h_in) = T_w_ReH_out_sensor.flow_model.W; + T_w_ReH_out_sensor.flow_model.h_out-T_w_ReH_out_sensor.flow_model.h_in = + T_w_ReH_out_sensor.flow_model.DH; + T_w_ReH_out_sensor.flow_model.T_out-T_w_ReH_out_sensor.flow_model.T_in = + T_w_ReH_out_sensor.flow_model.DT; + T_w_ReH_out_sensor.flow_model.C_in.Q+T_w_ReH_out_sensor.flow_model.C_out.Q + = 0; + T_w_ReH_out_sensor.flow_model.C_out.Xi_outflow = inStream(T_w_ReH_out_sensor.flow_model.C_in.Xi_outflow); + assert(T_w_ReH_out_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + T_w_ReH_out_sensor.flow_model.P = T_w_ReH_out_sensor.flow_model.P_in; + T_w_ReH_out_sensor.flow_model.h = T_w_ReH_out_sensor.flow_model.h_in; + T_w_ReH_out_sensor.flow_model.T = T_w_ReH_out_sensor.flow_model.T_in; + T_w_ReH_out_sensor.flow_model.DP = 0; + T_w_ReH_out_sensor.flow_model.DH = 0; + // end of extends + + // Component T_w_ReH_out_sensor + // class MetroscopeModelingLibrary.Sensors_Control.WaterSteam.TemperatureSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not T_w_ReH_out_sensor.faulty_flow_rate) then + T_w_ReH_out_sensor.mass_flow_rate_bias = 0; + end if; + T_w_ReH_out_sensor.P = T_w_ReH_out_sensor.C_in.P; + T_w_ReH_out_sensor.Q = T_w_ReH_out_sensor.C_in.Q+T_w_ReH_out_sensor.mass_flow_rate_bias; + T_w_ReH_out_sensor.Xi = inStream(T_w_ReH_out_sensor.C_in.Xi_outflow); + T_w_ReH_out_sensor.h = inStream(T_w_ReH_out_sensor.C_in.h_outflow); + T_w_ReH_out_sensor.state = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (T_w_ReH_out_sensor.P, T_w_ReH_out_sensor.h, T_w_ReH_out_sensor.Xi, 0, 0); + assert(T_w_ReH_out_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.TemperatureSensor + equation + T_w_ReH_out_sensor.T = T_w_ReH_out_sensor.flow_model.T; + T_w_ReH_out_sensor.T_degC+273.15 = T_w_ReH_out_sensor.T; + T_w_ReH_out_sensor.T_degF = T_w_ReH_out_sensor.T_degC*1.8+32; + if (T_w_ReH_out_sensor.signal_unit == "degC") then + T_w_ReH_out_sensor.T_sensor = T_w_ReH_out_sensor.T_degC; + elseif (T_w_ReH_out_sensor.signal_unit == "degF") then + T_w_ReH_out_sensor.T_sensor = T_w_ReH_out_sensor.T_degF; + elseif (T_w_ReH_out_sensor.signal_unit == "K") then + T_w_ReH_out_sensor.T_sensor = T_w_ReH_out_sensor.T; + else + assert(false, "Unavailable unit selected for %name"); + end if; + // end of extends + equation + T_w_ReH_out_sensor.flow_model.C_in.P = T_w_ReH_out_sensor.C_in.P; + T_w_ReH_out_sensor.C_in.Q-T_w_ReH_out_sensor.flow_model.C_in.Q = 0.0; + T_w_ReH_out_sensor.flow_model.C_out.P = T_w_ReH_out_sensor.C_out.P; + T_w_ReH_out_sensor.C_out.Q-T_w_ReH_out_sensor.flow_model.C_out.Q = 0.0; + + // Component P_w_ReH_out_sensor.flow_model + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + P_w_ReH_out_sensor.flow_model.h_in = inStream(P_w_ReH_out_sensor.flow_model.C_in.h_outflow); + P_w_ReH_out_sensor.flow_model.h_out = P_w_ReH_out_sensor.flow_model.C_out.h_outflow; + P_w_ReH_out_sensor.flow_model.Q = P_w_ReH_out_sensor.flow_model.C_in.Q; + P_w_ReH_out_sensor.flow_model.P_in = P_w_ReH_out_sensor.flow_model.C_in.P; + P_w_ReH_out_sensor.flow_model.P_out = P_w_ReH_out_sensor.flow_model.C_out.P; + P_w_ReH_out_sensor.flow_model.Xi = inStream(P_w_ReH_out_sensor.flow_model.C_in.Xi_outflow); + P_w_ReH_out_sensor.flow_model.C_in.h_outflow = 1000000.0; + P_w_ReH_out_sensor.flow_model.C_in.Xi_outflow = zeros(0); + P_w_ReH_out_sensor.flow_model.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_w_ReH_out_sensor.flow_model.P_in, P_w_ReH_out_sensor.flow_model.h_in, + P_w_ReH_out_sensor.flow_model.Xi, 0, 0); + P_w_ReH_out_sensor.flow_model.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_w_ReH_out_sensor.flow_model.P_out, P_w_ReH_out_sensor.flow_model.h_out, + P_w_ReH_out_sensor.flow_model.Xi, 0, 0); + P_w_ReH_out_sensor.flow_model.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + P_w_ReH_out_sensor.flow_model.state_in); + P_w_ReH_out_sensor.flow_model.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + P_w_ReH_out_sensor.flow_model.state_out); + P_w_ReH_out_sensor.flow_model.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + P_w_ReH_out_sensor.flow_model.state_in); + P_w_ReH_out_sensor.flow_model.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + P_w_ReH_out_sensor.flow_model.state_out); + P_w_ReH_out_sensor.flow_model.rho = (P_w_ReH_out_sensor.flow_model.rho_in+ + P_w_ReH_out_sensor.flow_model.rho_out)/2; + P_w_ReH_out_sensor.flow_model.Qv_in = P_w_ReH_out_sensor.flow_model.Q/ + P_w_ReH_out_sensor.flow_model.rho_in; + P_w_ReH_out_sensor.flow_model.Qv_out = -P_w_ReH_out_sensor.flow_model.Q/ + P_w_ReH_out_sensor.flow_model.rho_out; + P_w_ReH_out_sensor.flow_model.Qv = (P_w_ReH_out_sensor.flow_model.Qv_in- + P_w_ReH_out_sensor.flow_model.Qv_out)/2; + P_w_ReH_out_sensor.flow_model.P_out-P_w_ReH_out_sensor.flow_model.P_in = + P_w_ReH_out_sensor.flow_model.DP; + P_w_ReH_out_sensor.flow_model.Q*(P_w_ReH_out_sensor.flow_model.h_out- + P_w_ReH_out_sensor.flow_model.h_in) = P_w_ReH_out_sensor.flow_model.W; + P_w_ReH_out_sensor.flow_model.h_out-P_w_ReH_out_sensor.flow_model.h_in = + P_w_ReH_out_sensor.flow_model.DH; + P_w_ReH_out_sensor.flow_model.T_out-P_w_ReH_out_sensor.flow_model.T_in = + P_w_ReH_out_sensor.flow_model.DT; + P_w_ReH_out_sensor.flow_model.C_in.Q+P_w_ReH_out_sensor.flow_model.C_out.Q + = 0; + P_w_ReH_out_sensor.flow_model.C_out.Xi_outflow = inStream(P_w_ReH_out_sensor.flow_model.C_in.Xi_outflow); + assert(P_w_ReH_out_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + P_w_ReH_out_sensor.flow_model.P = P_w_ReH_out_sensor.flow_model.P_in; + P_w_ReH_out_sensor.flow_model.h = P_w_ReH_out_sensor.flow_model.h_in; + P_w_ReH_out_sensor.flow_model.T = P_w_ReH_out_sensor.flow_model.T_in; + P_w_ReH_out_sensor.flow_model.DP = 0; + P_w_ReH_out_sensor.flow_model.DH = 0; + // end of extends + + // Component P_w_ReH_out_sensor + // class MetroscopeModelingLibrary.Sensors_Control.WaterSteam.PressureSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not P_w_ReH_out_sensor.faulty_flow_rate) then + P_w_ReH_out_sensor.mass_flow_rate_bias = 0; + end if; + P_w_ReH_out_sensor.P = P_w_ReH_out_sensor.C_in.P; + P_w_ReH_out_sensor.Q = P_w_ReH_out_sensor.C_in.Q+P_w_ReH_out_sensor.mass_flow_rate_bias; + P_w_ReH_out_sensor.Xi = inStream(P_w_ReH_out_sensor.C_in.Xi_outflow); + P_w_ReH_out_sensor.h = inStream(P_w_ReH_out_sensor.C_in.h_outflow); + P_w_ReH_out_sensor.state = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_w_ReH_out_sensor.P, P_w_ReH_out_sensor.h, P_w_ReH_out_sensor.Xi, 0, 0); + assert(P_w_ReH_out_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.PressureSensor + equation + P_w_ReH_out_sensor.P_barA = P_w_ReH_out_sensor.P*1E-05; + P_w_ReH_out_sensor.P_psiA = P_w_ReH_out_sensor.P*0.000145038; + P_w_ReH_out_sensor.P_MPaA = P_w_ReH_out_sensor.P*1E-06; + P_w_ReH_out_sensor.P_kPaA = P_w_ReH_out_sensor.P*0.001; + P_w_ReH_out_sensor.P_barG = P_w_ReH_out_sensor.P_barA-1; + P_w_ReH_out_sensor.P_psiG = P_w_ReH_out_sensor.P_psiA-14.50377377; + P_w_ReH_out_sensor.P_MPaG = P_w_ReH_out_sensor.P_MPaA-0.1; + P_w_ReH_out_sensor.P_kPaG = P_w_ReH_out_sensor.P_kPaA-100; + P_w_ReH_out_sensor.P_mbar = P_w_ReH_out_sensor.P*0.01; + P_w_ReH_out_sensor.P_inHg = P_w_ReH_out_sensor.P*0.0002953006; + if (P_w_ReH_out_sensor.signal_unit == "barA") then + P_w_ReH_out_sensor.P_sensor = P_w_ReH_out_sensor.P_barA; + elseif (P_w_ReH_out_sensor.signal_unit == "barG") then + P_w_ReH_out_sensor.P_sensor = P_w_ReH_out_sensor.P_barG; + elseif (P_w_ReH_out_sensor.signal_unit == "mbar") then + P_w_ReH_out_sensor.P_sensor = P_w_ReH_out_sensor.P_mbar; + elseif (P_w_ReH_out_sensor.signal_unit == "MPaA") then + P_w_ReH_out_sensor.P_sensor = P_w_ReH_out_sensor.P_MPaA; + elseif (P_w_ReH_out_sensor.signal_unit == "kPaA") then + P_w_ReH_out_sensor.P_sensor = P_w_ReH_out_sensor.P_kPaA; + else + P_w_ReH_out_sensor.P_sensor = P_w_ReH_out_sensor.P; + end if; + // end of extends + equation + P_w_ReH_out_sensor.flow_model.C_in.P = P_w_ReH_out_sensor.C_in.P; + P_w_ReH_out_sensor.C_in.Q-P_w_ReH_out_sensor.flow_model.C_in.Q = 0.0; + P_w_ReH_out_sensor.flow_model.C_out.P = P_w_ReH_out_sensor.C_out.P; + P_w_ReH_out_sensor.C_out.Q-P_w_ReH_out_sensor.flow_model.C_out.Q = 0.0; + + // Component P_Cond_sensor.flow_model + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + P_Cond_sensor.flow_model.h_in = inStream(P_Cond_sensor.flow_model.C_in.h_outflow); + P_Cond_sensor.flow_model.h_out = P_Cond_sensor.flow_model.C_out.h_outflow; + P_Cond_sensor.flow_model.Q = P_Cond_sensor.flow_model.C_in.Q; + P_Cond_sensor.flow_model.P_in = P_Cond_sensor.flow_model.C_in.P; + P_Cond_sensor.flow_model.P_out = P_Cond_sensor.flow_model.C_out.P; + P_Cond_sensor.flow_model.Xi = inStream(P_Cond_sensor.flow_model.C_in.Xi_outflow); + P_Cond_sensor.flow_model.C_in.h_outflow = 1000000.0; + P_Cond_sensor.flow_model.C_in.Xi_outflow = zeros(0); + P_Cond_sensor.flow_model.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_Cond_sensor.flow_model.P_in, P_Cond_sensor.flow_model.h_in, + P_Cond_sensor.flow_model.Xi, 0, 0); + P_Cond_sensor.flow_model.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_Cond_sensor.flow_model.P_out, P_Cond_sensor.flow_model.h_out, + P_Cond_sensor.flow_model.Xi, 0, 0); + P_Cond_sensor.flow_model.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + P_Cond_sensor.flow_model.state_in); + P_Cond_sensor.flow_model.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + P_Cond_sensor.flow_model.state_out); + P_Cond_sensor.flow_model.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + P_Cond_sensor.flow_model.state_in); + P_Cond_sensor.flow_model.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + P_Cond_sensor.flow_model.state_out); + P_Cond_sensor.flow_model.rho = (P_Cond_sensor.flow_model.rho_in+ + P_Cond_sensor.flow_model.rho_out)/2; + P_Cond_sensor.flow_model.Qv_in = P_Cond_sensor.flow_model.Q/ + P_Cond_sensor.flow_model.rho_in; + P_Cond_sensor.flow_model.Qv_out = -P_Cond_sensor.flow_model.Q/ + P_Cond_sensor.flow_model.rho_out; + P_Cond_sensor.flow_model.Qv = (P_Cond_sensor.flow_model.Qv_in- + P_Cond_sensor.flow_model.Qv_out)/2; + P_Cond_sensor.flow_model.P_out-P_Cond_sensor.flow_model.P_in = + P_Cond_sensor.flow_model.DP; + P_Cond_sensor.flow_model.Q*(P_Cond_sensor.flow_model.h_out- + P_Cond_sensor.flow_model.h_in) = P_Cond_sensor.flow_model.W; + P_Cond_sensor.flow_model.h_out-P_Cond_sensor.flow_model.h_in = + P_Cond_sensor.flow_model.DH; + P_Cond_sensor.flow_model.T_out-P_Cond_sensor.flow_model.T_in = + P_Cond_sensor.flow_model.DT; + P_Cond_sensor.flow_model.C_in.Q+P_Cond_sensor.flow_model.C_out.Q = 0; + P_Cond_sensor.flow_model.C_out.Xi_outflow = inStream(P_Cond_sensor.flow_model.C_in.Xi_outflow); + assert(P_Cond_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + P_Cond_sensor.flow_model.P = P_Cond_sensor.flow_model.P_in; + P_Cond_sensor.flow_model.h = P_Cond_sensor.flow_model.h_in; + P_Cond_sensor.flow_model.T = P_Cond_sensor.flow_model.T_in; + P_Cond_sensor.flow_model.DP = 0; + P_Cond_sensor.flow_model.DH = 0; + // end of extends + + // Component P_Cond_sensor + // class MetroscopeModelingLibrary.Sensors_Control.WaterSteam.PressureSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not P_Cond_sensor.faulty_flow_rate) then + P_Cond_sensor.mass_flow_rate_bias = 0; + end if; + P_Cond_sensor.P = P_Cond_sensor.C_in.P; + P_Cond_sensor.Q = P_Cond_sensor.C_in.Q+P_Cond_sensor.mass_flow_rate_bias; + P_Cond_sensor.Xi = inStream(P_Cond_sensor.C_in.Xi_outflow); + P_Cond_sensor.h = inStream(P_Cond_sensor.C_in.h_outflow); + P_Cond_sensor.state = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_Cond_sensor.P, P_Cond_sensor.h, P_Cond_sensor.Xi, 0, 0); + assert(P_Cond_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.PressureSensor + equation + P_Cond_sensor.P_barA = P_Cond_sensor.P*1E-05; + P_Cond_sensor.P_psiA = P_Cond_sensor.P*0.000145038; + P_Cond_sensor.P_MPaA = P_Cond_sensor.P*1E-06; + P_Cond_sensor.P_kPaA = P_Cond_sensor.P*0.001; + P_Cond_sensor.P_barG = P_Cond_sensor.P_barA-1; + P_Cond_sensor.P_psiG = P_Cond_sensor.P_psiA-14.50377377; + P_Cond_sensor.P_MPaG = P_Cond_sensor.P_MPaA-0.1; + P_Cond_sensor.P_kPaG = P_Cond_sensor.P_kPaA-100; + P_Cond_sensor.P_mbar = P_Cond_sensor.P*0.01; + P_Cond_sensor.P_inHg = P_Cond_sensor.P*0.0002953006; + if (P_Cond_sensor.signal_unit == "barA") then + P_Cond_sensor.P_sensor = P_Cond_sensor.P_barA; + elseif (P_Cond_sensor.signal_unit == "barG") then + P_Cond_sensor.P_sensor = P_Cond_sensor.P_barG; + elseif (P_Cond_sensor.signal_unit == "mbar") then + P_Cond_sensor.P_sensor = P_Cond_sensor.P_mbar; + elseif (P_Cond_sensor.signal_unit == "MPaA") then + P_Cond_sensor.P_sensor = P_Cond_sensor.P_MPaA; + elseif (P_Cond_sensor.signal_unit == "kPaA") then + P_Cond_sensor.P_sensor = P_Cond_sensor.P_kPaA; + else + P_Cond_sensor.P_sensor = P_Cond_sensor.P; + end if; + // end of extends + equation + P_Cond_sensor.flow_model.C_in.P = P_Cond_sensor.C_in.P; + P_Cond_sensor.C_in.Q-P_Cond_sensor.flow_model.C_in.Q = 0.0; + P_Cond_sensor.flow_model.C_out.P = P_Cond_sensor.C_out.P; + P_Cond_sensor.C_out.Q-P_Cond_sensor.flow_model.C_out.Q = 0.0; + + // Component P_source_air_sensor.flow_model + // class MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + P_source_air_sensor.flow_model.h_in = inStream(P_source_air_sensor.flow_model.C_in.h_outflow); + P_source_air_sensor.flow_model.h_out = P_source_air_sensor.flow_model.C_out.h_outflow; + P_source_air_sensor.flow_model.Q = P_source_air_sensor.flow_model.C_in.Q; + P_source_air_sensor.flow_model.P_in = P_source_air_sensor.flow_model.C_in.P; + P_source_air_sensor.flow_model.P_out = P_source_air_sensor.flow_model.C_out.P; + P_source_air_sensor.flow_model.Xi = inStream(P_source_air_sensor.flow_model.C_in.Xi_outflow); + P_source_air_sensor.flow_model.C_in.h_outflow = 1000000.0; + P_source_air_sensor.flow_model.C_in.Xi_outflow = zeros(5); + P_source_air_sensor.flow_model.state_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (P_source_air_sensor.flow_model.P_in, P_source_air_sensor.flow_model.h_in, + P_source_air_sensor.flow_model.Xi); + P_source_air_sensor.flow_model.state_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (P_source_air_sensor.flow_model.P_out, P_source_air_sensor.flow_model.h_out, + P_source_air_sensor.flow_model.Xi); + P_source_air_sensor.flow_model.T_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + P_source_air_sensor.flow_model.state_in); + P_source_air_sensor.flow_model.T_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + P_source_air_sensor.flow_model.state_out); + P_source_air_sensor.flow_model.rho_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + P_source_air_sensor.flow_model.state_in); + P_source_air_sensor.flow_model.rho_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + P_source_air_sensor.flow_model.state_out); + P_source_air_sensor.flow_model.rho = (P_source_air_sensor.flow_model.rho_in + +P_source_air_sensor.flow_model.rho_out)/2; + P_source_air_sensor.flow_model.Qv_in = P_source_air_sensor.flow_model.Q/ + P_source_air_sensor.flow_model.rho_in; + P_source_air_sensor.flow_model.Qv_out = -P_source_air_sensor.flow_model.Q + /P_source_air_sensor.flow_model.rho_out; + P_source_air_sensor.flow_model.Qv = (P_source_air_sensor.flow_model.Qv_in- + P_source_air_sensor.flow_model.Qv_out)/2; + P_source_air_sensor.flow_model.P_out-P_source_air_sensor.flow_model.P_in + = P_source_air_sensor.flow_model.DP; + P_source_air_sensor.flow_model.Q*(P_source_air_sensor.flow_model.h_out- + P_source_air_sensor.flow_model.h_in) = P_source_air_sensor.flow_model.W; + P_source_air_sensor.flow_model.h_out-P_source_air_sensor.flow_model.h_in + = P_source_air_sensor.flow_model.DH; + P_source_air_sensor.flow_model.T_out-P_source_air_sensor.flow_model.T_in + = P_source_air_sensor.flow_model.DT; + P_source_air_sensor.flow_model.C_in.Q+P_source_air_sensor.flow_model.C_out.Q + = 0; + P_source_air_sensor.flow_model.C_out.Xi_outflow = inStream( + P_source_air_sensor.flow_model.C_in.Xi_outflow); + assert(P_source_air_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + P_source_air_sensor.flow_model.P = P_source_air_sensor.flow_model.P_in; + P_source_air_sensor.flow_model.h = P_source_air_sensor.flow_model.h_in; + P_source_air_sensor.flow_model.T = P_source_air_sensor.flow_model.T_in; + P_source_air_sensor.flow_model.DP = 0; + P_source_air_sensor.flow_model.DH = 0; + // end of extends + + // Component P_source_air_sensor + // class MetroscopeModelingLibrary.Sensors_Control.FlueGases.PressureSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not P_source_air_sensor.faulty_flow_rate) then + P_source_air_sensor.mass_flow_rate_bias = 0; + end if; + P_source_air_sensor.P = P_source_air_sensor.C_in.P; + P_source_air_sensor.Q = P_source_air_sensor.C_in.Q+P_source_air_sensor.mass_flow_rate_bias; + P_source_air_sensor.Xi = inStream(P_source_air_sensor.C_in.Xi_outflow); + P_source_air_sensor.h = inStream(P_source_air_sensor.C_in.h_outflow); + P_source_air_sensor.state = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (P_source_air_sensor.P, P_source_air_sensor.h, P_source_air_sensor.Xi); + assert(P_source_air_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.PressureSensor + equation + P_source_air_sensor.P_barA = P_source_air_sensor.P*1E-05; + P_source_air_sensor.P_psiA = P_source_air_sensor.P*0.000145038; + P_source_air_sensor.P_MPaA = P_source_air_sensor.P*1E-06; + P_source_air_sensor.P_kPaA = P_source_air_sensor.P*0.001; + P_source_air_sensor.P_barG = P_source_air_sensor.P_barA-1; + P_source_air_sensor.P_psiG = P_source_air_sensor.P_psiA-14.50377377; + P_source_air_sensor.P_MPaG = P_source_air_sensor.P_MPaA-0.1; + P_source_air_sensor.P_kPaG = P_source_air_sensor.P_kPaA-100; + P_source_air_sensor.P_mbar = P_source_air_sensor.P*0.01; + P_source_air_sensor.P_inHg = P_source_air_sensor.P*0.0002953006; + if (P_source_air_sensor.signal_unit == "barA") then + P_source_air_sensor.P_sensor = P_source_air_sensor.P_barA; + elseif (P_source_air_sensor.signal_unit == "barG") then + P_source_air_sensor.P_sensor = P_source_air_sensor.P_barG; + elseif (P_source_air_sensor.signal_unit == "mbar") then + P_source_air_sensor.P_sensor = P_source_air_sensor.P_mbar; + elseif (P_source_air_sensor.signal_unit == "MPaA") then + P_source_air_sensor.P_sensor = P_source_air_sensor.P_MPaA; + elseif (P_source_air_sensor.signal_unit == "kPaA") then + P_source_air_sensor.P_sensor = P_source_air_sensor.P_kPaA; + else + P_source_air_sensor.P_sensor = P_source_air_sensor.P; + end if; + // end of extends + equation + P_source_air_sensor.flow_model.C_in.P = P_source_air_sensor.C_in.P; + P_source_air_sensor.C_in.Q-P_source_air_sensor.flow_model.C_in.Q = 0.0; + P_source_air_sensor.flow_model.C_out.P = P_source_air_sensor.C_out.P; + P_source_air_sensor.C_out.Q-P_source_air_sensor.flow_model.C_out.Q = 0.0; + + // Component T_source_air_sensor.flow_model + // class MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + T_source_air_sensor.flow_model.h_in = inStream(T_source_air_sensor.flow_model.C_in.h_outflow); + T_source_air_sensor.flow_model.h_out = T_source_air_sensor.flow_model.C_out.h_outflow; + T_source_air_sensor.flow_model.Q = T_source_air_sensor.flow_model.C_in.Q; + T_source_air_sensor.flow_model.P_in = T_source_air_sensor.flow_model.C_in.P; + T_source_air_sensor.flow_model.P_out = T_source_air_sensor.flow_model.C_out.P; + T_source_air_sensor.flow_model.Xi = inStream(T_source_air_sensor.flow_model.C_in.Xi_outflow); + T_source_air_sensor.flow_model.C_in.h_outflow = 1000000.0; + T_source_air_sensor.flow_model.C_in.Xi_outflow = zeros(5); + T_source_air_sensor.flow_model.state_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (T_source_air_sensor.flow_model.P_in, T_source_air_sensor.flow_model.h_in, + T_source_air_sensor.flow_model.Xi); + T_source_air_sensor.flow_model.state_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (T_source_air_sensor.flow_model.P_out, T_source_air_sensor.flow_model.h_out, + T_source_air_sensor.flow_model.Xi); + T_source_air_sensor.flow_model.T_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + T_source_air_sensor.flow_model.state_in); + T_source_air_sensor.flow_model.T_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + T_source_air_sensor.flow_model.state_out); + T_source_air_sensor.flow_model.rho_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + T_source_air_sensor.flow_model.state_in); + T_source_air_sensor.flow_model.rho_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + T_source_air_sensor.flow_model.state_out); + T_source_air_sensor.flow_model.rho = (T_source_air_sensor.flow_model.rho_in + +T_source_air_sensor.flow_model.rho_out)/2; + T_source_air_sensor.flow_model.Qv_in = T_source_air_sensor.flow_model.Q/ + T_source_air_sensor.flow_model.rho_in; + T_source_air_sensor.flow_model.Qv_out = -T_source_air_sensor.flow_model.Q + /T_source_air_sensor.flow_model.rho_out; + T_source_air_sensor.flow_model.Qv = (T_source_air_sensor.flow_model.Qv_in- + T_source_air_sensor.flow_model.Qv_out)/2; + T_source_air_sensor.flow_model.P_out-T_source_air_sensor.flow_model.P_in + = T_source_air_sensor.flow_model.DP; + T_source_air_sensor.flow_model.Q*(T_source_air_sensor.flow_model.h_out- + T_source_air_sensor.flow_model.h_in) = T_source_air_sensor.flow_model.W; + T_source_air_sensor.flow_model.h_out-T_source_air_sensor.flow_model.h_in + = T_source_air_sensor.flow_model.DH; + T_source_air_sensor.flow_model.T_out-T_source_air_sensor.flow_model.T_in + = T_source_air_sensor.flow_model.DT; + T_source_air_sensor.flow_model.C_in.Q+T_source_air_sensor.flow_model.C_out.Q + = 0; + T_source_air_sensor.flow_model.C_out.Xi_outflow = inStream( + T_source_air_sensor.flow_model.C_in.Xi_outflow); + assert(T_source_air_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + T_source_air_sensor.flow_model.P = T_source_air_sensor.flow_model.P_in; + T_source_air_sensor.flow_model.h = T_source_air_sensor.flow_model.h_in; + T_source_air_sensor.flow_model.T = T_source_air_sensor.flow_model.T_in; + T_source_air_sensor.flow_model.DP = 0; + T_source_air_sensor.flow_model.DH = 0; + // end of extends + + // Component T_source_air_sensor + // class MetroscopeModelingLibrary.Sensors_Control.FlueGases.TemperatureSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not T_source_air_sensor.faulty_flow_rate) then + T_source_air_sensor.mass_flow_rate_bias = 0; + end if; + T_source_air_sensor.P = T_source_air_sensor.C_in.P; + T_source_air_sensor.Q = T_source_air_sensor.C_in.Q+T_source_air_sensor.mass_flow_rate_bias; + T_source_air_sensor.Xi = inStream(T_source_air_sensor.C_in.Xi_outflow); + T_source_air_sensor.h = inStream(T_source_air_sensor.C_in.h_outflow); + T_source_air_sensor.state = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (T_source_air_sensor.P, T_source_air_sensor.h, T_source_air_sensor.Xi); + assert(T_source_air_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.TemperatureSensor + equation + T_source_air_sensor.T = T_source_air_sensor.flow_model.T; + T_source_air_sensor.T_degC+273.15 = T_source_air_sensor.T; + T_source_air_sensor.T_degF = T_source_air_sensor.T_degC*1.8+32; + if (T_source_air_sensor.signal_unit == "degC") then + T_source_air_sensor.T_sensor = T_source_air_sensor.T_degC; + elseif (T_source_air_sensor.signal_unit == "degF") then + T_source_air_sensor.T_sensor = T_source_air_sensor.T_degF; + elseif (T_source_air_sensor.signal_unit == "K") then + T_source_air_sensor.T_sensor = T_source_air_sensor.T; + else + assert(false, "Unavailable unit selected for %name"); + end if; + // end of extends + equation + T_source_air_sensor.flow_model.C_in.P = T_source_air_sensor.C_in.P; + T_source_air_sensor.C_in.Q-T_source_air_sensor.flow_model.C_in.Q = 0.0; + T_source_air_sensor.flow_model.C_out.P = T_source_air_sensor.C_out.P; + T_source_air_sensor.C_out.Q-T_source_air_sensor.flow_model.C_out.Q = 0.0; + + // Component Q_source_air_sensor.flow_model + // class MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + Q_source_air_sensor.flow_model.h_in = inStream(Q_source_air_sensor.flow_model.C_in.h_outflow); + Q_source_air_sensor.flow_model.h_out = Q_source_air_sensor.flow_model.C_out.h_outflow; + Q_source_air_sensor.flow_model.Q = Q_source_air_sensor.flow_model.C_in.Q; + Q_source_air_sensor.flow_model.P_in = Q_source_air_sensor.flow_model.C_in.P; + Q_source_air_sensor.flow_model.P_out = Q_source_air_sensor.flow_model.C_out.P; + Q_source_air_sensor.flow_model.Xi = inStream(Q_source_air_sensor.flow_model.C_in.Xi_outflow); + Q_source_air_sensor.flow_model.C_in.h_outflow = 1000000.0; + Q_source_air_sensor.flow_model.C_in.Xi_outflow = zeros(5); + Q_source_air_sensor.flow_model.state_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (Q_source_air_sensor.flow_model.P_in, Q_source_air_sensor.flow_model.h_in, + Q_source_air_sensor.flow_model.Xi); + Q_source_air_sensor.flow_model.state_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (Q_source_air_sensor.flow_model.P_out, Q_source_air_sensor.flow_model.h_out, + Q_source_air_sensor.flow_model.Xi); + Q_source_air_sensor.flow_model.T_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + Q_source_air_sensor.flow_model.state_in); + Q_source_air_sensor.flow_model.T_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + Q_source_air_sensor.flow_model.state_out); + Q_source_air_sensor.flow_model.rho_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + Q_source_air_sensor.flow_model.state_in); + Q_source_air_sensor.flow_model.rho_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + Q_source_air_sensor.flow_model.state_out); + Q_source_air_sensor.flow_model.rho = (Q_source_air_sensor.flow_model.rho_in + +Q_source_air_sensor.flow_model.rho_out)/2; + Q_source_air_sensor.flow_model.Qv_in = Q_source_air_sensor.flow_model.Q/ + Q_source_air_sensor.flow_model.rho_in; + Q_source_air_sensor.flow_model.Qv_out = -Q_source_air_sensor.flow_model.Q + /Q_source_air_sensor.flow_model.rho_out; + Q_source_air_sensor.flow_model.Qv = (Q_source_air_sensor.flow_model.Qv_in- + Q_source_air_sensor.flow_model.Qv_out)/2; + Q_source_air_sensor.flow_model.P_out-Q_source_air_sensor.flow_model.P_in + = Q_source_air_sensor.flow_model.DP; + Q_source_air_sensor.flow_model.Q*(Q_source_air_sensor.flow_model.h_out- + Q_source_air_sensor.flow_model.h_in) = Q_source_air_sensor.flow_model.W; + Q_source_air_sensor.flow_model.h_out-Q_source_air_sensor.flow_model.h_in + = Q_source_air_sensor.flow_model.DH; + Q_source_air_sensor.flow_model.T_out-Q_source_air_sensor.flow_model.T_in + = Q_source_air_sensor.flow_model.DT; + Q_source_air_sensor.flow_model.C_in.Q+Q_source_air_sensor.flow_model.C_out.Q + = 0; + Q_source_air_sensor.flow_model.C_out.Xi_outflow = inStream( + Q_source_air_sensor.flow_model.C_in.Xi_outflow); + assert(Q_source_air_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + Q_source_air_sensor.flow_model.P = Q_source_air_sensor.flow_model.P_in; + Q_source_air_sensor.flow_model.h = Q_source_air_sensor.flow_model.h_in; + Q_source_air_sensor.flow_model.T = Q_source_air_sensor.flow_model.T_in; + Q_source_air_sensor.flow_model.DP = 0; + Q_source_air_sensor.flow_model.DH = 0; + // end of extends + + // Component Q_source_air_sensor + // class MetroscopeModelingLibrary.Sensors_Control.FlueGases.FlowSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not Q_source_air_sensor.faulty_flow_rate) then + Q_source_air_sensor.mass_flow_rate_bias = 0; + end if; + Q_source_air_sensor.P = Q_source_air_sensor.C_in.P; + Q_source_air_sensor.Q = Q_source_air_sensor.C_in.Q+Q_source_air_sensor.mass_flow_rate_bias; + Q_source_air_sensor.Xi = inStream(Q_source_air_sensor.C_in.Xi_outflow); + Q_source_air_sensor.h = inStream(Q_source_air_sensor.C_in.h_outflow); + Q_source_air_sensor.state = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (Q_source_air_sensor.P, Q_source_air_sensor.h, Q_source_air_sensor.Xi); + assert(Q_source_air_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.FlowSensor + equation + Q_source_air_sensor.Qv = Q_source_air_sensor.Q/MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + Q_source_air_sensor.state); + Q_source_air_sensor.Q_lm = Q_source_air_sensor.Qv*60000; + Q_source_air_sensor.Q_th = Q_source_air_sensor.Q*3.6; + Q_source_air_sensor.Q_lbs = Q_source_air_sensor.Q*2.2046; + Q_source_air_sensor.Q_Mlbh = Q_source_air_sensor.Q*0.0079366414387; + if (Q_source_air_sensor.signal_unit == "l/m") then + Q_source_air_sensor.Q_sensor = Q_source_air_sensor.Q_lm; + elseif (Q_source_air_sensor.signal_unit == "t/h") then + Q_source_air_sensor.Q_sensor = Q_source_air_sensor.Q_th; + else + Q_source_air_sensor.Q_sensor = Q_source_air_sensor.Q; + end if; + // end of extends + equation + Q_source_air_sensor.flow_model.C_in.P = Q_source_air_sensor.C_in.P; + Q_source_air_sensor.C_in.Q-Q_source_air_sensor.flow_model.C_in.Q = 0.0; + Q_source_air_sensor.flow_model.C_out.P = Q_source_air_sensor.C_out.P; + Q_source_air_sensor.C_out.Q-Q_source_air_sensor.flow_model.C_out.Q = 0.0; + + // Component T_circulating_water_in_sensor.flow_model + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + T_circulating_water_in_sensor.flow_model.h_in = inStream(T_circulating_water_in_sensor.flow_model.C_in.h_outflow); + T_circulating_water_in_sensor.flow_model.h_out = T_circulating_water_in_sensor.flow_model.C_out.h_outflow; + T_circulating_water_in_sensor.flow_model.Q = T_circulating_water_in_sensor.flow_model.C_in.Q; + T_circulating_water_in_sensor.flow_model.P_in = T_circulating_water_in_sensor.flow_model.C_in.P; + T_circulating_water_in_sensor.flow_model.P_out = T_circulating_water_in_sensor.flow_model.C_out.P; + T_circulating_water_in_sensor.flow_model.Xi = inStream(T_circulating_water_in_sensor.flow_model.C_in.Xi_outflow); + T_circulating_water_in_sensor.flow_model.C_in.h_outflow = 1000000.0; + T_circulating_water_in_sensor.flow_model.C_in.Xi_outflow = zeros(0); + T_circulating_water_in_sensor.flow_model.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (T_circulating_water_in_sensor.flow_model.P_in, T_circulating_water_in_sensor.flow_model.h_in, + T_circulating_water_in_sensor.flow_model.Xi, 0, 0); + T_circulating_water_in_sensor.flow_model.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (T_circulating_water_in_sensor.flow_model.P_out, T_circulating_water_in_sensor.flow_model.h_out, + T_circulating_water_in_sensor.flow_model.Xi, 0, 0); + T_circulating_water_in_sensor.flow_model.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + T_circulating_water_in_sensor.flow_model.state_in); + T_circulating_water_in_sensor.flow_model.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + T_circulating_water_in_sensor.flow_model.state_out); + T_circulating_water_in_sensor.flow_model.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + T_circulating_water_in_sensor.flow_model.state_in); + T_circulating_water_in_sensor.flow_model.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + T_circulating_water_in_sensor.flow_model.state_out); + T_circulating_water_in_sensor.flow_model.rho = (T_circulating_water_in_sensor.flow_model.rho_in + +T_circulating_water_in_sensor.flow_model.rho_out)/2; + T_circulating_water_in_sensor.flow_model.Qv_in = T_circulating_water_in_sensor.flow_model.Q + /T_circulating_water_in_sensor.flow_model.rho_in; + T_circulating_water_in_sensor.flow_model.Qv_out = -T_circulating_water_in_sensor.flow_model.Q + /T_circulating_water_in_sensor.flow_model.rho_out; + T_circulating_water_in_sensor.flow_model.Qv = (T_circulating_water_in_sensor.flow_model.Qv_in + -T_circulating_water_in_sensor.flow_model.Qv_out)/2; + T_circulating_water_in_sensor.flow_model.P_out-T_circulating_water_in_sensor.flow_model.P_in + = T_circulating_water_in_sensor.flow_model.DP; + T_circulating_water_in_sensor.flow_model.Q*(T_circulating_water_in_sensor.flow_model.h_out + -T_circulating_water_in_sensor.flow_model.h_in) = T_circulating_water_in_sensor.flow_model.W; + T_circulating_water_in_sensor.flow_model.h_out-T_circulating_water_in_sensor.flow_model.h_in + = T_circulating_water_in_sensor.flow_model.DH; + T_circulating_water_in_sensor.flow_model.T_out-T_circulating_water_in_sensor.flow_model.T_in + = T_circulating_water_in_sensor.flow_model.DT; + T_circulating_water_in_sensor.flow_model.C_in.Q+T_circulating_water_in_sensor.flow_model.C_out.Q + = 0; + T_circulating_water_in_sensor.flow_model.C_out.Xi_outflow = inStream( + T_circulating_water_in_sensor.flow_model.C_in.Xi_outflow); + assert(T_circulating_water_in_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + T_circulating_water_in_sensor.flow_model.P = T_circulating_water_in_sensor.flow_model.P_in; + T_circulating_water_in_sensor.flow_model.h = T_circulating_water_in_sensor.flow_model.h_in; + T_circulating_water_in_sensor.flow_model.T = T_circulating_water_in_sensor.flow_model.T_in; + T_circulating_water_in_sensor.flow_model.DP = 0; + T_circulating_water_in_sensor.flow_model.DH = 0; + // end of extends + + // Component T_circulating_water_in_sensor + // class MetroscopeModelingLibrary.Sensors_Control.WaterSteam.TemperatureSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not T_circulating_water_in_sensor.faulty_flow_rate) then + T_circulating_water_in_sensor.mass_flow_rate_bias = 0; + end if; + T_circulating_water_in_sensor.P = T_circulating_water_in_sensor.C_in.P; + T_circulating_water_in_sensor.Q = T_circulating_water_in_sensor.C_in.Q+ + T_circulating_water_in_sensor.mass_flow_rate_bias; + T_circulating_water_in_sensor.Xi = inStream(T_circulating_water_in_sensor.C_in.Xi_outflow); + T_circulating_water_in_sensor.h = inStream(T_circulating_water_in_sensor.C_in.h_outflow); + T_circulating_water_in_sensor.state = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (T_circulating_water_in_sensor.P, T_circulating_water_in_sensor.h, + T_circulating_water_in_sensor.Xi, 0, 0); + assert(T_circulating_water_in_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.TemperatureSensor + equation + T_circulating_water_in_sensor.T = T_circulating_water_in_sensor.flow_model.T; + T_circulating_water_in_sensor.T_degC+273.15 = T_circulating_water_in_sensor.T; + T_circulating_water_in_sensor.T_degF = T_circulating_water_in_sensor.T_degC + *1.8+32; + if (T_circulating_water_in_sensor.signal_unit == "degC") then + T_circulating_water_in_sensor.T_sensor = T_circulating_water_in_sensor.T_degC; + elseif (T_circulating_water_in_sensor.signal_unit == "degF") then + T_circulating_water_in_sensor.T_sensor = T_circulating_water_in_sensor.T_degF; + elseif (T_circulating_water_in_sensor.signal_unit == "K") then + T_circulating_water_in_sensor.T_sensor = T_circulating_water_in_sensor.T; + else + assert(false, "Unavailable unit selected for %name"); + end if; + // end of extends + equation + T_circulating_water_in_sensor.flow_model.C_in.P = T_circulating_water_in_sensor.C_in.P; + T_circulating_water_in_sensor.C_in.Q-T_circulating_water_in_sensor.flow_model.C_in.Q + = 0.0; + T_circulating_water_in_sensor.flow_model.C_out.P = T_circulating_water_in_sensor.C_out.P; + T_circulating_water_in_sensor.C_out.Q-T_circulating_water_in_sensor.flow_model.C_out.Q + = 0.0; + + // Component P_circulating_water_in_sensor.flow_model + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + P_circulating_water_in_sensor.flow_model.h_in = inStream(P_circulating_water_in_sensor.flow_model.C_in.h_outflow); + P_circulating_water_in_sensor.flow_model.h_out = P_circulating_water_in_sensor.flow_model.C_out.h_outflow; + P_circulating_water_in_sensor.flow_model.Q = P_circulating_water_in_sensor.flow_model.C_in.Q; + P_circulating_water_in_sensor.flow_model.P_in = P_circulating_water_in_sensor.flow_model.C_in.P; + P_circulating_water_in_sensor.flow_model.P_out = P_circulating_water_in_sensor.flow_model.C_out.P; + P_circulating_water_in_sensor.flow_model.Xi = inStream(P_circulating_water_in_sensor.flow_model.C_in.Xi_outflow); + P_circulating_water_in_sensor.flow_model.C_in.h_outflow = 1000000.0; + P_circulating_water_in_sensor.flow_model.C_in.Xi_outflow = zeros(0); + P_circulating_water_in_sensor.flow_model.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_circulating_water_in_sensor.flow_model.P_in, P_circulating_water_in_sensor.flow_model.h_in, + P_circulating_water_in_sensor.flow_model.Xi, 0, 0); + P_circulating_water_in_sensor.flow_model.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_circulating_water_in_sensor.flow_model.P_out, P_circulating_water_in_sensor.flow_model.h_out, + P_circulating_water_in_sensor.flow_model.Xi, 0, 0); + P_circulating_water_in_sensor.flow_model.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + P_circulating_water_in_sensor.flow_model.state_in); + P_circulating_water_in_sensor.flow_model.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + P_circulating_water_in_sensor.flow_model.state_out); + P_circulating_water_in_sensor.flow_model.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + P_circulating_water_in_sensor.flow_model.state_in); + P_circulating_water_in_sensor.flow_model.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + P_circulating_water_in_sensor.flow_model.state_out); + P_circulating_water_in_sensor.flow_model.rho = (P_circulating_water_in_sensor.flow_model.rho_in + +P_circulating_water_in_sensor.flow_model.rho_out)/2; + P_circulating_water_in_sensor.flow_model.Qv_in = P_circulating_water_in_sensor.flow_model.Q + /P_circulating_water_in_sensor.flow_model.rho_in; + P_circulating_water_in_sensor.flow_model.Qv_out = -P_circulating_water_in_sensor.flow_model.Q + /P_circulating_water_in_sensor.flow_model.rho_out; + P_circulating_water_in_sensor.flow_model.Qv = (P_circulating_water_in_sensor.flow_model.Qv_in + -P_circulating_water_in_sensor.flow_model.Qv_out)/2; + P_circulating_water_in_sensor.flow_model.P_out-P_circulating_water_in_sensor.flow_model.P_in + = P_circulating_water_in_sensor.flow_model.DP; + P_circulating_water_in_sensor.flow_model.Q*(P_circulating_water_in_sensor.flow_model.h_out + -P_circulating_water_in_sensor.flow_model.h_in) = P_circulating_water_in_sensor.flow_model.W; + P_circulating_water_in_sensor.flow_model.h_out-P_circulating_water_in_sensor.flow_model.h_in + = P_circulating_water_in_sensor.flow_model.DH; + P_circulating_water_in_sensor.flow_model.T_out-P_circulating_water_in_sensor.flow_model.T_in + = P_circulating_water_in_sensor.flow_model.DT; + P_circulating_water_in_sensor.flow_model.C_in.Q+P_circulating_water_in_sensor.flow_model.C_out.Q + = 0; + P_circulating_water_in_sensor.flow_model.C_out.Xi_outflow = inStream( + P_circulating_water_in_sensor.flow_model.C_in.Xi_outflow); + assert(P_circulating_water_in_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + P_circulating_water_in_sensor.flow_model.P = P_circulating_water_in_sensor.flow_model.P_in; + P_circulating_water_in_sensor.flow_model.h = P_circulating_water_in_sensor.flow_model.h_in; + P_circulating_water_in_sensor.flow_model.T = P_circulating_water_in_sensor.flow_model.T_in; + P_circulating_water_in_sensor.flow_model.DP = 0; + P_circulating_water_in_sensor.flow_model.DH = 0; + // end of extends + + // Component P_circulating_water_in_sensor + // class MetroscopeModelingLibrary.Sensors_Control.WaterSteam.PressureSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not P_circulating_water_in_sensor.faulty_flow_rate) then + P_circulating_water_in_sensor.mass_flow_rate_bias = 0; + end if; + P_circulating_water_in_sensor.P = P_circulating_water_in_sensor.C_in.P; + P_circulating_water_in_sensor.Q = P_circulating_water_in_sensor.C_in.Q+ + P_circulating_water_in_sensor.mass_flow_rate_bias; + P_circulating_water_in_sensor.Xi = inStream(P_circulating_water_in_sensor.C_in.Xi_outflow); + P_circulating_water_in_sensor.h = inStream(P_circulating_water_in_sensor.C_in.h_outflow); + P_circulating_water_in_sensor.state = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_circulating_water_in_sensor.P, P_circulating_water_in_sensor.h, + P_circulating_water_in_sensor.Xi, 0, 0); + assert(P_circulating_water_in_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.PressureSensor + equation + P_circulating_water_in_sensor.P_barA = P_circulating_water_in_sensor.P* + 1E-05; + P_circulating_water_in_sensor.P_psiA = P_circulating_water_in_sensor.P* + 0.000145038; + P_circulating_water_in_sensor.P_MPaA = P_circulating_water_in_sensor.P* + 1E-06; + P_circulating_water_in_sensor.P_kPaA = P_circulating_water_in_sensor.P* + 0.001; + P_circulating_water_in_sensor.P_barG = P_circulating_water_in_sensor.P_barA + -1; + P_circulating_water_in_sensor.P_psiG = P_circulating_water_in_sensor.P_psiA + -14.50377377; + P_circulating_water_in_sensor.P_MPaG = P_circulating_water_in_sensor.P_MPaA + -0.1; + P_circulating_water_in_sensor.P_kPaG = P_circulating_water_in_sensor.P_kPaA + -100; + P_circulating_water_in_sensor.P_mbar = P_circulating_water_in_sensor.P* + 0.01; + P_circulating_water_in_sensor.P_inHg = P_circulating_water_in_sensor.P* + 0.0002953006; + if (P_circulating_water_in_sensor.signal_unit == "barA") then + P_circulating_water_in_sensor.P_sensor = P_circulating_water_in_sensor.P_barA; + elseif (P_circulating_water_in_sensor.signal_unit == "barG") then + P_circulating_water_in_sensor.P_sensor = P_circulating_water_in_sensor.P_barG; + elseif (P_circulating_water_in_sensor.signal_unit == "mbar") then + P_circulating_water_in_sensor.P_sensor = P_circulating_water_in_sensor.P_mbar; + elseif (P_circulating_water_in_sensor.signal_unit == "MPaA") then + P_circulating_water_in_sensor.P_sensor = P_circulating_water_in_sensor.P_MPaA; + elseif (P_circulating_water_in_sensor.signal_unit == "kPaA") then + P_circulating_water_in_sensor.P_sensor = P_circulating_water_in_sensor.P_kPaA; + else + P_circulating_water_in_sensor.P_sensor = P_circulating_water_in_sensor.P; + end if; + // end of extends + equation + P_circulating_water_in_sensor.flow_model.C_in.P = P_circulating_water_in_sensor.C_in.P; + P_circulating_water_in_sensor.C_in.Q-P_circulating_water_in_sensor.flow_model.C_in.Q + = 0.0; + P_circulating_water_in_sensor.flow_model.C_out.P = P_circulating_water_in_sensor.C_out.P; + P_circulating_water_in_sensor.C_out.Q-P_circulating_water_in_sensor.flow_model.C_out.Q + = 0.0; + + // Component LPST_control_valve + // class MetroscopeModelingLibrary.WaterSteam.Pipes.SlideValve + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + LPST_control_valve.h_in = inStream(LPST_control_valve.C_in.h_outflow); + LPST_control_valve.h_out = LPST_control_valve.C_out.h_outflow; + LPST_control_valve.Q = LPST_control_valve.C_in.Q; + LPST_control_valve.P_in = LPST_control_valve.C_in.P; + LPST_control_valve.P_out = LPST_control_valve.C_out.P; + LPST_control_valve.Xi = inStream(LPST_control_valve.C_in.Xi_outflow); + LPST_control_valve.C_in.h_outflow = 1000000.0; + LPST_control_valve.C_in.Xi_outflow = zeros(0); + LPST_control_valve.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (LPST_control_valve.P_in, LPST_control_valve.h_in, LPST_control_valve.Xi, + 0, 0); + LPST_control_valve.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (LPST_control_valve.P_out, LPST_control_valve.h_out, LPST_control_valve.Xi, + 0, 0); + LPST_control_valve.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + LPST_control_valve.state_in); + LPST_control_valve.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + LPST_control_valve.state_out); + LPST_control_valve.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + LPST_control_valve.state_in); + LPST_control_valve.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + LPST_control_valve.state_out); + LPST_control_valve.rho = (LPST_control_valve.rho_in+LPST_control_valve.rho_out) + /2; + LPST_control_valve.Qv_in = LPST_control_valve.Q/LPST_control_valve.rho_in; + LPST_control_valve.Qv_out = -LPST_control_valve.Q/LPST_control_valve.rho_out; + LPST_control_valve.Qv = (LPST_control_valve.Qv_in-LPST_control_valve.Qv_out) + /2; + LPST_control_valve.P_out-LPST_control_valve.P_in = LPST_control_valve.DP; + LPST_control_valve.Q*(LPST_control_valve.h_out-LPST_control_valve.h_in) = + LPST_control_valve.W; + LPST_control_valve.h_out-LPST_control_valve.h_in = LPST_control_valve.DH; + LPST_control_valve.T_out-LPST_control_valve.T_in = LPST_control_valve.DT; + LPST_control_valve.C_in.Q+LPST_control_valve.C_out.Q = 0; + LPST_control_valve.C_out.Xi_outflow = inStream(LPST_control_valve.C_in.Xi_outflow); + assert(LPST_control_valve.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoHFlowModel + equation + LPST_control_valve.h = LPST_control_valve.h_in; + LPST_control_valve.DH = 0; + // extends MetroscopeModelingLibrary.Partial.Pipes.SlideValve + equation + if ( not LPST_control_valve.faulty) then + LPST_control_valve.closed_valve = 0; + end if; + LPST_control_valve.DP*(1-LPST_control_valve.closed_valve/100)^2* + LPST_control_valve.Cv*abs(LPST_control_valve.Cv) = -1733000000000.0*abs + (LPST_control_valve.Q)*LPST_control_valve.Q/LPST_control_valve.rho_in^2; + // end of extends + + // Component P_LPST_in_sensor.flow_model + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + P_LPST_in_sensor.flow_model.h_in = inStream(P_LPST_in_sensor.flow_model.C_in.h_outflow); + P_LPST_in_sensor.flow_model.h_out = P_LPST_in_sensor.flow_model.C_out.h_outflow; + P_LPST_in_sensor.flow_model.Q = P_LPST_in_sensor.flow_model.C_in.Q; + P_LPST_in_sensor.flow_model.P_in = P_LPST_in_sensor.flow_model.C_in.P; + P_LPST_in_sensor.flow_model.P_out = P_LPST_in_sensor.flow_model.C_out.P; + P_LPST_in_sensor.flow_model.Xi = inStream(P_LPST_in_sensor.flow_model.C_in.Xi_outflow); + P_LPST_in_sensor.flow_model.C_in.h_outflow = 1000000.0; + P_LPST_in_sensor.flow_model.C_in.Xi_outflow = zeros(0); + P_LPST_in_sensor.flow_model.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_LPST_in_sensor.flow_model.P_in, P_LPST_in_sensor.flow_model.h_in, + P_LPST_in_sensor.flow_model.Xi, 0, 0); + P_LPST_in_sensor.flow_model.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_LPST_in_sensor.flow_model.P_out, P_LPST_in_sensor.flow_model.h_out, + P_LPST_in_sensor.flow_model.Xi, 0, 0); + P_LPST_in_sensor.flow_model.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + P_LPST_in_sensor.flow_model.state_in); + P_LPST_in_sensor.flow_model.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + P_LPST_in_sensor.flow_model.state_out); + P_LPST_in_sensor.flow_model.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + P_LPST_in_sensor.flow_model.state_in); + P_LPST_in_sensor.flow_model.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + P_LPST_in_sensor.flow_model.state_out); + P_LPST_in_sensor.flow_model.rho = (P_LPST_in_sensor.flow_model.rho_in+ + P_LPST_in_sensor.flow_model.rho_out)/2; + P_LPST_in_sensor.flow_model.Qv_in = P_LPST_in_sensor.flow_model.Q/ + P_LPST_in_sensor.flow_model.rho_in; + P_LPST_in_sensor.flow_model.Qv_out = -P_LPST_in_sensor.flow_model.Q/ + P_LPST_in_sensor.flow_model.rho_out; + P_LPST_in_sensor.flow_model.Qv = (P_LPST_in_sensor.flow_model.Qv_in- + P_LPST_in_sensor.flow_model.Qv_out)/2; + P_LPST_in_sensor.flow_model.P_out-P_LPST_in_sensor.flow_model.P_in = + P_LPST_in_sensor.flow_model.DP; + P_LPST_in_sensor.flow_model.Q*(P_LPST_in_sensor.flow_model.h_out- + P_LPST_in_sensor.flow_model.h_in) = P_LPST_in_sensor.flow_model.W; + P_LPST_in_sensor.flow_model.h_out-P_LPST_in_sensor.flow_model.h_in = + P_LPST_in_sensor.flow_model.DH; + P_LPST_in_sensor.flow_model.T_out-P_LPST_in_sensor.flow_model.T_in = + P_LPST_in_sensor.flow_model.DT; + P_LPST_in_sensor.flow_model.C_in.Q+P_LPST_in_sensor.flow_model.C_out.Q = 0; + P_LPST_in_sensor.flow_model.C_out.Xi_outflow = inStream(P_LPST_in_sensor.flow_model.C_in.Xi_outflow); + assert(P_LPST_in_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + P_LPST_in_sensor.flow_model.P = P_LPST_in_sensor.flow_model.P_in; + P_LPST_in_sensor.flow_model.h = P_LPST_in_sensor.flow_model.h_in; + P_LPST_in_sensor.flow_model.T = P_LPST_in_sensor.flow_model.T_in; + P_LPST_in_sensor.flow_model.DP = 0; + P_LPST_in_sensor.flow_model.DH = 0; + // end of extends + + // Component P_LPST_in_sensor + // class MetroscopeModelingLibrary.Sensors_Control.WaterSteam.PressureSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not P_LPST_in_sensor.faulty_flow_rate) then + P_LPST_in_sensor.mass_flow_rate_bias = 0; + end if; + P_LPST_in_sensor.P = P_LPST_in_sensor.C_in.P; + P_LPST_in_sensor.Q = P_LPST_in_sensor.C_in.Q+P_LPST_in_sensor.mass_flow_rate_bias; + P_LPST_in_sensor.Xi = inStream(P_LPST_in_sensor.C_in.Xi_outflow); + P_LPST_in_sensor.h = inStream(P_LPST_in_sensor.C_in.h_outflow); + P_LPST_in_sensor.state = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_LPST_in_sensor.P, P_LPST_in_sensor.h, P_LPST_in_sensor.Xi, 0, 0); + assert(P_LPST_in_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.PressureSensor + equation + P_LPST_in_sensor.P_barA = P_LPST_in_sensor.P*1E-05; + P_LPST_in_sensor.P_psiA = P_LPST_in_sensor.P*0.000145038; + P_LPST_in_sensor.P_MPaA = P_LPST_in_sensor.P*1E-06; + P_LPST_in_sensor.P_kPaA = P_LPST_in_sensor.P*0.001; + P_LPST_in_sensor.P_barG = P_LPST_in_sensor.P_barA-1; + P_LPST_in_sensor.P_psiG = P_LPST_in_sensor.P_psiA-14.50377377; + P_LPST_in_sensor.P_MPaG = P_LPST_in_sensor.P_MPaA-0.1; + P_LPST_in_sensor.P_kPaG = P_LPST_in_sensor.P_kPaA-100; + P_LPST_in_sensor.P_mbar = P_LPST_in_sensor.P*0.01; + P_LPST_in_sensor.P_inHg = P_LPST_in_sensor.P*0.0002953006; + if (P_LPST_in_sensor.signal_unit == "barA") then + P_LPST_in_sensor.P_sensor = P_LPST_in_sensor.P_barA; + elseif (P_LPST_in_sensor.signal_unit == "barG") then + P_LPST_in_sensor.P_sensor = P_LPST_in_sensor.P_barG; + elseif (P_LPST_in_sensor.signal_unit == "mbar") then + P_LPST_in_sensor.P_sensor = P_LPST_in_sensor.P_mbar; + elseif (P_LPST_in_sensor.signal_unit == "MPaA") then + P_LPST_in_sensor.P_sensor = P_LPST_in_sensor.P_MPaA; + elseif (P_LPST_in_sensor.signal_unit == "kPaA") then + P_LPST_in_sensor.P_sensor = P_LPST_in_sensor.P_kPaA; + else + P_LPST_in_sensor.P_sensor = P_LPST_in_sensor.P; + end if; + // end of extends + equation + P_LPST_in_sensor.flow_model.C_in.P = P_LPST_in_sensor.C_in.P; + P_LPST_in_sensor.C_in.Q-P_LPST_in_sensor.flow_model.C_in.Q = 0.0; + P_LPST_in_sensor.flow_model.C_out.P = P_LPST_in_sensor.C_out.P; + P_LPST_in_sensor.C_out.Q-P_LPST_in_sensor.flow_model.C_out.Q = 0.0; + + // Component pumpRec + // class MetroscopeModelingLibrary.WaterSteam.Machines.FixedSpeedPump + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + pumpRec.h_in = inStream(pumpRec.C_in.h_outflow); + pumpRec.h_out = pumpRec.C_out.h_outflow; + pumpRec.Q = pumpRec.C_in.Q; + pumpRec.P_in = pumpRec.C_in.P; + pumpRec.P_out = pumpRec.C_out.P; + pumpRec.Xi = inStream(pumpRec.C_in.Xi_outflow); + pumpRec.C_in.h_outflow = 1000000.0; + pumpRec.C_in.Xi_outflow = zeros(0); + pumpRec.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8( + pumpRec.P_in, pumpRec.h_in, pumpRec.Xi, 0, 0); + pumpRec.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (pumpRec.P_out, pumpRec.h_out, pumpRec.Xi, 0, 0); + pumpRec.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12( + pumpRec.state_in); + pumpRec.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12( + pumpRec.state_out); + pumpRec.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13( + pumpRec.state_in); + pumpRec.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13( + pumpRec.state_out); + pumpRec.rho = (pumpRec.rho_in+pumpRec.rho_out)/2; + pumpRec.Qv_in = pumpRec.Q/pumpRec.rho_in; + pumpRec.Qv_out = -pumpRec.Q/pumpRec.rho_out; + pumpRec.Qv = (pumpRec.Qv_in-pumpRec.Qv_out)/2; + pumpRec.P_out-pumpRec.P_in = pumpRec.DP; + pumpRec.Q*(pumpRec.h_out-pumpRec.h_in) = pumpRec.W; + pumpRec.h_out-pumpRec.h_in = pumpRec.DH; + pumpRec.T_out-pumpRec.T_in = pumpRec.DT; + pumpRec.C_in.Q+pumpRec.C_out.Q = 0; + pumpRec.C_out.Xi_outflow = inStream(pumpRec.C_in.Xi_outflow); + assert(pumpRec.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Machines.FixedSpeedPump + equation + pumpRec.DP = pumpRec.rho*9.80665*pumpRec.hn; + pumpRec.DH = 9.80665*pumpRec.hn/pumpRec.rh; + // end of extends + + // Component T_pumpRec_out_sensor.flow_model + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + T_pumpRec_out_sensor.flow_model.h_in = inStream(T_pumpRec_out_sensor.flow_model.C_in.h_outflow); + T_pumpRec_out_sensor.flow_model.h_out = T_pumpRec_out_sensor.flow_model.C_out.h_outflow; + T_pumpRec_out_sensor.flow_model.Q = T_pumpRec_out_sensor.flow_model.C_in.Q; + T_pumpRec_out_sensor.flow_model.P_in = T_pumpRec_out_sensor.flow_model.C_in.P; + T_pumpRec_out_sensor.flow_model.P_out = T_pumpRec_out_sensor.flow_model.C_out.P; + T_pumpRec_out_sensor.flow_model.Xi = inStream(T_pumpRec_out_sensor.flow_model.C_in.Xi_outflow); + T_pumpRec_out_sensor.flow_model.C_in.h_outflow = 1000000.0; + T_pumpRec_out_sensor.flow_model.C_in.Xi_outflow = zeros(0); + T_pumpRec_out_sensor.flow_model.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (T_pumpRec_out_sensor.flow_model.P_in, T_pumpRec_out_sensor.flow_model.h_in, + T_pumpRec_out_sensor.flow_model.Xi, 0, 0); + T_pumpRec_out_sensor.flow_model.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (T_pumpRec_out_sensor.flow_model.P_out, T_pumpRec_out_sensor.flow_model.h_out, + T_pumpRec_out_sensor.flow_model.Xi, 0, 0); + T_pumpRec_out_sensor.flow_model.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + T_pumpRec_out_sensor.flow_model.state_in); + T_pumpRec_out_sensor.flow_model.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + T_pumpRec_out_sensor.flow_model.state_out); + T_pumpRec_out_sensor.flow_model.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + T_pumpRec_out_sensor.flow_model.state_in); + T_pumpRec_out_sensor.flow_model.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + T_pumpRec_out_sensor.flow_model.state_out); + T_pumpRec_out_sensor.flow_model.rho = (T_pumpRec_out_sensor.flow_model.rho_in + +T_pumpRec_out_sensor.flow_model.rho_out)/2; + T_pumpRec_out_sensor.flow_model.Qv_in = T_pumpRec_out_sensor.flow_model.Q/ + T_pumpRec_out_sensor.flow_model.rho_in; + T_pumpRec_out_sensor.flow_model.Qv_out = -T_pumpRec_out_sensor.flow_model.Q + /T_pumpRec_out_sensor.flow_model.rho_out; + T_pumpRec_out_sensor.flow_model.Qv = (T_pumpRec_out_sensor.flow_model.Qv_in + -T_pumpRec_out_sensor.flow_model.Qv_out)/2; + T_pumpRec_out_sensor.flow_model.P_out-T_pumpRec_out_sensor.flow_model.P_in + = T_pumpRec_out_sensor.flow_model.DP; + T_pumpRec_out_sensor.flow_model.Q*(T_pumpRec_out_sensor.flow_model.h_out- + T_pumpRec_out_sensor.flow_model.h_in) = T_pumpRec_out_sensor.flow_model.W; + T_pumpRec_out_sensor.flow_model.h_out-T_pumpRec_out_sensor.flow_model.h_in + = T_pumpRec_out_sensor.flow_model.DH; + T_pumpRec_out_sensor.flow_model.T_out-T_pumpRec_out_sensor.flow_model.T_in + = T_pumpRec_out_sensor.flow_model.DT; + T_pumpRec_out_sensor.flow_model.C_in.Q+T_pumpRec_out_sensor.flow_model.C_out.Q + = 0; + T_pumpRec_out_sensor.flow_model.C_out.Xi_outflow = inStream( + T_pumpRec_out_sensor.flow_model.C_in.Xi_outflow); + assert(T_pumpRec_out_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + T_pumpRec_out_sensor.flow_model.P = T_pumpRec_out_sensor.flow_model.P_in; + T_pumpRec_out_sensor.flow_model.h = T_pumpRec_out_sensor.flow_model.h_in; + T_pumpRec_out_sensor.flow_model.T = T_pumpRec_out_sensor.flow_model.T_in; + T_pumpRec_out_sensor.flow_model.DP = 0; + T_pumpRec_out_sensor.flow_model.DH = 0; + // end of extends + + // Component T_pumpRec_out_sensor + // class MetroscopeModelingLibrary.Sensors_Control.WaterSteam.TemperatureSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not T_pumpRec_out_sensor.faulty_flow_rate) then + T_pumpRec_out_sensor.mass_flow_rate_bias = 0; + end if; + T_pumpRec_out_sensor.P = T_pumpRec_out_sensor.C_in.P; + T_pumpRec_out_sensor.Q = T_pumpRec_out_sensor.C_in.Q+T_pumpRec_out_sensor.mass_flow_rate_bias; + T_pumpRec_out_sensor.Xi = inStream(T_pumpRec_out_sensor.C_in.Xi_outflow); + T_pumpRec_out_sensor.h = inStream(T_pumpRec_out_sensor.C_in.h_outflow); + T_pumpRec_out_sensor.state = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (T_pumpRec_out_sensor.P, T_pumpRec_out_sensor.h, T_pumpRec_out_sensor.Xi, + 0, 0); + assert(T_pumpRec_out_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.TemperatureSensor + equation + T_pumpRec_out_sensor.T = T_pumpRec_out_sensor.flow_model.T; + T_pumpRec_out_sensor.T_degC+273.15 = T_pumpRec_out_sensor.T; + T_pumpRec_out_sensor.T_degF = T_pumpRec_out_sensor.T_degC*1.8+32; + if (T_pumpRec_out_sensor.signal_unit == "degC") then + T_pumpRec_out_sensor.T_sensor = T_pumpRec_out_sensor.T_degC; + elseif (T_pumpRec_out_sensor.signal_unit == "degF") then + T_pumpRec_out_sensor.T_sensor = T_pumpRec_out_sensor.T_degF; + elseif (T_pumpRec_out_sensor.signal_unit == "K") then + T_pumpRec_out_sensor.T_sensor = T_pumpRec_out_sensor.T; + else + assert(false, "Unavailable unit selected for %name"); + end if; + // end of extends + equation + T_pumpRec_out_sensor.flow_model.C_in.P = T_pumpRec_out_sensor.C_in.P; + T_pumpRec_out_sensor.C_in.Q-T_pumpRec_out_sensor.flow_model.C_in.Q = 0.0; + T_pumpRec_out_sensor.flow_model.C_out.P = T_pumpRec_out_sensor.C_out.P; + T_pumpRec_out_sensor.C_out.Q-T_pumpRec_out_sensor.flow_model.C_out.Q = 0.0; + + // Component P_pumpRec_out_sensor.flow_model + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + P_pumpRec_out_sensor.flow_model.h_in = inStream(P_pumpRec_out_sensor.flow_model.C_in.h_outflow); + P_pumpRec_out_sensor.flow_model.h_out = P_pumpRec_out_sensor.flow_model.C_out.h_outflow; + P_pumpRec_out_sensor.flow_model.Q = P_pumpRec_out_sensor.flow_model.C_in.Q; + P_pumpRec_out_sensor.flow_model.P_in = P_pumpRec_out_sensor.flow_model.C_in.P; + P_pumpRec_out_sensor.flow_model.P_out = P_pumpRec_out_sensor.flow_model.C_out.P; + P_pumpRec_out_sensor.flow_model.Xi = inStream(P_pumpRec_out_sensor.flow_model.C_in.Xi_outflow); + P_pumpRec_out_sensor.flow_model.C_in.h_outflow = 1000000.0; + P_pumpRec_out_sensor.flow_model.C_in.Xi_outflow = zeros(0); + P_pumpRec_out_sensor.flow_model.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_pumpRec_out_sensor.flow_model.P_in, P_pumpRec_out_sensor.flow_model.h_in, + P_pumpRec_out_sensor.flow_model.Xi, 0, 0); + P_pumpRec_out_sensor.flow_model.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_pumpRec_out_sensor.flow_model.P_out, P_pumpRec_out_sensor.flow_model.h_out, + P_pumpRec_out_sensor.flow_model.Xi, 0, 0); + P_pumpRec_out_sensor.flow_model.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + P_pumpRec_out_sensor.flow_model.state_in); + P_pumpRec_out_sensor.flow_model.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + P_pumpRec_out_sensor.flow_model.state_out); + P_pumpRec_out_sensor.flow_model.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + P_pumpRec_out_sensor.flow_model.state_in); + P_pumpRec_out_sensor.flow_model.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + P_pumpRec_out_sensor.flow_model.state_out); + P_pumpRec_out_sensor.flow_model.rho = (P_pumpRec_out_sensor.flow_model.rho_in + +P_pumpRec_out_sensor.flow_model.rho_out)/2; + P_pumpRec_out_sensor.flow_model.Qv_in = P_pumpRec_out_sensor.flow_model.Q/ + P_pumpRec_out_sensor.flow_model.rho_in; + P_pumpRec_out_sensor.flow_model.Qv_out = -P_pumpRec_out_sensor.flow_model.Q + /P_pumpRec_out_sensor.flow_model.rho_out; + P_pumpRec_out_sensor.flow_model.Qv = (P_pumpRec_out_sensor.flow_model.Qv_in + -P_pumpRec_out_sensor.flow_model.Qv_out)/2; + P_pumpRec_out_sensor.flow_model.P_out-P_pumpRec_out_sensor.flow_model.P_in + = P_pumpRec_out_sensor.flow_model.DP; + P_pumpRec_out_sensor.flow_model.Q*(P_pumpRec_out_sensor.flow_model.h_out- + P_pumpRec_out_sensor.flow_model.h_in) = P_pumpRec_out_sensor.flow_model.W; + P_pumpRec_out_sensor.flow_model.h_out-P_pumpRec_out_sensor.flow_model.h_in + = P_pumpRec_out_sensor.flow_model.DH; + P_pumpRec_out_sensor.flow_model.T_out-P_pumpRec_out_sensor.flow_model.T_in + = P_pumpRec_out_sensor.flow_model.DT; + P_pumpRec_out_sensor.flow_model.C_in.Q+P_pumpRec_out_sensor.flow_model.C_out.Q + = 0; + P_pumpRec_out_sensor.flow_model.C_out.Xi_outflow = inStream( + P_pumpRec_out_sensor.flow_model.C_in.Xi_outflow); + assert(P_pumpRec_out_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + P_pumpRec_out_sensor.flow_model.P = P_pumpRec_out_sensor.flow_model.P_in; + P_pumpRec_out_sensor.flow_model.h = P_pumpRec_out_sensor.flow_model.h_in; + P_pumpRec_out_sensor.flow_model.T = P_pumpRec_out_sensor.flow_model.T_in; + P_pumpRec_out_sensor.flow_model.DP = 0; + P_pumpRec_out_sensor.flow_model.DH = 0; + // end of extends + + // Component P_pumpRec_out_sensor + // class MetroscopeModelingLibrary.Sensors_Control.WaterSteam.PressureSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not P_pumpRec_out_sensor.faulty_flow_rate) then + P_pumpRec_out_sensor.mass_flow_rate_bias = 0; + end if; + P_pumpRec_out_sensor.P = P_pumpRec_out_sensor.C_in.P; + P_pumpRec_out_sensor.Q = P_pumpRec_out_sensor.C_in.Q+P_pumpRec_out_sensor.mass_flow_rate_bias; + P_pumpRec_out_sensor.Xi = inStream(P_pumpRec_out_sensor.C_in.Xi_outflow); + P_pumpRec_out_sensor.h = inStream(P_pumpRec_out_sensor.C_in.h_outflow); + P_pumpRec_out_sensor.state = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_pumpRec_out_sensor.P, P_pumpRec_out_sensor.h, P_pumpRec_out_sensor.Xi, + 0, 0); + assert(P_pumpRec_out_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.PressureSensor + equation + P_pumpRec_out_sensor.P_barA = P_pumpRec_out_sensor.P*1E-05; + P_pumpRec_out_sensor.P_psiA = P_pumpRec_out_sensor.P*0.000145038; + P_pumpRec_out_sensor.P_MPaA = P_pumpRec_out_sensor.P*1E-06; + P_pumpRec_out_sensor.P_kPaA = P_pumpRec_out_sensor.P*0.001; + P_pumpRec_out_sensor.P_barG = P_pumpRec_out_sensor.P_barA-1; + P_pumpRec_out_sensor.P_psiG = P_pumpRec_out_sensor.P_psiA-14.50377377; + P_pumpRec_out_sensor.P_MPaG = P_pumpRec_out_sensor.P_MPaA-0.1; + P_pumpRec_out_sensor.P_kPaG = P_pumpRec_out_sensor.P_kPaA-100; + P_pumpRec_out_sensor.P_mbar = P_pumpRec_out_sensor.P*0.01; + P_pumpRec_out_sensor.P_inHg = P_pumpRec_out_sensor.P*0.0002953006; + if (P_pumpRec_out_sensor.signal_unit == "barA") then + P_pumpRec_out_sensor.P_sensor = P_pumpRec_out_sensor.P_barA; + elseif (P_pumpRec_out_sensor.signal_unit == "barG") then + P_pumpRec_out_sensor.P_sensor = P_pumpRec_out_sensor.P_barG; + elseif (P_pumpRec_out_sensor.signal_unit == "mbar") then + P_pumpRec_out_sensor.P_sensor = P_pumpRec_out_sensor.P_mbar; + elseif (P_pumpRec_out_sensor.signal_unit == "MPaA") then + P_pumpRec_out_sensor.P_sensor = P_pumpRec_out_sensor.P_MPaA; + elseif (P_pumpRec_out_sensor.signal_unit == "kPaA") then + P_pumpRec_out_sensor.P_sensor = P_pumpRec_out_sensor.P_kPaA; + else + P_pumpRec_out_sensor.P_sensor = P_pumpRec_out_sensor.P; + end if; + // end of extends + equation + P_pumpRec_out_sensor.flow_model.C_in.P = P_pumpRec_out_sensor.C_in.P; + P_pumpRec_out_sensor.C_in.Q-P_pumpRec_out_sensor.flow_model.C_in.Q = 0.0; + P_pumpRec_out_sensor.flow_model.C_out.P = P_pumpRec_out_sensor.C_out.P; + P_pumpRec_out_sensor.C_out.Q-P_pumpRec_out_sensor.flow_model.C_out.Q = 0.0; + + // Component Q_pumpRec_out_sensor.flow_model + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + Q_pumpRec_out_sensor.flow_model.h_in = inStream(Q_pumpRec_out_sensor.flow_model.C_in.h_outflow); + Q_pumpRec_out_sensor.flow_model.h_out = Q_pumpRec_out_sensor.flow_model.C_out.h_outflow; + Q_pumpRec_out_sensor.flow_model.Q = Q_pumpRec_out_sensor.flow_model.C_in.Q; + Q_pumpRec_out_sensor.flow_model.P_in = Q_pumpRec_out_sensor.flow_model.C_in.P; + Q_pumpRec_out_sensor.flow_model.P_out = Q_pumpRec_out_sensor.flow_model.C_out.P; + Q_pumpRec_out_sensor.flow_model.Xi = inStream(Q_pumpRec_out_sensor.flow_model.C_in.Xi_outflow); + Q_pumpRec_out_sensor.flow_model.C_in.h_outflow = 1000000.0; + Q_pumpRec_out_sensor.flow_model.C_in.Xi_outflow = zeros(0); + Q_pumpRec_out_sensor.flow_model.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (Q_pumpRec_out_sensor.flow_model.P_in, Q_pumpRec_out_sensor.flow_model.h_in, + Q_pumpRec_out_sensor.flow_model.Xi, 0, 0); + Q_pumpRec_out_sensor.flow_model.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (Q_pumpRec_out_sensor.flow_model.P_out, Q_pumpRec_out_sensor.flow_model.h_out, + Q_pumpRec_out_sensor.flow_model.Xi, 0, 0); + Q_pumpRec_out_sensor.flow_model.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + Q_pumpRec_out_sensor.flow_model.state_in); + Q_pumpRec_out_sensor.flow_model.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + Q_pumpRec_out_sensor.flow_model.state_out); + Q_pumpRec_out_sensor.flow_model.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + Q_pumpRec_out_sensor.flow_model.state_in); + Q_pumpRec_out_sensor.flow_model.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + Q_pumpRec_out_sensor.flow_model.state_out); + Q_pumpRec_out_sensor.flow_model.rho = (Q_pumpRec_out_sensor.flow_model.rho_in + +Q_pumpRec_out_sensor.flow_model.rho_out)/2; + Q_pumpRec_out_sensor.flow_model.Qv_in = Q_pumpRec_out_sensor.flow_model.Q/ + Q_pumpRec_out_sensor.flow_model.rho_in; + Q_pumpRec_out_sensor.flow_model.Qv_out = -Q_pumpRec_out_sensor.flow_model.Q + /Q_pumpRec_out_sensor.flow_model.rho_out; + Q_pumpRec_out_sensor.flow_model.Qv = (Q_pumpRec_out_sensor.flow_model.Qv_in + -Q_pumpRec_out_sensor.flow_model.Qv_out)/2; + Q_pumpRec_out_sensor.flow_model.P_out-Q_pumpRec_out_sensor.flow_model.P_in + = Q_pumpRec_out_sensor.flow_model.DP; + Q_pumpRec_out_sensor.flow_model.Q*(Q_pumpRec_out_sensor.flow_model.h_out- + Q_pumpRec_out_sensor.flow_model.h_in) = Q_pumpRec_out_sensor.flow_model.W; + Q_pumpRec_out_sensor.flow_model.h_out-Q_pumpRec_out_sensor.flow_model.h_in + = Q_pumpRec_out_sensor.flow_model.DH; + Q_pumpRec_out_sensor.flow_model.T_out-Q_pumpRec_out_sensor.flow_model.T_in + = Q_pumpRec_out_sensor.flow_model.DT; + Q_pumpRec_out_sensor.flow_model.C_in.Q+Q_pumpRec_out_sensor.flow_model.C_out.Q + = 0; + Q_pumpRec_out_sensor.flow_model.C_out.Xi_outflow = inStream( + Q_pumpRec_out_sensor.flow_model.C_in.Xi_outflow); + assert(Q_pumpRec_out_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + Q_pumpRec_out_sensor.flow_model.P = Q_pumpRec_out_sensor.flow_model.P_in; + Q_pumpRec_out_sensor.flow_model.h = Q_pumpRec_out_sensor.flow_model.h_in; + Q_pumpRec_out_sensor.flow_model.T = Q_pumpRec_out_sensor.flow_model.T_in; + Q_pumpRec_out_sensor.flow_model.DP = 0; + Q_pumpRec_out_sensor.flow_model.DH = 0; + // end of extends + + // Component Q_pumpRec_out_sensor + // class MetroscopeModelingLibrary.Sensors_Control.WaterSteam.FlowSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not Q_pumpRec_out_sensor.faulty_flow_rate) then + Q_pumpRec_out_sensor.mass_flow_rate_bias = 0; + end if; + Q_pumpRec_out_sensor.P = Q_pumpRec_out_sensor.C_in.P; + Q_pumpRec_out_sensor.Q = Q_pumpRec_out_sensor.C_in.Q+Q_pumpRec_out_sensor.mass_flow_rate_bias; + Q_pumpRec_out_sensor.Xi = inStream(Q_pumpRec_out_sensor.C_in.Xi_outflow); + Q_pumpRec_out_sensor.h = inStream(Q_pumpRec_out_sensor.C_in.h_outflow); + Q_pumpRec_out_sensor.state = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (Q_pumpRec_out_sensor.P, Q_pumpRec_out_sensor.h, Q_pumpRec_out_sensor.Xi, + 0, 0); + assert(Q_pumpRec_out_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.FlowSensor + equation + Q_pumpRec_out_sensor.Qv = Q_pumpRec_out_sensor.Q/Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + Q_pumpRec_out_sensor.state); + Q_pumpRec_out_sensor.Q_lm = Q_pumpRec_out_sensor.Qv*60000; + Q_pumpRec_out_sensor.Q_th = Q_pumpRec_out_sensor.Q*3.6; + Q_pumpRec_out_sensor.Q_lbs = Q_pumpRec_out_sensor.Q*2.2046; + Q_pumpRec_out_sensor.Q_Mlbh = Q_pumpRec_out_sensor.Q*0.0079366414387; + if (Q_pumpRec_out_sensor.signal_unit == "l/m") then + Q_pumpRec_out_sensor.Q_sensor = Q_pumpRec_out_sensor.Q_lm; + elseif (Q_pumpRec_out_sensor.signal_unit == "t/h") then + Q_pumpRec_out_sensor.Q_sensor = Q_pumpRec_out_sensor.Q_th; + else + Q_pumpRec_out_sensor.Q_sensor = Q_pumpRec_out_sensor.Q; + end if; + // end of extends + equation + Q_pumpRec_out_sensor.flow_model.C_in.P = Q_pumpRec_out_sensor.C_in.P; + Q_pumpRec_out_sensor.C_in.Q-Q_pumpRec_out_sensor.flow_model.C_in.Q = 0.0; + Q_pumpRec_out_sensor.flow_model.C_out.P = Q_pumpRec_out_sensor.C_out.P; + Q_pumpRec_out_sensor.C_out.Q-Q_pumpRec_out_sensor.flow_model.C_out.Q = 0.0; + + // Component T_w_eco_in_sensor.flow_model + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + T_w_eco_in_sensor.flow_model.h_in = inStream(T_w_eco_in_sensor.flow_model.C_in.h_outflow); + T_w_eco_in_sensor.flow_model.h_out = T_w_eco_in_sensor.flow_model.C_out.h_outflow; + T_w_eco_in_sensor.flow_model.Q = T_w_eco_in_sensor.flow_model.C_in.Q; + T_w_eco_in_sensor.flow_model.P_in = T_w_eco_in_sensor.flow_model.C_in.P; + T_w_eco_in_sensor.flow_model.P_out = T_w_eco_in_sensor.flow_model.C_out.P; + T_w_eco_in_sensor.flow_model.Xi = inStream(T_w_eco_in_sensor.flow_model.C_in.Xi_outflow); + T_w_eco_in_sensor.flow_model.C_in.h_outflow = 1000000.0; + T_w_eco_in_sensor.flow_model.C_in.Xi_outflow = zeros(0); + T_w_eco_in_sensor.flow_model.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (T_w_eco_in_sensor.flow_model.P_in, T_w_eco_in_sensor.flow_model.h_in, + T_w_eco_in_sensor.flow_model.Xi, 0, 0); + T_w_eco_in_sensor.flow_model.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (T_w_eco_in_sensor.flow_model.P_out, T_w_eco_in_sensor.flow_model.h_out, + T_w_eco_in_sensor.flow_model.Xi, 0, 0); + T_w_eco_in_sensor.flow_model.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + T_w_eco_in_sensor.flow_model.state_in); + T_w_eco_in_sensor.flow_model.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + T_w_eco_in_sensor.flow_model.state_out); + T_w_eco_in_sensor.flow_model.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + T_w_eco_in_sensor.flow_model.state_in); + T_w_eco_in_sensor.flow_model.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + T_w_eco_in_sensor.flow_model.state_out); + T_w_eco_in_sensor.flow_model.rho = (T_w_eco_in_sensor.flow_model.rho_in+ + T_w_eco_in_sensor.flow_model.rho_out)/2; + T_w_eco_in_sensor.flow_model.Qv_in = T_w_eco_in_sensor.flow_model.Q/ + T_w_eco_in_sensor.flow_model.rho_in; + T_w_eco_in_sensor.flow_model.Qv_out = -T_w_eco_in_sensor.flow_model.Q/ + T_w_eco_in_sensor.flow_model.rho_out; + T_w_eco_in_sensor.flow_model.Qv = (T_w_eco_in_sensor.flow_model.Qv_in- + T_w_eco_in_sensor.flow_model.Qv_out)/2; + T_w_eco_in_sensor.flow_model.P_out-T_w_eco_in_sensor.flow_model.P_in = + T_w_eco_in_sensor.flow_model.DP; + T_w_eco_in_sensor.flow_model.Q*(T_w_eco_in_sensor.flow_model.h_out- + T_w_eco_in_sensor.flow_model.h_in) = T_w_eco_in_sensor.flow_model.W; + T_w_eco_in_sensor.flow_model.h_out-T_w_eco_in_sensor.flow_model.h_in = + T_w_eco_in_sensor.flow_model.DH; + T_w_eco_in_sensor.flow_model.T_out-T_w_eco_in_sensor.flow_model.T_in = + T_w_eco_in_sensor.flow_model.DT; + T_w_eco_in_sensor.flow_model.C_in.Q+T_w_eco_in_sensor.flow_model.C_out.Q + = 0; + T_w_eco_in_sensor.flow_model.C_out.Xi_outflow = inStream(T_w_eco_in_sensor.flow_model.C_in.Xi_outflow); + assert(T_w_eco_in_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + T_w_eco_in_sensor.flow_model.P = T_w_eco_in_sensor.flow_model.P_in; + T_w_eco_in_sensor.flow_model.h = T_w_eco_in_sensor.flow_model.h_in; + T_w_eco_in_sensor.flow_model.T = T_w_eco_in_sensor.flow_model.T_in; + T_w_eco_in_sensor.flow_model.DP = 0; + T_w_eco_in_sensor.flow_model.DH = 0; + // end of extends + + // Component T_w_eco_in_sensor + // class MetroscopeModelingLibrary.Sensors_Control.WaterSteam.TemperatureSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not T_w_eco_in_sensor.faulty_flow_rate) then + T_w_eco_in_sensor.mass_flow_rate_bias = 0; + end if; + T_w_eco_in_sensor.P = T_w_eco_in_sensor.C_in.P; + T_w_eco_in_sensor.Q = T_w_eco_in_sensor.C_in.Q+T_w_eco_in_sensor.mass_flow_rate_bias; + T_w_eco_in_sensor.Xi = inStream(T_w_eco_in_sensor.C_in.Xi_outflow); + T_w_eco_in_sensor.h = inStream(T_w_eco_in_sensor.C_in.h_outflow); + T_w_eco_in_sensor.state = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (T_w_eco_in_sensor.P, T_w_eco_in_sensor.h, T_w_eco_in_sensor.Xi, 0, 0); + assert(T_w_eco_in_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.TemperatureSensor + equation + T_w_eco_in_sensor.T = T_w_eco_in_sensor.flow_model.T; + T_w_eco_in_sensor.T_degC+273.15 = T_w_eco_in_sensor.T; + T_w_eco_in_sensor.T_degF = T_w_eco_in_sensor.T_degC*1.8+32; + if (T_w_eco_in_sensor.signal_unit == "degC") then + T_w_eco_in_sensor.T_sensor = T_w_eco_in_sensor.T_degC; + elseif (T_w_eco_in_sensor.signal_unit == "degF") then + T_w_eco_in_sensor.T_sensor = T_w_eco_in_sensor.T_degF; + elseif (T_w_eco_in_sensor.signal_unit == "K") then + T_w_eco_in_sensor.T_sensor = T_w_eco_in_sensor.T; + else + assert(false, "Unavailable unit selected for %name"); + end if; + // end of extends + equation + T_w_eco_in_sensor.flow_model.C_in.P = T_w_eco_in_sensor.C_in.P; + T_w_eco_in_sensor.C_in.Q-T_w_eco_in_sensor.flow_model.C_in.Q = 0.0; + T_w_eco_in_sensor.flow_model.C_out.P = T_w_eco_in_sensor.C_out.P; + T_w_eco_in_sensor.C_out.Q-T_w_eco_in_sensor.flow_model.C_out.Q = 0.0; + + // Component pumpRec_controlValve + // class MetroscopeModelingLibrary.WaterSteam.Pipes.ControlValve + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + pumpRec_controlValve.h_in = inStream(pumpRec_controlValve.C_in.h_outflow); + pumpRec_controlValve.h_out = pumpRec_controlValve.C_out.h_outflow; + pumpRec_controlValve.Q = pumpRec_controlValve.C_in.Q; + pumpRec_controlValve.P_in = pumpRec_controlValve.C_in.P; + pumpRec_controlValve.P_out = pumpRec_controlValve.C_out.P; + pumpRec_controlValve.Xi = inStream(pumpRec_controlValve.C_in.Xi_outflow); + pumpRec_controlValve.C_in.h_outflow = 1000000.0; + pumpRec_controlValve.C_in.Xi_outflow = zeros(0); + pumpRec_controlValve.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (pumpRec_controlValve.P_in, pumpRec_controlValve.h_in, pumpRec_controlValve.Xi, + 0, 0); + pumpRec_controlValve.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (pumpRec_controlValve.P_out, pumpRec_controlValve.h_out, + pumpRec_controlValve.Xi, 0, 0); + pumpRec_controlValve.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + pumpRec_controlValve.state_in); + pumpRec_controlValve.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + pumpRec_controlValve.state_out); + pumpRec_controlValve.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + pumpRec_controlValve.state_in); + pumpRec_controlValve.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + pumpRec_controlValve.state_out); + pumpRec_controlValve.rho = (pumpRec_controlValve.rho_in+pumpRec_controlValve.rho_out) + /2; + pumpRec_controlValve.Qv_in = pumpRec_controlValve.Q/pumpRec_controlValve.rho_in; + pumpRec_controlValve.Qv_out = -pumpRec_controlValve.Q/pumpRec_controlValve.rho_out; + pumpRec_controlValve.Qv = (pumpRec_controlValve.Qv_in-pumpRec_controlValve.Qv_out) + /2; + pumpRec_controlValve.P_out-pumpRec_controlValve.P_in = pumpRec_controlValve.DP; + pumpRec_controlValve.Q*(pumpRec_controlValve.h_out-pumpRec_controlValve.h_in) + = pumpRec_controlValve.W; + pumpRec_controlValve.h_out-pumpRec_controlValve.h_in = pumpRec_controlValve.DH; + pumpRec_controlValve.T_out-pumpRec_controlValve.T_in = pumpRec_controlValve.DT; + pumpRec_controlValve.C_in.Q+pumpRec_controlValve.C_out.Q = 0; + pumpRec_controlValve.C_out.Xi_outflow = inStream(pumpRec_controlValve.C_in.Xi_outflow); + assert(pumpRec_controlValve.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoHFlowModel + equation + pumpRec_controlValve.h = pumpRec_controlValve.h_in; + pumpRec_controlValve.DH = 0; + // extends MetroscopeModelingLibrary.Partial.Pipes.ControlValve + equation + pumpRec_controlValve.DP*pumpRec_controlValve.Cv*abs(pumpRec_controlValve.Cv) + = -1733000000000.0*abs(pumpRec_controlValve.Q)*pumpRec_controlValve.Q/ + pumpRec_controlValve.rho_in^2; + pumpRec_controlValve.Cv = pumpRec_controlValve.Opening*pumpRec_controlValve.Cv_max; + // end of extends + + // Component pumpRec_opening_sensor + // class MetroscopeModelingLibrary.Sensors_Control.Outline.OpeningSensor + equation + pumpRec_opening_sensor.Opening_pc = pumpRec_opening_sensor.Opening*100; + if (pumpRec_opening_sensor.output_signal_unit == "%") then + pumpRec_opening_sensor.opening_sensor = pumpRec_opening_sensor.Opening_pc; + else + pumpRec_opening_sensor.opening_sensor = pumpRec_opening_sensor.Opening; + end if; + + // Component P_flue_gas_sink_sensor.flow_model + // class MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + P_flue_gas_sink_sensor.flow_model.h_in = inStream(P_flue_gas_sink_sensor.flow_model.C_in.h_outflow); + P_flue_gas_sink_sensor.flow_model.h_out = P_flue_gas_sink_sensor.flow_model.C_out.h_outflow; + P_flue_gas_sink_sensor.flow_model.Q = P_flue_gas_sink_sensor.flow_model.C_in.Q; + P_flue_gas_sink_sensor.flow_model.P_in = P_flue_gas_sink_sensor.flow_model.C_in.P; + P_flue_gas_sink_sensor.flow_model.P_out = P_flue_gas_sink_sensor.flow_model.C_out.P; + P_flue_gas_sink_sensor.flow_model.Xi = inStream(P_flue_gas_sink_sensor.flow_model.C_in.Xi_outflow); + P_flue_gas_sink_sensor.flow_model.C_in.h_outflow = 1000000.0; + P_flue_gas_sink_sensor.flow_model.C_in.Xi_outflow = zeros(5); + P_flue_gas_sink_sensor.flow_model.state_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (P_flue_gas_sink_sensor.flow_model.P_in, P_flue_gas_sink_sensor.flow_model.h_in, + P_flue_gas_sink_sensor.flow_model.Xi); + P_flue_gas_sink_sensor.flow_model.state_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (P_flue_gas_sink_sensor.flow_model.P_out, P_flue_gas_sink_sensor.flow_model.h_out, + P_flue_gas_sink_sensor.flow_model.Xi); + P_flue_gas_sink_sensor.flow_model.T_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + P_flue_gas_sink_sensor.flow_model.state_in); + P_flue_gas_sink_sensor.flow_model.T_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + P_flue_gas_sink_sensor.flow_model.state_out); + P_flue_gas_sink_sensor.flow_model.rho_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + P_flue_gas_sink_sensor.flow_model.state_in); + P_flue_gas_sink_sensor.flow_model.rho_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + P_flue_gas_sink_sensor.flow_model.state_out); + P_flue_gas_sink_sensor.flow_model.rho = (P_flue_gas_sink_sensor.flow_model.rho_in + +P_flue_gas_sink_sensor.flow_model.rho_out)/2; + P_flue_gas_sink_sensor.flow_model.Qv_in = P_flue_gas_sink_sensor.flow_model.Q + /P_flue_gas_sink_sensor.flow_model.rho_in; + P_flue_gas_sink_sensor.flow_model.Qv_out = -P_flue_gas_sink_sensor.flow_model.Q + /P_flue_gas_sink_sensor.flow_model.rho_out; + P_flue_gas_sink_sensor.flow_model.Qv = (P_flue_gas_sink_sensor.flow_model.Qv_in + -P_flue_gas_sink_sensor.flow_model.Qv_out)/2; + P_flue_gas_sink_sensor.flow_model.P_out-P_flue_gas_sink_sensor.flow_model.P_in + = P_flue_gas_sink_sensor.flow_model.DP; + P_flue_gas_sink_sensor.flow_model.Q*(P_flue_gas_sink_sensor.flow_model.h_out + -P_flue_gas_sink_sensor.flow_model.h_in) = P_flue_gas_sink_sensor.flow_model.W; + P_flue_gas_sink_sensor.flow_model.h_out-P_flue_gas_sink_sensor.flow_model.h_in + = P_flue_gas_sink_sensor.flow_model.DH; + P_flue_gas_sink_sensor.flow_model.T_out-P_flue_gas_sink_sensor.flow_model.T_in + = P_flue_gas_sink_sensor.flow_model.DT; + P_flue_gas_sink_sensor.flow_model.C_in.Q+P_flue_gas_sink_sensor.flow_model.C_out.Q + = 0; + P_flue_gas_sink_sensor.flow_model.C_out.Xi_outflow = inStream( + P_flue_gas_sink_sensor.flow_model.C_in.Xi_outflow); + assert(P_flue_gas_sink_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + P_flue_gas_sink_sensor.flow_model.P = P_flue_gas_sink_sensor.flow_model.P_in; + P_flue_gas_sink_sensor.flow_model.h = P_flue_gas_sink_sensor.flow_model.h_in; + P_flue_gas_sink_sensor.flow_model.T = P_flue_gas_sink_sensor.flow_model.T_in; + P_flue_gas_sink_sensor.flow_model.DP = 0; + P_flue_gas_sink_sensor.flow_model.DH = 0; + // end of extends + + // Component P_flue_gas_sink_sensor + // class MetroscopeModelingLibrary.Sensors_Control.FlueGases.PressureSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not P_flue_gas_sink_sensor.faulty_flow_rate) then + P_flue_gas_sink_sensor.mass_flow_rate_bias = 0; + end if; + P_flue_gas_sink_sensor.P = P_flue_gas_sink_sensor.C_in.P; + P_flue_gas_sink_sensor.Q = P_flue_gas_sink_sensor.C_in.Q+P_flue_gas_sink_sensor.mass_flow_rate_bias; + P_flue_gas_sink_sensor.Xi = inStream(P_flue_gas_sink_sensor.C_in.Xi_outflow); + P_flue_gas_sink_sensor.h = inStream(P_flue_gas_sink_sensor.C_in.h_outflow); + P_flue_gas_sink_sensor.state = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (P_flue_gas_sink_sensor.P, P_flue_gas_sink_sensor.h, P_flue_gas_sink_sensor.Xi); + assert(P_flue_gas_sink_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.PressureSensor + equation + P_flue_gas_sink_sensor.P_barA = P_flue_gas_sink_sensor.P*1E-05; + P_flue_gas_sink_sensor.P_psiA = P_flue_gas_sink_sensor.P*0.000145038; + P_flue_gas_sink_sensor.P_MPaA = P_flue_gas_sink_sensor.P*1E-06; + P_flue_gas_sink_sensor.P_kPaA = P_flue_gas_sink_sensor.P*0.001; + P_flue_gas_sink_sensor.P_barG = P_flue_gas_sink_sensor.P_barA-1; + P_flue_gas_sink_sensor.P_psiG = P_flue_gas_sink_sensor.P_psiA-14.50377377; + P_flue_gas_sink_sensor.P_MPaG = P_flue_gas_sink_sensor.P_MPaA-0.1; + P_flue_gas_sink_sensor.P_kPaG = P_flue_gas_sink_sensor.P_kPaA-100; + P_flue_gas_sink_sensor.P_mbar = P_flue_gas_sink_sensor.P*0.01; + P_flue_gas_sink_sensor.P_inHg = P_flue_gas_sink_sensor.P*0.0002953006; + if (P_flue_gas_sink_sensor.signal_unit == "barA") then + P_flue_gas_sink_sensor.P_sensor = P_flue_gas_sink_sensor.P_barA; + elseif (P_flue_gas_sink_sensor.signal_unit == "barG") then + P_flue_gas_sink_sensor.P_sensor = P_flue_gas_sink_sensor.P_barG; + elseif (P_flue_gas_sink_sensor.signal_unit == "mbar") then + P_flue_gas_sink_sensor.P_sensor = P_flue_gas_sink_sensor.P_mbar; + elseif (P_flue_gas_sink_sensor.signal_unit == "MPaA") then + P_flue_gas_sink_sensor.P_sensor = P_flue_gas_sink_sensor.P_MPaA; + elseif (P_flue_gas_sink_sensor.signal_unit == "kPaA") then + P_flue_gas_sink_sensor.P_sensor = P_flue_gas_sink_sensor.P_kPaA; + else + P_flue_gas_sink_sensor.P_sensor = P_flue_gas_sink_sensor.P; + end if; + // end of extends + equation + P_flue_gas_sink_sensor.flow_model.C_in.P = P_flue_gas_sink_sensor.C_in.P; + P_flue_gas_sink_sensor.C_in.Q-P_flue_gas_sink_sensor.flow_model.C_in.Q = 0.0; + P_flue_gas_sink_sensor.flow_model.C_out.P = P_flue_gas_sink_sensor.C_out.P; + P_flue_gas_sink_sensor.C_out.Q-P_flue_gas_sink_sensor.flow_model.C_out.Q = + 0.0; + + // Component sink + // class MetroscopeModelingLibrary.Power.BoundaryConditions.Sink + equation + sink.W_in = sink.C_in.W; + + // Component P_fuel_source_sensor.flow_model + // class MetroscopeModelingLibrary.Fuel.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + P_fuel_source_sensor.flow_model.h_in = inStream(P_fuel_source_sensor.flow_model.C_in.h_outflow); + P_fuel_source_sensor.flow_model.h_out = P_fuel_source_sensor.flow_model.C_out.h_outflow; + P_fuel_source_sensor.flow_model.Q = P_fuel_source_sensor.flow_model.C_in.Q; + P_fuel_source_sensor.flow_model.P_in = P_fuel_source_sensor.flow_model.C_in.P; + P_fuel_source_sensor.flow_model.P_out = P_fuel_source_sensor.flow_model.C_out.P; + P_fuel_source_sensor.flow_model.Xi = inStream(P_fuel_source_sensor.flow_model.C_in.Xi_outflow); + P_fuel_source_sensor.flow_model.C_in.h_outflow = 1000000.0; + P_fuel_source_sensor.flow_model.C_in.Xi_outflow = zeros(6); + P_fuel_source_sensor.flow_model.state_in = MetroscopeModelingLibrary.Utilities.Media.FuelMedium.setState_phX_Unique43 + (P_fuel_source_sensor.flow_model.P_in, P_fuel_source_sensor.flow_model.h_in, + P_fuel_source_sensor.flow_model.Xi); + P_fuel_source_sensor.flow_model.state_out = MetroscopeModelingLibrary.Utilities.Media.FuelMedium.setState_phX_Unique43 + (P_fuel_source_sensor.flow_model.P_out, P_fuel_source_sensor.flow_model.h_out, + P_fuel_source_sensor.flow_model.Xi); + P_fuel_source_sensor.flow_model.T_in = MetroscopeModelingLibrary.Utilities.Media.FuelMedium.temperature_Unique48 + ( + P_fuel_source_sensor.flow_model.state_in); + P_fuel_source_sensor.flow_model.T_out = MetroscopeModelingLibrary.Utilities.Media.FuelMedium.temperature_Unique48 + ( + P_fuel_source_sensor.flow_model.state_out); + P_fuel_source_sensor.flow_model.rho_in = MetroscopeModelingLibrary.Utilities.Media.FuelMedium.density_Unique49 + ( + P_fuel_source_sensor.flow_model.state_in); + P_fuel_source_sensor.flow_model.rho_out = MetroscopeModelingLibrary.Utilities.Media.FuelMedium.density_Unique49 + ( + P_fuel_source_sensor.flow_model.state_out); + P_fuel_source_sensor.flow_model.rho = (P_fuel_source_sensor.flow_model.rho_in + +P_fuel_source_sensor.flow_model.rho_out)/2; + P_fuel_source_sensor.flow_model.Qv_in = P_fuel_source_sensor.flow_model.Q/ + P_fuel_source_sensor.flow_model.rho_in; + P_fuel_source_sensor.flow_model.Qv_out = -P_fuel_source_sensor.flow_model.Q + /P_fuel_source_sensor.flow_model.rho_out; + P_fuel_source_sensor.flow_model.Qv = (P_fuel_source_sensor.flow_model.Qv_in + -P_fuel_source_sensor.flow_model.Qv_out)/2; + P_fuel_source_sensor.flow_model.P_out-P_fuel_source_sensor.flow_model.P_in + = P_fuel_source_sensor.flow_model.DP; + P_fuel_source_sensor.flow_model.Q*(P_fuel_source_sensor.flow_model.h_out- + P_fuel_source_sensor.flow_model.h_in) = P_fuel_source_sensor.flow_model.W; + P_fuel_source_sensor.flow_model.h_out-P_fuel_source_sensor.flow_model.h_in + = P_fuel_source_sensor.flow_model.DH; + P_fuel_source_sensor.flow_model.T_out-P_fuel_source_sensor.flow_model.T_in + = P_fuel_source_sensor.flow_model.DT; + P_fuel_source_sensor.flow_model.C_in.Q+P_fuel_source_sensor.flow_model.C_out.Q + = 0; + P_fuel_source_sensor.flow_model.C_out.Xi_outflow = inStream( + P_fuel_source_sensor.flow_model.C_in.Xi_outflow); + assert(P_fuel_source_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + P_fuel_source_sensor.flow_model.P = P_fuel_source_sensor.flow_model.P_in; + P_fuel_source_sensor.flow_model.h = P_fuel_source_sensor.flow_model.h_in; + P_fuel_source_sensor.flow_model.T = P_fuel_source_sensor.flow_model.T_in; + P_fuel_source_sensor.flow_model.DP = 0; + P_fuel_source_sensor.flow_model.DH = 0; + // end of extends + + // Component P_fuel_source_sensor + // class MetroscopeModelingLibrary.Sensors_Control.Fuel.PressureSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not P_fuel_source_sensor.faulty_flow_rate) then + P_fuel_source_sensor.mass_flow_rate_bias = 0; + end if; + P_fuel_source_sensor.P = P_fuel_source_sensor.C_in.P; + P_fuel_source_sensor.Q = P_fuel_source_sensor.C_in.Q+P_fuel_source_sensor.mass_flow_rate_bias; + P_fuel_source_sensor.Xi = inStream(P_fuel_source_sensor.C_in.Xi_outflow); + P_fuel_source_sensor.h = inStream(P_fuel_source_sensor.C_in.h_outflow); + P_fuel_source_sensor.state = MetroscopeModelingLibrary.Utilities.Media.FuelMedium.setState_phX_Unique43 + (P_fuel_source_sensor.P, P_fuel_source_sensor.h, P_fuel_source_sensor.Xi); + assert(P_fuel_source_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.PressureSensor + equation + P_fuel_source_sensor.P_barA = P_fuel_source_sensor.P*1E-05; + P_fuel_source_sensor.P_psiA = P_fuel_source_sensor.P*0.000145038; + P_fuel_source_sensor.P_MPaA = P_fuel_source_sensor.P*1E-06; + P_fuel_source_sensor.P_kPaA = P_fuel_source_sensor.P*0.001; + P_fuel_source_sensor.P_barG = P_fuel_source_sensor.P_barA-1; + P_fuel_source_sensor.P_psiG = P_fuel_source_sensor.P_psiA-14.50377377; + P_fuel_source_sensor.P_MPaG = P_fuel_source_sensor.P_MPaA-0.1; + P_fuel_source_sensor.P_kPaG = P_fuel_source_sensor.P_kPaA-100; + P_fuel_source_sensor.P_mbar = P_fuel_source_sensor.P*0.01; + P_fuel_source_sensor.P_inHg = P_fuel_source_sensor.P*0.0002953006; + if (P_fuel_source_sensor.signal_unit == "barA") then + P_fuel_source_sensor.P_sensor = P_fuel_source_sensor.P_barA; + elseif (P_fuel_source_sensor.signal_unit == "barG") then + P_fuel_source_sensor.P_sensor = P_fuel_source_sensor.P_barG; + elseif (P_fuel_source_sensor.signal_unit == "mbar") then + P_fuel_source_sensor.P_sensor = P_fuel_source_sensor.P_mbar; + elseif (P_fuel_source_sensor.signal_unit == "MPaA") then + P_fuel_source_sensor.P_sensor = P_fuel_source_sensor.P_MPaA; + elseif (P_fuel_source_sensor.signal_unit == "kPaA") then + P_fuel_source_sensor.P_sensor = P_fuel_source_sensor.P_kPaA; + else + P_fuel_source_sensor.P_sensor = P_fuel_source_sensor.P; + end if; + // end of extends + equation + P_fuel_source_sensor.flow_model.C_in.P = P_fuel_source_sensor.C_in.P; + P_fuel_source_sensor.C_in.Q-P_fuel_source_sensor.flow_model.C_in.Q = 0.0; + P_fuel_source_sensor.flow_model.C_out.P = P_fuel_source_sensor.C_out.P; + P_fuel_source_sensor.C_out.Q-P_fuel_source_sensor.flow_model.C_out.Q = 0.0; + + // Component T_fuel_source_sensor.flow_model + // class MetroscopeModelingLibrary.Fuel.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + T_fuel_source_sensor.flow_model.h_in = inStream(T_fuel_source_sensor.flow_model.C_in.h_outflow); + T_fuel_source_sensor.flow_model.h_out = T_fuel_source_sensor.flow_model.C_out.h_outflow; + T_fuel_source_sensor.flow_model.Q = T_fuel_source_sensor.flow_model.C_in.Q; + T_fuel_source_sensor.flow_model.P_in = T_fuel_source_sensor.flow_model.C_in.P; + T_fuel_source_sensor.flow_model.P_out = T_fuel_source_sensor.flow_model.C_out.P; + T_fuel_source_sensor.flow_model.Xi = inStream(T_fuel_source_sensor.flow_model.C_in.Xi_outflow); + T_fuel_source_sensor.flow_model.C_in.h_outflow = 1000000.0; + T_fuel_source_sensor.flow_model.C_in.Xi_outflow = zeros(6); + T_fuel_source_sensor.flow_model.state_in = MetroscopeModelingLibrary.Utilities.Media.FuelMedium.setState_phX_Unique43 + (T_fuel_source_sensor.flow_model.P_in, T_fuel_source_sensor.flow_model.h_in, + T_fuel_source_sensor.flow_model.Xi); + T_fuel_source_sensor.flow_model.state_out = MetroscopeModelingLibrary.Utilities.Media.FuelMedium.setState_phX_Unique43 + (T_fuel_source_sensor.flow_model.P_out, T_fuel_source_sensor.flow_model.h_out, + T_fuel_source_sensor.flow_model.Xi); + T_fuel_source_sensor.flow_model.T_in = MetroscopeModelingLibrary.Utilities.Media.FuelMedium.temperature_Unique48 + ( + T_fuel_source_sensor.flow_model.state_in); + T_fuel_source_sensor.flow_model.T_out = MetroscopeModelingLibrary.Utilities.Media.FuelMedium.temperature_Unique48 + ( + T_fuel_source_sensor.flow_model.state_out); + T_fuel_source_sensor.flow_model.rho_in = MetroscopeModelingLibrary.Utilities.Media.FuelMedium.density_Unique49 + ( + T_fuel_source_sensor.flow_model.state_in); + T_fuel_source_sensor.flow_model.rho_out = MetroscopeModelingLibrary.Utilities.Media.FuelMedium.density_Unique49 + ( + T_fuel_source_sensor.flow_model.state_out); + T_fuel_source_sensor.flow_model.rho = (T_fuel_source_sensor.flow_model.rho_in + +T_fuel_source_sensor.flow_model.rho_out)/2; + T_fuel_source_sensor.flow_model.Qv_in = T_fuel_source_sensor.flow_model.Q/ + T_fuel_source_sensor.flow_model.rho_in; + T_fuel_source_sensor.flow_model.Qv_out = -T_fuel_source_sensor.flow_model.Q + /T_fuel_source_sensor.flow_model.rho_out; + T_fuel_source_sensor.flow_model.Qv = (T_fuel_source_sensor.flow_model.Qv_in + -T_fuel_source_sensor.flow_model.Qv_out)/2; + T_fuel_source_sensor.flow_model.P_out-T_fuel_source_sensor.flow_model.P_in + = T_fuel_source_sensor.flow_model.DP; + T_fuel_source_sensor.flow_model.Q*(T_fuel_source_sensor.flow_model.h_out- + T_fuel_source_sensor.flow_model.h_in) = T_fuel_source_sensor.flow_model.W; + T_fuel_source_sensor.flow_model.h_out-T_fuel_source_sensor.flow_model.h_in + = T_fuel_source_sensor.flow_model.DH; + T_fuel_source_sensor.flow_model.T_out-T_fuel_source_sensor.flow_model.T_in + = T_fuel_source_sensor.flow_model.DT; + T_fuel_source_sensor.flow_model.C_in.Q+T_fuel_source_sensor.flow_model.C_out.Q + = 0; + T_fuel_source_sensor.flow_model.C_out.Xi_outflow = inStream( + T_fuel_source_sensor.flow_model.C_in.Xi_outflow); + assert(T_fuel_source_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + T_fuel_source_sensor.flow_model.P = T_fuel_source_sensor.flow_model.P_in; + T_fuel_source_sensor.flow_model.h = T_fuel_source_sensor.flow_model.h_in; + T_fuel_source_sensor.flow_model.T = T_fuel_source_sensor.flow_model.T_in; + T_fuel_source_sensor.flow_model.DP = 0; + T_fuel_source_sensor.flow_model.DH = 0; + // end of extends + + // Component T_fuel_source_sensor + // class MetroscopeModelingLibrary.Sensors_Control.Fuel.TemperatureSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not T_fuel_source_sensor.faulty_flow_rate) then + T_fuel_source_sensor.mass_flow_rate_bias = 0; + end if; + T_fuel_source_sensor.P = T_fuel_source_sensor.C_in.P; + T_fuel_source_sensor.Q = T_fuel_source_sensor.C_in.Q+T_fuel_source_sensor.mass_flow_rate_bias; + T_fuel_source_sensor.Xi = inStream(T_fuel_source_sensor.C_in.Xi_outflow); + T_fuel_source_sensor.h = inStream(T_fuel_source_sensor.C_in.h_outflow); + T_fuel_source_sensor.state = MetroscopeModelingLibrary.Utilities.Media.FuelMedium.setState_phX_Unique43 + (T_fuel_source_sensor.P, T_fuel_source_sensor.h, T_fuel_source_sensor.Xi); + assert(T_fuel_source_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.TemperatureSensor + equation + T_fuel_source_sensor.T = T_fuel_source_sensor.flow_model.T; + T_fuel_source_sensor.T_degC+273.15 = T_fuel_source_sensor.T; + T_fuel_source_sensor.T_degF = T_fuel_source_sensor.T_degC*1.8+32; + if (T_fuel_source_sensor.signal_unit == "degC") then + T_fuel_source_sensor.T_sensor = T_fuel_source_sensor.T_degC; + elseif (T_fuel_source_sensor.signal_unit == "degF") then + T_fuel_source_sensor.T_sensor = T_fuel_source_sensor.T_degF; + elseif (T_fuel_source_sensor.signal_unit == "K") then + T_fuel_source_sensor.T_sensor = T_fuel_source_sensor.T; + else + assert(false, "Unavailable unit selected for %name"); + end if; + // end of extends + equation + T_fuel_source_sensor.flow_model.C_in.P = T_fuel_source_sensor.C_in.P; + T_fuel_source_sensor.C_in.Q-T_fuel_source_sensor.flow_model.C_in.Q = 0.0; + T_fuel_source_sensor.flow_model.C_out.P = T_fuel_source_sensor.C_out.P; + T_fuel_source_sensor.C_out.Q-T_fuel_source_sensor.flow_model.C_out.Q = 0.0; + + // Component Q_fuel_source_sensor.flow_model + // class MetroscopeModelingLibrary.Fuel.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + Q_fuel_source_sensor.flow_model.h_in = inStream(Q_fuel_source_sensor.flow_model.C_in.h_outflow); + Q_fuel_source_sensor.flow_model.h_out = Q_fuel_source_sensor.flow_model.C_out.h_outflow; + Q_fuel_source_sensor.flow_model.Q = Q_fuel_source_sensor.flow_model.C_in.Q; + Q_fuel_source_sensor.flow_model.P_in = Q_fuel_source_sensor.flow_model.C_in.P; + Q_fuel_source_sensor.flow_model.P_out = Q_fuel_source_sensor.flow_model.C_out.P; + Q_fuel_source_sensor.flow_model.Xi = inStream(Q_fuel_source_sensor.flow_model.C_in.Xi_outflow); + Q_fuel_source_sensor.flow_model.C_in.h_outflow = 1000000.0; + Q_fuel_source_sensor.flow_model.C_in.Xi_outflow = zeros(6); + Q_fuel_source_sensor.flow_model.state_in = MetroscopeModelingLibrary.Utilities.Media.FuelMedium.setState_phX_Unique43 + (Q_fuel_source_sensor.flow_model.P_in, Q_fuel_source_sensor.flow_model.h_in, + Q_fuel_source_sensor.flow_model.Xi); + Q_fuel_source_sensor.flow_model.state_out = MetroscopeModelingLibrary.Utilities.Media.FuelMedium.setState_phX_Unique43 + (Q_fuel_source_sensor.flow_model.P_out, Q_fuel_source_sensor.flow_model.h_out, + Q_fuel_source_sensor.flow_model.Xi); + Q_fuel_source_sensor.flow_model.T_in = MetroscopeModelingLibrary.Utilities.Media.FuelMedium.temperature_Unique48 + ( + Q_fuel_source_sensor.flow_model.state_in); + Q_fuel_source_sensor.flow_model.T_out = MetroscopeModelingLibrary.Utilities.Media.FuelMedium.temperature_Unique48 + ( + Q_fuel_source_sensor.flow_model.state_out); + Q_fuel_source_sensor.flow_model.rho_in = MetroscopeModelingLibrary.Utilities.Media.FuelMedium.density_Unique49 + ( + Q_fuel_source_sensor.flow_model.state_in); + Q_fuel_source_sensor.flow_model.rho_out = MetroscopeModelingLibrary.Utilities.Media.FuelMedium.density_Unique49 + ( + Q_fuel_source_sensor.flow_model.state_out); + Q_fuel_source_sensor.flow_model.rho = (Q_fuel_source_sensor.flow_model.rho_in + +Q_fuel_source_sensor.flow_model.rho_out)/2; + Q_fuel_source_sensor.flow_model.Qv_in = Q_fuel_source_sensor.flow_model.Q/ + Q_fuel_source_sensor.flow_model.rho_in; + Q_fuel_source_sensor.flow_model.Qv_out = -Q_fuel_source_sensor.flow_model.Q + /Q_fuel_source_sensor.flow_model.rho_out; + Q_fuel_source_sensor.flow_model.Qv = (Q_fuel_source_sensor.flow_model.Qv_in + -Q_fuel_source_sensor.flow_model.Qv_out)/2; + Q_fuel_source_sensor.flow_model.P_out-Q_fuel_source_sensor.flow_model.P_in + = Q_fuel_source_sensor.flow_model.DP; + Q_fuel_source_sensor.flow_model.Q*(Q_fuel_source_sensor.flow_model.h_out- + Q_fuel_source_sensor.flow_model.h_in) = Q_fuel_source_sensor.flow_model.W; + Q_fuel_source_sensor.flow_model.h_out-Q_fuel_source_sensor.flow_model.h_in + = Q_fuel_source_sensor.flow_model.DH; + Q_fuel_source_sensor.flow_model.T_out-Q_fuel_source_sensor.flow_model.T_in + = Q_fuel_source_sensor.flow_model.DT; + Q_fuel_source_sensor.flow_model.C_in.Q+Q_fuel_source_sensor.flow_model.C_out.Q + = 0; + Q_fuel_source_sensor.flow_model.C_out.Xi_outflow = inStream( + Q_fuel_source_sensor.flow_model.C_in.Xi_outflow); + assert(Q_fuel_source_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + Q_fuel_source_sensor.flow_model.P = Q_fuel_source_sensor.flow_model.P_in; + Q_fuel_source_sensor.flow_model.h = Q_fuel_source_sensor.flow_model.h_in; + Q_fuel_source_sensor.flow_model.T = Q_fuel_source_sensor.flow_model.T_in; + Q_fuel_source_sensor.flow_model.DP = 0; + Q_fuel_source_sensor.flow_model.DH = 0; + // end of extends + + // Component Q_fuel_source_sensor + // class MetroscopeModelingLibrary.Sensors_Control.Fuel.FlowSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not Q_fuel_source_sensor.faulty_flow_rate) then + Q_fuel_source_sensor.mass_flow_rate_bias = 0; + end if; + Q_fuel_source_sensor.P = Q_fuel_source_sensor.C_in.P; + Q_fuel_source_sensor.Q = Q_fuel_source_sensor.C_in.Q+Q_fuel_source_sensor.mass_flow_rate_bias; + Q_fuel_source_sensor.Xi = inStream(Q_fuel_source_sensor.C_in.Xi_outflow); + Q_fuel_source_sensor.h = inStream(Q_fuel_source_sensor.C_in.h_outflow); + Q_fuel_source_sensor.state = MetroscopeModelingLibrary.Utilities.Media.FuelMedium.setState_phX_Unique43 + (Q_fuel_source_sensor.P, Q_fuel_source_sensor.h, Q_fuel_source_sensor.Xi); + assert(Q_fuel_source_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.FlowSensor + equation + Q_fuel_source_sensor.Qv = Q_fuel_source_sensor.Q/MetroscopeModelingLibrary.Utilities.Media.FuelMedium.density_Unique49 + ( + Q_fuel_source_sensor.state); + Q_fuel_source_sensor.Q_lm = Q_fuel_source_sensor.Qv*60000; + Q_fuel_source_sensor.Q_th = Q_fuel_source_sensor.Q*3.6; + Q_fuel_source_sensor.Q_lbs = Q_fuel_source_sensor.Q*2.2046; + Q_fuel_source_sensor.Q_Mlbh = Q_fuel_source_sensor.Q*0.0079366414387; + if (Q_fuel_source_sensor.signal_unit == "l/m") then + Q_fuel_source_sensor.Q_sensor = Q_fuel_source_sensor.Q_lm; + elseif (Q_fuel_source_sensor.signal_unit == "t/h") then + Q_fuel_source_sensor.Q_sensor = Q_fuel_source_sensor.Q_th; + else + Q_fuel_source_sensor.Q_sensor = Q_fuel_source_sensor.Q; + end if; + // end of extends + equation + Q_fuel_source_sensor.flow_model.C_in.P = Q_fuel_source_sensor.C_in.P; + Q_fuel_source_sensor.C_in.Q-Q_fuel_source_sensor.flow_model.C_in.Q = 0.0; + Q_fuel_source_sensor.flow_model.C_out.P = Q_fuel_source_sensor.C_out.P; + Q_fuel_source_sensor.C_out.Q-Q_fuel_source_sensor.flow_model.C_out.Q = 0.0; + + // Component GT_generator + // class MetroscopeModelingLibrary.Power.Machines.Generator + equation + GT_generator.W_shaft = GT_generator.C_in.W; + GT_generator.W_elec+GT_generator.W_shaft*GT_generator.eta = 0; + GT_generator.C_out.W = GT_generator.W_elec; + + // Component ST_generator + // class MetroscopeModelingLibrary.Power.Machines.Generator + equation + ST_generator.W_shaft = ST_generator.C_in.W; + ST_generator.W_elec+ST_generator.W_shaft*ST_generator.eta = 0; + ST_generator.C_out.W = ST_generator.W_elec; + + // Component T_flue_gas_sink_sensor.flow_model + // class MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + T_flue_gas_sink_sensor.flow_model.h_in = inStream(T_flue_gas_sink_sensor.flow_model.C_in.h_outflow); + T_flue_gas_sink_sensor.flow_model.h_out = T_flue_gas_sink_sensor.flow_model.C_out.h_outflow; + T_flue_gas_sink_sensor.flow_model.Q = T_flue_gas_sink_sensor.flow_model.C_in.Q; + T_flue_gas_sink_sensor.flow_model.P_in = T_flue_gas_sink_sensor.flow_model.C_in.P; + T_flue_gas_sink_sensor.flow_model.P_out = T_flue_gas_sink_sensor.flow_model.C_out.P; + T_flue_gas_sink_sensor.flow_model.Xi = inStream(T_flue_gas_sink_sensor.flow_model.C_in.Xi_outflow); + T_flue_gas_sink_sensor.flow_model.C_in.h_outflow = 1000000.0; + T_flue_gas_sink_sensor.flow_model.C_in.Xi_outflow = zeros(5); + T_flue_gas_sink_sensor.flow_model.state_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (T_flue_gas_sink_sensor.flow_model.P_in, T_flue_gas_sink_sensor.flow_model.h_in, + T_flue_gas_sink_sensor.flow_model.Xi); + T_flue_gas_sink_sensor.flow_model.state_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (T_flue_gas_sink_sensor.flow_model.P_out, T_flue_gas_sink_sensor.flow_model.h_out, + T_flue_gas_sink_sensor.flow_model.Xi); + T_flue_gas_sink_sensor.flow_model.T_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + T_flue_gas_sink_sensor.flow_model.state_in); + T_flue_gas_sink_sensor.flow_model.T_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + T_flue_gas_sink_sensor.flow_model.state_out); + T_flue_gas_sink_sensor.flow_model.rho_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + T_flue_gas_sink_sensor.flow_model.state_in); + T_flue_gas_sink_sensor.flow_model.rho_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + T_flue_gas_sink_sensor.flow_model.state_out); + T_flue_gas_sink_sensor.flow_model.rho = (T_flue_gas_sink_sensor.flow_model.rho_in + +T_flue_gas_sink_sensor.flow_model.rho_out)/2; + T_flue_gas_sink_sensor.flow_model.Qv_in = T_flue_gas_sink_sensor.flow_model.Q + /T_flue_gas_sink_sensor.flow_model.rho_in; + T_flue_gas_sink_sensor.flow_model.Qv_out = -T_flue_gas_sink_sensor.flow_model.Q + /T_flue_gas_sink_sensor.flow_model.rho_out; + T_flue_gas_sink_sensor.flow_model.Qv = (T_flue_gas_sink_sensor.flow_model.Qv_in + -T_flue_gas_sink_sensor.flow_model.Qv_out)/2; + T_flue_gas_sink_sensor.flow_model.P_out-T_flue_gas_sink_sensor.flow_model.P_in + = T_flue_gas_sink_sensor.flow_model.DP; + T_flue_gas_sink_sensor.flow_model.Q*(T_flue_gas_sink_sensor.flow_model.h_out + -T_flue_gas_sink_sensor.flow_model.h_in) = T_flue_gas_sink_sensor.flow_model.W; + T_flue_gas_sink_sensor.flow_model.h_out-T_flue_gas_sink_sensor.flow_model.h_in + = T_flue_gas_sink_sensor.flow_model.DH; + T_flue_gas_sink_sensor.flow_model.T_out-T_flue_gas_sink_sensor.flow_model.T_in + = T_flue_gas_sink_sensor.flow_model.DT; + T_flue_gas_sink_sensor.flow_model.C_in.Q+T_flue_gas_sink_sensor.flow_model.C_out.Q + = 0; + T_flue_gas_sink_sensor.flow_model.C_out.Xi_outflow = inStream( + T_flue_gas_sink_sensor.flow_model.C_in.Xi_outflow); + assert(T_flue_gas_sink_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + T_flue_gas_sink_sensor.flow_model.P = T_flue_gas_sink_sensor.flow_model.P_in; + T_flue_gas_sink_sensor.flow_model.h = T_flue_gas_sink_sensor.flow_model.h_in; + T_flue_gas_sink_sensor.flow_model.T = T_flue_gas_sink_sensor.flow_model.T_in; + T_flue_gas_sink_sensor.flow_model.DP = 0; + T_flue_gas_sink_sensor.flow_model.DH = 0; + // end of extends + + // Component T_flue_gas_sink_sensor + // class MetroscopeModelingLibrary.Sensors_Control.FlueGases.TemperatureSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not T_flue_gas_sink_sensor.faulty_flow_rate) then + T_flue_gas_sink_sensor.mass_flow_rate_bias = 0; + end if; + T_flue_gas_sink_sensor.P = T_flue_gas_sink_sensor.C_in.P; + T_flue_gas_sink_sensor.Q = T_flue_gas_sink_sensor.C_in.Q+T_flue_gas_sink_sensor.mass_flow_rate_bias; + T_flue_gas_sink_sensor.Xi = inStream(T_flue_gas_sink_sensor.C_in.Xi_outflow); + T_flue_gas_sink_sensor.h = inStream(T_flue_gas_sink_sensor.C_in.h_outflow); + T_flue_gas_sink_sensor.state = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (T_flue_gas_sink_sensor.P, T_flue_gas_sink_sensor.h, T_flue_gas_sink_sensor.Xi); + assert(T_flue_gas_sink_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.TemperatureSensor + equation + T_flue_gas_sink_sensor.T = T_flue_gas_sink_sensor.flow_model.T; + T_flue_gas_sink_sensor.T_degC+273.15 = T_flue_gas_sink_sensor.T; + T_flue_gas_sink_sensor.T_degF = T_flue_gas_sink_sensor.T_degC*1.8+32; + if (T_flue_gas_sink_sensor.signal_unit == "degC") then + T_flue_gas_sink_sensor.T_sensor = T_flue_gas_sink_sensor.T_degC; + elseif (T_flue_gas_sink_sensor.signal_unit == "degF") then + T_flue_gas_sink_sensor.T_sensor = T_flue_gas_sink_sensor.T_degF; + elseif (T_flue_gas_sink_sensor.signal_unit == "K") then + T_flue_gas_sink_sensor.T_sensor = T_flue_gas_sink_sensor.T; + else + assert(false, "Unavailable unit selected for %name"); + end if; + // end of extends + equation + T_flue_gas_sink_sensor.flow_model.C_in.P = T_flue_gas_sink_sensor.C_in.P; + T_flue_gas_sink_sensor.C_in.Q-T_flue_gas_sink_sensor.flow_model.C_in.Q = 0.0; + T_flue_gas_sink_sensor.flow_model.C_out.P = T_flue_gas_sink_sensor.C_out.P; + T_flue_gas_sink_sensor.C_out.Q-T_flue_gas_sink_sensor.flow_model.C_out.Q = + 0.0; + + // Component AirFilter + // class MetroscopeModelingLibrary.FlueGases.Pipes.Filter + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + AirFilter.h_in = inStream(AirFilter.C_in.h_outflow); + AirFilter.h_out = AirFilter.C_out.h_outflow; + AirFilter.Q = AirFilter.C_in.Q; + AirFilter.P_in = AirFilter.C_in.P; + AirFilter.P_out = AirFilter.C_out.P; + AirFilter.Xi = inStream(AirFilter.C_in.Xi_outflow); + AirFilter.C_in.h_outflow = 1000000.0; + AirFilter.C_in.Xi_outflow = zeros(5); + AirFilter.state_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (AirFilter.P_in, AirFilter.h_in, AirFilter.Xi); + AirFilter.state_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (AirFilter.P_out, AirFilter.h_out, AirFilter.Xi); + AirFilter.T_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + AirFilter.state_in); + AirFilter.T_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + AirFilter.state_out); + AirFilter.rho_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + AirFilter.state_in); + AirFilter.rho_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + AirFilter.state_out); + AirFilter.rho = (AirFilter.rho_in+AirFilter.rho_out)/2; + AirFilter.Qv_in = AirFilter.Q/AirFilter.rho_in; + AirFilter.Qv_out = -AirFilter.Q/AirFilter.rho_out; + AirFilter.Qv = (AirFilter.Qv_in-AirFilter.Qv_out)/2; + AirFilter.P_out-AirFilter.P_in = AirFilter.DP; + AirFilter.Q*(AirFilter.h_out-AirFilter.h_in) = AirFilter.W; + AirFilter.h_out-AirFilter.h_in = AirFilter.DH; + AirFilter.T_out-AirFilter.T_in = AirFilter.DT; + AirFilter.C_in.Q+AirFilter.C_out.Q = 0; + AirFilter.C_out.Xi_outflow = inStream(AirFilter.C_in.Xi_outflow); + assert(AirFilter.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoHFlowModel + equation + AirFilter.h = AirFilter.h_in; + AirFilter.DH = 0; + // extends MetroscopeModelingLibrary.Partial.Pipes.FrictionPipe + equation + if ( not AirFilter.faulty) then + AirFilter.fouling = 0; + end if; + AirFilter.DP = -(1+AirFilter.fouling/100)*AirFilter.Kfr*AirFilter.Q*abs( + AirFilter.Q)/AirFilter.rho_in; + // end of extends + + // Component P_filter_out_sensor.flow_model + // class MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + P_filter_out_sensor.flow_model.h_in = inStream(P_filter_out_sensor.flow_model.C_in.h_outflow); + P_filter_out_sensor.flow_model.h_out = P_filter_out_sensor.flow_model.C_out.h_outflow; + P_filter_out_sensor.flow_model.Q = P_filter_out_sensor.flow_model.C_in.Q; + P_filter_out_sensor.flow_model.P_in = P_filter_out_sensor.flow_model.C_in.P; + P_filter_out_sensor.flow_model.P_out = P_filter_out_sensor.flow_model.C_out.P; + P_filter_out_sensor.flow_model.Xi = inStream(P_filter_out_sensor.flow_model.C_in.Xi_outflow); + P_filter_out_sensor.flow_model.C_in.h_outflow = 1000000.0; + P_filter_out_sensor.flow_model.C_in.Xi_outflow = zeros(5); + P_filter_out_sensor.flow_model.state_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (P_filter_out_sensor.flow_model.P_in, P_filter_out_sensor.flow_model.h_in, + P_filter_out_sensor.flow_model.Xi); + P_filter_out_sensor.flow_model.state_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (P_filter_out_sensor.flow_model.P_out, P_filter_out_sensor.flow_model.h_out, + P_filter_out_sensor.flow_model.Xi); + P_filter_out_sensor.flow_model.T_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + P_filter_out_sensor.flow_model.state_in); + P_filter_out_sensor.flow_model.T_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + P_filter_out_sensor.flow_model.state_out); + P_filter_out_sensor.flow_model.rho_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + P_filter_out_sensor.flow_model.state_in); + P_filter_out_sensor.flow_model.rho_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + P_filter_out_sensor.flow_model.state_out); + P_filter_out_sensor.flow_model.rho = (P_filter_out_sensor.flow_model.rho_in + +P_filter_out_sensor.flow_model.rho_out)/2; + P_filter_out_sensor.flow_model.Qv_in = P_filter_out_sensor.flow_model.Q/ + P_filter_out_sensor.flow_model.rho_in; + P_filter_out_sensor.flow_model.Qv_out = -P_filter_out_sensor.flow_model.Q + /P_filter_out_sensor.flow_model.rho_out; + P_filter_out_sensor.flow_model.Qv = (P_filter_out_sensor.flow_model.Qv_in- + P_filter_out_sensor.flow_model.Qv_out)/2; + P_filter_out_sensor.flow_model.P_out-P_filter_out_sensor.flow_model.P_in + = P_filter_out_sensor.flow_model.DP; + P_filter_out_sensor.flow_model.Q*(P_filter_out_sensor.flow_model.h_out- + P_filter_out_sensor.flow_model.h_in) = P_filter_out_sensor.flow_model.W; + P_filter_out_sensor.flow_model.h_out-P_filter_out_sensor.flow_model.h_in + = P_filter_out_sensor.flow_model.DH; + P_filter_out_sensor.flow_model.T_out-P_filter_out_sensor.flow_model.T_in + = P_filter_out_sensor.flow_model.DT; + P_filter_out_sensor.flow_model.C_in.Q+P_filter_out_sensor.flow_model.C_out.Q + = 0; + P_filter_out_sensor.flow_model.C_out.Xi_outflow = inStream( + P_filter_out_sensor.flow_model.C_in.Xi_outflow); + assert(P_filter_out_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + P_filter_out_sensor.flow_model.P = P_filter_out_sensor.flow_model.P_in; + P_filter_out_sensor.flow_model.h = P_filter_out_sensor.flow_model.h_in; + P_filter_out_sensor.flow_model.T = P_filter_out_sensor.flow_model.T_in; + P_filter_out_sensor.flow_model.DP = 0; + P_filter_out_sensor.flow_model.DH = 0; + // end of extends + + // Component P_filter_out_sensor + // class MetroscopeModelingLibrary.Sensors_Control.FlueGases.PressureSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not P_filter_out_sensor.faulty_flow_rate) then + P_filter_out_sensor.mass_flow_rate_bias = 0; + end if; + P_filter_out_sensor.P = P_filter_out_sensor.C_in.P; + P_filter_out_sensor.Q = P_filter_out_sensor.C_in.Q+P_filter_out_sensor.mass_flow_rate_bias; + P_filter_out_sensor.Xi = inStream(P_filter_out_sensor.C_in.Xi_outflow); + P_filter_out_sensor.h = inStream(P_filter_out_sensor.C_in.h_outflow); + P_filter_out_sensor.state = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (P_filter_out_sensor.P, P_filter_out_sensor.h, P_filter_out_sensor.Xi); + assert(P_filter_out_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.PressureSensor + equation + P_filter_out_sensor.P_barA = P_filter_out_sensor.P*1E-05; + P_filter_out_sensor.P_psiA = P_filter_out_sensor.P*0.000145038; + P_filter_out_sensor.P_MPaA = P_filter_out_sensor.P*1E-06; + P_filter_out_sensor.P_kPaA = P_filter_out_sensor.P*0.001; + P_filter_out_sensor.P_barG = P_filter_out_sensor.P_barA-1; + P_filter_out_sensor.P_psiG = P_filter_out_sensor.P_psiA-14.50377377; + P_filter_out_sensor.P_MPaG = P_filter_out_sensor.P_MPaA-0.1; + P_filter_out_sensor.P_kPaG = P_filter_out_sensor.P_kPaA-100; + P_filter_out_sensor.P_mbar = P_filter_out_sensor.P*0.01; + P_filter_out_sensor.P_inHg = P_filter_out_sensor.P*0.0002953006; + if (P_filter_out_sensor.signal_unit == "barA") then + P_filter_out_sensor.P_sensor = P_filter_out_sensor.P_barA; + elseif (P_filter_out_sensor.signal_unit == "barG") then + P_filter_out_sensor.P_sensor = P_filter_out_sensor.P_barG; + elseif (P_filter_out_sensor.signal_unit == "mbar") then + P_filter_out_sensor.P_sensor = P_filter_out_sensor.P_mbar; + elseif (P_filter_out_sensor.signal_unit == "MPaA") then + P_filter_out_sensor.P_sensor = P_filter_out_sensor.P_MPaA; + elseif (P_filter_out_sensor.signal_unit == "kPaA") then + P_filter_out_sensor.P_sensor = P_filter_out_sensor.P_kPaA; + else + P_filter_out_sensor.P_sensor = P_filter_out_sensor.P; + end if; + // end of extends + equation + P_filter_out_sensor.flow_model.C_in.P = P_filter_out_sensor.C_in.P; + P_filter_out_sensor.C_in.Q-P_filter_out_sensor.flow_model.C_in.Q = 0.0; + P_filter_out_sensor.flow_model.C_out.P = P_filter_out_sensor.C_out.P; + P_filter_out_sensor.C_out.Q-P_filter_out_sensor.flow_model.C_out.Q = 0.0; + + // Component HPsuperheater2.HX + // class MetroscopeModelingLibrary.Power.HeatExchange.NTUHeatExchange + equation + HPsuperheater2.HX.W_max = HPsuperheater2.HX.QCpMIN*(HPsuperheater2.HX.T_hot_in + -HPsuperheater2.HX.T_cold_in); + HPsuperheater2.HX.W = HPsuperheater2.HX.epsilon*HPsuperheater2.HX.W_max; + HPsuperheater2.HX.NTU = HPsuperheater2.HX.Kth*HPsuperheater2.HX.S/ + HPsuperheater2.HX.QCpMIN; + HPsuperheater2.HX.Cr = HPsuperheater2.HX.QCpMIN/HPsuperheater2.HX.QCpMAX; + if (HPsuperheater2.HX.config == "shell_and_tubes_two_passes") then + if (HPsuperheater2.HX.QCp_max_side == "hot") then + HPsuperheater2.HX.QCpMAX = HPsuperheater2.HX.Q_hot*HPsuperheater2.HX.Cp_hot; + HPsuperheater2.HX.QCpMIN = HPsuperheater2.HX.Q_cold*HPsuperheater2.HX.Cp_cold; + elseif (HPsuperheater2.HX.QCp_max_side == "cold") then + HPsuperheater2.HX.QCpMIN = HPsuperheater2.HX.Q_hot*HPsuperheater2.HX.Cp_hot; + HPsuperheater2.HX.QCpMAX = HPsuperheater2.HX.Q_cold*HPsuperheater2.HX.Cp_cold; + else + HPsuperheater2.HX.QCpMIN = min(HPsuperheater2.HX.Q_hot*HPsuperheater2.HX.Cp_hot, + HPsuperheater2.HX.Q_cold*HPsuperheater2.HX.Cp_cold); + HPsuperheater2.HX.QCpMAX = max(HPsuperheater2.HX.Q_hot*HPsuperheater2.HX.Cp_hot, + HPsuperheater2.HX.Q_cold*HPsuperheater2.HX.Cp_cold); + end if; + assert(HPsuperheater2.HX.QCpMIN < HPsuperheater2.HX.QCpMAX, + "QCPMIN is higher than QCpMAX"); + HPsuperheater2.HX.epsilon = 2/(1+HPsuperheater2.HX.Cr+sqrt(1+ + HPsuperheater2.HX.Cr^2)*(1+exp( -HPsuperheater2.HX.NTU*(1+ + HPsuperheater2.HX.Cr^2)^0.5))/(1-exp( -HPsuperheater2.HX.NTU*(1+ + HPsuperheater2.HX.Cr^2)^0.5))); + elseif (HPsuperheater2.HX.config == "monophasic_cross_current") then + if (HPsuperheater2.HX.mixed_fluid == "hot") then + if (HPsuperheater2.HX.QCp_max_side == "hot") then + HPsuperheater2.HX.QCpMAX = HPsuperheater2.HX.Q_hot*HPsuperheater2.HX.Cp_hot; + HPsuperheater2.HX.QCpMIN = HPsuperheater2.HX.Q_cold*HPsuperheater2.HX.Cp_cold; + assert(HPsuperheater2.HX.QCpMIN < HPsuperheater2.HX.QCpMAX, + "QCPMIN is higher than QCpMAX"); + HPsuperheater2.HX.epsilon = (1-exp( -HPsuperheater2.HX.Cr*(1-exp( - + HPsuperheater2.HX.NTU))))/HPsuperheater2.HX.Cr; + elseif (HPsuperheater2.HX.QCp_max_side == "cold") then + HPsuperheater2.HX.QCpMIN = HPsuperheater2.HX.Q_hot*HPsuperheater2.HX.Cp_hot; + HPsuperheater2.HX.QCpMAX = HPsuperheater2.HX.Q_cold*HPsuperheater2.HX.Cp_cold; + assert(HPsuperheater2.HX.QCpMIN < HPsuperheater2.HX.QCpMAX, + "QCPMIN is higher than QCpMAX"); + HPsuperheater2.HX.epsilon = 1-exp( -(1-exp( -HPsuperheater2.HX.Cr* + HPsuperheater2.HX.NTU))/HPsuperheater2.HX.Cr); + else + if (HPsuperheater2.HX.Q_hot*HPsuperheater2.HX.Cp_hot < + HPsuperheater2.HX.Q_cold*HPsuperheater2.HX.Cp_cold) then + HPsuperheater2.HX.QCpMIN = HPsuperheater2.HX.Q_hot*HPsuperheater2.HX.Cp_hot; + HPsuperheater2.HX.QCpMAX = HPsuperheater2.HX.Q_cold*HPsuperheater2.HX.Cp_cold; + HPsuperheater2.HX.epsilon = 1-exp( -(1-exp( -HPsuperheater2.HX.Cr* + HPsuperheater2.HX.NTU))/HPsuperheater2.HX.Cr); + else + HPsuperheater2.HX.QCpMAX = HPsuperheater2.HX.Q_hot*HPsuperheater2.HX.Cp_hot; + HPsuperheater2.HX.QCpMIN = HPsuperheater2.HX.Q_cold*HPsuperheater2.HX.Cp_cold; + HPsuperheater2.HX.epsilon = (1-exp( -HPsuperheater2.HX.Cr*(1-exp( - + HPsuperheater2.HX.NTU))))/HPsuperheater2.HX.Cr; + end if; + end if; + else + if (HPsuperheater2.HX.QCp_max_side == "hot") then + HPsuperheater2.HX.QCpMAX = HPsuperheater2.HX.Q_hot*HPsuperheater2.HX.Cp_hot; + HPsuperheater2.HX.QCpMIN = HPsuperheater2.HX.Q_cold*HPsuperheater2.HX.Cp_cold; + assert(HPsuperheater2.HX.QCpMIN < HPsuperheater2.HX.QCpMAX, + "QCPMIN is higher than QCpMAX"); + HPsuperheater2.HX.epsilon = 1-exp( -(1-exp( -HPsuperheater2.HX.Cr* + HPsuperheater2.HX.NTU))/HPsuperheater2.HX.Cr); + elseif (HPsuperheater2.HX.QCp_max_side == "cold") then + HPsuperheater2.HX.QCpMIN = HPsuperheater2.HX.Q_hot*HPsuperheater2.HX.Cp_hot; + HPsuperheater2.HX.QCpMAX = HPsuperheater2.HX.Q_cold*HPsuperheater2.HX.Cp_cold; + assert(HPsuperheater2.HX.QCpMIN < HPsuperheater2.HX.QCpMAX, + "QCPMIN is higher than QCpMAX"); + HPsuperheater2.HX.epsilon = (1-exp( -HPsuperheater2.HX.Cr*(1-exp( - + HPsuperheater2.HX.NTU))))/HPsuperheater2.HX.Cr; + else + if (HPsuperheater2.HX.Q_hot*HPsuperheater2.HX.Cp_hot < + HPsuperheater2.HX.Q_cold*HPsuperheater2.HX.Cp_cold) then + HPsuperheater2.HX.QCpMIN = HPsuperheater2.HX.Q_hot*HPsuperheater2.HX.Cp_hot; + HPsuperheater2.HX.QCpMAX = HPsuperheater2.HX.Q_cold*HPsuperheater2.HX.Cp_cold; + HPsuperheater2.HX.epsilon = (1-exp( -HPsuperheater2.HX.Cr*(1-exp( - + HPsuperheater2.HX.NTU))))/HPsuperheater2.HX.Cr; + else + HPsuperheater2.HX.QCpMAX = HPsuperheater2.HX.Q_hot*HPsuperheater2.HX.Cp_hot; + HPsuperheater2.HX.QCpMIN = HPsuperheater2.HX.Q_cold*HPsuperheater2.HX.Cp_cold; + HPsuperheater2.HX.epsilon = 1-exp( -(1-exp( -HPsuperheater2.HX.Cr* + HPsuperheater2.HX.NTU))/HPsuperheater2.HX.Cr); + end if; + end if; + end if; + elseif (HPsuperheater2.HX.config == "monophasic_counter_current") then + if (HPsuperheater2.HX.QCp_max_side == "hot") then + HPsuperheater2.HX.QCpMAX = HPsuperheater2.HX.Q_hot*HPsuperheater2.HX.Cp_hot; + HPsuperheater2.HX.QCpMIN = HPsuperheater2.HX.Q_cold*HPsuperheater2.HX.Cp_cold; + elseif (HPsuperheater2.HX.QCp_max_side == "cold") then + HPsuperheater2.HX.QCpMIN = HPsuperheater2.HX.Q_hot*HPsuperheater2.HX.Cp_hot; + HPsuperheater2.HX.QCpMAX = HPsuperheater2.HX.Q_cold*HPsuperheater2.HX.Cp_cold; + else + HPsuperheater2.HX.QCpMIN = min(HPsuperheater2.HX.Q_hot*HPsuperheater2.HX.Cp_hot, + HPsuperheater2.HX.Q_cold*HPsuperheater2.HX.Cp_cold); + HPsuperheater2.HX.QCpMAX = max(HPsuperheater2.HX.Q_hot*HPsuperheater2.HX.Cp_hot, + HPsuperheater2.HX.Q_cold*HPsuperheater2.HX.Cp_cold); + end if; + assert(HPsuperheater2.HX.QCpMIN < HPsuperheater2.HX.QCpMAX, + "QCPMIN is higher than QCpMAX"); + HPsuperheater2.HX.epsilon = (1-exp( -HPsuperheater2.HX.NTU*(1- + HPsuperheater2.HX.Cr)))/(1-HPsuperheater2.HX.Cr*exp( -HPsuperheater2.HX.NTU + *(1-HPsuperheater2.HX.Cr))); + elseif (HPsuperheater2.HX.config == "evaporator") then + HPsuperheater2.HX.QCpMAX = 10000000000.0; + HPsuperheater2.HX.QCpMIN = HPsuperheater2.HX.Q_hot*HPsuperheater2.HX.Cp_hot; + HPsuperheater2.HX.epsilon = 1-exp( -HPsuperheater2.HX.NTU); + elseif (HPsuperheater2.HX.config == "condenser") then + HPsuperheater2.HX.QCpMAX = 10000000000.0; + HPsuperheater2.HX.QCpMIN = HPsuperheater2.HX.Q_cold*HPsuperheater2.HX.Cp_cold; + HPsuperheater2.HX.epsilon = 1-exp( -HPsuperheater2.HX.NTU); + else + HPsuperheater2.HX.QCpMAX = 0; + HPsuperheater2.HX.QCpMIN = 0; + HPsuperheater2.HX.epsilon = 0; + end if; + assert(HPsuperheater2.HX.config == "evaporator" or HPsuperheater2.HX.config + == "condenser" or HPsuperheater2.HX.config == "shell_and_tubes_two_passes" + or HPsuperheater2.HX.config == "monophasic_cross_current" or + HPsuperheater2.HX.config == "monophasic_counter_current", "config parameter of NTUHeatExchange should be one of 'shell_and_tubes_two_passes', 'condenser', 'evaporator', 'monophasic_cross_current', or 'monophasic_counter_current'"); + assert(HPsuperheater2.HX.mixed_fluid == "hot" or HPsuperheater2.HX.mixed_fluid + == "cold", "mixed_fluid parameter of NTUHeatExchange should be 'hot' or 'cold'"); + assert(HPsuperheater2.HX.W > 0, "Heat exchange is done in the wrong direction", + AssertionLevel.warning); + + // Component HPsuperheater2.hot_side + // class MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + HPsuperheater2.hot_side.h_in = inStream(HPsuperheater2.hot_side.C_in.h_outflow); + HPsuperheater2.hot_side.h_out = HPsuperheater2.hot_side.C_out.h_outflow; + HPsuperheater2.hot_side.Q = HPsuperheater2.hot_side.C_in.Q; + HPsuperheater2.hot_side.P_in = HPsuperheater2.hot_side.C_in.P; + HPsuperheater2.hot_side.P_out = HPsuperheater2.hot_side.C_out.P; + HPsuperheater2.hot_side.Xi = inStream(HPsuperheater2.hot_side.C_in.Xi_outflow); + HPsuperheater2.hot_side.C_in.h_outflow = 1000000.0; + HPsuperheater2.hot_side.C_in.Xi_outflow = zeros(5); + HPsuperheater2.hot_side.state_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (HPsuperheater2.hot_side.P_in, HPsuperheater2.hot_side.h_in, + HPsuperheater2.hot_side.Xi); + HPsuperheater2.hot_side.state_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (HPsuperheater2.hot_side.P_out, HPsuperheater2.hot_side.h_out, + HPsuperheater2.hot_side.Xi); + HPsuperheater2.hot_side.T_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + HPsuperheater2.hot_side.state_in); + HPsuperheater2.hot_side.T_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + HPsuperheater2.hot_side.state_out); + HPsuperheater2.hot_side.rho_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + HPsuperheater2.hot_side.state_in); + HPsuperheater2.hot_side.rho_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + HPsuperheater2.hot_side.state_out); + HPsuperheater2.hot_side.rho = (HPsuperheater2.hot_side.rho_in+ + HPsuperheater2.hot_side.rho_out)/2; + HPsuperheater2.hot_side.Qv_in = HPsuperheater2.hot_side.Q/HPsuperheater2.hot_side.rho_in; + HPsuperheater2.hot_side.Qv_out = -HPsuperheater2.hot_side.Q/ + HPsuperheater2.hot_side.rho_out; + HPsuperheater2.hot_side.Qv = (HPsuperheater2.hot_side.Qv_in- + HPsuperheater2.hot_side.Qv_out)/2; + HPsuperheater2.hot_side.P_out-HPsuperheater2.hot_side.P_in = + HPsuperheater2.hot_side.DP; + HPsuperheater2.hot_side.Q*(HPsuperheater2.hot_side.h_out-HPsuperheater2.hot_side.h_in) + = HPsuperheater2.hot_side.W; + HPsuperheater2.hot_side.h_out-HPsuperheater2.hot_side.h_in = + HPsuperheater2.hot_side.DH; + HPsuperheater2.hot_side.T_out-HPsuperheater2.hot_side.T_in = + HPsuperheater2.hot_side.DT; + HPsuperheater2.hot_side.C_in.Q+HPsuperheater2.hot_side.C_out.Q = 0; + HPsuperheater2.hot_side.C_out.Xi_outflow = inStream(HPsuperheater2.hot_side.C_in.Xi_outflow); + assert(HPsuperheater2.hot_side.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPFlowModel + equation + HPsuperheater2.hot_side.P = HPsuperheater2.hot_side.P_in; + HPsuperheater2.hot_side.DP = 0; + // end of extends + equation + HPsuperheater2.hot_side.W = HPsuperheater2.hot_side.W_input; + + // Component HPsuperheater2.cold_side + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + HPsuperheater2.cold_side.h_in = inStream(HPsuperheater2.cold_side.C_in.h_outflow); + HPsuperheater2.cold_side.h_out = HPsuperheater2.cold_side.C_out.h_outflow; + HPsuperheater2.cold_side.Q = HPsuperheater2.cold_side.C_in.Q; + HPsuperheater2.cold_side.P_in = HPsuperheater2.cold_side.C_in.P; + HPsuperheater2.cold_side.P_out = HPsuperheater2.cold_side.C_out.P; + HPsuperheater2.cold_side.Xi = inStream(HPsuperheater2.cold_side.C_in.Xi_outflow); + HPsuperheater2.cold_side.C_in.h_outflow = 1000000.0; + HPsuperheater2.cold_side.C_in.Xi_outflow = zeros(0); + HPsuperheater2.cold_side.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (HPsuperheater2.cold_side.P_in, HPsuperheater2.cold_side.h_in, + HPsuperheater2.cold_side.Xi, 0, 0); + HPsuperheater2.cold_side.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (HPsuperheater2.cold_side.P_out, HPsuperheater2.cold_side.h_out, + HPsuperheater2.cold_side.Xi, 0, 0); + HPsuperheater2.cold_side.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + HPsuperheater2.cold_side.state_in); + HPsuperheater2.cold_side.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + HPsuperheater2.cold_side.state_out); + HPsuperheater2.cold_side.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + HPsuperheater2.cold_side.state_in); + HPsuperheater2.cold_side.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + HPsuperheater2.cold_side.state_out); + HPsuperheater2.cold_side.rho = (HPsuperheater2.cold_side.rho_in+ + HPsuperheater2.cold_side.rho_out)/2; + HPsuperheater2.cold_side.Qv_in = HPsuperheater2.cold_side.Q/ + HPsuperheater2.cold_side.rho_in; + HPsuperheater2.cold_side.Qv_out = -HPsuperheater2.cold_side.Q/ + HPsuperheater2.cold_side.rho_out; + HPsuperheater2.cold_side.Qv = (HPsuperheater2.cold_side.Qv_in- + HPsuperheater2.cold_side.Qv_out)/2; + HPsuperheater2.cold_side.P_out-HPsuperheater2.cold_side.P_in = + HPsuperheater2.cold_side.DP; + HPsuperheater2.cold_side.Q*(HPsuperheater2.cold_side.h_out- + HPsuperheater2.cold_side.h_in) = HPsuperheater2.cold_side.W; + HPsuperheater2.cold_side.h_out-HPsuperheater2.cold_side.h_in = + HPsuperheater2.cold_side.DH; + HPsuperheater2.cold_side.T_out-HPsuperheater2.cold_side.T_in = + HPsuperheater2.cold_side.DT; + HPsuperheater2.cold_side.C_in.Q+HPsuperheater2.cold_side.C_out.Q = 0; + HPsuperheater2.cold_side.C_out.Xi_outflow = inStream(HPsuperheater2.cold_side.C_in.Xi_outflow); + assert(HPsuperheater2.cold_side.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPFlowModel + equation + HPsuperheater2.cold_side.P = HPsuperheater2.cold_side.P_in; + HPsuperheater2.cold_side.DP = 0; + // end of extends + equation + HPsuperheater2.cold_side.W = HPsuperheater2.cold_side.W_input; + + // Component HPsuperheater2.cold_side_pipe + // class MetroscopeModelingLibrary.WaterSteam.Pipes.FrictionPipe + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + HPsuperheater2.cold_side_pipe.h_in = inStream(HPsuperheater2.cold_side_pipe.C_in.h_outflow); + HPsuperheater2.cold_side_pipe.h_out = HPsuperheater2.cold_side_pipe.C_out.h_outflow; + HPsuperheater2.cold_side_pipe.Q = HPsuperheater2.cold_side_pipe.C_in.Q; + HPsuperheater2.cold_side_pipe.P_in = HPsuperheater2.cold_side_pipe.C_in.P; + HPsuperheater2.cold_side_pipe.P_out = HPsuperheater2.cold_side_pipe.C_out.P; + HPsuperheater2.cold_side_pipe.Xi = inStream(HPsuperheater2.cold_side_pipe.C_in.Xi_outflow); + HPsuperheater2.cold_side_pipe.C_in.h_outflow = 1000000.0; + HPsuperheater2.cold_side_pipe.C_in.Xi_outflow = zeros(0); + HPsuperheater2.cold_side_pipe.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (HPsuperheater2.cold_side_pipe.P_in, HPsuperheater2.cold_side_pipe.h_in, + HPsuperheater2.cold_side_pipe.Xi, 0, 0); + HPsuperheater2.cold_side_pipe.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (HPsuperheater2.cold_side_pipe.P_out, HPsuperheater2.cold_side_pipe.h_out, + HPsuperheater2.cold_side_pipe.Xi, 0, 0); + HPsuperheater2.cold_side_pipe.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + HPsuperheater2.cold_side_pipe.state_in); + HPsuperheater2.cold_side_pipe.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + HPsuperheater2.cold_side_pipe.state_out); + HPsuperheater2.cold_side_pipe.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + HPsuperheater2.cold_side_pipe.state_in); + HPsuperheater2.cold_side_pipe.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + HPsuperheater2.cold_side_pipe.state_out); + HPsuperheater2.cold_side_pipe.rho = (HPsuperheater2.cold_side_pipe.rho_in+ + HPsuperheater2.cold_side_pipe.rho_out)/2; + HPsuperheater2.cold_side_pipe.Qv_in = HPsuperheater2.cold_side_pipe.Q/ + HPsuperheater2.cold_side_pipe.rho_in; + HPsuperheater2.cold_side_pipe.Qv_out = -HPsuperheater2.cold_side_pipe.Q/ + HPsuperheater2.cold_side_pipe.rho_out; + HPsuperheater2.cold_side_pipe.Qv = (HPsuperheater2.cold_side_pipe.Qv_in- + HPsuperheater2.cold_side_pipe.Qv_out)/2; + HPsuperheater2.cold_side_pipe.P_out-HPsuperheater2.cold_side_pipe.P_in = + HPsuperheater2.cold_side_pipe.DP; + HPsuperheater2.cold_side_pipe.Q*(HPsuperheater2.cold_side_pipe.h_out- + HPsuperheater2.cold_side_pipe.h_in) = HPsuperheater2.cold_side_pipe.W; + HPsuperheater2.cold_side_pipe.h_out-HPsuperheater2.cold_side_pipe.h_in = + HPsuperheater2.cold_side_pipe.DH; + HPsuperheater2.cold_side_pipe.T_out-HPsuperheater2.cold_side_pipe.T_in = + HPsuperheater2.cold_side_pipe.DT; + HPsuperheater2.cold_side_pipe.C_in.Q+HPsuperheater2.cold_side_pipe.C_out.Q + = 0; + HPsuperheater2.cold_side_pipe.C_out.Xi_outflow = inStream(HPsuperheater2.cold_side_pipe.C_in.Xi_outflow); + assert(HPsuperheater2.cold_side_pipe.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoHFlowModel + equation + HPsuperheater2.cold_side_pipe.h = HPsuperheater2.cold_side_pipe.h_in; + HPsuperheater2.cold_side_pipe.DH = 0; + // extends MetroscopeModelingLibrary.Partial.Pipes.FrictionPipe + equation + if ( not HPsuperheater2.cold_side_pipe.faulty) then + HPsuperheater2.cold_side_pipe.fouling = 0; + end if; + HPsuperheater2.cold_side_pipe.DP = -(1+HPsuperheater2.cold_side_pipe.fouling + /100)*HPsuperheater2.cold_side_pipe.Kfr*HPsuperheater2.cold_side_pipe.Q* + abs(HPsuperheater2.cold_side_pipe.Q)/HPsuperheater2.cold_side_pipe.rho_in; + // end of extends + + // Component HPsuperheater2 + // class MetroscopeModelingLibrary.MultiFluid.HeatExchangers.Superheater + // extends MetroscopeModelingLibrary.Partial.HeatExchangers.WaterFlueGasesMonophasicHX + equation + if ( not HPsuperheater2.faulty) then + HPsuperheater2.fouling = 0; + end if; + HPsuperheater2.Q_cold = HPsuperheater2.cold_side.Q; + HPsuperheater2.Q_hot = HPsuperheater2.hot_side.Q; + HPsuperheater2.T_cold_in = HPsuperheater2.cold_side_pipe.T_in; + HPsuperheater2.T_cold_out = HPsuperheater2.cold_side.T_out; + HPsuperheater2.T_hot_in = HPsuperheater2.hot_side.T_in; + HPsuperheater2.T_hot_out = HPsuperheater2.hot_side.T_out; + HPsuperheater2.cold_side.W = HPsuperheater2.W; + HPsuperheater2.hot_side.W+HPsuperheater2.cold_side.W = 0; + HPsuperheater2.HX.W = HPsuperheater2.W; + HPsuperheater2.HX.Kth = HPsuperheater2.Kth*(1-HPsuperheater2.fouling/100); + HPsuperheater2.HX.S = HPsuperheater2.S; + HPsuperheater2.HX.Q_cold = HPsuperheater2.Q_cold; + HPsuperheater2.HX.Q_hot = HPsuperheater2.Q_hot; + HPsuperheater2.HX.T_cold_in = HPsuperheater2.T_cold_in; + HPsuperheater2.HX.T_hot_in = HPsuperheater2.T_hot_in; + HPsuperheater2.HX.Cp_cold = (HPsuperheater2.Cp_cold_min+HPsuperheater2.Cp_cold_max) + /2; + HPsuperheater2.HX.Cp_hot = (HPsuperheater2.Cp_hot_min+HPsuperheater2.Cp_hot_max) + /2; + HPsuperheater2.DT_hot_in_side = HPsuperheater2.T_hot_in-HPsuperheater2.T_cold_out; + HPsuperheater2.DT_hot_out_side = HPsuperheater2.T_hot_out-HPsuperheater2.T_cold_in; + HPsuperheater2.pinch = min(HPsuperheater2.DT_hot_in_side, HPsuperheater2.DT_hot_out_side); + assert(HPsuperheater2.pinch > 0, "A negative pinch is reached", + AssertionLevel.warning); + assert(HPsuperheater2.pinch > 1 or HPsuperheater2.pinch < 0, + "A very low pinch (<1) is reached", AssertionLevel.warning); + HPsuperheater2.maximum_achiveable_temperature_difference = + HPsuperheater2.hot_side.T_in-HPsuperheater2.cold_side.T_in; + if (HPsuperheater2.nominal_DT_default) then + HPsuperheater2.nominal_cold_side_temperature_rise = HPsuperheater2.hot_side.T_in + -HPsuperheater2.cold_side.T_in; + HPsuperheater2.nominal_hot_side_temperature_drop = HPsuperheater2.hot_side.T_in + -HPsuperheater2.cold_side.T_in; + end if; + HPsuperheater2.Cp_cold_min = Modelica.Media.Water.WaterIF97_ph.specificHeatCapacityCp_Unique14 + ( + HPsuperheater2.cold_side.state_in); + HPsuperheater2.state_cold_out = Modelica.Media.Water.WaterIF97_ph.setState_pTX_Unique15 + (HPsuperheater2.cold_side.P_in, HPsuperheater2.cold_side.T_in+ + HPsuperheater2.nominal_cold_side_temperature_rise, HPsuperheater2.cold_side.Xi, + 0, 0); + HPsuperheater2.Cp_cold_max = Modelica.Media.Water.WaterIF97_ph.specificHeatCapacityCp_Unique14 + ( + HPsuperheater2.state_cold_out); + HPsuperheater2.Cp_hot_max = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.specificHeatCapacityCp_Unique18 + ( + HPsuperheater2.hot_side.state_in); + HPsuperheater2.state_hot_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_pTX_Unique19 + (HPsuperheater2.hot_side.P_in, HPsuperheater2.hot_side.T_in- + HPsuperheater2.nominal_hot_side_temperature_drop, HPsuperheater2.hot_side.Xi); + HPsuperheater2.Cp_hot_min = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.specificHeatCapacityCp_Unique18 + ( + HPsuperheater2.state_hot_out); + // end of extends + equation + HPsuperheater2.STR = HPsuperheater2.T_cold_out-HPsuperheater2.T_cold_in; + HPsuperheater2.DT_superheat = HPsuperheater2.T_cold_out-Modelica.Media.Water.WaterIF97_ph.saturationTemperature_Unique21 + (HPsuperheater2.cold_side_pipe.P_in); + HPsuperheater2.cold_side_pipe.C_in.P = HPsuperheater2.C_cold_in.P; + HPsuperheater2.C_cold_in.Q-HPsuperheater2.cold_side_pipe.C_in.Q = 0.0; + HPsuperheater2.cold_side.C_out.P = HPsuperheater2.C_cold_out.P; + HPsuperheater2.C_cold_out.Q-HPsuperheater2.cold_side.C_out.Q = 0.0; + HPsuperheater2.hot_side.C_in.P = HPsuperheater2.C_hot_in.P; + HPsuperheater2.C_hot_in.Q-HPsuperheater2.hot_side.C_in.Q = 0.0; + HPsuperheater2.hot_side.C_out.P = HPsuperheater2.C_hot_out.P; + HPsuperheater2.C_hot_out.Q-HPsuperheater2.hot_side.C_out.Q = 0.0; + HPsuperheater2.cold_side_pipe.Kfr = HPsuperheater2.Kfr_cold; + HPsuperheater2.cold_side_pipe.C_out.P = HPsuperheater2.cold_side.C_in.P; + HPsuperheater2.cold_side.C_in.Q+HPsuperheater2.cold_side_pipe.C_out.Q = 0.0; + + // Component T_w_HPSH2_out_sensor.flow_model + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + T_w_HPSH2_out_sensor.flow_model.h_in = inStream(T_w_HPSH2_out_sensor.flow_model.C_in.h_outflow); + T_w_HPSH2_out_sensor.flow_model.h_out = T_w_HPSH2_out_sensor.flow_model.C_out.h_outflow; + T_w_HPSH2_out_sensor.flow_model.Q = T_w_HPSH2_out_sensor.flow_model.C_in.Q; + T_w_HPSH2_out_sensor.flow_model.P_in = T_w_HPSH2_out_sensor.flow_model.C_in.P; + T_w_HPSH2_out_sensor.flow_model.P_out = T_w_HPSH2_out_sensor.flow_model.C_out.P; + T_w_HPSH2_out_sensor.flow_model.Xi = inStream(T_w_HPSH2_out_sensor.flow_model.C_in.Xi_outflow); + T_w_HPSH2_out_sensor.flow_model.C_in.h_outflow = 1000000.0; + T_w_HPSH2_out_sensor.flow_model.C_in.Xi_outflow = zeros(0); + T_w_HPSH2_out_sensor.flow_model.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (T_w_HPSH2_out_sensor.flow_model.P_in, T_w_HPSH2_out_sensor.flow_model.h_in, + T_w_HPSH2_out_sensor.flow_model.Xi, 0, 0); + T_w_HPSH2_out_sensor.flow_model.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (T_w_HPSH2_out_sensor.flow_model.P_out, T_w_HPSH2_out_sensor.flow_model.h_out, + T_w_HPSH2_out_sensor.flow_model.Xi, 0, 0); + T_w_HPSH2_out_sensor.flow_model.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + T_w_HPSH2_out_sensor.flow_model.state_in); + T_w_HPSH2_out_sensor.flow_model.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + T_w_HPSH2_out_sensor.flow_model.state_out); + T_w_HPSH2_out_sensor.flow_model.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + T_w_HPSH2_out_sensor.flow_model.state_in); + T_w_HPSH2_out_sensor.flow_model.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + T_w_HPSH2_out_sensor.flow_model.state_out); + T_w_HPSH2_out_sensor.flow_model.rho = (T_w_HPSH2_out_sensor.flow_model.rho_in + +T_w_HPSH2_out_sensor.flow_model.rho_out)/2; + T_w_HPSH2_out_sensor.flow_model.Qv_in = T_w_HPSH2_out_sensor.flow_model.Q/ + T_w_HPSH2_out_sensor.flow_model.rho_in; + T_w_HPSH2_out_sensor.flow_model.Qv_out = -T_w_HPSH2_out_sensor.flow_model.Q + /T_w_HPSH2_out_sensor.flow_model.rho_out; + T_w_HPSH2_out_sensor.flow_model.Qv = (T_w_HPSH2_out_sensor.flow_model.Qv_in + -T_w_HPSH2_out_sensor.flow_model.Qv_out)/2; + T_w_HPSH2_out_sensor.flow_model.P_out-T_w_HPSH2_out_sensor.flow_model.P_in + = T_w_HPSH2_out_sensor.flow_model.DP; + T_w_HPSH2_out_sensor.flow_model.Q*(T_w_HPSH2_out_sensor.flow_model.h_out- + T_w_HPSH2_out_sensor.flow_model.h_in) = T_w_HPSH2_out_sensor.flow_model.W; + T_w_HPSH2_out_sensor.flow_model.h_out-T_w_HPSH2_out_sensor.flow_model.h_in + = T_w_HPSH2_out_sensor.flow_model.DH; + T_w_HPSH2_out_sensor.flow_model.T_out-T_w_HPSH2_out_sensor.flow_model.T_in + = T_w_HPSH2_out_sensor.flow_model.DT; + T_w_HPSH2_out_sensor.flow_model.C_in.Q+T_w_HPSH2_out_sensor.flow_model.C_out.Q + = 0; + T_w_HPSH2_out_sensor.flow_model.C_out.Xi_outflow = inStream( + T_w_HPSH2_out_sensor.flow_model.C_in.Xi_outflow); + assert(T_w_HPSH2_out_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + T_w_HPSH2_out_sensor.flow_model.P = T_w_HPSH2_out_sensor.flow_model.P_in; + T_w_HPSH2_out_sensor.flow_model.h = T_w_HPSH2_out_sensor.flow_model.h_in; + T_w_HPSH2_out_sensor.flow_model.T = T_w_HPSH2_out_sensor.flow_model.T_in; + T_w_HPSH2_out_sensor.flow_model.DP = 0; + T_w_HPSH2_out_sensor.flow_model.DH = 0; + // end of extends + + // Component T_w_HPSH2_out_sensor + // class MetroscopeModelingLibrary.Sensors_Control.WaterSteam.TemperatureSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not T_w_HPSH2_out_sensor.faulty_flow_rate) then + T_w_HPSH2_out_sensor.mass_flow_rate_bias = 0; + end if; + T_w_HPSH2_out_sensor.P = T_w_HPSH2_out_sensor.C_in.P; + T_w_HPSH2_out_sensor.Q = T_w_HPSH2_out_sensor.C_in.Q+T_w_HPSH2_out_sensor.mass_flow_rate_bias; + T_w_HPSH2_out_sensor.Xi = inStream(T_w_HPSH2_out_sensor.C_in.Xi_outflow); + T_w_HPSH2_out_sensor.h = inStream(T_w_HPSH2_out_sensor.C_in.h_outflow); + T_w_HPSH2_out_sensor.state = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (T_w_HPSH2_out_sensor.P, T_w_HPSH2_out_sensor.h, T_w_HPSH2_out_sensor.Xi, + 0, 0); + assert(T_w_HPSH2_out_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.TemperatureSensor + equation + T_w_HPSH2_out_sensor.T = T_w_HPSH2_out_sensor.flow_model.T; + T_w_HPSH2_out_sensor.T_degC+273.15 = T_w_HPSH2_out_sensor.T; + T_w_HPSH2_out_sensor.T_degF = T_w_HPSH2_out_sensor.T_degC*1.8+32; + if (T_w_HPSH2_out_sensor.signal_unit == "degC") then + T_w_HPSH2_out_sensor.T_sensor = T_w_HPSH2_out_sensor.T_degC; + elseif (T_w_HPSH2_out_sensor.signal_unit == "degF") then + T_w_HPSH2_out_sensor.T_sensor = T_w_HPSH2_out_sensor.T_degF; + elseif (T_w_HPSH2_out_sensor.signal_unit == "K") then + T_w_HPSH2_out_sensor.T_sensor = T_w_HPSH2_out_sensor.T; + else + assert(false, "Unavailable unit selected for %name"); + end if; + // end of extends + equation + T_w_HPSH2_out_sensor.flow_model.C_in.P = T_w_HPSH2_out_sensor.C_in.P; + T_w_HPSH2_out_sensor.C_in.Q-T_w_HPSH2_out_sensor.flow_model.C_in.Q = 0.0; + T_w_HPSH2_out_sensor.flow_model.C_out.P = T_w_HPSH2_out_sensor.C_out.P; + T_w_HPSH2_out_sensor.C_out.Q-T_w_HPSH2_out_sensor.flow_model.C_out.Q = 0.0; + + // Component P_w_HPSH2_out_sensor.flow_model + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + P_w_HPSH2_out_sensor.flow_model.h_in = inStream(P_w_HPSH2_out_sensor.flow_model.C_in.h_outflow); + P_w_HPSH2_out_sensor.flow_model.h_out = P_w_HPSH2_out_sensor.flow_model.C_out.h_outflow; + P_w_HPSH2_out_sensor.flow_model.Q = P_w_HPSH2_out_sensor.flow_model.C_in.Q; + P_w_HPSH2_out_sensor.flow_model.P_in = P_w_HPSH2_out_sensor.flow_model.C_in.P; + P_w_HPSH2_out_sensor.flow_model.P_out = P_w_HPSH2_out_sensor.flow_model.C_out.P; + P_w_HPSH2_out_sensor.flow_model.Xi = inStream(P_w_HPSH2_out_sensor.flow_model.C_in.Xi_outflow); + P_w_HPSH2_out_sensor.flow_model.C_in.h_outflow = 1000000.0; + P_w_HPSH2_out_sensor.flow_model.C_in.Xi_outflow = zeros(0); + P_w_HPSH2_out_sensor.flow_model.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_w_HPSH2_out_sensor.flow_model.P_in, P_w_HPSH2_out_sensor.flow_model.h_in, + P_w_HPSH2_out_sensor.flow_model.Xi, 0, 0); + P_w_HPSH2_out_sensor.flow_model.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_w_HPSH2_out_sensor.flow_model.P_out, P_w_HPSH2_out_sensor.flow_model.h_out, + P_w_HPSH2_out_sensor.flow_model.Xi, 0, 0); + P_w_HPSH2_out_sensor.flow_model.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + P_w_HPSH2_out_sensor.flow_model.state_in); + P_w_HPSH2_out_sensor.flow_model.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + P_w_HPSH2_out_sensor.flow_model.state_out); + P_w_HPSH2_out_sensor.flow_model.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + P_w_HPSH2_out_sensor.flow_model.state_in); + P_w_HPSH2_out_sensor.flow_model.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + P_w_HPSH2_out_sensor.flow_model.state_out); + P_w_HPSH2_out_sensor.flow_model.rho = (P_w_HPSH2_out_sensor.flow_model.rho_in + +P_w_HPSH2_out_sensor.flow_model.rho_out)/2; + P_w_HPSH2_out_sensor.flow_model.Qv_in = P_w_HPSH2_out_sensor.flow_model.Q/ + P_w_HPSH2_out_sensor.flow_model.rho_in; + P_w_HPSH2_out_sensor.flow_model.Qv_out = -P_w_HPSH2_out_sensor.flow_model.Q + /P_w_HPSH2_out_sensor.flow_model.rho_out; + P_w_HPSH2_out_sensor.flow_model.Qv = (P_w_HPSH2_out_sensor.flow_model.Qv_in + -P_w_HPSH2_out_sensor.flow_model.Qv_out)/2; + P_w_HPSH2_out_sensor.flow_model.P_out-P_w_HPSH2_out_sensor.flow_model.P_in + = P_w_HPSH2_out_sensor.flow_model.DP; + P_w_HPSH2_out_sensor.flow_model.Q*(P_w_HPSH2_out_sensor.flow_model.h_out- + P_w_HPSH2_out_sensor.flow_model.h_in) = P_w_HPSH2_out_sensor.flow_model.W; + P_w_HPSH2_out_sensor.flow_model.h_out-P_w_HPSH2_out_sensor.flow_model.h_in + = P_w_HPSH2_out_sensor.flow_model.DH; + P_w_HPSH2_out_sensor.flow_model.T_out-P_w_HPSH2_out_sensor.flow_model.T_in + = P_w_HPSH2_out_sensor.flow_model.DT; + P_w_HPSH2_out_sensor.flow_model.C_in.Q+P_w_HPSH2_out_sensor.flow_model.C_out.Q + = 0; + P_w_HPSH2_out_sensor.flow_model.C_out.Xi_outflow = inStream( + P_w_HPSH2_out_sensor.flow_model.C_in.Xi_outflow); + assert(P_w_HPSH2_out_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + P_w_HPSH2_out_sensor.flow_model.P = P_w_HPSH2_out_sensor.flow_model.P_in; + P_w_HPSH2_out_sensor.flow_model.h = P_w_HPSH2_out_sensor.flow_model.h_in; + P_w_HPSH2_out_sensor.flow_model.T = P_w_HPSH2_out_sensor.flow_model.T_in; + P_w_HPSH2_out_sensor.flow_model.DP = 0; + P_w_HPSH2_out_sensor.flow_model.DH = 0; + // end of extends + + // Component P_w_HPSH2_out_sensor + // class MetroscopeModelingLibrary.Sensors_Control.WaterSteam.PressureSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not P_w_HPSH2_out_sensor.faulty_flow_rate) then + P_w_HPSH2_out_sensor.mass_flow_rate_bias = 0; + end if; + P_w_HPSH2_out_sensor.P = P_w_HPSH2_out_sensor.C_in.P; + P_w_HPSH2_out_sensor.Q = P_w_HPSH2_out_sensor.C_in.Q+P_w_HPSH2_out_sensor.mass_flow_rate_bias; + P_w_HPSH2_out_sensor.Xi = inStream(P_w_HPSH2_out_sensor.C_in.Xi_outflow); + P_w_HPSH2_out_sensor.h = inStream(P_w_HPSH2_out_sensor.C_in.h_outflow); + P_w_HPSH2_out_sensor.state = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (P_w_HPSH2_out_sensor.P, P_w_HPSH2_out_sensor.h, P_w_HPSH2_out_sensor.Xi, + 0, 0); + assert(P_w_HPSH2_out_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.PressureSensor + equation + P_w_HPSH2_out_sensor.P_barA = P_w_HPSH2_out_sensor.P*1E-05; + P_w_HPSH2_out_sensor.P_psiA = P_w_HPSH2_out_sensor.P*0.000145038; + P_w_HPSH2_out_sensor.P_MPaA = P_w_HPSH2_out_sensor.P*1E-06; + P_w_HPSH2_out_sensor.P_kPaA = P_w_HPSH2_out_sensor.P*0.001; + P_w_HPSH2_out_sensor.P_barG = P_w_HPSH2_out_sensor.P_barA-1; + P_w_HPSH2_out_sensor.P_psiG = P_w_HPSH2_out_sensor.P_psiA-14.50377377; + P_w_HPSH2_out_sensor.P_MPaG = P_w_HPSH2_out_sensor.P_MPaA-0.1; + P_w_HPSH2_out_sensor.P_kPaG = P_w_HPSH2_out_sensor.P_kPaA-100; + P_w_HPSH2_out_sensor.P_mbar = P_w_HPSH2_out_sensor.P*0.01; + P_w_HPSH2_out_sensor.P_inHg = P_w_HPSH2_out_sensor.P*0.0002953006; + if (P_w_HPSH2_out_sensor.signal_unit == "barA") then + P_w_HPSH2_out_sensor.P_sensor = P_w_HPSH2_out_sensor.P_barA; + elseif (P_w_HPSH2_out_sensor.signal_unit == "barG") then + P_w_HPSH2_out_sensor.P_sensor = P_w_HPSH2_out_sensor.P_barG; + elseif (P_w_HPSH2_out_sensor.signal_unit == "mbar") then + P_w_HPSH2_out_sensor.P_sensor = P_w_HPSH2_out_sensor.P_mbar; + elseif (P_w_HPSH2_out_sensor.signal_unit == "MPaA") then + P_w_HPSH2_out_sensor.P_sensor = P_w_HPSH2_out_sensor.P_MPaA; + elseif (P_w_HPSH2_out_sensor.signal_unit == "kPaA") then + P_w_HPSH2_out_sensor.P_sensor = P_w_HPSH2_out_sensor.P_kPaA; + else + P_w_HPSH2_out_sensor.P_sensor = P_w_HPSH2_out_sensor.P; + end if; + // end of extends + equation + P_w_HPSH2_out_sensor.flow_model.C_in.P = P_w_HPSH2_out_sensor.C_in.P; + P_w_HPSH2_out_sensor.C_in.Q-P_w_HPSH2_out_sensor.flow_model.C_in.Q = 0.0; + P_w_HPSH2_out_sensor.flow_model.C_out.P = P_w_HPSH2_out_sensor.C_out.P; + P_w_HPSH2_out_sensor.C_out.Q-P_w_HPSH2_out_sensor.flow_model.C_out.Q = 0.0; + + // Component deSH_controlValve + // class MetroscopeModelingLibrary.WaterSteam.Pipes.ControlValve + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + deSH_controlValve.h_in = inStream(deSH_controlValve.C_in.h_outflow); + deSH_controlValve.h_out = deSH_controlValve.C_out.h_outflow; + deSH_controlValve.Q = deSH_controlValve.C_in.Q; + deSH_controlValve.P_in = deSH_controlValve.C_in.P; + deSH_controlValve.P_out = deSH_controlValve.C_out.P; + deSH_controlValve.Xi = inStream(deSH_controlValve.C_in.Xi_outflow); + deSH_controlValve.C_in.h_outflow = 1000000.0; + deSH_controlValve.C_in.Xi_outflow = zeros(0); + deSH_controlValve.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (deSH_controlValve.P_in, deSH_controlValve.h_in, deSH_controlValve.Xi, 0, + 0); + deSH_controlValve.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (deSH_controlValve.P_out, deSH_controlValve.h_out, deSH_controlValve.Xi, + 0, 0); + deSH_controlValve.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + deSH_controlValve.state_in); + deSH_controlValve.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + deSH_controlValve.state_out); + deSH_controlValve.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + deSH_controlValve.state_in); + deSH_controlValve.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + deSH_controlValve.state_out); + deSH_controlValve.rho = (deSH_controlValve.rho_in+deSH_controlValve.rho_out) + /2; + deSH_controlValve.Qv_in = deSH_controlValve.Q/deSH_controlValve.rho_in; + deSH_controlValve.Qv_out = -deSH_controlValve.Q/deSH_controlValve.rho_out; + deSH_controlValve.Qv = (deSH_controlValve.Qv_in-deSH_controlValve.Qv_out)/2; + deSH_controlValve.P_out-deSH_controlValve.P_in = deSH_controlValve.DP; + deSH_controlValve.Q*(deSH_controlValve.h_out-deSH_controlValve.h_in) = + deSH_controlValve.W; + deSH_controlValve.h_out-deSH_controlValve.h_in = deSH_controlValve.DH; + deSH_controlValve.T_out-deSH_controlValve.T_in = deSH_controlValve.DT; + deSH_controlValve.C_in.Q+deSH_controlValve.C_out.Q = 0; + deSH_controlValve.C_out.Xi_outflow = inStream(deSH_controlValve.C_in.Xi_outflow); + assert(deSH_controlValve.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoHFlowModel + equation + deSH_controlValve.h = deSH_controlValve.h_in; + deSH_controlValve.DH = 0; + // extends MetroscopeModelingLibrary.Partial.Pipes.ControlValve + equation + deSH_controlValve.DP*deSH_controlValve.Cv*abs(deSH_controlValve.Cv) = - + 1733000000000.0*abs(deSH_controlValve.Q)*deSH_controlValve.Q/ + deSH_controlValve.rho_in^2; + deSH_controlValve.Cv = deSH_controlValve.Opening*deSH_controlValve.Cv_max; + // end of extends + + // Component deSH_opening_sensor + // class MetroscopeModelingLibrary.Sensors_Control.Outline.OpeningSensor + equation + deSH_opening_sensor.Opening_pc = deSH_opening_sensor.Opening*100; + if (deSH_opening_sensor.output_signal_unit == "%") then + deSH_opening_sensor.opening_sensor = deSH_opening_sensor.Opening_pc; + else + deSH_opening_sensor.opening_sensor = deSH_opening_sensor.Opening; + end if; + + // Component Q_deSH_sensor.flow_model + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + Q_deSH_sensor.flow_model.h_in = inStream(Q_deSH_sensor.flow_model.C_in.h_outflow); + Q_deSH_sensor.flow_model.h_out = Q_deSH_sensor.flow_model.C_out.h_outflow; + Q_deSH_sensor.flow_model.Q = Q_deSH_sensor.flow_model.C_in.Q; + Q_deSH_sensor.flow_model.P_in = Q_deSH_sensor.flow_model.C_in.P; + Q_deSH_sensor.flow_model.P_out = Q_deSH_sensor.flow_model.C_out.P; + Q_deSH_sensor.flow_model.Xi = inStream(Q_deSH_sensor.flow_model.C_in.Xi_outflow); + Q_deSH_sensor.flow_model.C_in.h_outflow = 1000000.0; + Q_deSH_sensor.flow_model.C_in.Xi_outflow = zeros(0); + Q_deSH_sensor.flow_model.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (Q_deSH_sensor.flow_model.P_in, Q_deSH_sensor.flow_model.h_in, + Q_deSH_sensor.flow_model.Xi, 0, 0); + Q_deSH_sensor.flow_model.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (Q_deSH_sensor.flow_model.P_out, Q_deSH_sensor.flow_model.h_out, + Q_deSH_sensor.flow_model.Xi, 0, 0); + Q_deSH_sensor.flow_model.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + Q_deSH_sensor.flow_model.state_in); + Q_deSH_sensor.flow_model.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + Q_deSH_sensor.flow_model.state_out); + Q_deSH_sensor.flow_model.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + Q_deSH_sensor.flow_model.state_in); + Q_deSH_sensor.flow_model.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + Q_deSH_sensor.flow_model.state_out); + Q_deSH_sensor.flow_model.rho = (Q_deSH_sensor.flow_model.rho_in+ + Q_deSH_sensor.flow_model.rho_out)/2; + Q_deSH_sensor.flow_model.Qv_in = Q_deSH_sensor.flow_model.Q/ + Q_deSH_sensor.flow_model.rho_in; + Q_deSH_sensor.flow_model.Qv_out = -Q_deSH_sensor.flow_model.Q/ + Q_deSH_sensor.flow_model.rho_out; + Q_deSH_sensor.flow_model.Qv = (Q_deSH_sensor.flow_model.Qv_in- + Q_deSH_sensor.flow_model.Qv_out)/2; + Q_deSH_sensor.flow_model.P_out-Q_deSH_sensor.flow_model.P_in = + Q_deSH_sensor.flow_model.DP; + Q_deSH_sensor.flow_model.Q*(Q_deSH_sensor.flow_model.h_out- + Q_deSH_sensor.flow_model.h_in) = Q_deSH_sensor.flow_model.W; + Q_deSH_sensor.flow_model.h_out-Q_deSH_sensor.flow_model.h_in = + Q_deSH_sensor.flow_model.DH; + Q_deSH_sensor.flow_model.T_out-Q_deSH_sensor.flow_model.T_in = + Q_deSH_sensor.flow_model.DT; + Q_deSH_sensor.flow_model.C_in.Q+Q_deSH_sensor.flow_model.C_out.Q = 0; + Q_deSH_sensor.flow_model.C_out.Xi_outflow = inStream(Q_deSH_sensor.flow_model.C_in.Xi_outflow); + assert(Q_deSH_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + Q_deSH_sensor.flow_model.P = Q_deSH_sensor.flow_model.P_in; + Q_deSH_sensor.flow_model.h = Q_deSH_sensor.flow_model.h_in; + Q_deSH_sensor.flow_model.T = Q_deSH_sensor.flow_model.T_in; + Q_deSH_sensor.flow_model.DP = 0; + Q_deSH_sensor.flow_model.DH = 0; + // end of extends + + // Component Q_deSH_sensor + // class MetroscopeModelingLibrary.Sensors_Control.WaterSteam.FlowSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not Q_deSH_sensor.faulty_flow_rate) then + Q_deSH_sensor.mass_flow_rate_bias = 0; + end if; + Q_deSH_sensor.P = Q_deSH_sensor.C_in.P; + Q_deSH_sensor.Q = Q_deSH_sensor.C_in.Q+Q_deSH_sensor.mass_flow_rate_bias; + Q_deSH_sensor.Xi = inStream(Q_deSH_sensor.C_in.Xi_outflow); + Q_deSH_sensor.h = inStream(Q_deSH_sensor.C_in.h_outflow); + Q_deSH_sensor.state = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (Q_deSH_sensor.P, Q_deSH_sensor.h, Q_deSH_sensor.Xi, 0, 0); + assert(Q_deSH_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.FlowSensor + equation + Q_deSH_sensor.Qv = Q_deSH_sensor.Q/Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + Q_deSH_sensor.state); + Q_deSH_sensor.Q_lm = Q_deSH_sensor.Qv*60000; + Q_deSH_sensor.Q_th = Q_deSH_sensor.Q*3.6; + Q_deSH_sensor.Q_lbs = Q_deSH_sensor.Q*2.2046; + Q_deSH_sensor.Q_Mlbh = Q_deSH_sensor.Q*0.0079366414387; + if (Q_deSH_sensor.signal_unit == "l/m") then + Q_deSH_sensor.Q_sensor = Q_deSH_sensor.Q_lm; + elseif (Q_deSH_sensor.signal_unit == "t/h") then + Q_deSH_sensor.Q_sensor = Q_deSH_sensor.Q_th; + else + Q_deSH_sensor.Q_sensor = Q_deSH_sensor.Q; + end if; + // end of extends + equation + Q_deSH_sensor.flow_model.C_in.P = Q_deSH_sensor.C_in.P; + Q_deSH_sensor.C_in.Q-Q_deSH_sensor.flow_model.C_in.Q = 0.0; + Q_deSH_sensor.flow_model.C_out.P = Q_deSH_sensor.C_out.P; + Q_deSH_sensor.C_out.Q-Q_deSH_sensor.flow_model.C_out.Q = 0.0; + + // Component Evap_controlValve + // class MetroscopeModelingLibrary.WaterSteam.Pipes.ControlValve + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + Evap_controlValve.h_in = inStream(Evap_controlValve.C_in.h_outflow); + Evap_controlValve.h_out = Evap_controlValve.C_out.h_outflow; + Evap_controlValve.Q = Evap_controlValve.C_in.Q; + Evap_controlValve.P_in = Evap_controlValve.C_in.P; + Evap_controlValve.P_out = Evap_controlValve.C_out.P; + Evap_controlValve.Xi = inStream(Evap_controlValve.C_in.Xi_outflow); + Evap_controlValve.C_in.h_outflow = 1000000.0; + Evap_controlValve.C_in.Xi_outflow = zeros(0); + Evap_controlValve.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (Evap_controlValve.P_in, Evap_controlValve.h_in, Evap_controlValve.Xi, 0, + 0); + Evap_controlValve.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (Evap_controlValve.P_out, Evap_controlValve.h_out, Evap_controlValve.Xi, + 0, 0); + Evap_controlValve.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + Evap_controlValve.state_in); + Evap_controlValve.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + Evap_controlValve.state_out); + Evap_controlValve.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + Evap_controlValve.state_in); + Evap_controlValve.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + Evap_controlValve.state_out); + Evap_controlValve.rho = (Evap_controlValve.rho_in+Evap_controlValve.rho_out) + /2; + Evap_controlValve.Qv_in = Evap_controlValve.Q/Evap_controlValve.rho_in; + Evap_controlValve.Qv_out = -Evap_controlValve.Q/Evap_controlValve.rho_out; + Evap_controlValve.Qv = (Evap_controlValve.Qv_in-Evap_controlValve.Qv_out)/2; + Evap_controlValve.P_out-Evap_controlValve.P_in = Evap_controlValve.DP; + Evap_controlValve.Q*(Evap_controlValve.h_out-Evap_controlValve.h_in) = + Evap_controlValve.W; + Evap_controlValve.h_out-Evap_controlValve.h_in = Evap_controlValve.DH; + Evap_controlValve.T_out-Evap_controlValve.T_in = Evap_controlValve.DT; + Evap_controlValve.C_in.Q+Evap_controlValve.C_out.Q = 0; + Evap_controlValve.C_out.Xi_outflow = inStream(Evap_controlValve.C_in.Xi_outflow); + assert(Evap_controlValve.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoHFlowModel + equation + Evap_controlValve.h = Evap_controlValve.h_in; + Evap_controlValve.DH = 0; + // extends MetroscopeModelingLibrary.Partial.Pipes.ControlValve + equation + Evap_controlValve.DP*Evap_controlValve.Cv*abs(Evap_controlValve.Cv) = - + 1733000000000.0*abs(Evap_controlValve.Q)*Evap_controlValve.Q/ + Evap_controlValve.rho_in^2; + Evap_controlValve.Cv = Evap_controlValve.Opening*Evap_controlValve.Cv_max; + // end of extends + + // Component Evap_opening_sensor + // class MetroscopeModelingLibrary.Sensors_Control.Outline.OpeningSensor + equation + Evap_opening_sensor.Opening_pc = Evap_opening_sensor.Opening*100; + if (Evap_opening_sensor.output_signal_unit == "%") then + Evap_opening_sensor.opening_sensor = Evap_opening_sensor.Opening_pc; + else + Evap_opening_sensor.opening_sensor = Evap_opening_sensor.Opening; + end if; + + // Component moistAir_to_FlueGases.sink + // class MetroscopeModelingLibrary.MoistAir.BoundaryConditions.Sink + // extends MetroscopeModelingLibrary.Partial.BoundaryConditions.FluidSink + equation + moistAir_to_FlueGases.sink.C_in.P = moistAir_to_FlueGases.sink.P_in; + moistAir_to_FlueGases.sink.C_in.Q = moistAir_to_FlueGases.sink.Q_in; + inStream(moistAir_to_FlueGases.sink.C_in.h_outflow) = moistAir_to_FlueGases.sink.h_in; + inStream(moistAir_to_FlueGases.sink.C_in.Xi_outflow) = moistAir_to_FlueGases.sink.Xi_in; + moistAir_to_FlueGases.sink.state_in = setState_phX_Unique50( + moistAir_to_FlueGases.sink.P_in, moistAir_to_FlueGases.sink.h_in, + moistAir_to_FlueGases.sink.Xi_in); + moistAir_to_FlueGases.sink.T_in = temperature_Unique68( + moistAir_to_FlueGases.sink.state_in); + moistAir_to_FlueGases.sink.Qv_in = moistAir_to_FlueGases.sink.Q_in/ + density_Unique69( + moistAir_to_FlueGases.sink.state_in); + moistAir_to_FlueGases.sink.C_in.h_outflow = 0; + moistAir_to_FlueGases.sink.C_in.Xi_outflow = zeros(1); + // end of extends + equation + moistAir_to_FlueGases.sink.Xi_in[1] = massFraction_pTphi_Unique71( + moistAir_to_FlueGases.sink.P_in, moistAir_to_FlueGases.sink.T_in, + moistAir_to_FlueGases.sink.relative_humidity); + + // Component moistAir_to_FlueGases.source + // class MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Source + // extends MetroscopeModelingLibrary.Partial.BoundaryConditions.FluidSource + equation + moistAir_to_FlueGases.source.C_out.P = moistAir_to_FlueGases.source.P_out; + moistAir_to_FlueGases.source.C_out.Q = moistAir_to_FlueGases.source.Q_out; + moistAir_to_FlueGases.source.C_out.h_outflow = moistAir_to_FlueGases.source.h_out; + moistAir_to_FlueGases.source.C_out.Xi_outflow = moistAir_to_FlueGases.source.Xi_out; + moistAir_to_FlueGases.source.state_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (moistAir_to_FlueGases.source.P_out, moistAir_to_FlueGases.source.h_out, + moistAir_to_FlueGases.source.Xi_out); + moistAir_to_FlueGases.source.T_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + moistAir_to_FlueGases.source.state_out); + moistAir_to_FlueGases.source.Qv_out = moistAir_to_FlueGases.source.Q_out/ + MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + moistAir_to_FlueGases.source.state_out); + // end of extends + + // Component moistAir_to_FlueGases + // class MetroscopeModelingLibrary.MultiFluid.Converters.MoistAir_to_FlueGases + equation + moistAir_to_FlueGases.source.P_out = moistAir_to_FlueGases.sink.P_in; + moistAir_to_FlueGases.source.Q_out = -moistAir_to_FlueGases.sink.Q_in; + moistAir_to_FlueGases.source.Xi_out[1] = (1-moistAir_to_FlueGases.sink.Xi_in + [1])*0.768; + moistAir_to_FlueGases.source.Xi_out[2] = (1-moistAir_to_FlueGases.sink.Xi_in + [1])*0.232; + moistAir_to_FlueGases.source.Xi_out[3] = moistAir_to_FlueGases.sink.Xi_in[1]; + moistAir_to_FlueGases.source.Xi_out[4] = 0; + moistAir_to_FlueGases.source.Xi_out[5] = 0; + moistAir_to_FlueGases.sink.T_in = moistAir_to_FlueGases.source.T_out; + moistAir_to_FlueGases.sink.C_in.P = moistAir_to_FlueGases.inlet.P; + moistAir_to_FlueGases.inlet.Q-moistAir_to_FlueGases.sink.C_in.Q = 0.0; + moistAir_to_FlueGases.source.C_out.P = moistAir_to_FlueGases.outlet.P; + moistAir_to_FlueGases.outlet.Q-moistAir_to_FlueGases.source.C_out.Q = 0.0; + + // Component source_air + // class MetroscopeModelingLibrary.MoistAir.BoundaryConditions.Source + // extends MetroscopeModelingLibrary.Partial.BoundaryConditions.FluidSource + equation + source_air.C_out.P = source_air.P_out; + source_air.C_out.Q = source_air.Q_out; + source_air.C_out.h_outflow = source_air.h_out; + source_air.C_out.Xi_outflow = source_air.Xi_out; + source_air.state_out = setState_phX_Unique50(source_air.P_out, + source_air.h_out, source_air.Xi_out); + source_air.T_out = temperature_Unique68( + source_air.state_out); + source_air.Qv_out = source_air.Q_out/density_Unique69( + source_air.state_out); + // end of extends + equation + source_air.Xi_out[1] = massFraction_pTphi_Unique71(source_air.P_out, + source_air.T_out, source_air.relative_humidity); + + // Component T_HPST_out_sensor.flow_model + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + T_HPST_out_sensor.flow_model.h_in = inStream(T_HPST_out_sensor.flow_model.C_in.h_outflow); + T_HPST_out_sensor.flow_model.h_out = T_HPST_out_sensor.flow_model.C_out.h_outflow; + T_HPST_out_sensor.flow_model.Q = T_HPST_out_sensor.flow_model.C_in.Q; + T_HPST_out_sensor.flow_model.P_in = T_HPST_out_sensor.flow_model.C_in.P; + T_HPST_out_sensor.flow_model.P_out = T_HPST_out_sensor.flow_model.C_out.P; + T_HPST_out_sensor.flow_model.Xi = inStream(T_HPST_out_sensor.flow_model.C_in.Xi_outflow); + T_HPST_out_sensor.flow_model.C_in.h_outflow = 1000000.0; + T_HPST_out_sensor.flow_model.C_in.Xi_outflow = zeros(0); + T_HPST_out_sensor.flow_model.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (T_HPST_out_sensor.flow_model.P_in, T_HPST_out_sensor.flow_model.h_in, + T_HPST_out_sensor.flow_model.Xi, 0, 0); + T_HPST_out_sensor.flow_model.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (T_HPST_out_sensor.flow_model.P_out, T_HPST_out_sensor.flow_model.h_out, + T_HPST_out_sensor.flow_model.Xi, 0, 0); + T_HPST_out_sensor.flow_model.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + T_HPST_out_sensor.flow_model.state_in); + T_HPST_out_sensor.flow_model.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + T_HPST_out_sensor.flow_model.state_out); + T_HPST_out_sensor.flow_model.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + T_HPST_out_sensor.flow_model.state_in); + T_HPST_out_sensor.flow_model.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + T_HPST_out_sensor.flow_model.state_out); + T_HPST_out_sensor.flow_model.rho = (T_HPST_out_sensor.flow_model.rho_in+ + T_HPST_out_sensor.flow_model.rho_out)/2; + T_HPST_out_sensor.flow_model.Qv_in = T_HPST_out_sensor.flow_model.Q/ + T_HPST_out_sensor.flow_model.rho_in; + T_HPST_out_sensor.flow_model.Qv_out = -T_HPST_out_sensor.flow_model.Q/ + T_HPST_out_sensor.flow_model.rho_out; + T_HPST_out_sensor.flow_model.Qv = (T_HPST_out_sensor.flow_model.Qv_in- + T_HPST_out_sensor.flow_model.Qv_out)/2; + T_HPST_out_sensor.flow_model.P_out-T_HPST_out_sensor.flow_model.P_in = + T_HPST_out_sensor.flow_model.DP; + T_HPST_out_sensor.flow_model.Q*(T_HPST_out_sensor.flow_model.h_out- + T_HPST_out_sensor.flow_model.h_in) = T_HPST_out_sensor.flow_model.W; + T_HPST_out_sensor.flow_model.h_out-T_HPST_out_sensor.flow_model.h_in = + T_HPST_out_sensor.flow_model.DH; + T_HPST_out_sensor.flow_model.T_out-T_HPST_out_sensor.flow_model.T_in = + T_HPST_out_sensor.flow_model.DT; + T_HPST_out_sensor.flow_model.C_in.Q+T_HPST_out_sensor.flow_model.C_out.Q + = 0; + T_HPST_out_sensor.flow_model.C_out.Xi_outflow = inStream(T_HPST_out_sensor.flow_model.C_in.Xi_outflow); + assert(T_HPST_out_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + T_HPST_out_sensor.flow_model.P = T_HPST_out_sensor.flow_model.P_in; + T_HPST_out_sensor.flow_model.h = T_HPST_out_sensor.flow_model.h_in; + T_HPST_out_sensor.flow_model.T = T_HPST_out_sensor.flow_model.T_in; + T_HPST_out_sensor.flow_model.DP = 0; + T_HPST_out_sensor.flow_model.DH = 0; + // end of extends + + // Component T_HPST_out_sensor + // class MetroscopeModelingLibrary.Sensors_Control.WaterSteam.TemperatureSensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not T_HPST_out_sensor.faulty_flow_rate) then + T_HPST_out_sensor.mass_flow_rate_bias = 0; + end if; + T_HPST_out_sensor.P = T_HPST_out_sensor.C_in.P; + T_HPST_out_sensor.Q = T_HPST_out_sensor.C_in.Q+T_HPST_out_sensor.mass_flow_rate_bias; + T_HPST_out_sensor.Xi = inStream(T_HPST_out_sensor.C_in.Xi_outflow); + T_HPST_out_sensor.h = inStream(T_HPST_out_sensor.C_in.h_outflow); + T_HPST_out_sensor.state = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (T_HPST_out_sensor.P, T_HPST_out_sensor.h, T_HPST_out_sensor.Xi, 0, 0); + assert(T_HPST_out_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.TemperatureSensor + equation + T_HPST_out_sensor.T = T_HPST_out_sensor.flow_model.T; + T_HPST_out_sensor.T_degC+273.15 = T_HPST_out_sensor.T; + T_HPST_out_sensor.T_degF = T_HPST_out_sensor.T_degC*1.8+32; + if (T_HPST_out_sensor.signal_unit == "degC") then + T_HPST_out_sensor.T_sensor = T_HPST_out_sensor.T_degC; + elseif (T_HPST_out_sensor.signal_unit == "degF") then + T_HPST_out_sensor.T_sensor = T_HPST_out_sensor.T_degF; + elseif (T_HPST_out_sensor.signal_unit == "K") then + T_HPST_out_sensor.T_sensor = T_HPST_out_sensor.T; + else + assert(false, "Unavailable unit selected for %name"); + end if; + // end of extends + equation + T_HPST_out_sensor.flow_model.C_in.P = T_HPST_out_sensor.C_in.P; + T_HPST_out_sensor.C_in.Q-T_HPST_out_sensor.flow_model.C_in.Q = 0.0; + T_HPST_out_sensor.flow_model.C_out.P = T_HPST_out_sensor.C_out.P; + T_HPST_out_sensor.C_out.Q-T_HPST_out_sensor.flow_model.C_out.Q = 0.0; + + // Component displayer.flow_model + // class MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + displayer.flow_model.h_in = inStream(displayer.flow_model.C_in.h_outflow); + displayer.flow_model.h_out = displayer.flow_model.C_out.h_outflow; + displayer.flow_model.Q = displayer.flow_model.C_in.Q; + displayer.flow_model.P_in = displayer.flow_model.C_in.P; + displayer.flow_model.P_out = displayer.flow_model.C_out.P; + displayer.flow_model.Xi = inStream(displayer.flow_model.C_in.Xi_outflow); + displayer.flow_model.C_in.h_outflow = 1000000.0; + displayer.flow_model.C_in.Xi_outflow = zeros(0); + displayer.flow_model.state_in = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (displayer.flow_model.P_in, displayer.flow_model.h_in, displayer.flow_model.Xi, + 0, 0); + displayer.flow_model.state_out = Modelica.Media.Water.WaterIF97_ph.setState_phX_Unique8 + (displayer.flow_model.P_out, displayer.flow_model.h_out, + displayer.flow_model.Xi, 0, 0); + displayer.flow_model.T_in = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + displayer.flow_model.state_in); + displayer.flow_model.T_out = Modelica.Media.Water.WaterIF97_ph.temperature_Unique12 + ( + displayer.flow_model.state_out); + displayer.flow_model.rho_in = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + displayer.flow_model.state_in); + displayer.flow_model.rho_out = Modelica.Media.Water.WaterIF97_ph.density_Unique13 + ( + displayer.flow_model.state_out); + displayer.flow_model.rho = (displayer.flow_model.rho_in+displayer.flow_model.rho_out) + /2; + displayer.flow_model.Qv_in = displayer.flow_model.Q/displayer.flow_model.rho_in; + displayer.flow_model.Qv_out = -displayer.flow_model.Q/displayer.flow_model.rho_out; + displayer.flow_model.Qv = (displayer.flow_model.Qv_in-displayer.flow_model.Qv_out) + /2; + displayer.flow_model.P_out-displayer.flow_model.P_in = displayer.flow_model.DP; + displayer.flow_model.Q*(displayer.flow_model.h_out-displayer.flow_model.h_in) + = displayer.flow_model.W; + displayer.flow_model.h_out-displayer.flow_model.h_in = displayer.flow_model.DH; + displayer.flow_model.T_out-displayer.flow_model.T_in = displayer.flow_model.DT; + displayer.flow_model.C_in.Q+displayer.flow_model.C_out.Q = 0; + displayer.flow_model.C_out.Xi_outflow = inStream(displayer.flow_model.C_in.Xi_outflow); + assert(displayer.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + displayer.flow_model.P = displayer.flow_model.P_in; + displayer.flow_model.h = displayer.flow_model.h_in; + displayer.flow_model.T = displayer.flow_model.T_in; + displayer.flow_model.DP = 0; + displayer.flow_model.DH = 0; + // end of extends + + // Component displayer + // class MetroscopeModelingLibrary.Sensors.Displayer.WaterDisplayer + equation + displayer.flow_model.C_in.P = displayer.C_in.P; + displayer.C_in.Q-displayer.flow_model.C_in.Q = 0.0; + displayer.flow_model.C_out.P = displayer.C_out.P; + displayer.C_out.Q-displayer.flow_model.C_out.Q = 0.0; + + // Component fuelDisplayer.flow_model + // class MetroscopeModelingLibrary.Fuel.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + fuelDisplayer.flow_model.h_in = inStream(fuelDisplayer.flow_model.C_in.h_outflow); + fuelDisplayer.flow_model.h_out = fuelDisplayer.flow_model.C_out.h_outflow; + fuelDisplayer.flow_model.Q = fuelDisplayer.flow_model.C_in.Q; + fuelDisplayer.flow_model.P_in = fuelDisplayer.flow_model.C_in.P; + fuelDisplayer.flow_model.P_out = fuelDisplayer.flow_model.C_out.P; + fuelDisplayer.flow_model.Xi = inStream(fuelDisplayer.flow_model.C_in.Xi_outflow); + fuelDisplayer.flow_model.C_in.h_outflow = 1000000.0; + fuelDisplayer.flow_model.C_in.Xi_outflow = zeros(6); + fuelDisplayer.flow_model.state_in = MetroscopeModelingLibrary.Utilities.Media.FuelMedium.setState_phX_Unique43 + (fuelDisplayer.flow_model.P_in, fuelDisplayer.flow_model.h_in, + fuelDisplayer.flow_model.Xi); + fuelDisplayer.flow_model.state_out = MetroscopeModelingLibrary.Utilities.Media.FuelMedium.setState_phX_Unique43 + (fuelDisplayer.flow_model.P_out, fuelDisplayer.flow_model.h_out, + fuelDisplayer.flow_model.Xi); + fuelDisplayer.flow_model.T_in = MetroscopeModelingLibrary.Utilities.Media.FuelMedium.temperature_Unique48 + ( + fuelDisplayer.flow_model.state_in); + fuelDisplayer.flow_model.T_out = MetroscopeModelingLibrary.Utilities.Media.FuelMedium.temperature_Unique48 + ( + fuelDisplayer.flow_model.state_out); + fuelDisplayer.flow_model.rho_in = MetroscopeModelingLibrary.Utilities.Media.FuelMedium.density_Unique49 + ( + fuelDisplayer.flow_model.state_in); + fuelDisplayer.flow_model.rho_out = MetroscopeModelingLibrary.Utilities.Media.FuelMedium.density_Unique49 + ( + fuelDisplayer.flow_model.state_out); + fuelDisplayer.flow_model.rho = (fuelDisplayer.flow_model.rho_in+ + fuelDisplayer.flow_model.rho_out)/2; + fuelDisplayer.flow_model.Qv_in = fuelDisplayer.flow_model.Q/ + fuelDisplayer.flow_model.rho_in; + fuelDisplayer.flow_model.Qv_out = -fuelDisplayer.flow_model.Q/ + fuelDisplayer.flow_model.rho_out; + fuelDisplayer.flow_model.Qv = (fuelDisplayer.flow_model.Qv_in- + fuelDisplayer.flow_model.Qv_out)/2; + fuelDisplayer.flow_model.P_out-fuelDisplayer.flow_model.P_in = + fuelDisplayer.flow_model.DP; + fuelDisplayer.flow_model.Q*(fuelDisplayer.flow_model.h_out- + fuelDisplayer.flow_model.h_in) = fuelDisplayer.flow_model.W; + fuelDisplayer.flow_model.h_out-fuelDisplayer.flow_model.h_in = + fuelDisplayer.flow_model.DH; + fuelDisplayer.flow_model.T_out-fuelDisplayer.flow_model.T_in = + fuelDisplayer.flow_model.DT; + fuelDisplayer.flow_model.C_in.Q+fuelDisplayer.flow_model.C_out.Q = 0; + fuelDisplayer.flow_model.C_out.Xi_outflow = inStream(fuelDisplayer.flow_model.C_in.Xi_outflow); + assert(fuelDisplayer.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + fuelDisplayer.flow_model.P = fuelDisplayer.flow_model.P_in; + fuelDisplayer.flow_model.h = fuelDisplayer.flow_model.h_in; + fuelDisplayer.flow_model.T = fuelDisplayer.flow_model.T_in; + fuelDisplayer.flow_model.DP = 0; + fuelDisplayer.flow_model.DH = 0; + // end of extends + + // Component fuelDisplayer + // class MetroscopeModelingLibrary.Sensors.Displayer.FuelDisplayer + equation + fuelDisplayer.flow_model.C_in.P = fuelDisplayer.C_in.P; + fuelDisplayer.C_in.Q-fuelDisplayer.flow_model.C_in.Q = 0.0; + fuelDisplayer.flow_model.C_out.P = fuelDisplayer.C_out.P; + fuelDisplayer.C_out.Q-fuelDisplayer.flow_model.C_out.Q = 0.0; + + // Component moistAirDisplayer.flow_model + // class MetroscopeModelingLibrary.MoistAir.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + moistAirDisplayer.flow_model.h_in = inStream(moistAirDisplayer.flow_model.C_in.h_outflow); + moistAirDisplayer.flow_model.h_out = moistAirDisplayer.flow_model.C_out.h_outflow; + moistAirDisplayer.flow_model.Q = moistAirDisplayer.flow_model.C_in.Q; + moistAirDisplayer.flow_model.P_in = moistAirDisplayer.flow_model.C_in.P; + moistAirDisplayer.flow_model.P_out = moistAirDisplayer.flow_model.C_out.P; + moistAirDisplayer.flow_model.Xi = inStream(moistAirDisplayer.flow_model.C_in.Xi_outflow); + moistAirDisplayer.flow_model.C_in.h_outflow = 1000000.0; + moistAirDisplayer.flow_model.C_in.Xi_outflow = zeros(1); + moistAirDisplayer.flow_model.state_in = setState_phX_Unique50( + moistAirDisplayer.flow_model.P_in, moistAirDisplayer.flow_model.h_in, + moistAirDisplayer.flow_model.Xi); + moistAirDisplayer.flow_model.state_out = setState_phX_Unique50( + moistAirDisplayer.flow_model.P_out, moistAirDisplayer.flow_model.h_out, + moistAirDisplayer.flow_model.Xi); + moistAirDisplayer.flow_model.T_in = temperature_Unique68( + moistAirDisplayer.flow_model.state_in); + moistAirDisplayer.flow_model.T_out = temperature_Unique68( + moistAirDisplayer.flow_model.state_out); + moistAirDisplayer.flow_model.rho_in = density_Unique69( + moistAirDisplayer.flow_model.state_in); + moistAirDisplayer.flow_model.rho_out = density_Unique69( + moistAirDisplayer.flow_model.state_out); + moistAirDisplayer.flow_model.rho = (moistAirDisplayer.flow_model.rho_in+ + moistAirDisplayer.flow_model.rho_out)/2; + moistAirDisplayer.flow_model.Qv_in = moistAirDisplayer.flow_model.Q/ + moistAirDisplayer.flow_model.rho_in; + moistAirDisplayer.flow_model.Qv_out = -moistAirDisplayer.flow_model.Q/ + moistAirDisplayer.flow_model.rho_out; + moistAirDisplayer.flow_model.Qv = (moistAirDisplayer.flow_model.Qv_in- + moistAirDisplayer.flow_model.Qv_out)/2; + moistAirDisplayer.flow_model.P_out-moistAirDisplayer.flow_model.P_in = + moistAirDisplayer.flow_model.DP; + moistAirDisplayer.flow_model.Q*(moistAirDisplayer.flow_model.h_out- + moistAirDisplayer.flow_model.h_in) = moistAirDisplayer.flow_model.W; + moistAirDisplayer.flow_model.h_out-moistAirDisplayer.flow_model.h_in = + moistAirDisplayer.flow_model.DH; + moistAirDisplayer.flow_model.T_out-moistAirDisplayer.flow_model.T_in = + moistAirDisplayer.flow_model.DT; + moistAirDisplayer.flow_model.C_in.Q+moistAirDisplayer.flow_model.C_out.Q + = 0; + moistAirDisplayer.flow_model.C_out.Xi_outflow = inStream(moistAirDisplayer.flow_model.C_in.Xi_outflow); + assert(moistAirDisplayer.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + moistAirDisplayer.flow_model.P = moistAirDisplayer.flow_model.P_in; + moistAirDisplayer.flow_model.h = moistAirDisplayer.flow_model.h_in; + moistAirDisplayer.flow_model.T = moistAirDisplayer.flow_model.T_in; + moistAirDisplayer.flow_model.DP = 0; + moistAirDisplayer.flow_model.DH = 0; + // end of extends + + // Component moistAirDisplayer + // class MetroscopeModelingLibrary.Sensors.Displayer.MoistAirDisplayer + equation + moistAirDisplayer.flow_model.C_in.P = moistAirDisplayer.C_in.P; + moistAirDisplayer.C_in.Q-moistAirDisplayer.flow_model.C_in.Q = 0.0; + moistAirDisplayer.flow_model.C_out.P = moistAirDisplayer.C_out.P; + moistAirDisplayer.C_out.Q-moistAirDisplayer.flow_model.C_out.Q = 0.0; + + // Component flueGasesDisplayer.flow_model + // class MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + flueGasesDisplayer.flow_model.h_in = inStream(flueGasesDisplayer.flow_model.C_in.h_outflow); + flueGasesDisplayer.flow_model.h_out = flueGasesDisplayer.flow_model.C_out.h_outflow; + flueGasesDisplayer.flow_model.Q = flueGasesDisplayer.flow_model.C_in.Q; + flueGasesDisplayer.flow_model.P_in = flueGasesDisplayer.flow_model.C_in.P; + flueGasesDisplayer.flow_model.P_out = flueGasesDisplayer.flow_model.C_out.P; + flueGasesDisplayer.flow_model.Xi = inStream(flueGasesDisplayer.flow_model.C_in.Xi_outflow); + flueGasesDisplayer.flow_model.C_in.h_outflow = 1000000.0; + flueGasesDisplayer.flow_model.C_in.Xi_outflow = zeros(5); + flueGasesDisplayer.flow_model.state_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (flueGasesDisplayer.flow_model.P_in, flueGasesDisplayer.flow_model.h_in, + flueGasesDisplayer.flow_model.Xi); + flueGasesDisplayer.flow_model.state_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (flueGasesDisplayer.flow_model.P_out, flueGasesDisplayer.flow_model.h_out, + flueGasesDisplayer.flow_model.Xi); + flueGasesDisplayer.flow_model.T_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + flueGasesDisplayer.flow_model.state_in); + flueGasesDisplayer.flow_model.T_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + flueGasesDisplayer.flow_model.state_out); + flueGasesDisplayer.flow_model.rho_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + flueGasesDisplayer.flow_model.state_in); + flueGasesDisplayer.flow_model.rho_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + flueGasesDisplayer.flow_model.state_out); + flueGasesDisplayer.flow_model.rho = (flueGasesDisplayer.flow_model.rho_in+ + flueGasesDisplayer.flow_model.rho_out)/2; + flueGasesDisplayer.flow_model.Qv_in = flueGasesDisplayer.flow_model.Q/ + flueGasesDisplayer.flow_model.rho_in; + flueGasesDisplayer.flow_model.Qv_out = -flueGasesDisplayer.flow_model.Q/ + flueGasesDisplayer.flow_model.rho_out; + flueGasesDisplayer.flow_model.Qv = (flueGasesDisplayer.flow_model.Qv_in- + flueGasesDisplayer.flow_model.Qv_out)/2; + flueGasesDisplayer.flow_model.P_out-flueGasesDisplayer.flow_model.P_in = + flueGasesDisplayer.flow_model.DP; + flueGasesDisplayer.flow_model.Q*(flueGasesDisplayer.flow_model.h_out- + flueGasesDisplayer.flow_model.h_in) = flueGasesDisplayer.flow_model.W; + flueGasesDisplayer.flow_model.h_out-flueGasesDisplayer.flow_model.h_in = + flueGasesDisplayer.flow_model.DH; + flueGasesDisplayer.flow_model.T_out-flueGasesDisplayer.flow_model.T_in = + flueGasesDisplayer.flow_model.DT; + flueGasesDisplayer.flow_model.C_in.Q+flueGasesDisplayer.flow_model.C_out.Q + = 0; + flueGasesDisplayer.flow_model.C_out.Xi_outflow = inStream(flueGasesDisplayer.flow_model.C_in.Xi_outflow); + assert(flueGasesDisplayer.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + flueGasesDisplayer.flow_model.P = flueGasesDisplayer.flow_model.P_in; + flueGasesDisplayer.flow_model.h = flueGasesDisplayer.flow_model.h_in; + flueGasesDisplayer.flow_model.T = flueGasesDisplayer.flow_model.T_in; + flueGasesDisplayer.flow_model.DP = 0; + flueGasesDisplayer.flow_model.DH = 0; + // end of extends + + // Component flueGasesDisplayer + // class MetroscopeModelingLibrary.Sensors.Displayer.FlueGasesDisplayer + equation + flueGasesDisplayer.flow_model.C_in.P = flueGasesDisplayer.C_in.P; + flueGasesDisplayer.C_in.Q-flueGasesDisplayer.flow_model.C_in.Q = 0.0; + flueGasesDisplayer.flow_model.C_out.P = flueGasesDisplayer.C_out.P; + flueGasesDisplayer.C_out.Q-flueGasesDisplayer.flow_model.C_out.Q = 0.0; + + // Component Relative_Humidity_sensor.flow_model + // class MetroscopeModelingLibrary.MoistAir.BaseClasses.IsoPHFlowModel + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + Relative_Humidity_sensor.flow_model.h_in = inStream(Relative_Humidity_sensor.flow_model.C_in.h_outflow); + Relative_Humidity_sensor.flow_model.h_out = Relative_Humidity_sensor.flow_model.C_out.h_outflow; + Relative_Humidity_sensor.flow_model.Q = Relative_Humidity_sensor.flow_model.C_in.Q; + Relative_Humidity_sensor.flow_model.P_in = Relative_Humidity_sensor.flow_model.C_in.P; + Relative_Humidity_sensor.flow_model.P_out = Relative_Humidity_sensor.flow_model.C_out.P; + Relative_Humidity_sensor.flow_model.Xi = inStream(Relative_Humidity_sensor.flow_model.C_in.Xi_outflow); + Relative_Humidity_sensor.flow_model.C_in.h_outflow = 1000000.0; + Relative_Humidity_sensor.flow_model.C_in.Xi_outflow = zeros(1); + Relative_Humidity_sensor.flow_model.state_in = setState_phX_Unique50( + Relative_Humidity_sensor.flow_model.P_in, Relative_Humidity_sensor.flow_model.h_in, + Relative_Humidity_sensor.flow_model.Xi); + Relative_Humidity_sensor.flow_model.state_out = setState_phX_Unique50( + Relative_Humidity_sensor.flow_model.P_out, Relative_Humidity_sensor.flow_model.h_out, + Relative_Humidity_sensor.flow_model.Xi); + Relative_Humidity_sensor.flow_model.T_in = temperature_Unique68( + Relative_Humidity_sensor.flow_model.state_in); + Relative_Humidity_sensor.flow_model.T_out = temperature_Unique68( + Relative_Humidity_sensor.flow_model.state_out); + Relative_Humidity_sensor.flow_model.rho_in = density_Unique69( + Relative_Humidity_sensor.flow_model.state_in); + Relative_Humidity_sensor.flow_model.rho_out = density_Unique69( + Relative_Humidity_sensor.flow_model.state_out); + Relative_Humidity_sensor.flow_model.rho = (Relative_Humidity_sensor.flow_model.rho_in + +Relative_Humidity_sensor.flow_model.rho_out)/2; + Relative_Humidity_sensor.flow_model.Qv_in = Relative_Humidity_sensor.flow_model.Q + /Relative_Humidity_sensor.flow_model.rho_in; + Relative_Humidity_sensor.flow_model.Qv_out = -Relative_Humidity_sensor.flow_model.Q + /Relative_Humidity_sensor.flow_model.rho_out; + Relative_Humidity_sensor.flow_model.Qv = (Relative_Humidity_sensor.flow_model.Qv_in + -Relative_Humidity_sensor.flow_model.Qv_out)/2; + Relative_Humidity_sensor.flow_model.P_out-Relative_Humidity_sensor.flow_model.P_in + = Relative_Humidity_sensor.flow_model.DP; + Relative_Humidity_sensor.flow_model.Q*(Relative_Humidity_sensor.flow_model.h_out + -Relative_Humidity_sensor.flow_model.h_in) = Relative_Humidity_sensor.flow_model.W; + Relative_Humidity_sensor.flow_model.h_out-Relative_Humidity_sensor.flow_model.h_in + = Relative_Humidity_sensor.flow_model.DH; + Relative_Humidity_sensor.flow_model.T_out-Relative_Humidity_sensor.flow_model.T_in + = Relative_Humidity_sensor.flow_model.DT; + Relative_Humidity_sensor.flow_model.C_in.Q+Relative_Humidity_sensor.flow_model.C_out.Q + = 0; + Relative_Humidity_sensor.flow_model.C_out.Xi_outflow = inStream( + Relative_Humidity_sensor.flow_model.C_in.Xi_outflow); + assert(Relative_Humidity_sensor.flow_model.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoPHFlowModel + equation + Relative_Humidity_sensor.flow_model.P = Relative_Humidity_sensor.flow_model.P_in; + Relative_Humidity_sensor.flow_model.h = Relative_Humidity_sensor.flow_model.h_in; + Relative_Humidity_sensor.flow_model.T = Relative_Humidity_sensor.flow_model.T_in; + Relative_Humidity_sensor.flow_model.DP = 0; + Relative_Humidity_sensor.flow_model.DH = 0; + // end of extends + + // Component Relative_Humidity_sensor + // class MetroscopeModelingLibrary.Sensors_Control.MoistAir.RelativeHumiditySensor + // extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor + equation + if ( not Relative_Humidity_sensor.faulty_flow_rate) then + Relative_Humidity_sensor.mass_flow_rate_bias = 0; + end if; + Relative_Humidity_sensor.P = Relative_Humidity_sensor.C_in.P; + Relative_Humidity_sensor.Q = Relative_Humidity_sensor.C_in.Q+ + Relative_Humidity_sensor.mass_flow_rate_bias; + Relative_Humidity_sensor.Xi = inStream(Relative_Humidity_sensor.C_in.Xi_outflow); + Relative_Humidity_sensor.h = inStream(Relative_Humidity_sensor.C_in.h_outflow); + Relative_Humidity_sensor.state = setState_phX_Unique50(Relative_Humidity_sensor.P, + Relative_Humidity_sensor.h, Relative_Humidity_sensor.Xi); + assert(Relative_Humidity_sensor.Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // end of extends + equation + Relative_Humidity_sensor.flow_model.Xi[1] = massFraction_pTphi_Unique71( + Relative_Humidity_sensor.P, Relative_Humidity_sensor.flow_model.T_in, + Relative_Humidity_sensor.relative_humidity); + Relative_Humidity_sensor.relative_humidity_pc = Relative_Humidity_sensor.relative_humidity + *100; + if (Relative_Humidity_sensor.signal_unit == "") then + Relative_Humidity_sensor.H_sensor = Relative_Humidity_sensor.relative_humidity; + elseif (Relative_Humidity_sensor.signal_unit == "%") then + Relative_Humidity_sensor.H_sensor = Relative_Humidity_sensor.relative_humidity_pc; + end if; + Relative_Humidity_sensor.flow_model.C_in.P = Relative_Humidity_sensor.C_in.P; + Relative_Humidity_sensor.C_in.Q-Relative_Humidity_sensor.flow_model.C_in.Q + = 0.0; + Relative_Humidity_sensor.flow_model.C_out.P = Relative_Humidity_sensor.C_out.P; + Relative_Humidity_sensor.C_out.Q-Relative_Humidity_sensor.flow_model.C_out.Q + = 0.0; + + // Component HRSG_friction + // class MetroscopeModelingLibrary.FlueGases.Pipes.FrictionPipe + // extends MetroscopeModelingLibrary.Partial.BaseClasses.FlowModel + equation + HRSG_friction.h_in = inStream(HRSG_friction.C_in.h_outflow); + HRSG_friction.h_out = HRSG_friction.C_out.h_outflow; + HRSG_friction.Q = HRSG_friction.C_in.Q; + HRSG_friction.P_in = HRSG_friction.C_in.P; + HRSG_friction.P_out = HRSG_friction.C_out.P; + HRSG_friction.Xi = inStream(HRSG_friction.C_in.Xi_outflow); + HRSG_friction.C_in.h_outflow = 1000000.0; + HRSG_friction.C_in.Xi_outflow = zeros(5); + HRSG_friction.state_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (HRSG_friction.P_in, HRSG_friction.h_in, HRSG_friction.Xi); + HRSG_friction.state_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.setState_phX_Unique1 + (HRSG_friction.P_out, HRSG_friction.h_out, HRSG_friction.Xi); + HRSG_friction.T_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + HRSG_friction.state_in); + HRSG_friction.T_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.temperature_Unique6 + ( + HRSG_friction.state_out); + HRSG_friction.rho_in = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + HRSG_friction.state_in); + HRSG_friction.rho_out = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.density_Unique7 + ( + HRSG_friction.state_out); + HRSG_friction.rho = (HRSG_friction.rho_in+HRSG_friction.rho_out)/2; + HRSG_friction.Qv_in = HRSG_friction.Q/HRSG_friction.rho_in; + HRSG_friction.Qv_out = -HRSG_friction.Q/HRSG_friction.rho_out; + HRSG_friction.Qv = (HRSG_friction.Qv_in-HRSG_friction.Qv_out)/2; + HRSG_friction.P_out-HRSG_friction.P_in = HRSG_friction.DP; + HRSG_friction.Q*(HRSG_friction.h_out-HRSG_friction.h_in) = HRSG_friction.W; + HRSG_friction.h_out-HRSG_friction.h_in = HRSG_friction.DH; + HRSG_friction.T_out-HRSG_friction.T_in = HRSG_friction.DT; + HRSG_friction.C_in.Q+HRSG_friction.C_out.Q = 0; + HRSG_friction.C_out.Xi_outflow = inStream(HRSG_friction.C_in.Xi_outflow); + assert(HRSG_friction.Q > 0, "Wrong flow sign. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", + AssertionLevel.warning); + // extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoHFlowModel + equation + HRSG_friction.h = HRSG_friction.h_in; + HRSG_friction.DH = 0; + // extends MetroscopeModelingLibrary.Partial.Pipes.FrictionPipe + equation + if ( not HRSG_friction.faulty) then + HRSG_friction.fouling = 0; + end if; + HRSG_friction.DP = -(1+HRSG_friction.fouling/100)*HRSG_friction.Kfr* + HRSG_friction.Q*abs(HRSG_friction.Q)/HRSG_friction.rho_in; + // end of extends + + // This model + // class MetroscopeModelingLibrary.Examples.CCGT.MetroscopiaCCGT.MetroscopiaCCGT_reverse + equation + source_fuel.Xi_out = {0.9, 0.05, 0, 0, 0.025, 0.025}; + combustionChamber.Kfr = 0.001; + combustionChamber.eta = 0.9999; + evaporator.x_steam_out = 1; + condenser.water_height = 1; + condenser.C_incond = 0; + condenser.P_offset = 0; + condenser.Kfr_cold = 0; + Q_source_air_sensor.C_out.P = AirFilter.C_in.P; + AirFilter.C_in.Q+Q_source_air_sensor.C_out.Q = 0.0; + P_filter_out_sensor.C_in.P = AirFilter.C_out.P; + AirFilter.C_out.Q+P_filter_out_sensor.C_in.Q = 0.0; + Filter_Kfr = AirFilter.Kfr; + P_w_eco_out_sensor.C_out.P = Evap_controlValve.C_in.P; + Evap_controlValve.C_in.Q+P_w_eco_out_sensor.C_out.Q = 0.0; + T_w_eco_out_sensor.C_in.P = Evap_controlValve.C_out.P; + Evap_controlValve.C_out.Q+T_w_eco_out_sensor.C_in.Q = 0.0; + Evap_controlValve_Cv_max = Evap_controlValve.Cv_max; + Evap_opening_sensor.Opening = Evap_controlValve.Opening; + Evap_opening_sensor.opening_sensor = Evap_opening; + GT_generator.C_in.W+airCompressor.C_W_in.W+gasTurbine.C_W_shaft.W = 0.0; + GT_generator.C_out.W+W_GT_sensor.C_in.W = 0.0; + displayer.C_out.P = HPST_control_valve.C_in.P; + HPST_control_valve.C_in.Q+displayer.C_out.Q = 0.0; + P_HPST_in_sensor.C_in.P = HPST_control_valve.C_out.P; + HPST_control_valve.C_out.Q+P_HPST_in_sensor.C_in.Q = 0.0; + HPST_control_valve_Cv = HPST_control_valve.Cv; + HPsteamTurbine.C_W_out.W+LPsteamTurbine.C_W_out.W+ST_generator.C_in.W = 0.0; + P_HPST_in_sensor.C_out.P = HPsteamTurbine.C_in.P; + HPsteamTurbine.C_in.Q+P_HPST_in_sensor.C_out.Q = 0.0; + P_HPST_out_sensor.C_in.P = HPsteamTurbine.C_out.P; + HPsteamTurbine.C_out.Q+P_HPST_out_sensor.C_in.Q = 0.0; + HPsteamTurbine_Cst = HPsteamTurbine.Cst; + HPsteamTurbine_eta_is = HPsteamTurbine.eta_is; + P_w_evap_out_sensor.C_out.P = HPsuperheater1.C_cold_in.P; + HPsuperheater1.C_cold_in.Q+P_w_evap_out_sensor.C_out.Q = 0.0; + T_w_HPSH1_out_sensor.C_in.P = HPsuperheater1.C_cold_out.P; + HPsuperheater1.C_cold_out.Q+T_w_HPSH1_out_sensor.C_in.Q = 0.0; + HPsuperheater2.C_hot_out.P = HPsuperheater1.C_hot_in.P; + HPsuperheater1.C_hot_in.Q+HPsuperheater2.C_hot_out.Q = 0.0; + Reheater.C_hot_in.P = HPsuperheater1.C_hot_out.P; + HPsuperheater1.C_hot_out.Q+Reheater.C_hot_in.Q = 0.0; + HPsuperheater1_Kfr_cold = HPsuperheater1.Kfr_cold; + HPsuperheater1_Kth = HPsuperheater1.Kth; + P_w_HPSH1_out_sensor.C_out.P = HPsuperheater2.C_cold_in.P; + deSH_controlValve.C_out.P = HPsuperheater2.C_cold_in.P; + HPsuperheater2.C_cold_in.Q+P_w_HPSH1_out_sensor.C_out.Q+deSH_controlValve.C_out.Q + = 0.0; + T_w_HPSH2_out_sensor.C_in.P = HPsuperheater2.C_cold_out.P; + HPsuperheater2.C_cold_out.Q+T_w_HPSH2_out_sensor.C_in.Q = 0.0; + turbine_P_out_sensor.C_out.P = HPsuperheater2.C_hot_in.P; + HPsuperheater2.C_hot_in.Q+turbine_P_out_sensor.C_out.Q = 0.0; + HPsuperheater2_Kfr_cold = HPsuperheater2.Kfr_cold; + HPsuperheater2_Kth = HPsuperheater2.Kth; + evaporator.C_hot_out.P = HRSG_friction.C_in.P; + HRSG_friction.C_in.Q+evaporator.C_hot_out.Q = 0.0; + economiser.C_hot_in.P = HRSG_friction.C_out.P; + HRSG_friction.C_out.Q+economiser.C_hot_in.Q = 0.0; + HRSG_friction_Kfr = HRSG_friction.Kfr; + P_w_ReH_out_sensor.C_out.P = LPST_control_valve.C_in.P; + LPST_control_valve.C_in.Q+P_w_ReH_out_sensor.C_out.Q = 0.0; + P_LPST_in_sensor.C_in.P = LPST_control_valve.C_out.P; + LPST_control_valve.C_out.Q+P_LPST_in_sensor.C_in.Q = 0.0; + LPST_control_valve_Cv = LPST_control_valve.Cv; + P_LPST_in_sensor.C_out.P = LPsteamTurbine.C_in.P; + LPsteamTurbine.C_in.Q+P_LPST_in_sensor.C_out.Q = 0.0; + P_Cond_sensor.C_in.P = LPsteamTurbine.C_out.P; + LPsteamTurbine.C_out.Q+P_Cond_sensor.C_in.Q = 0.0; + LPsteamTurbine_Cst = LPsteamTurbine.Cst; + LPsteamTurbine_eta_is = LPsteamTurbine.eta_is; + P_Cond_sensor.P_sensor = P_Cond; + condenser.C_hot_in.P = P_Cond_sensor.C_out.P; + P_Cond_sensor.C_out.Q+condenser.C_hot_in.Q = 0.0; + P_HPST_in_sensor.P_sensor = P_HPST_in; + P_HPST_out_sensor.P_sensor = P_HPST_out; + T_HPST_out_sensor.C_in.P = P_HPST_out_sensor.C_out.P; + P_HPST_out_sensor.C_out.Q+T_HPST_out_sensor.C_in.Q = 0.0; + P_LPST_in_sensor.P_sensor = P_LPST_in; + P_circulating_water_in_sensor.P_sensor = P_circulating_water_in; + T_circulating_water_in_sensor.C_out.P = P_circulating_water_in_sensor.C_in.P; + P_circulating_water_in_sensor.C_in.Q+T_circulating_water_in_sensor.C_out.Q + = 0.0; + condenser.C_cold_in.P = P_circulating_water_in_sensor.C_out.P; + P_circulating_water_in_sensor.C_out.Q+condenser.C_cold_in.Q = 0.0; + P_filter_out_sensor.P_sensor = P_filter_out; + airCompressor.C_in.P = P_filter_out_sensor.C_out.P; + P_filter_out_sensor.C_out.Q+airCompressor.C_in.Q = 0.0; + P_flue_gas_sink_sensor.P_sensor = P_flue_gas_sink; + T_flue_gas_sink_sensor.C_out.P = P_flue_gas_sink_sensor.C_in.P; + P_flue_gas_sink_sensor.C_in.Q+T_flue_gas_sink_sensor.C_out.Q = 0.0; + flue_gas_sink.C_in.P = P_flue_gas_sink_sensor.C_out.P; + P_flue_gas_sink_sensor.C_out.Q+flue_gas_sink.C_in.Q = 0.0; + P_fuel_source_sensor.P_sensor = P_fuel_source; + T_fuel_source_sensor.C_out.P = P_fuel_source_sensor.C_in.P; + P_fuel_source_sensor.C_in.Q+T_fuel_source_sensor.C_out.Q = 0.0; + Q_fuel_source_sensor.C_in.P = P_fuel_source_sensor.C_out.P; + P_fuel_source_sensor.C_out.Q+Q_fuel_source_sensor.C_in.Q = 0.0; + P_pumpRec_out_sensor.P_sensor = P_pumpRec_out; + T_pumpRec_out_sensor.C_out.P = P_pumpRec_out_sensor.C_in.P; + P_pumpRec_out_sensor.C_in.Q+T_pumpRec_out_sensor.C_out.Q = 0.0; + Q_pumpRec_out_sensor.C_in.P = P_pumpRec_out_sensor.C_out.P; + P_pumpRec_out_sensor.C_out.Q+Q_pumpRec_out_sensor.C_in.Q = 0.0; + P_pump_out_sensor.P_sensor = P_pump_out; + T_pump_out_sensor.C_out.P = P_pump_out_sensor.C_in.P; + P_pump_out_sensor.C_in.Q+T_pump_out_sensor.C_out.Q = 0.0; + Q_pump_out_sensor.C_in.P = P_pump_out_sensor.C_out.P; + P_pump_out_sensor.C_out.Q+Q_pump_out_sensor.C_in.Q = 0.0; + P_source_air_sensor.P_sensor = P_source_air; + flueGasesDisplayer.C_out.P = P_source_air_sensor.C_in.P; + P_source_air_sensor.C_in.Q+flueGasesDisplayer.C_out.Q = 0.0; + T_source_air_sensor.C_in.P = P_source_air_sensor.C_out.P; + P_source_air_sensor.C_out.Q+T_source_air_sensor.C_in.Q = 0.0; + P_w_HPSH1_out_sensor.P_sensor = P_w_HPSH1_out; + P_w_ReH_out_sensor.P_sensor = P_w_HPSH1_out1; + T_w_HPSH1_out_sensor.C_out.P = P_w_HPSH1_out_sensor.C_in.P; + P_w_HPSH1_out_sensor.C_in.Q+T_w_HPSH1_out_sensor.C_out.Q = 0.0; + P_w_HPSH2_out_sensor.P_sensor = P_w_HPSH2_out; + T_w_HPSH2_out_sensor.C_out.P = P_w_HPSH2_out_sensor.C_in.P; + P_w_HPSH2_out_sensor.C_in.Q+T_w_HPSH2_out_sensor.C_out.Q = 0.0; + displayer.C_in.P = P_w_HPSH2_out_sensor.C_out.P; + P_w_HPSH2_out_sensor.C_out.Q+displayer.C_in.Q = 0.0; + T_w_ReH_out_sensor.C_out.P = P_w_ReH_out_sensor.C_in.P; + P_w_ReH_out_sensor.C_in.Q+T_w_ReH_out_sensor.C_out.Q = 0.0; + P_w_eco_out_sensor.P_sensor = P_w_eco_out; + economiser.C_cold_out.P = P_w_eco_out_sensor.C_in.P; + pumpRec.C_in.P = P_w_eco_out_sensor.C_in.P; + P_w_eco_out_sensor.C_in.Q+economiser.C_cold_out.Q+pumpRec.C_in.Q = 0.0; + P_w_evap_out_sensor.P_sensor = P_w_evap_out; + evaporator.C_cold_out.P = P_w_evap_out_sensor.C_in.P; + P_w_evap_out_sensor.C_in.Q+evaporator.C_cold_out.Q = 0.0; + Q_deSH_sensor.Q_sensor = Q_deSH; + Q_pump_out_sensor.C_out.P = Q_deSH_sensor.C_in.P; + loopBreaker.C_in.P = Q_deSH_sensor.C_in.P; + pumpRec_controlValve.C_out.P = Q_deSH_sensor.C_in.P; + Q_deSH_sensor.C_in.Q+Q_pump_out_sensor.C_out.Q+loopBreaker.C_in.Q+ + pumpRec_controlValve.C_out.Q = 0.0; + deSH_controlValve.C_in.P = Q_deSH_sensor.C_out.P; + Q_deSH_sensor.C_out.Q+deSH_controlValve.C_in.Q = 0.0; + Q_fuel_source_sensor.Q_sensor = Q_fuel_source; + combustionChamber.inlet1.P = Q_fuel_source_sensor.C_out.P; + Q_fuel_source_sensor.C_out.Q+combustionChamber.inlet1.Q = 0.0; + Q_pumpRec_out_sensor.Q_sensor = Q_pumpRec_out; + pumpRec_controlValve.C_in.P = Q_pumpRec_out_sensor.C_out.P; + Q_pumpRec_out_sensor.C_out.Q+pumpRec_controlValve.C_in.Q = 0.0; + Q_pump_out_sensor.Q_sensor = Q_pump_out; + Q_source_air_sensor.Q_sensor = Q_source_air; + T_source_air_sensor.C_out.P = Q_source_air_sensor.C_in.P; + Q_source_air_sensor.C_in.Q+T_source_air_sensor.C_out.Q = 0.0; + T_HPST_out_sensor.C_out.P = Reheater.C_cold_in.P; + Reheater.C_cold_in.Q+T_HPST_out_sensor.C_out.Q = 0.0; + T_w_ReH_out_sensor.C_in.P = Reheater.C_cold_out.P; + Reheater.C_cold_out.Q+T_w_ReH_out_sensor.C_in.Q = 0.0; + evaporator.C_hot_in.P = Reheater.C_hot_out.P; + Reheater.C_hot_out.Q+evaporator.C_hot_in.Q = 0.0; + Reheater_Kfr_cold = Reheater.Kfr_cold; + Reheater_Kth = Reheater.Kth; + Relative_Humidity_sensor.H_sensor = Relative_Humidity; + source_air.C_out.P = Relative_Humidity_sensor.C_in.P; + Relative_Humidity_sensor.C_in.Q+source_air.C_out.Q = 0.0; + moistAirDisplayer.C_in.P = Relative_Humidity_sensor.C_out.P; + Relative_Humidity_sensor.C_out.Q+moistAirDisplayer.C_in.Q = 0.0; + ST_generator.C_out.W+W_ST_out_sensor.C_in.W = 0.0; + T_HPST_out_sensor.T_sensor = T_HPST_out; + T_circulating_water_in_sensor.T_sensor = T_circulating_water_in; + circulating_water_source.C_out.P = T_circulating_water_in_sensor.C_in.P; + T_circulating_water_in_sensor.C_in.Q+circulating_water_source.C_out.Q = 0.0; + T_circulating_water_out_sensor.T_sensor = T_circulating_water_out; + condenser.C_cold_out.P = T_circulating_water_out_sensor.C_in.P; + T_circulating_water_out_sensor.C_in.Q+condenser.C_cold_out.Q = 0.0; + circulating_water_sink.C_in.P = T_circulating_water_out_sensor.C_out.P; + T_circulating_water_out_sensor.C_out.Q+circulating_water_sink.C_in.Q = 0.0; + T_flue_gas_sink_sensor.T_sensor = T_flue_gas_sink; + economiser.C_hot_out.P = T_flue_gas_sink_sensor.C_in.P; + T_flue_gas_sink_sensor.C_in.Q+economiser.C_hot_out.Q = 0.0; + T_fuel_source_sensor.T_sensor = T_fuel_source; + fuelDisplayer.C_out.P = T_fuel_source_sensor.C_in.P; + T_fuel_source_sensor.C_in.Q+fuelDisplayer.C_out.Q = 0.0; + T_pumpRec_out_sensor.T_sensor = T_pumpRec_out; + pumpRec.C_out.P = T_pumpRec_out_sensor.C_in.P; + T_pumpRec_out_sensor.C_in.Q+pumpRec.C_out.Q = 0.0; + T_pump_out_sensor.T_sensor = T_pump_out; + pump.C_out.P = T_pump_out_sensor.C_in.P; + T_pump_out_sensor.C_in.Q+pump.C_out.Q = 0.0; + T_source_air_sensor.T_sensor = T_source_air; + T_w_HPSH1_out_sensor.T_sensor = T_w_HPSH1_out; + T_w_ReH_out_sensor.T_sensor = T_w_HPSH1_out1; + T_w_HPSH2_out_sensor.T_sensor = T_w_HPSH2_out; + T_w_eco_in_sensor.T_sensor = T_w_eco_in; + loopBreaker.C_out.P = T_w_eco_in_sensor.C_in.P; + T_w_eco_in_sensor.C_in.Q+loopBreaker.C_out.Q = 0.0; + economiser.C_cold_in.P = T_w_eco_in_sensor.C_out.P; + T_w_eco_in_sensor.C_out.Q+economiser.C_cold_in.Q = 0.0; + T_w_eco_out_sensor.T_sensor = T_w_eco_out; + evaporator.C_cold_in.P = T_w_eco_out_sensor.C_out.P; + T_w_eco_out_sensor.C_out.Q+evaporator.C_cold_in.Q = 0.0; + W_GT_sensor.W_sensor = W_GT; + W_GT_sensor.C_out.W+sink_power.C_in.W = 0.0; + W_ST_out_sensor.W_sensor = W_ST_out; + W_ST_out_sensor.C_out.W+sink.C_in.W = 0.0; + compressor_P_out_sensor.C_in.P = airCompressor.C_out.P; + airCompressor.C_out.Q+compressor_P_out_sensor.C_in.Q = 0.0; + compressor_eta_is = airCompressor.eta_is; + compression_rate = airCompressor.tau; + compressor_T_out_sensor.C_out.P = combustionChamber.inlet.P; + combustionChamber.inlet.Q+compressor_T_out_sensor.C_out.Q = 0.0; + gasTurbine.C_in.P = combustionChamber.outlet.P; + combustionChamber.outlet.Q+gasTurbine.C_in.Q = 0.0; + compressor_P_out_sensor.P_sensor = compressor_P_out; + compressor_T_out_sensor.C_in.P = compressor_P_out_sensor.C_out.P; + compressor_P_out_sensor.C_out.Q+compressor_T_out_sensor.C_in.Q = 0.0; + compressor_T_out_sensor.T_sensor = compressor_T_out; + pump.C_in.P = condenser.C_hot_out.P; + condenser.C_hot_out.Q+pump.C_in.Q = 0.0; + condenser_Kth = condenser.Kth; + condenser_Qv_cold_in = condenser.Qv_cold_in; + deSH_controlValve_Cv_max = deSH_controlValve.Cv_max; + deSH_opening_sensor.Opening = deSH_controlValve.Opening; + deSH_opening_sensor.opening_sensor = deSH_opening; + economizer_Kfr_cold = economiser.Kfr_cold; + economizer_Kth = economiser.Kth; + moistAir_to_FlueGases.outlet.P = flueGasesDisplayer.C_in.P; + flueGasesDisplayer.C_in.Q+moistAir_to_FlueGases.outlet.Q = 0.0; + source_fuel.C_out.P = fuelDisplayer.C_in.P; + fuelDisplayer.C_in.Q+source_fuel.C_out.Q = 0.0; + turbine_T_out_sensor.C_in.P = gasTurbine.C_out.P; + gasTurbine.C_out.Q+turbine_T_out_sensor.C_in.Q = 0.0; + turbine_eta_is = gasTurbine.eta_is; + moistAir_to_FlueGases.inlet.P = moistAirDisplayer.C_out.P; + moistAirDisplayer.C_out.Q+moistAir_to_FlueGases.inlet.Q = 0.0; + pump_hn = pump.hn; + pump_rh = pump.rh; + pumpRec_hn = pumpRec.hn; + pumpRec_rh = pumpRec.rh; + pumpRec_controlValve_Cv_max = pumpRec_controlValve.Cv_max; + pumpRec_opening_sensor.Opening = pumpRec_controlValve.Opening; + pumpRec_opening_sensor.opening_sensor = pumpRec_opening; + turbine_P_out_sensor.P_sensor = turbine_P_out; + turbine_T_out_sensor.C_out.P = turbine_P_out_sensor.C_in.P; + turbine_P_out_sensor.C_in.Q+turbine_T_out_sensor.C_out.Q = 0.0; + turbine_T_out_sensor.T_sensor = turbine_T_out; + +end MetroscopiaCCGT_reverse; diff --git a/MetroscopeModelingLibrary/MoistAir/Pipes/Pipe.mo b/MetroscopeModelingLibrary/MoistAir/Pipes/Pipe.mo index d608f8be..e9bbdd38 100644 --- a/MetroscopeModelingLibrary/MoistAir/Pipes/Pipe.mo +++ b/MetroscopeModelingLibrary/MoistAir/Pipes/Pipe.mo @@ -2,7 +2,8 @@ within MetroscopeModelingLibrary.MoistAir.Pipes; model Pipe extends MetroscopeModelingLibrary.Utilities.Icons.KeepingScaleIcon; package MoistAirMedium = MetroscopeModelingLibrary.Utilities.Media.MoistAirMedium; - extends Partial.Pipes.Pipe( + extends Partial.Pipes.FrictionPipe + ( redeclare MetroscopeModelingLibrary.MoistAir.Connectors.Inlet C_in, redeclare MetroscopeModelingLibrary.MoistAir.Connectors.Outlet C_out, redeclare package Medium = MoistAirMedium) annotation(IconMap(primitivesVisible=false)); diff --git a/MetroscopeModelingLibrary/MultiFluid/HeatExchangers/AirCooledCondenser.mo b/MetroscopeModelingLibrary/MultiFluid/HeatExchangers/AirCooledCondenser.mo index 128c3e0b..761cd571 100644 --- a/MetroscopeModelingLibrary/MultiFluid/HeatExchangers/AirCooledCondenser.mo +++ b/MetroscopeModelingLibrary/MultiFluid/HeatExchangers/AirCooledCondenser.mo @@ -6,9 +6,7 @@ model AirCooledCondenser import MetroscopeModelingLibrary.Utilities.Units; import MetroscopeModelingLibrary.Utilities.Units.Inputs; - Inputs.InputArea S; - Units.HeatExchangeCoefficient Kth; - Inputs.InputFrictionCoefficient Kfr_hot; + parameter Units.Area S = 10000; Units.Power W; @@ -25,9 +23,10 @@ model AirCooledCondenser Units.Pressure Psat(start=Psat_0, nominal=Psat_0); Units.Temperature Tsat(start=Tsat_0); - Units.Pressure P_incond(start=0.001e5); - Inputs.InputReal C_incond(unit="mol/m3", min=0) "Incondensable molar concentration"; - Inputs.InputPressure P_offset(start=0) "Offset correction for ideal gas law"; + parameter Units.Pressure P_incond = 0; + Real C_incond(unit="mol/m3", min=0) + "Incondensable molar concentration"; + parameter Units.Pressure P_offset = 0 "Offset correction for ideal gas law"; constant Real R(unit="J/(mol.K)") = Modelica.Constants.R "ideal gas constant"; // Failure modes @@ -105,8 +104,7 @@ model AirCooledCondenser rotation=270, origin={0,-50}))); - MetroscopeModelingLibrary.WaterSteam.Pipes.Pipe hot_side_pipe annotation ( - Placement(transformation( + MetroscopeModelingLibrary.WaterSteam.Pipes.FrictionPipe hot_side_pipe annotation (Placement(transformation( extent={{-10,-10},{10,10}}, rotation=270, origin={-50,80}))); @@ -115,6 +113,20 @@ model AirCooledCondenser extent={{-10,-10},{10,10}}, rotation=180, origin={0,14}))); + Utilities.Interfaces.GenericReal Kth annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={-80,120}), iconTransformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={-80,110}))); + Utilities.Interfaces.GenericReal Kfr_hot annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={80,120}), iconTransformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={80,110}))); equation // Failure modes @@ -145,7 +157,6 @@ equation incondensables_out.DP = + P_incond; // Pressure losses - hot_side_pipe.delta_z = 0; hot_side_pipe.Kfr = Kfr_hot; /* Condensation */ @@ -186,6 +197,7 @@ equation connect(C_cold_in, cold_side_condensing.C_in) annotation (Line(points={{-100,0},{-13.5,0}},color={85,170,255})); connect(cold_side_condensing.C_out, C_cold_out) annotation (Line(points={{13.5,0},{90,0}}, color={85,170,255})); connect(hot_side_condensing.C_out, incondensables_out.C_in) annotation (Line(points={{14.5,30},{30,30},{30,-20},{0,-20},{0,-40}}, color={28,108,200})); + connect(Kth, Kth) annotation (Line(points={{-80,120},{-80,120}}, color={0,0,127})); annotation (Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100,-80}, {100,100}}), graphics={ Ellipse( diff --git a/MetroscopeModelingLibrary/MultiFluid/HeatExchangers/AirCooledCondenser_with_subcooling.mo b/MetroscopeModelingLibrary/MultiFluid/HeatExchangers/AirCooledCondenser_with_subcooling.mo index 0dd323c2..e1f1eea7 100644 --- a/MetroscopeModelingLibrary/MultiFluid/HeatExchangers/AirCooledCondenser_with_subcooling.mo +++ b/MetroscopeModelingLibrary/MultiFluid/HeatExchangers/AirCooledCondenser_with_subcooling.mo @@ -111,8 +111,7 @@ model AirCooledCondenser_with_subcooling rotation=270, origin={0,-50}))); - MetroscopeModelingLibrary.WaterSteam.Pipes.Pipe hot_side_pipe annotation ( - Placement(transformation( + MetroscopeModelingLibrary.WaterSteam.Pipes.FrictionPipe hot_side_pipe annotation (Placement(transformation( extent={{-10,-10},{10,10}}, rotation=270, origin={-50,80}))); diff --git a/MetroscopeModelingLibrary/MultiFluid/HeatExchangers/Economiser.mo b/MetroscopeModelingLibrary/MultiFluid/HeatExchangers/Economiser.mo index 5e40edfc..2680e6fb 100644 --- a/MetroscopeModelingLibrary/MultiFluid/HeatExchangers/Economiser.mo +++ b/MetroscopeModelingLibrary/MultiFluid/HeatExchangers/Economiser.mo @@ -20,7 +20,7 @@ equation lineColor={0,0,0}, fillColor={215,215,215}, fillPattern=FillPattern.Solid), Line( - points={{40,80},{40,-80},{10,-80},{12,80},{-12,80},{-14,-80},{-40,-80},{-40,78}}, + points={{40,80},{40,-52},{10,-52},{12,52},{-12,52},{-12,-52},{-40,-52},{-40,78}}, color={28,108,200}, smooth=Smooth.Bezier, thickness=1)})); diff --git a/MetroscopeModelingLibrary/MultiFluid/HeatExchangers/Evaporator.mo b/MetroscopeModelingLibrary/MultiFluid/HeatExchangers/Evaporator.mo index 84dc09b2..d40dac31 100644 --- a/MetroscopeModelingLibrary/MultiFluid/HeatExchangers/Evaporator.mo +++ b/MetroscopeModelingLibrary/MultiFluid/HeatExchangers/Evaporator.mo @@ -6,19 +6,16 @@ model Evaporator import MetroscopeModelingLibrary.Utilities.Units.Inputs; // Pressure Losses - Inputs.InputFrictionCoefficient Kfr_cold; - Inputs.InputFrictionCoefficient Kfr_hot(start=0); - Inputs.InputArea S; + parameter Units.Area S = 15000; + parameter Units.MassFraction x_steam_out = 1; // Steam mass fraction at water outlet // Heating Units.Power W_heating; // Vaporisation - Inputs.InputHeatExchangeCoefficient Kth; parameter String HX_config="evaporator"; Units.Power W_vap; - Units.MassFraction x_steam_out(start=1); // Steam mass fraction at water outlet Units.SpecificEnthalpy h_vap_sat(start=h_vap_sat_0); Units.SpecificEnthalpy h_liq_sat(start=h_liq_sat_0); Units.Temperature Tsat(start=T_cold_out_0); @@ -62,31 +59,26 @@ model Evaporator parameter Units.SpecificEnthalpy h_hot_in_0 = 8.05e5; parameter Units.SpecificEnthalpy h_hot_out_0 = 6.5e5; - FlueGases.Pipes.Pipe hot_side_pipe(Q_0=Q_hot_0, h_0=h_hot_in_0, P_in_0=P_hot_in_0, P_out_0=P_hot_out_0) annotation (Placement(transformation(extent={{-58,-30},{-38,-10}}))); Power.HeatExchange.NTUHeatExchange HX_vaporising(config=HX_config, T_cold_in_0=T_cold_in_0) annotation (Placement(transformation( extent={{-10,-10},{10,10}}, rotation=0, - origin={-20,0}))); + origin={-20,16}))); FlueGases.BaseClasses.IsoPFlowModel hot_side_vaporising(Q_0=Q_hot_0, P_0=P_hot_out_0, h_in_0=h_hot_in_0) annotation (Placement(transformation( extent={{10,-10},{-10,10}}, rotation=180, - origin={-20,-20}))); + origin={-20,0}))); WaterSteam.BaseClasses.IsoPFlowModel cold_side_vaporising(Q_0=Q_cold_0, P_in_0=P_cold_out_0, h_in_0=h_liq_sat_0, h_out_0=h_vap_sat_0) annotation (Placement(transformation( extent={{10,10},{-10,-10}}, rotation=0, - origin={-20,20}))); - WaterSteam.Pipes.Pipe cold_side_pipe(Q_0=Q_cold_0, h_0=h_cold_in_0, P_in_0=P_cold_in_0, P_out_0=P_cold_out_0) annotation (Placement(transformation( - extent={{10,-10},{-10,10}}, - rotation=90, - origin={42,34}))); + origin={-20,30}))); FlueGases.BaseClasses.IsoPFlowModel hot_side_heating(Q_0=Q_hot_0, P_0=P_hot_out_0, h_out_0=h_hot_out_0) annotation (Placement(transformation( extent={{10,-10},{-10,10}}, rotation=180, - origin={20,-20}))); + origin={20,0}))); WaterSteam.BaseClasses.IsoPFlowModel cold_side_heating(Q_0=Q_cold_0, h_in_0=h_cold_in_0, P_0=P_cold_out_0, h_out_0=h_liq_sat_0) annotation (Placement(transformation( extent={{10,10},{-10,-10}}, rotation=0, - origin={20,20}))); + origin={20,30}))); FlueGases.Connectors.Inlet C_hot_in(Q(start=Q_hot_0), P(start=P_hot_in_0)) annotation (Placement(transformation( extent={{-110,-10},{-90,10}}),iconTransformation(extent={{-110,-10},{-90,10}}))); FlueGases.Connectors.Outlet C_hot_out(Q(start=-Q_hot_0), P(start=P_hot_out_0), h_outflow(start = h_hot_out_0)) annotation (Placement(transformation( @@ -95,6 +87,13 @@ model Evaporator extent={{30,70},{50,90}}), iconTransformation(extent={{30,70},{50,90}}))); WaterSteam.Connectors.Outlet C_cold_out(Q(start=-Q_cold_0), P(start=P_cold_out_0), h_outflow(start = h_vap_sat_0)) annotation (Placement(transformation(extent={{-50,70},{-30,90}}), iconTransformation(extent={{-50,70},{-30,90}}))); + Utilities.Interfaces.GenericReal Kth annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=270, + origin={0,-60}), iconTransformation( + extent={{-10,-10},{10,10}}, + rotation=270, + origin={0,-70}))); equation // Failure modes if not faulty then @@ -115,12 +114,6 @@ equation // Indicators T_approach = cold_side_heating.DT; - // Pressure losses - cold_side_pipe.delta_z=0; - cold_side_pipe.Kfr = Kfr_cold; - hot_side_pipe.delta_z=0; - hot_side_pipe.Kfr = Kfr_hot; - /* heating*/ // Energy balance hot_side_heating.W + cold_side_heating.W = 0; @@ -157,15 +150,12 @@ equation assert(pinch > 0, "A negative pinch is reached", AssertionLevel.warning); // Ensure a positive pinch assert(pinch > 1 or pinch < 0, "A very low pinch (<1) is reached", AssertionLevel.warning); // Ensure a sufficient pinch - connect(hot_side_pipe.C_out,hot_side_vaporising. C_in) annotation (Line(points={{-38,-20},{-30,-20}}, color={95,95,95})); - connect(C_cold_in,cold_side_pipe. C_in) annotation (Line(points={{40,80},{40,58},{42,58},{42,44}}, - color={28,108,200})); - connect(hot_side_pipe.C_in,C_hot_in) annotation (Line(points={{-58,-20},{-100,-20},{-100,0}},color={95,95,95})); - connect(cold_side_vaporising.C_in,cold_side_heating. C_out) annotation (Line(points={{-10,20},{10,20}}, color={28,108,200})); - connect(cold_side_pipe.C_out,cold_side_heating. C_in) annotation (Line(points={{42,24},{42,20},{30,20}}, color={28,108,200})); - connect(hot_side_vaporising.C_out,hot_side_heating. C_in) annotation (Line(points={{-10,-20},{10,-20}}, color={95,95,95})); - connect(hot_side_heating.C_out,C_hot_out) annotation (Line(points={{30,-20},{100,-20},{100,0}},color={95,95,95})); - connect(cold_side_vaporising.C_out, C_cold_out) annotation (Line(points={{-30,20},{-30,80},{-40,80}}, color={28,108,200})); + connect(cold_side_vaporising.C_in,cold_side_heating. C_out) annotation (Line(points={{-10,30},{10,30}}, color={28,108,200})); + connect(hot_side_vaporising.C_out,hot_side_heating. C_in) annotation (Line(points={{-10,0},{10,0}}, color={95,95,95})); + connect(hot_side_heating.C_out,C_hot_out) annotation (Line(points={{30,0},{100,0}}, color={95,95,95})); + connect(cold_side_vaporising.C_out, C_cold_out) annotation (Line(points={{-30,30},{-40,30},{-40,80}}, color={28,108,200})); + connect(hot_side_vaporising.C_in, C_hot_in) annotation (Line(points={{-30,0},{-100,0}}, color={95,95,95})); + connect(cold_side_heating.C_in, C_cold_in) annotation (Line(points={{30,30},{40,30},{40,80}}, color={28,108,200})); annotation (Icon(coordinateSystem(preserveAspectRatio=false), graphics={ Rectangle( extent={{-100,60},{100,-60}}, diff --git a/MetroscopeModelingLibrary/MultiFluid/HeatExchangers/FuelHeater.mo b/MetroscopeModelingLibrary/MultiFluid/HeatExchangers/FuelHeater.mo index 7ed73876..2fd2dbd6 100644 --- a/MetroscopeModelingLibrary/MultiFluid/HeatExchangers/FuelHeater.mo +++ b/MetroscopeModelingLibrary/MultiFluid/HeatExchangers/FuelHeater.mo @@ -6,10 +6,6 @@ model FuelHeater import MetroscopeModelingLibrary.Utilities.Units; import MetroscopeModelingLibrary.Utilities.Units.Inputs; - // Pressure Losses - Inputs.InputFrictionCoefficient Kfr_cold; - Inputs.InputFrictionCoefficient Kfr_hot; - // Cp estimation temperatures: estimated temperature differences for both the hot and cold fluids parameter Boolean nominal_DT_default = true; Units.Temperature maximum_achiveable_temperature_difference; @@ -19,8 +15,7 @@ model FuelHeater // Heating parameter String QCp_max_side = "undefined";// On fuel heater, QCp_hot may be close to QCp_cold parameter String HX_config = "monophasic_counter_current"; - Inputs.InputArea S; - Inputs.InputHeatExchangeCoefficient Kth; + parameter Units.Area S = 3000; Units.Power W; // Definitions @@ -82,11 +77,37 @@ model FuelHeater origin={10,28}))); Fuel.Pipes.Pipe cold_side_pipe(Q_0=Q_cold_0, h_0=h_cold_in_0, T_0=T_cold_in_0, P_in_0=P_cold_in_0, P_out_0=P_cold_out_0) annotation (Placement(transformation(extent={{-52,-10},{-32,10}}))); Fuel.BaseClasses.IsoPFlowModel cold_side(Q_0=Q_cold_0, h_in_0=h_cold_in_0, T_in_0=T_cold_in_0, P_0=P_cold_in_0, T_out_0=T_cold_out_0, h_out_0=h_cold_out_0) annotation (Placement(transformation(extent={{0,-10},{20,10}}))); - WaterSteam.Pipes.Pipe hot_side_pipe(Q_0=Q_hot_0, h_0=h_hot_in_0, P_in_0=P_hot_in_0, P_out_0=P_hot_out_0) annotation (Placement(transformation( + WaterSteam.Pipes.FrictionPipe hot_side_pipe( + Q_0=Q_hot_0, + h_0=h_hot_in_0, + P_in_0=P_hot_in_0, + P_out_0=P_hot_out_0) annotation (Placement(transformation( extent={{10,-10},{-10,10}}, rotation=90, origin={40,44}))); + Utilities.Interfaces.GenericReal Kth annotation (Placement(transformation( + extent={{-20,-20},{20,20}}, + rotation=90, + origin={-90,80}), iconTransformation( + extent={{-20,-20},{20,20}}, + rotation=270, + origin={80,-80}))); + Utilities.Interfaces.GenericReal Kfr_cold annotation (Placement( + transformation( + extent={{-20,-20},{20,20}}, + rotation=90, + origin={-42,20}), iconTransformation( + extent={{-20,-20},{20,20}}, + rotation=180, + origin={-120,-40}))); + Utilities.Interfaces.GenericReal Kfr_hot annotation (Placement(transformation( + extent={{-20,-20},{20,20}}, + rotation=90, + origin={20,52}), iconTransformation( + extent={{-20,-20},{20,20}}, + rotation=90, + origin={80,80}))); equation // Failure modes @@ -106,12 +127,6 @@ equation // Energy balance hot_side.W + cold_side.W = 0; - // Pressure losses - cold_side_pipe.delta_z = 0; - cold_side_pipe.Kfr = Kfr_cold; - hot_side_pipe.delta_z = 0; - hot_side_pipe.Kfr = Kfr_hot; - // Power Exchange HX.W = W; HX.S = S; @@ -152,7 +167,12 @@ equation connect(hot_side.C_in, hot_side_pipe.C_out) annotation (Line(points={{20,28},{40,28},{40,34}}, color={28,108,200})); connect(hot_side_pipe.C_in, C_hot_in) annotation (Line(points={{40,54},{40,80}}, color={28,108,200})); connect(hot_side.C_out, C_hot_out) annotation (Line(points={{0,28},{-20,28},{-20,-80},{-40,-80}}, color={28,108,200})); - annotation (Icon(coordinateSystem(preserveAspectRatio=false), graphics={ + connect(cold_side_pipe.Kfr, Kfr_cold) + annotation (Line(points={{-42,4},{-42,4},{-42,20}}, color={0,0,127})); + connect(hot_side_pipe.Kfr, Kfr_hot) + annotation (Line(points={{36,44},{20,44},{20,52}}, color={0,0,127})); + annotation (Icon(coordinateSystem(preserveAspectRatio=false, extent={{-140, + -100},{100,100}}), graphics={ Rectangle( extent={{-100,60},{100,-60}}, lineColor={0,0,0}, @@ -163,5 +183,6 @@ equation thickness=1, smooth=Smooth.Bezier), Line(points={{122,-56}}, color={102,44,145})}), - Diagram(coordinateSystem(preserveAspectRatio=false))); + Diagram(coordinateSystem(preserveAspectRatio=false, extent={ + {-140,-100},{100,100}}))); end FuelHeater; diff --git a/MetroscopeModelingLibrary/MultiFluid/HeatExchangers/HXmoistAirWater.mo b/MetroscopeModelingLibrary/MultiFluid/HeatExchangers/HXmoistAirWater.mo index de2c8513..20c731ff 100644 --- a/MetroscopeModelingLibrary/MultiFluid/HeatExchangers/HXmoistAirWater.mo +++ b/MetroscopeModelingLibrary/MultiFluid/HeatExchangers/HXmoistAirWater.mo @@ -51,7 +51,7 @@ model HXmoistAirWater extent={{10,10},{-10,-10}}, rotation=0, origin={2,34}))); - WaterSteam.Pipes.Pipe cold_side_pipe(Q_0=Q_cold_0, T_in_0=T_cold_in_0) annotation (Placement(transformation( + WaterSteam.Pipes.FrictionPipe cold_side_pipe(Q_0=Q_cold_0, T_in_0=T_cold_in_0) annotation (Placement(transformation( extent={{10,-10},{-10,10}}, rotation=90, origin={-16,-24}))); diff --git a/MetroscopeModelingLibrary/MultiFluid/HeatExchangers/LMTDFuelHeater.mo b/MetroscopeModelingLibrary/MultiFluid/HeatExchangers/LMTDFuelHeater.mo index a1e91e6a..854ede74 100644 --- a/MetroscopeModelingLibrary/MultiFluid/HeatExchangers/LMTDFuelHeater.mo +++ b/MetroscopeModelingLibrary/MultiFluid/HeatExchangers/LMTDFuelHeater.mo @@ -53,7 +53,12 @@ model LMTDFuelHeater extent={{10,10},{-10,-10}}, rotation=0, origin={10,28}))); - WaterSteam.Pipes.Pipe hot_side_pipe(Q_0=Q_hot_0, P_in_0 = P_hot_in_0, P_out_0 = P_hot_out_0, h_0 = h_hot_in_0, T_0 = T_hot_in_0) annotation (Placement(transformation( + WaterSteam.Pipes.FrictionPipe hot_side_pipe( + Q_0=Q_hot_0, + P_in_0=P_hot_in_0, + P_out_0=P_hot_out_0, + h_0=h_hot_in_0, + T_0=T_hot_in_0) annotation (Placement(transformation( extent={{10,-10},{-10,10}}, rotation=90, origin={-14,-24}))); diff --git a/MetroscopeModelingLibrary/MultiFluid/HeatExchangers/Superheater.mo b/MetroscopeModelingLibrary/MultiFluid/HeatExchangers/Superheater.mo index 4f8c1b4f..2d9dcdc6 100644 --- a/MetroscopeModelingLibrary/MultiFluid/HeatExchangers/Superheater.mo +++ b/MetroscopeModelingLibrary/MultiFluid/HeatExchangers/Superheater.mo @@ -35,7 +35,7 @@ equation lineColor={0,0,0}, fillColor={215,215,215}, fillPattern=FillPattern.Solid), Line( - points={{40,80},{40,-72},{10,-72},{12,80},{-12,80},{-10,-72},{-40,-72},{-40,80}}, + points={{40,80},{40,-52},{10,-52},{12,50},{-10,50},{-12,-52},{-40,-52},{-40,80}}, color={28,108,200}, smooth=Smooth.Bezier, thickness=1, diff --git a/MetroscopeModelingLibrary/MultiFluid/Machines/CombustionChamber.mo b/MetroscopeModelingLibrary/MultiFluid/Machines/CombustionChamber.mo index 99753496..b4e78f94 100644 --- a/MetroscopeModelingLibrary/MultiFluid/Machines/CombustionChamber.mo +++ b/MetroscopeModelingLibrary/MultiFluid/Machines/CombustionChamber.mo @@ -12,8 +12,8 @@ model CombustionChamber // Performance parameters //Inputs.Input - Inputs.InputFrictionCoefficient Kfr(start=0); - Inputs.InputReal eta(start=0.99457); // The value given is found in performance document of GE + parameter Units.FrictionCoefficient Kfr_constant = 0; + parameter Real eta_constant=0.99457; // The value given is found in performance document of GE // Power released by the combustion Inputs.InputPower Wth; @@ -65,7 +65,21 @@ model CombustionChamber origin={0,-22}))); FlueGases.BoundaryConditions.Source source_exhaust annotation (Placement(transformation(extent={{12,-10},{32,10}}))); FlueGases.BoundaryConditions.Sink sink_air(h_in(start=h_in_air_0)) annotation (Placement(transformation(extent={{-32,-10},{-12,10}}))); - FlueGases.Pipes.Pipe pressure_loss annotation (Placement(transformation(extent={{46,-10},{66,10}}))); + FlueGases.Pipes.FrictionPipe pressure_loss annotation (Placement(transformation(extent={{46,-10},{66,10}}))); + Utilities.Interfaces.GenericReal Kfr(start=Kfr_constant) annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={30,110}), iconTransformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={30,110}))); + Utilities.Interfaces.GenericReal eta(start=eta_constant) annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={-30,100}),iconTransformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={-30,110}))); equation // Definitions @@ -102,8 +116,6 @@ equation // Mechanical Balance sink_air.P_in - source_exhaust.P_out = 0; - pressure_loss.delta_z = 0; - pressure_loss.Kfr = Kfr; // Energy balance Wth = eta*Q_fuel*LHV; @@ -126,16 +138,12 @@ equation connect(sink_fuel.C_in, inlet1) annotation (Line(points={{-2.77556e-16,-27},{-2.77556e-16,-63.5},{0,-63.5},{0,-100}}, color={213,213,0})); connect(source_exhaust.C_out, pressure_loss.C_in) annotation (Line(points={{27,0},{46,0}}, color={95,95,95})); connect(pressure_loss.C_out, outlet) annotation (Line(points={{66,0},{100,0}}, color={95,95,95})); + connect(pressure_loss.Kfr, Kfr) annotation (Line(points={{56,4},{56,110},{30,110}}, color={0,0,127})); annotation ( Diagram(coordinateSystem( preserveAspectRatio=false, extent={{-100,-100},{100,100}}, grid={2,2})), - Window( - x=0.03, - y=0.02, - width=0.95, - height=0.95), Icon(coordinateSystem( preserveAspectRatio=false, extent={{-100,-100},{100,100}}, diff --git a/MetroscopeModelingLibrary/MultiFluid/Machines/CombustionChamberWithRefMoistAir.mo b/MetroscopeModelingLibrary/MultiFluid/Machines/CombustionChamberWithRefMoistAir.mo index 4b0e97c8..ec32a86a 100644 --- a/MetroscopeModelingLibrary/MultiFluid/Machines/CombustionChamberWithRefMoistAir.mo +++ b/MetroscopeModelingLibrary/MultiFluid/Machines/CombustionChamberWithRefMoistAir.mo @@ -67,7 +67,7 @@ model CombustionChamberwithRefMoistAir Fuel.BoundaryConditions.Sink sink_fuel annotation (Placement(transformation(extent={{-10,-10},{10,10}}, rotation=90, origin={0,-22}))); FlueGases.BoundaryConditions.Source source_exhaust annotation (Placement(transformation(extent={{12,-10},{32,10}}))); FlueGases.BoundaryConditions.Sink sink_air(h_in(start=h_in_air_0)) annotation (Placement(transformation(extent={{-32,-10},{-12,10}}))); - FlueGases.Pipes.Pipe pressure_loss annotation (Placement(transformation(extent={{46,-10},{66,10}}))); + FlueGases.Pipes.FrictionPipe pressure_loss annotation (Placement(transformation(extent={{46,-10},{66,10}}))); Converters.RefMoistAir_to_FlueGases refMoistAir_to_FlueGases annotation (Placement(transformation( extent={{-10,-10},{10,10}}, diff --git a/MetroscopeModelingLibrary/Partial/HeatExchangers/WaterFlueGasesMonophasicHX.mo b/MetroscopeModelingLibrary/Partial/HeatExchangers/WaterFlueGasesMonophasicHX.mo index ec360c06..c87800e3 100644 --- a/MetroscopeModelingLibrary/Partial/HeatExchangers/WaterFlueGasesMonophasicHX.mo +++ b/MetroscopeModelingLibrary/Partial/HeatExchangers/WaterFlueGasesMonophasicHX.mo @@ -4,10 +4,7 @@ partial model WaterFlueGasesMonophasicHX import MetroscopeModelingLibrary.Utilities.Units; import MetroscopeModelingLibrary.Utilities.Units.Inputs; - Inputs.InputArea S; - Inputs.InputHeatExchangeCoefficient Kth; - Inputs.InputFrictionCoefficient Kfr_cold; - Inputs.InputFrictionCoefficient Kfr_hot; + parameter Units.Area S = 3000; // Cp estimation temperatures: estimated temperature differences for both the hot and cold fluids parameter Boolean nominal_DT_default = true; @@ -75,25 +72,42 @@ partial model WaterFlueGasesMonophasicHX extent={{30,70},{50,90}}), iconTransformation(extent={{30,70},{50,90}}))); WaterSteam.Connectors.Outlet C_cold_out(Q(start=-Q_cold_0), P(start=P_cold_out_0), h_outflow(start= h_cold_out_0)) annotation (Placement(transformation( extent={{-50,72},{-30,92}}), iconTransformation(extent={{-50,70},{-30,90}}))); - FlueGases.Pipes.Pipe hot_side_pipe(Q_0=Q_hot_0, h_0=h_hot_in_0, P_in_0=P_hot_in_0, P_out_0=P_hot_out_0) annotation (Placement(transformation(extent={{-50,-10},{-30,10}}))); Power.HeatExchange.NTUHeatExchange HX(config=config, mixed_fluid=mixed_fluid, QCp_max_side=QCp_max_side,T_cold_in_0=T_cold_in_0) annotation (Placement(transformation( extent={{-10,-10},{10,10}}, rotation=0, - origin={4,10}))); + origin={0,16}))); FlueGases.BaseClasses.IsoPFlowModel hot_side(Q_0=Q_hot_0, h_in_0=h_hot_in_0, T_out_0=T_hot_out_0, P_0=P_hot_out_0, h_out_0=h_hot_out_0) annotation (Placement( transformation( extent={{10,-10},{-10,10}}, - rotation=180, - origin={4,-6}))); + rotation=180))); WaterSteam.BaseClasses.IsoPFlowModel cold_side(Q_0=Q_cold_0, h_in_0=h_cold_in_0, T_in_0=T_cold_in_0, P_0=P_cold_in_0, T_out_0=T_cold_out_0, h_out_0=h_cold_out_0) annotation (Placement( transformation( extent={{10,10},{-10,-10}}, rotation=0, - origin={6,24}))); - WaterSteam.Pipes.Pipe cold_side_pipe(Q_0=Q_cold_0, h_0=h_cold_in_0, T_0=T_cold_in_0, P_in_0=P_cold_in_0, P_out_0=P_cold_out_0) annotation (Placement(transformation( - extent={{10,-10},{-10,10}}, + origin={0,30}))); + WaterSteam.Pipes.FrictionPipe cold_side_pipe( + Q_0=Q_cold_0, + h_0=h_cold_in_0, + T_0=T_cold_in_0, + P_in_0=P_cold_in_0, + P_out_0=P_cold_out_0) annotation (Placement(transformation( + extent={{10,10},{-10,-10}}, rotation=90, - origin={30,42}))); + origin={40,50}))); + Utilities.Interfaces.GenericReal Kth annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=270, + origin={-50,-70}), iconTransformation( + extent={{-10,-10},{10,10}}, + rotation=270, + origin={-50,-70}))); + Utilities.Interfaces.GenericReal Kfr_cold annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=270, + origin={50,-70}), iconTransformation( + extent={{-10,-10},{10,10}}, + rotation=270, + origin={50,-70}))); equation // Failure modes if not faulty then @@ -101,26 +115,20 @@ equation end if; // Definitions - Q_cold =cold_side.Q; - Q_hot =hot_side.Q; + Q_cold = cold_side.Q; + Q_hot = hot_side.Q; T_cold_in = cold_side_pipe.T_in; T_cold_out = cold_side.T_out; - T_hot_in = hot_side_pipe.T_in; + T_hot_in = hot_side.T_in; T_hot_out = hot_side.T_out; cold_side.W = W; // Energy balance hot_side.W + cold_side.W = 0; - // Pressure losses - cold_side_pipe.delta_z=0; - cold_side_pipe.Kfr = Kfr_cold; - hot_side_pipe.delta_z=0; - hot_side_pipe.Kfr = Kfr_hot; - // Power Exchange HX.W = W; - HX.Kth = Kth*(1-fouling/100); + HX.Kth = Kth*(1-fouling/100); HX.S = S; HX.Q_cold = Q_cold; HX.Q_hot = Q_hot; @@ -162,23 +170,19 @@ equation hot_side.Xi); Cp_hot_min =MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium.specificHeatCapacityCp(state_hot_out); // fg outlet Cp - connect(cold_side.C_in, cold_side_pipe.C_out) annotation (Line(points={{16,24},{30,24},{30,32}}, color={28,108,200})); - connect(cold_side_pipe.C_in, C_cold_in) annotation (Line(points={{30,52},{30,66},{30,80},{40,80}}, - color={28,108,200})); - connect(cold_side.C_out, C_cold_out) annotation (Line(points={{-4,24},{-18,24},{-18,22},{-40,22},{-40,82}}, color={28,108,200})); - connect(hot_side.C_in, hot_side_pipe.C_out) annotation (Line(points={{-6,-6},{-22,-6},{-22,0},{-30,0}}, color={95,95,95})); - connect(hot_side_pipe.C_in, C_hot_in) annotation (Line(points={{-50,0},{-100,0}},color={95,95,95})); - connect(hot_side.C_out, C_hot_out) annotation (Line(points={{14,-6},{100,-6},{100,0}}, - color={95,95,95})); - connect(C_hot_out, C_hot_out) annotation (Line(points={{100,0},{62,0},{62,-6},{100,-6},{100,0}}, - color={95,95,95})); + connect(cold_side.C_in, cold_side_pipe.C_out) annotation (Line(points={{10,30},{40,30},{40,40}}, color={28,108,200})); + connect(cold_side_pipe.C_in, C_cold_in) annotation (Line(points={{40,60},{40,80}}, color={28,108,200})); + connect(cold_side.C_out, C_cold_out) annotation (Line(points={{-10,30},{-40,30},{-40,82}}, color={28,108,200})); + connect(hot_side.C_out, C_hot_out) annotation (Line(points={{10,0},{100,0}}, color={95,95,95})); + connect(hot_side.C_in, C_hot_in) annotation (Line(points={{-10,0},{-100,0}}, color={95,95,95})); + connect(Kfr_cold, cold_side_pipe.Kfr) annotation (Line(points={{50,-70},{50,50},{44,50}}, color={0,0,127})); annotation (Icon(coordinateSystem(preserveAspectRatio=false), graphics={ Rectangle( extent={{-100,60},{100,-60}}, lineColor={0,0,0}, fillColor={215,215,215}, fillPattern=FillPattern.Solid), Line( - points={{40,80},{40,-80},{14,-80},{12,80},{-14,80},{-16,-80},{-40,-80},{-40,80}}, + points={{40,80},{40,-52},{14,-52},{14,52},{-14,52},{-16,-52},{-40,-52},{-40,80}}, color={0,0,0}, smooth=Smooth.Bezier, thickness=1)}), Diagram(coordinateSystem(preserveAspectRatio=false))); diff --git a/MetroscopeModelingLibrary/Partial/Machines/FixedSpeedPump.mo b/MetroscopeModelingLibrary/Partial/Machines/FixedSpeedPump.mo index 5f664aa2..abbfed4d 100644 --- a/MetroscopeModelingLibrary/Partial/Machines/FixedSpeedPump.mo +++ b/MetroscopeModelingLibrary/Partial/Machines/FixedSpeedPump.mo @@ -7,17 +7,13 @@ partial model FixedSpeedPump import MetroscopeModelingLibrary.Utilities.Units.Inputs; import MetroscopeModelingLibrary.Utilities.Constants; - Units.Yield rh "Hydraulic efficiency"; // Function of Qv - Units.Height hn(start=10) "Pump head"; // Function of Qv - - Units.Power Wh "Hydraulic power"; - + Utilities.Interfaces.GenericReal rh annotation (Placement(transformation(extent={{-96,50},{-76,70}}), iconTransformation(extent={{-80,20}, + {-120,60}}))); + Utilities.Interfaces.GenericReal hn annotation (Placement(transformation(extent={{-74,70},{-54,90}}), iconTransformation(extent={{-58,60}, + {-98,100}}))); equation // Outlet variation DP = rho*Constants.g*hn; DH = Constants.g *hn/rh; - - // Hydraulic power - Wh = Qv * DP / rh; // = Qv*rho * g*hn/rh = Q * DH = W end FixedSpeedPump; diff --git a/MetroscopeModelingLibrary/Partial/Machines/Pump.mo b/MetroscopeModelingLibrary/Partial/Machines/Pump.mo index 6dec766b..3e6225bc 100644 --- a/MetroscopeModelingLibrary/Partial/Machines/Pump.mo +++ b/MetroscopeModelingLibrary/Partial/Machines/Pump.mo @@ -1,12 +1,12 @@ within MetroscopeModelingLibrary.Partial.Machines; partial model Pump - extends BaseClasses.FlowModel(P_out_0=10e5) annotation(IconMap(primitivesVisible=false)); - extends MetroscopeModelingLibrary.Utilities.Icons.Machines.PumpIcon; + extends MetroscopeModelingLibrary.Partial.Machines.FixedSpeedPump; import MetroscopeModelingLibrary.Utilities.Units; import MetroscopeModelingLibrary.Utilities.Units.Inputs; import MetroscopeModelingLibrary.Utilities.Constants; + Inputs.InputReal rm(start=0.85); Real VRotn(start=1400, min=0, nominal=2000) "Nominal rotational speed"; Inputs.InputReal a1(start=0) "x^2 coef. of the pump characteristics hn = f(vol_flow) (s2/m5)"; Inputs.InputReal a2(start=0) "x coef. of the pump characteristics hn = f(vol_flow) (s/m2)"; @@ -15,16 +15,10 @@ partial model Pump Inputs.InputReal b2(start=0) "x coef. of the pump efficiency characteristics rh = f(vol_flow) (s/m3)"; Inputs.InputReal b3(start=0.8) "Constant coef. of the pump efficiency characteristics rh = f(vol_flow) (s.u.)"; - Inputs.InputYield rm(start=0.85) "Product of the pump mechanical and electrical efficiencies"; Inputs.InputYield rh_min(start=0.20) "Minimum efficiency to avoid zero crossings"; - Real rh "Hydraulic efficiency"; - Units.Height hn(start=10) "Pump head"; Units.Fraction R(start=1) "Reduced rotational speed"; - Units.Power Wh "Hydraulic power"; - Units.PositivePower Wm "Mechanical power"; - Modelica.Blocks.Interfaces.RealInput VRot "Pump rotational speed" annotation (Placement( transformation(extent={{-20,-20},{20,20}}, rotation=270, @@ -47,16 +41,7 @@ equation hn = a1*Qv^2 + a2*Qv*R + a3*R^2; rh =noEvent(max(if (R > 1e-5) then b1*Qv^2/R^2 + b2*Qv/R + b3 else b3, rh_min)); - // Outlet variation - DP = rho*Constants.g*hn; - DH = Constants.g *hn/rh; - - // Mechanical power - Wm = C_power.W; // C_power.W is positive since it is power fed to the component - Wm = W/rm; // Wm is positive since it is the power produced by the pump - - // Hydraulic power - Wh = Qv * DP / rh; // = Qv*rho * g*hn/rh = Q * DH = W + C_power.W = W/rm; annotation (Icon(graphics={ Line( points={{-100,-100},{100,100}}, diff --git a/MetroscopeModelingLibrary/Partial/Pipes/ControlValve.mo b/MetroscopeModelingLibrary/Partial/Pipes/ControlValve.mo index a5eefbb4..51995458 100644 --- a/MetroscopeModelingLibrary/Partial/Pipes/ControlValve.mo +++ b/MetroscopeModelingLibrary/Partial/Pipes/ControlValve.mo @@ -5,7 +5,7 @@ partial model ControlValve import MetroscopeModelingLibrary.Utilities.Units.Inputs; import MetroscopeModelingLibrary.Utilities.Constants; - Inputs.InputCv Cv_max(start=1e4) "Maximum CV"; + parameter Units.Cv Cv_max_constant = 1e4 "Maximum CV"; Units.Cv Cv(start=1e4) "Cv"; Modelica.Blocks.Interfaces.RealInput Opening(unit="1", min=0., max=1., nominal=0.5) annotation (Placement( transformation(extent={{-20,-20},{20,20}}, @@ -15,6 +15,13 @@ partial model ControlValve rotation=-90, origin={0,160}))); + Utilities.Interfaces.GenericReal Cv_max(start=Cv_max_constant) annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=180, + origin={-40,110}), iconTransformation( + extent={{-10,-10},{10,10}}, + rotation=180, + origin={-40,110}))); equation /* Pressure loss */ DP*Cv*abs(Cv) = -1.733e12*abs(Q)*Q/rho_in^2; diff --git a/MetroscopeModelingLibrary/Partial/Pipes/FrictionPipe.mo b/MetroscopeModelingLibrary/Partial/Pipes/FrictionPipe.mo new file mode 100644 index 00000000..b50362bf --- /dev/null +++ b/MetroscopeModelingLibrary/Partial/Pipes/FrictionPipe.mo @@ -0,0 +1,88 @@ +within MetroscopeModelingLibrary.Partial.Pipes; +partial model FrictionPipe + extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoHFlowModel annotation(IconMap(primitivesVisible=false)); + import MetroscopeModelingLibrary.Utilities.Units; + import MetroscopeModelingLibrary.Utilities.Units.Inputs; + import MetroscopeModelingLibrary.Utilities.Constants; + + // Failure modes + parameter Boolean faulty = false; + Units.Percentage fouling; // Fouling coefficient + + parameter Units.FrictionCoefficient Kfr_constant = -DP_0*rho_0/(Q_0*Q_0); + Utilities.Interfaces.GenericReal Kfr(start=Kfr_constant) annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={0,40}), iconTransformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={0,40}))); +equation + // Failure modes + if not faulty then + fouling = 0; + end if; + + DP = - (1+ fouling/100)*Kfr*Q*abs(Q)/rho_in; // homotopy((1+ fouling/100)*Kfr*Q*abs(Q)/rho_in, DP_0/Q_0*Q); + annotation ( + Diagram(coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}, + grid={2,2}), graphics={Rectangle( + extent={{-100,20},{100,-20}}, + lineColor={0,0,255}, + fillColor={85,255,85}, + fillPattern=FillPattern.Solid), + Line(points={{-80,20},{-76,18},{-72,20}}, color={28,108,200}), + Line(points={{-72,20},{-68,18},{-64,20}}, color={28,108,200}), + Line(points={{-56,20},{-52,18},{-48,20}}, color={28,108,200}), + Line(points={{-64,20},{-60,18},{-56,20}}, color={28,108,200}), + Line(points={{-24,20},{-20,18},{-16,20}}, color={28,108,200}), + Line(points={{-32,20},{-28,18},{-24,20}}, color={28,108,200}), + Line(points={{-40,20},{-36,18},{-32,20}}, color={28,108,200}), + Line(points={{-48,20},{-44,18},{-40,20}}, color={28,108,200}), + Line(points={{-16,20},{-12,18},{-8,20}}, color={28,108,200}), + Line(points={{-8,20},{-4,18},{0,20}}, color={28,108,200}), + Line(points={{8,20},{12,18},{16,20}}, color={28,108,200}), + Line(points={{0,20},{4,18},{8,20}}, color={28,108,200}), + Line(points={{40,20},{44,18},{48,20}}, color={28,108,200}), + Line(points={{32,20},{36,18},{40,20}}, color={28,108,200}), + Line(points={{24,20},{28,18},{32,20}}, color={28,108,200}), + Line(points={{16,20},{20,18},{24,20}}, color={28,108,200}), + Line(points={{72,20},{76,18},{80,20}}, color={28,108,200}), + Line(points={{64,20},{68,18},{72,20}}, color={28,108,200}), + Line(points={{56,20},{60,18},{64,20}}, color={28,108,200}), + Line(points={{48,20},{52,18},{56,20}}, color={28,108,200}), + Line(points={{-80,-20},{-76,-18},{-72,-20}}, color={28,108,200}), + Line(points={{-72,-20},{-68,-18},{-64,-20}}, color={28,108,200}), + Line(points={{-56,-20},{-52,-18},{-48,-20}}, color={28,108,200}), + Line(points={{-64,-20},{-60,-18},{-56,-20}}, color={28,108,200}), + Line(points={{-24,-20},{-20,-18},{-16,-20}}, color={28,108,200}), + Line(points={{-32,-20},{-28,-18},{-24,-20}}, color={28,108,200}), + Line(points={{-40,-20},{-36,-18},{-32,-20}}, color={28,108,200}), + Line(points={{-48,-20},{-44,-18},{-40,-20}}, color={28,108,200}), + Line(points={{-16,-20},{-12,-18},{-8,-20}}, color={28,108,200}), + Line(points={{-8,-20},{-4,-18},{0,-20}}, color={28,108,200}), + Line(points={{8,-20},{12,-18},{16,-20}}, color={28,108,200}), + Line(points={{0,-20},{4,-18},{8,-20}}, color={28,108,200}), + Line(points={{40,-20},{44,-18},{48,-20}}, color={28,108,200}), + Line(points={{32,-20},{36,-18},{40,-20}}, color={28,108,200}), + Line(points={{24,-20},{28,-18},{32,-20}}, color={28,108,200}), + Line(points={{16,-20},{20,-18},{24,-20}}, color={28,108,200}), + Line(points={{72,-20},{76,-18},{80,-20}}, color={28,108,200}), + Line(points={{64,-20},{68,-18},{72,-20}}, color={28,108,200}), + Line(points={{56,-20},{60,-18},{64,-20}}, color={28,108,200}), + Line(points={{48,-20},{52,-18},{56,-20}}, color={28,108,200})}), + Icon(coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}, + grid={2,2}), graphics={Rectangle( + extent={{-100,30},{100,-30}}, + lineColor={0,0,255}, + fillColor={85,255,85}, + fillPattern=FillPattern.Solid), Text( + extent={{-12,14},{16,-14}}, + lineColor={0,0,255}, + fillColor={85,255,85}, + fillPattern=FillPattern.Solid)})); +end FrictionPipe; diff --git a/MetroscopeModelingLibrary/Partial/Pipes/Pipe.mo b/MetroscopeModelingLibrary/Partial/Pipes/HeightVariationPipe.mo similarity index 60% rename from MetroscopeModelingLibrary/Partial/Pipes/Pipe.mo rename to MetroscopeModelingLibrary/Partial/Pipes/HeightVariationPipe.mo index 008b0a2f..767b312e 100644 --- a/MetroscopeModelingLibrary/Partial/Pipes/Pipe.mo +++ b/MetroscopeModelingLibrary/Partial/Pipes/HeightVariationPipe.mo @@ -1,30 +1,19 @@ within MetroscopeModelingLibrary.Partial.Pipes; -partial model Pipe +partial model HeightVariationPipe extends MetroscopeModelingLibrary.Partial.BaseClasses.IsoHFlowModel annotation(IconMap(primitivesVisible=false)); import MetroscopeModelingLibrary.Utilities.Units; - import MetroscopeModelingLibrary.Utilities.Units.Inputs; import MetroscopeModelingLibrary.Utilities.Constants; - Inputs.InputFrictionCoefficient Kfr(start=10) "Friction pressure loss coefficient"; - Inputs.InputDifferentialHeight delta_z(nominal=5) "Height difference between outlet and inlet"; - Units.DifferentialPressure DP_f "Singular pressure loss"; - Units.DifferentialPressure DP_z "Singular pressure loss"; - - // Failure modes - parameter Boolean faulty = false; - Units.Percentage fouling; // Fouling coefficient - + parameter Units.Height delta_z_constant = 10; + Utilities.Interfaces.GenericReal delta_z(start=delta_z_constant, nominal=delta_z_constant) annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={0,40}), iconTransformation( + extent={{-18,-18},{18,18}}, + rotation=90, + origin={0,48}))); equation - - // Failure modes - if not faulty then - fouling = 0; - end if; - - DP_f = - (1+ fouling/100)*Kfr*Q*abs(Q)/rho_in; - DP_z = - rho_in*Constants.g*delta_z; - - DP = DP_f + DP_z; + DP = - rho_in*Constants.g*delta_z; annotation ( Diagram(coordinateSystem( preserveAspectRatio=true, @@ -46,4 +35,4 @@ equation lineColor={0,0,255}, fillColor={85,255,85}, fillPattern=FillPattern.Solid)})); -end Pipe; +end HeightVariationPipe; diff --git a/MetroscopeModelingLibrary/Partial/Pipes/SlideValve.mo b/MetroscopeModelingLibrary/Partial/Pipes/SlideValve.mo index ad4d2b2e..9ff9946d 100644 --- a/MetroscopeModelingLibrary/Partial/Pipes/SlideValve.mo +++ b/MetroscopeModelingLibrary/Partial/Pipes/SlideValve.mo @@ -5,11 +5,19 @@ partial model SlideValve import MetroscopeModelingLibrary.Utilities.Units.Inputs; import MetroscopeModelingLibrary.Utilities.Constants; - Inputs.InputCv Cv(start=1e4) "Cv of the valve"; parameter Boolean faulty = false; Units.Percentage closed_valve; // Valve not fully opened + parameter Real Cv_constant = 1e4; + + Utilities.Interfaces.GenericReal Cv(start=Cv_constant) annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=180, + origin={-40,110}), iconTransformation( + extent={{-10,-10},{10,10}}, + rotation=180, + origin={-40,110}))); equation // Failure modes if not faulty then diff --git a/MetroscopeModelingLibrary/Partial/Pipes/package.order b/MetroscopeModelingLibrary/Partial/Pipes/package.order index bffc8386..48bdbc41 100644 --- a/MetroscopeModelingLibrary/Partial/Pipes/package.order +++ b/MetroscopeModelingLibrary/Partial/Pipes/package.order @@ -1,4 +1,5 @@ -Pipe +FrictionPipe +HeightVariationPipe ControlValve SlideValve HeatLoss diff --git a/MetroscopeModelingLibrary/Partial/Sensors_Control/BaseSensor.mo b/MetroscopeModelingLibrary/Partial/Sensors_Control/BaseSensor.mo new file mode 100644 index 00000000..2cd5f1ef --- /dev/null +++ b/MetroscopeModelingLibrary/Partial/Sensors_Control/BaseSensor.mo @@ -0,0 +1,67 @@ +within MetroscopeModelingLibrary.Partial.Sensors_Control; +partial model BaseSensor + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.InlineSensorIcon; + + replaceable package Medium = MetroscopeModelingLibrary.Partial.Media.PartialMedium; + import MetroscopeModelingLibrary.Utilities.Units; + + // Initialization parameters + parameter Units.PositiveMassFlowRate Q_0=100; + parameter Units.Pressure P_0 = 1e5; + parameter Units.SpecificEnthalpy h_0 = 5e5; + + // Input Quantity + Units.PositiveMassFlowRate Q(start=Q_0, nominal=Q_0) "Component mass flow rate"; + Units.MassFraction Xi[Medium.nXi] "Component mass fractions"; + Units.Pressure P(start=P_0) "Pressure of the fluid into the component"; + Units.SpecificEnthalpy h(start=h_0) "Enthalpy of the fluid into the component"; + Medium.ThermodynamicState state; + + // Failure modes + parameter Boolean faulty_flow_rate = false; + Units.MassFlowRate mass_flow_rate_bias(start=0); // mass_flow_rate_bias > 0 means that more mass flow enters the component + + // Icon parameters + parameter String sensor_function = "Unidentified" "Specify if the sensor is a BC or used for calibration" + annotation(choices(choice="Unidentified" "No specific function", choice="BC" "Boundary condition", choice="Calibration" "Used for calibration")); + parameter String causality = "" "Specify which parameter is calibrated by this sensor"; + outer parameter Boolean show_causality = true "Used to show or not the causality"; + + replaceable Connectors.FluidInlet C_in(Q(start=Q_0, nominal=Q_0), P(start=P_0, nominal=P_0), redeclare package Medium = Medium) annotation (Placement(transformation(extent={{-110,-10},{-90,10}}))); + replaceable Connectors.FluidOutlet C_out(Q(start=-Q_0, nominal=Q_0), P(start=P_0, nominal=P_0), redeclare package Medium = Medium) annotation (Placement(transformation(extent={{90,-10},{110,10}}))); + replaceable BaseClasses.IsoPHFlowModel flow_model annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); +equation + if not faulty_flow_rate then + mass_flow_rate_bias = 0; + end if; + + P = C_in.P; + Q = C_in.Q + mass_flow_rate_bias; + Xi = inStream(C_in.Xi_outflow); + h = inStream(C_in.h_outflow); + + state = Medium.setState_phX(P, h, Xi); + + assert(Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", AssertionLevel.warning); + connect(flow_model.C_in, C_in) annotation (Line(points={{-10,0},{-100,0}}, color={95,95,95})); + connect(flow_model.C_out, C_out) annotation (Line(points={{10,0},{100,0}}, color={0,0,0})); + annotation (Icon( + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + pattern=LinePattern.None, + fillColor=if sensor_function == "BC" then {238, 46, 47} elseif sensor_function == "Calibration" then {107, 175, 17} else {255, 255, 255}, + fillPattern=if sensor_function == "BC" or sensor_function == "Calibration" then FillPattern.Solid else FillPattern.None), + Text( + extent={{-100,-120},{100,-160}}, + textColor={107,175,17}, + textString=if show_causality then "%causality" else ""), + Line( + points={{100,-60},{140,-60},{140,-140},{100,-140}}, + color={107,175,17}, + arrow=if causality == "" or show_causality == false then {Arrow.None,Arrow.None} else {Arrow.None,Arrow.Filled}, + thickness=0.5, + pattern=if causality == "" or show_causality == false then LinePattern.None else LinePattern.Solid, + smooth=Smooth.Bezier)})); +end BaseSensor; diff --git a/MetroscopeModelingLibrary/Partial/Sensors_Control/DeltaPressureSensor.mo b/MetroscopeModelingLibrary/Partial/Sensors_Control/DeltaPressureSensor.mo new file mode 100644 index 00000000..c130d1c0 --- /dev/null +++ b/MetroscopeModelingLibrary/Partial/Sensors_Control/DeltaPressureSensor.mo @@ -0,0 +1,95 @@ +within MetroscopeModelingLibrary.Partial.Sensors_Control; +partial model DeltaPressureSensor + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.OutlineSensorIcon; + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.DeltaPressureIcon; + replaceable package Medium = + MetroscopeModelingLibrary.Partial.Media.PartialMedium; + + + parameter Real DP_start = 0.05 "Write here the build value of the quantity. This value will be used in the simulation."; + + parameter String display_unit = "bar" "Specify the display unit" + annotation(choices(choice="bar", choice="mbar", choice="psi", choice="Pa")); + parameter String signal_unit = "bar" "Specify the signal unit. This should be the unit of DP_start and of the tag linked to the sensor." annotation(choices(choice="bar", choice="mbar", choice="psi", choice="Pa")); + + parameter Utilities.Units.DifferentialPressure DP_0=1e4; + Utilities.Units.DifferentialPressure DP(start=DP_0, nominal=DP_0); + Real DP_bar(unit="bar", start=DP_0*Utilities.Constants.Pa_to_barA); // Pressure difference in bar + Real DP_mbar(unit="mbar", start=DP_0*Utilities.Constants.Pa_to_mbar); // Pressure difference in mbar + Real DP_psi(start=DP_0*Utilities.Constants.Pa_to_psiA); // Pressure difference in PSI + + // Icon parameters + parameter String sensor_function = "Unidentified" "Specify if the sensor is a BC or used for calibration" + annotation(choices(choice="Unidentified" "No specific function", choice="BC" "Boundary condition", choice="Calibration" "Used for calibration")); + parameter String causality = "" "Specify which parameter is calibrated by this sensor"; + outer parameter Boolean show_causality = true "Used to show or not the causality"; + outer parameter Boolean display_output = false "Used to switch ON or OFF output display"; + + + replaceable Partial.Connectors.FluidInlet C_in(redeclare package Medium = Medium) annotation (Placement(transformation(extent={{-110,-10},{-90,10}}))); + replaceable Partial.Connectors.FluidOutlet C_out(redeclare package Medium = Medium) annotation (Placement(transformation(extent={{90,-10},{110,10}}))); + Utilities.Interfaces.GenericReal DP_sensor(start=DP_start) annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={0,100}), iconTransformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={0,100}))); +equation + // No inlet except pressure + C_in.Q = 0; + C_in.h_outflow = 0; + C_in.Xi_outflow = zeros(Medium.nXi); + + // No outlet except pressure + C_out.Q = 0; + C_out.h_outflow = 0; + C_out.Xi_outflow = zeros(Medium.nXi); + + // Conversions + DP = C_out.P - C_in.P; + DP_bar =DP*Utilities.Constants.Pa_to_barA; + DP_mbar =DP*Utilities.Constants.Pa_to_mbar; + DP_psi =DP*Utilities.Constants.Pa_to_psiA; + + if signal_unit == "bar" then + DP_sensor = DP_bar; + elseif signal_unit == "mbar" then + DP_sensor = DP_mbar; + elseif signal_unit == "psi" then + DP_sensor = DP_psi; + else + DP_sensor = DP; + end if; + + annotation (Icon(graphics={Text( + extent={{-100,-160},{102,-200}}, + textColor={0,0,0}, + textString=if display_output then + if display_unit == "mbar" then DynamicSelect("",String(DP_mbar)+" mbar") + else if display_unit == "psi" then DynamicSelect("",String(DP_psi)+" psi") + else if display_unit == "Pa" then DynamicSelect("",String(DP)+" Pa") + else DynamicSelect("",String(DP_bar)+" bar") + else ""), + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + pattern=LinePattern.None, + fillColor=if sensor_function == "BC" then {238, 46, 47} elseif sensor_function == "Calibration" then {107, 175, 17} else {255, 255, 255}, + fillPattern=if sensor_function == "BC" or sensor_function == "Calibration" then FillPattern.Solid else FillPattern.None), + Text( + extent={{-100,160},{100,120}}, + textColor={85,170,255}, + textString="%name"), + Text( + extent={{-100,-120},{100,-160}}, + textColor={107,175,17}, + textString=if show_causality then "%causality" else ""), + Line( + points={{100,-60},{140,-60},{140,-140},{100,-140}}, + color={107,175,17}, + arrow=if causality == "" or show_causality == false then {Arrow.None,Arrow.None} else {Arrow.None,Arrow.Filled}, + thickness=0.5, + pattern=if causality == "" or show_causality == false then LinePattern.None else LinePattern.Solid, + smooth=Smooth.Bezier)})); +end DeltaPressureSensor; diff --git a/MetroscopeModelingLibrary/Partial/Sensors_Control/FlowSensor.mo b/MetroscopeModelingLibrary/Partial/Sensors_Control/FlowSensor.mo new file mode 100644 index 00000000..e7328cb0 --- /dev/null +++ b/MetroscopeModelingLibrary/Partial/Sensors_Control/FlowSensor.mo @@ -0,0 +1,68 @@ +within MetroscopeModelingLibrary.Partial.Sensors_Control; +partial model FlowSensor + extends BaseSensor(faulty_flow_rate=faulty) annotation(IconMap(primitivesVisible=true)); + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.InlineSensorIcon; + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.FlowIcon; + + import MetroscopeModelingLibrary.Utilities.Units; + import MetroscopeModelingLibrary.Utilities.Constants; + + + parameter Units.PositiveMassFlowRate Q_start = 100 "Write here the build value of the quantity. This value will be used in the simulation."; + parameter String signal_unit = "kg/s" "Specify the signal unit. This should be the unit of Q_start and of the tag linked to the sensor." annotation(choices(choice="kg/s", choice="m3/s", choice="l/m", choice="t/h", choice="lb/s", choice="Mlb/h")); + + parameter String display_unit = "kg/s" "Specify the display unit" annotation(choices(choice="kg/s", choice="m3/s", choice="l/m", choice="t/h", choice="lb/s", choice="Mlb/h")); + + + Units.VolumeFlowRate Qv; + Real Q_lm; // Flow rate in liter per minute; + + Real Q_th(start=Q_0*Constants.kgs_to_th, nominal=Q_0*Constants.kgs_to_th); // Flow rate in tons per hour + Real Q_lbs(start=Q_0*Constants.kgs_to_lbs, nominal=Q_0*Constants.kgs_to_lbs); // Flow rate in pounds per second; + Real Q_Mlbh(start=Q_0*Constants.kgs_to_Mlbh, nominal=Q_0*Constants.kgs_to_Mlbh); // Flow rate in pounds per second; + + // Failure modes + parameter Boolean faulty = false; + + outer parameter Boolean display_output = true "Used to switch ON or OFF output display"; + + + Utilities.Interfaces.GenericReal Q_sensor(start=Q_start) annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={0,100}), iconTransformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={0,100}))); +equation + Qv = Q / Medium.density(state); + Q_lm = Qv * Constants.m3s_to_lm; + Q_th = Q * Constants.kgs_to_th; + Q_lbs = Q * Constants.kgs_to_lbs; + Q_Mlbh = Q * Constants.kgs_to_Mlbh; + + if signal_unit == "l/m" then + Q_sensor = Q_lm; + elseif signal_unit == "t/h" then + Q_sensor = Q_th; + elseif signal_unit == "lb/s" then + Q_sensor = Q_lbs; + elseif signal_unit == "Mlbh" then + Q_sensor = Q_Mlbh; + else + Q_sensor = Q; + end if; + + connect(Q_sensor, Q_sensor) annotation (Line(points={{0,100},{0,100}}, color={0,0,127})); + annotation (Icon(graphics={Text( + extent={{-100,-160},{102,-200}}, + textColor={0,0,0}, + textString=if display_output then + if display_unit == "m3/s" then DynamicSelect("",String(Qv)+" m3/s") + else if display_unit == "l/m" then DynamicSelect("",String(Q_lm)+" l/m") + else if display_unit == "t/h" then DynamicSelect("",String(Q_th)+" t/h") + else if display_unit == "lb/s" then DynamicSelect("",String(Q_lbs)+" lb/s") + else if display_unit == "Mlb/h" then DynamicSelect("",String(Q_Mlbh)+" Mlb/h") + else DynamicSelect("",String(Q)+" kg/s") + else "")})); +end FlowSensor; diff --git a/MetroscopeModelingLibrary/Partial/Sensors_Control/PressureSensor.mo b/MetroscopeModelingLibrary/Partial/Sensors_Control/PressureSensor.mo new file mode 100644 index 00000000..284dcbcd --- /dev/null +++ b/MetroscopeModelingLibrary/Partial/Sensors_Control/PressureSensor.mo @@ -0,0 +1,86 @@ +within MetroscopeModelingLibrary.Partial.Sensors_Control; +partial model PressureSensor + extends BaseSensor annotation(IconMap(primitivesVisible=true)); + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.InlineSensorIcon; + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.PressureIcon; + + import MetroscopeModelingLibrary.Utilities.Units; + import MetroscopeModelingLibrary.Utilities.Constants; + + parameter Real P_start = 1 "Write here the build value of the quantity. This value will be used in the simulation."; + parameter String signal_unit = "barA" "Specify the signal unit. This should be the unit of P_start and of the tag linked to the sensor." annotation(choices(choice="barA", choice="barG", choice="mbar", choice="MPaA", choice="kPaA")); + + parameter String display_unit = "barA" "Specify the display unit" + annotation(choices(choice="barA", choice="barG", choice="mbar", choice="MPaA", choice="kPaA",choice="psiA",choice="psiG",choice="inHg")); + + + // All nominal values of gauge pressures are set to the absolute pressure value to avoid zero nominal value + + Real P_barG(nominal=P_0, start=P_0*Constants.Pa_to_barA - Constants.atmospheric_pressure_in_bar); // Relative (gauge) pressure in bar + + Real P_psiG(nominal = P_0*Constants.Pa_to_psiA, start = P_0*Constants.Pa_to_psiA - Constants.P0_psiG_in_psiA); // Relative (gauge) pressure in psi + Real P_MPaG(nominal = P_0*Constants.Pa_to_MPaA, start = P_0*Constants.Pa_to_MPaA - Constants.P0_MPaG_in_MPaA); // Relative (gauge) pressure in mega pascal + Real P_kPaG(nominal = P_0*Constants.Pa_to_kPaA, start = P_0*Constants.Pa_to_kPaA - Constants.P0_kPaG_in_kPaA); // Relative (gauge) pressure in kilo pascal + Real P_barA(nominal = P_0*Constants.Pa_to_barA, start = P_0*Constants.Pa_to_barA, unit="bar"); // Absolute pressure in bar + Real P_psiA(nominal = P_0*Constants.Pa_to_psiA, start = P_0*Constants.Pa_to_psiA); // Absolute pressure in psi + Real P_MPaA(nominal = P_0*Constants.Pa_to_MPaA, start = P_0*Constants.Pa_to_MPaA); // Absolute pressure in mega pascal + Real P_kPaA(nominal = P_0*Constants.Pa_to_kPaA, start = P_0*Constants.Pa_to_kPaA); // Absolute pressure in kilo pascal + + Real P_inHg(nominal = P_0*Constants.Pa_to_inHg, start = P_0*Constants.Pa_to_inHg); // Absolute pressure in inches of mercury + Real P_mbar(nominal = P_0*Constants.Pa_to_mbar, start = P_0*Constants.Pa_to_mbar, unit="mbar"); // Absolute pressure in milibar + + outer parameter Boolean display_output = true "Used to switch ON or OFF output display"; + +Utilities.Interfaces.GenericReal P_sensor(start=P_start) + annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={0,100}), iconTransformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={0,100}))); +equation + P_barA = P * Constants.Pa_to_barA; + P_psiA = P * Constants.Pa_to_psiA; + P_MPaA = P * Constants.Pa_to_MPaA; + P_kPaA = P * Constants.Pa_to_kPaA; + + P_barG =P_barA - Constants.atmospheric_pressure_in_bar; + P_psiG = P_psiA - Constants.P0_psiG_in_psiA; + P_MPaG = P_MPaA - Constants.P0_MPaG_in_MPaA; + P_kPaG = P_kPaA - Constants.P0_kPaG_in_kPaA; + + P_mbar = P * Constants.Pa_to_mbar; + P_inHg = P * Constants.Pa_to_inHg; + + if signal_unit == "barA" then + P_sensor = P_barA; + elseif signal_unit == "barG" then + P_sensor = P_barG; + elseif signal_unit == "mbar" then + P_sensor = P_mbar; + elseif signal_unit == "MPaA" then + P_sensor = P_MPaA; + elseif signal_unit == "kPaA" then + P_sensor = P_kPaA; + elseif signal_unit == "psiG" then + P_sensor=P_psiG; + elseif signal_unit == "psiA" then + P_sensor=P_psiA; + elseif signal_unit == "inHg" then + P_sensor=P_inHg; + else + P_sensor = P; + end if; + + annotation (Icon(graphics={Text( + extent={{-100,-160},{102,-200}}, + textColor={0,0,0}, + textString=if display_output then + if display_unit == "barG" then DynamicSelect("",String(P_barG)+" barG") + else if display_unit == "mbar" then DynamicSelect("",String(P_mbar)+" mbar") + else if display_unit == "MPaA" then DynamicSelect("",String(P_MPaA)+" MPaA") + else if display_unit == "kPaA" then DynamicSelect("",String(P_kPaA)+" kPaA") + else DynamicSelect("",String(P_barA)+" barA") + else "")})); +end PressureSensor; diff --git a/MetroscopeModelingLibrary/Partial/Sensors_Control/TemperatureSensor.mo b/MetroscopeModelingLibrary/Partial/Sensors_Control/TemperatureSensor.mo new file mode 100644 index 00000000..45677e9b --- /dev/null +++ b/MetroscopeModelingLibrary/Partial/Sensors_Control/TemperatureSensor.mo @@ -0,0 +1,61 @@ +within MetroscopeModelingLibrary.Partial.Sensors_Control; +partial model TemperatureSensor + extends BaseSensor annotation(IconMap(primitivesVisible=true)); + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.InlineSensorIcon; + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.TemperatureIcon; + + import MetroscopeModelingLibrary.Utilities.Units; + import MetroscopeModelingLibrary.Utilities.Constants; + + // Initialization parameters + parameter Real T_start = 300 "Write here the build value of the quantity. This value will be used in the simulation."; + + parameter String signal_unit = "degC" "Specify the signal unit. This should be the unit of T_start and of the tag linked to the sensor." annotation (choices(choice="degC", choice="K", choice="degF")); + + parameter String display_unit = "degC" "Specify the display unit" + annotation(choices(choice="degC", choice="K", choice="degF")); + + parameter Units.Temperature T_0 = 300; + + + Units.Temperature T(start=T_0); // Temperature in SI Units : K + Real T_degC(unit="degC", start=T_0 +Constants.T0_degC_in_K, nominal=T_0 +Constants.T0_degC_in_K); // Temperature in degC + Real T_degF(unit="degF", + start=(T_0 +Constants.T0_degC_in_K) *Constants.degC_to_degF +Constants.T0_degC_in_degF, + nominal=(T_0 +Constants.T0_degC_in_K) *Constants.degC_to_degF +Constants.T0_degC_in_degF); // Temperature in degF + + + outer parameter Boolean display_output = true "Used to switch ON or OFF output display"; + + + Utilities.Interfaces.GenericReal T_sensor(start=T_start) annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={0,100}), iconTransformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={0,100}))); +equation + T =flow_model.T; + T_degC +Constants.T0_degC_in_K = T; // Conversion K to Celsius + T_degF = T_degC*Constants.degC_to_degF +Constants.T0_degC_in_degF; // Conversion Celsius to Farenheit + + if signal_unit == "degC" then + T_sensor = T_degC; + elseif signal_unit == "degF" then + T_sensor = T_degF; + elseif signal_unit == "K" then + T_sensor = T; + else + assert(false, "Unavailable unit selected for %name"); + end if; + + annotation (Icon(graphics={Text( + extent={{-100,-160},{102,-200}}, + textColor={0,0,0}, + textString=if display_output then + if display_unit == "K" then DynamicSelect("",String(T)+" K") + else if display_unit == "degF" then DynamicSelect("",String(T_degF)+" degF") + else DynamicSelect("",String(T_degC)+" degC") + else "")})); +end TemperatureSensor; diff --git a/MetroscopeModelingLibrary/Partial/Sensors_Control/package.mo b/MetroscopeModelingLibrary/Partial/Sensors_Control/package.mo new file mode 100644 index 00000000..e5c52712 --- /dev/null +++ b/MetroscopeModelingLibrary/Partial/Sensors_Control/package.mo @@ -0,0 +1,55 @@ +within MetroscopeModelingLibrary.Partial; +package Sensors_Control + +annotation (Icon(graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100,-100},{100,100}}, + radius=25.0), + Ellipse( + extent={{-80,80},{80,-80}}, + lineColor={215,215,215}, + fillColor={215,215,215}, + fillPattern=FillPattern.Solid), + Ellipse( + extent={{-55,55},{55,-55}}, + lineColor={255,255,255}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Rectangle( + lineColor={128,128,128}, + extent={{-100,-100},{100,100}}, + radius=25.0), + Ellipse( + fillColor={245,245,245}, + fillPattern=FillPattern.Solid, + extent={{-56,-56},{56,56}}), + Line(points={{0,56},{0,26}}), + Line(points={{28,8},{48.2,29.3}}), + Line(points={{-28,10},{-48.2,29.3}}), + Ellipse( + lineColor={64,64,64}, + fillColor={255,255,255}, + extent={{-12,-50},{12,-26}}), + Polygon( + rotation=-17.5, + fillColor={64,64,64}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-5.0,0.0},{-2.0,60.0},{0.0,65.0},{2.0,60.0},{5.0,0.0}}, + origin={2,-34}), + Ellipse( + fillColor={64,64,64}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + extent={{-7,-45},{7,-31}}), + Rectangle( + extent={{-61.1127,14.0711},{61.1127,-14.0711}}, + lineColor={215,215,215}, + fillColor={215,215,215}, + fillPattern=FillPattern.Solid, + rotation=45, + origin={2.83704,2.73655})})); +end Sensors_Control; diff --git a/MetroscopeModelingLibrary/Partial/Sensors_Control/package.order b/MetroscopeModelingLibrary/Partial/Sensors_Control/package.order new file mode 100644 index 00000000..bbacbddf --- /dev/null +++ b/MetroscopeModelingLibrary/Partial/Sensors_Control/package.order @@ -0,0 +1,5 @@ +BaseSensor +TemperatureSensor +PressureSensor +FlowSensor +DeltaPressureSensor diff --git a/MetroscopeModelingLibrary/Partial/package.order b/MetroscopeModelingLibrary/Partial/package.order index ff344d83..61d96ffa 100644 --- a/MetroscopeModelingLibrary/Partial/package.order +++ b/MetroscopeModelingLibrary/Partial/package.order @@ -3,6 +3,7 @@ Connectors BoundaryConditions BaseClasses Sensors +Sensors_Control Pipes Machines HeatExchangers diff --git a/MetroscopeModelingLibrary/Power/Machines/Generator.mo b/MetroscopeModelingLibrary/Power/Machines/Generator.mo index 1998b206..951f33da 100644 --- a/MetroscopeModelingLibrary/Power/Machines/Generator.mo +++ b/MetroscopeModelingLibrary/Power/Machines/Generator.mo @@ -3,7 +3,7 @@ model Generator import MetroscopeModelingLibrary.Utilities.Units; import MetroscopeModelingLibrary.Utilities.Units.Inputs; - Inputs.InputYield eta(start=0.998) "Generator's efficiency"; + parameter Units.Yield eta = 0.998 "Generator's efficiency"; Units.NegativePower W_elec "Electrical power produced by the generator"; Units.PositivePower W_shaft "Mechanical power received by the generator"; diff --git a/MetroscopeModelingLibrary/RefMoistAir/Pipes/Pipe.mo b/MetroscopeModelingLibrary/RefMoistAir/Pipes/Pipe.mo index 949a1139..312eb213 100644 --- a/MetroscopeModelingLibrary/RefMoistAir/Pipes/Pipe.mo +++ b/MetroscopeModelingLibrary/RefMoistAir/Pipes/Pipe.mo @@ -2,7 +2,8 @@ within MetroscopeModelingLibrary.RefMoistAir.Pipes; model Pipe extends MetroscopeModelingLibrary.Utilities.Icons.KeepingScaleIcon; package RefMoistAirMedium = MetroscopeModelingLibrary.Utilities.Media.RefMoistAirMedium; - extends Partial.Pipes.Pipe( + extends Partial.Pipes.FrictionPipe + ( redeclare MetroscopeModelingLibrary.RefMoistAir.Connectors.Inlet C_in, redeclare MetroscopeModelingLibrary.RefMoistAir.Connectors.Outlet C_out, redeclare package Medium = RefMoistAirMedium) annotation(IconMap(primitivesVisible=false)); diff --git a/MetroscopeModelingLibrary/Sensors_Control/FlueGases/DeltaPressureSensor.mo b/MetroscopeModelingLibrary/Sensors_Control/FlueGases/DeltaPressureSensor.mo new file mode 100644 index 00000000..910ed0cc --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/FlueGases/DeltaPressureSensor.mo @@ -0,0 +1,13 @@ +within MetroscopeModelingLibrary.Sensors_Control.FlueGases; +model DeltaPressureSensor + package FlueGasesMedium = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium; + + extends Partial.Sensors_Control.DeltaPressureSensor( + redeclare MetroscopeModelingLibrary.FlueGases.Connectors.Inlet C_in, + redeclare MetroscopeModelingLibrary.FlueGases.Connectors.Outlet C_out, + redeclare package Medium = FlueGasesMedium) annotation (IconMap(primitivesVisible=true)); + + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.OutlineSensorIcon; + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.DeltaPressureIcon; + +end DeltaPressureSensor; diff --git a/MetroscopeModelingLibrary/Sensors_Control/FlueGases/FlowSensor.mo b/MetroscopeModelingLibrary/Sensors_Control/FlueGases/FlowSensor.mo new file mode 100644 index 00000000..092262cd --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/FlueGases/FlowSensor.mo @@ -0,0 +1,14 @@ +within MetroscopeModelingLibrary.Sensors_Control.FlueGases; +model FlowSensor + package FlueGasesMedium = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium; + + extends Partial.Sensors_Control.FlowSensor( + redeclare MetroscopeModelingLibrary.FlueGases.Connectors.Inlet C_in, + redeclare MetroscopeModelingLibrary.FlueGases.Connectors.Outlet C_out, + redeclare MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPHFlowModel flow_model, + redeclare package Medium = FlueGasesMedium) annotation (IconMap(primitivesVisible=true)); + + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.FlueGasesSensorIcon; + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.FlowIcon; + +end FlowSensor; diff --git a/MetroscopeModelingLibrary/Sensors_Control/FlueGases/PressureSensor.mo b/MetroscopeModelingLibrary/Sensors_Control/FlueGases/PressureSensor.mo new file mode 100644 index 00000000..f256fd27 --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/FlueGases/PressureSensor.mo @@ -0,0 +1,14 @@ +within MetroscopeModelingLibrary.Sensors_Control.FlueGases; +model PressureSensor + package FlueGasesMedium = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium; + + extends Partial.Sensors_Control.PressureSensor( + redeclare MetroscopeModelingLibrary.FlueGases.Connectors.Inlet C_in, + redeclare MetroscopeModelingLibrary.FlueGases.Connectors.Outlet C_out, + redeclare MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPHFlowModel flow_model, + redeclare package Medium = FlueGasesMedium) annotation (IconMap(primitivesVisible=true)); + + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.FlueGasesSensorIcon; + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.PressureIcon; + +end PressureSensor; diff --git a/MetroscopeModelingLibrary/Sensors_Control/FlueGases/TemperatureSensor.mo b/MetroscopeModelingLibrary/Sensors_Control/FlueGases/TemperatureSensor.mo new file mode 100644 index 00000000..f65dc42b --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/FlueGases/TemperatureSensor.mo @@ -0,0 +1,14 @@ +within MetroscopeModelingLibrary.Sensors_Control.FlueGases; +model TemperatureSensor + package FlueGasesMedium = MetroscopeModelingLibrary.Utilities.Media.FlueGasesMedium; + + extends Partial.Sensors_Control.TemperatureSensor( + redeclare MetroscopeModelingLibrary.FlueGases.Connectors.Inlet C_in, + redeclare MetroscopeModelingLibrary.FlueGases.Connectors.Outlet C_out, + redeclare MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPHFlowModel flow_model, + redeclare package Medium = FlueGasesMedium) annotation (IconMap(primitivesVisible=true)); + + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.FlueGasesSensorIcon; + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.TemperatureIcon; + +end TemperatureSensor; diff --git a/MetroscopeModelingLibrary/Sensors_Control/FlueGases/package.mo b/MetroscopeModelingLibrary/Sensors_Control/FlueGases/package.mo new file mode 100644 index 00000000..90a218b3 --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/FlueGases/package.mo @@ -0,0 +1,63 @@ +within MetroscopeModelingLibrary.Sensors_Control; +package FlueGases + + annotation (Icon(graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100,-100},{100,100}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100,-100},{100,100}}, + radius=25.0), + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100,-100},{100,100}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100,-100},{100,100}}, + radius=25.0), + Ellipse( + lineColor={102,102,102}, + fillColor={204,204,204}, + pattern=LinePattern.None, + fillPattern=FillPattern.Sphere, + extent={{-60,-60},{60,60}}), + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100,-100},{100,100}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100,-100},{100,100}}, + radius=25.0), + Ellipse( + lineColor={102,102,102}, + fillColor={204,204,204}, + pattern=LinePattern.None, + fillPattern=FillPattern.Sphere, + extent={{-60,-60},{60,60}}), + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100,-100},{100,100}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100,-100},{100,100}}, + radius=25.0), + Ellipse( + lineColor={102,102,102}, + fillColor={95,95,95}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + extent={{-60,-60},{60,60}})})); +end FlueGases; diff --git a/MetroscopeModelingLibrary/Sensors_Control/FlueGases/package.order b/MetroscopeModelingLibrary/Sensors_Control/FlueGases/package.order new file mode 100644 index 00000000..2df6680e --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/FlueGases/package.order @@ -0,0 +1,4 @@ +TemperatureSensor +PressureSensor +DeltaPressureSensor +FlowSensor diff --git a/MetroscopeModelingLibrary/Sensors_Control/Fuel/Chromatograph.mo b/MetroscopeModelingLibrary/Sensors_Control/Fuel/Chromatograph.mo new file mode 100644 index 00000000..de3058bc --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/Fuel/Chromatograph.mo @@ -0,0 +1,118 @@ +within MetroscopeModelingLibrary.Sensors_Control.Fuel; +model Chromatograph + Utilities.Interfaces.GenericReal X_CO2 annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={20,40}), iconTransformation( + extent={{-16,-16},{16,16}}, + rotation=90, + origin={84,36}))); + package FuelMedium = MetroscopeModelingLibrary.Utilities.Media.FuelMedium; + + extends Partial.Sensors.BaseSensor( + redeclare MetroscopeModelingLibrary.Fuel.Connectors.Inlet C_in, + redeclare MetroscopeModelingLibrary.Fuel.Connectors.Outlet C_out, + redeclare MetroscopeModelingLibrary.Fuel.BaseClasses.IsoPHFlowModel flow_model, + redeclare package Medium = FuelMedium) annotation (IconMap(primitivesVisible=true)); + + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.FuelSensorIcon; + + // Atomic mass + constant Real amC=12.01115 "Carbon atomic mass"; + constant Real amH=1.00797 "Hydrogen atomic mass"; + constant Real amO=15.9994 "Oxygen atomic mass"; + constant Real amN=14.0067 "Nitrogen atomic mass"; + + // Molar mass of species of interest + Real amCH4 "CH4 molecular mass"; + Real amC2H6 "C2H6 molecular mass"; + Real amC3H8 "C3H8 molecular mass"; + Real amC4H10 "C4H10 molecular mass"; + Real amCO2 "CO2 molecular mass"; + Real amN2 "H2O molecular mass"; + + // Mole fractions + Real X_molar_CH4(start=0.92); + Real X_molar_C2H6(start=0.048); + Real X_molar_C3H8(start=0.005); + Real X_molar_C4H10_n_butane(start=0.002); + Real X_molar_N2(start=0.015); + Real X_molar_CO2(start=0.01); + + // Mean molecular mass + Real mean_molecular_mass(start=17); + + Utilities.Interfaces.GenericReal X_C2H6 annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={-60,40}), iconTransformation( + extent={{-16,-16},{16,16}}, + rotation=90, + origin={-60,76}))); + Utilities.Interfaces.GenericReal X_C3H8 annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={-40,40}), iconTransformation( + extent={{-16,-16},{16,16}}, + rotation=90, + origin={-22,104}))); + Utilities.Interfaces.GenericReal X_C4H10_n_butane annotation (Placement( + transformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={-20,40}), iconTransformation( + extent={{-16,-16},{16,16}}, + rotation=90, + origin={20,104}))); + Utilities.Interfaces.GenericReal X_N2 annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={0,40}), iconTransformation( + extent={{-16,-16},{16,16}}, + rotation=90, + origin={60,78}))); +equation + + // Molar mass of species of interest +public + Utilities.Interfaces.GenericReal X_CH4 annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={-80,40}), iconTransformation( + extent={{-16,-16},{16,16}}, + rotation=90, + origin={-84,38}))); +equation + amCH4 = amC + 4*amH; + amC2H6 = 2*amC + 6*amH; + amC3H8 = 3*amC + 8*amH; + amC4H10 = 4*amC + 10*amH; + amN2 = 2*amN; + amCO2 = amC + 2*amO; + + // Composition mass fraction + X_CH4/100 = Xi[1]; // methane + X_C2H6/100 = Xi[2]; // ethane + X_C3H8/100 = Xi[3]; // propane + X_C4H10_n_butane/100 = Xi[4]; // butane + X_N2/100 = Xi[5]; // nitrogen + X_CO2/100 = Xi[6]; // carbon dioxyde + + // Mean Molecular Mass: this gives the correct results only if the molar fraction is given as an input, if the mass fraction is given, this quantity is useless + mean_molecular_mass = X_molar_CH4*amCH4 + X_molar_C2H6*amC2H6 + X_molar_C3H8*amC3H8 + X_molar_C4H10_n_butane*amC4H10 + X_molar_N2*amN2 + X_molar_CO2*amCO2; + + // Mass and mole fraction relation + X_molar_CH4 = X_CH4/amCH4 * mean_molecular_mass; + X_molar_C2H6 = X_C2H6/amC2H6 * mean_molecular_mass; + X_molar_C3H8 = X_C3H8/amC3H8 * mean_molecular_mass; + X_molar_C4H10_n_butane = X_C4H10_n_butane/amC4H10 * mean_molecular_mass; + X_molar_N2 = X_N2/amN2 * mean_molecular_mass; + X_molar_CO2 = X_CO2/amCO2 * mean_molecular_mass; + + annotation (Icon(coordinateSystem(extent={{-100,-100},{100,100}}), + graphics={Text( + extent={{-60,60},{60,-60}}, + textColor={0,0,0}, + textString="X")}), Diagram(coordinateSystem(extent={{-100,-100},{100, + 100}}))); +end Chromatograph; diff --git a/MetroscopeModelingLibrary/Sensors_Control/Fuel/DeltaPressureSensor.mo b/MetroscopeModelingLibrary/Sensors_Control/Fuel/DeltaPressureSensor.mo new file mode 100644 index 00000000..1b95c4c4 --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/Fuel/DeltaPressureSensor.mo @@ -0,0 +1,13 @@ +within MetroscopeModelingLibrary.Sensors_Control.Fuel; +model DeltaPressureSensor + package FuelMedium = MetroscopeModelingLibrary.Utilities.Media.FuelMedium; + + extends Partial.Sensors_Control.DeltaPressureSensor( + redeclare MetroscopeModelingLibrary.Fuel.Connectors.Inlet C_in, + redeclare MetroscopeModelingLibrary.Fuel.Connectors.Outlet C_out, + redeclare package Medium = FuelMedium) annotation (IconMap(primitivesVisible=true)); + + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.OutlineSensorIcon; + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.DeltaPressureIcon; + +end DeltaPressureSensor; diff --git a/MetroscopeModelingLibrary/Sensors_Control/Fuel/FlowSensor.mo b/MetroscopeModelingLibrary/Sensors_Control/Fuel/FlowSensor.mo new file mode 100644 index 00000000..d6c076c2 --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/Fuel/FlowSensor.mo @@ -0,0 +1,14 @@ +within MetroscopeModelingLibrary.Sensors_Control.Fuel; +model FlowSensor + package FuelMedium = MetroscopeModelingLibrary.Utilities.Media.FuelMedium; + + extends Partial.Sensors_Control.FlowSensor( + redeclare MetroscopeModelingLibrary.Fuel.Connectors.Inlet C_in, + redeclare MetroscopeModelingLibrary.Fuel.Connectors.Outlet C_out, + redeclare MetroscopeModelingLibrary.Fuel.BaseClasses.IsoPHFlowModel flow_model, + redeclare package Medium = FuelMedium) annotation (IconMap(primitivesVisible=true)); + + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.FuelSensorIcon; + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.FlowIcon; + +end FlowSensor; diff --git a/MetroscopeModelingLibrary/Sensors_Control/Fuel/PressureSensor.mo b/MetroscopeModelingLibrary/Sensors_Control/Fuel/PressureSensor.mo new file mode 100644 index 00000000..9106a6bb --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/Fuel/PressureSensor.mo @@ -0,0 +1,14 @@ +within MetroscopeModelingLibrary.Sensors_Control.Fuel; +model PressureSensor + package FuelMedium = MetroscopeModelingLibrary.Utilities.Media.FuelMedium; + + extends Partial.Sensors_Control.PressureSensor( + redeclare MetroscopeModelingLibrary.Fuel.Connectors.Inlet C_in, + redeclare MetroscopeModelingLibrary.Fuel.Connectors.Outlet C_out, + redeclare MetroscopeModelingLibrary.Fuel.BaseClasses.IsoPHFlowModel flow_model, + redeclare package Medium = FuelMedium) annotation (IconMap(primitivesVisible=true)); + + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.FuelSensorIcon; + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.PressureIcon; + +end PressureSensor; diff --git a/MetroscopeModelingLibrary/Sensors_Control/Fuel/TemperatureSensor.mo b/MetroscopeModelingLibrary/Sensors_Control/Fuel/TemperatureSensor.mo new file mode 100644 index 00000000..32d7f843 --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/Fuel/TemperatureSensor.mo @@ -0,0 +1,14 @@ +within MetroscopeModelingLibrary.Sensors_Control.Fuel; +model TemperatureSensor + package FuelMedium = MetroscopeModelingLibrary.Utilities.Media.FuelMedium; + + extends Partial.Sensors_Control.TemperatureSensor( + redeclare MetroscopeModelingLibrary.Fuel.Connectors.Inlet C_in, + redeclare MetroscopeModelingLibrary.Fuel.Connectors.Outlet C_out, + redeclare MetroscopeModelingLibrary.Fuel.BaseClasses.IsoPHFlowModel flow_model, + redeclare package Medium = FuelMedium) annotation (IconMap(primitivesVisible=true)); + + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.FuelSensorIcon; + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.TemperatureIcon; + +end TemperatureSensor; diff --git a/MetroscopeModelingLibrary/Sensors_Control/Fuel/package.mo b/MetroscopeModelingLibrary/Sensors_Control/Fuel/package.mo new file mode 100644 index 00000000..487f4af3 --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/Fuel/package.mo @@ -0,0 +1,63 @@ +within MetroscopeModelingLibrary.Sensors_Control; +package Fuel + + annotation (Icon(graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100,-100},{100,100}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100,-100},{100,100}}, + radius=25.0), + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100,-100},{100,100}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100,-100},{100,100}}, + radius=25.0), + Ellipse( + lineColor={102,102,102}, + fillColor={204,204,204}, + pattern=LinePattern.None, + fillPattern=FillPattern.Sphere, + extent={{-60,-60},{60,60}}), + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100,-100},{100,100}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100,-100},{100,100}}, + radius=25.0), + Ellipse( + lineColor={102,102,102}, + fillColor={204,204,204}, + pattern=LinePattern.None, + fillPattern=FillPattern.Sphere, + extent={{-60,-60},{60,60}}), + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100,-100},{100,100}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100,-100},{100,100}}, + radius=25.0), + Ellipse( + lineColor={102,102,102}, + fillColor={213,213,0}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + extent={{-60,-60},{60,60}})})); +end Fuel; diff --git a/MetroscopeModelingLibrary/Sensors_Control/Fuel/package.order b/MetroscopeModelingLibrary/Sensors_Control/Fuel/package.order new file mode 100644 index 00000000..6645a5ce --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/Fuel/package.order @@ -0,0 +1,5 @@ +TemperatureSensor +PressureSensor +DeltaPressureSensor +FlowSensor +Chromatograph diff --git a/MetroscopeModelingLibrary/Sensors_Control/MoistAir/DeltaPressureSensor.mo b/MetroscopeModelingLibrary/Sensors_Control/MoistAir/DeltaPressureSensor.mo new file mode 100644 index 00000000..0995f336 --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/MoistAir/DeltaPressureSensor.mo @@ -0,0 +1,13 @@ +within MetroscopeModelingLibrary.Sensors_Control.MoistAir; +model DeltaPressureSensor + package MoistAirMedium = MetroscopeModelingLibrary.Utilities.Media.MoistAirMedium; + + extends Partial.Sensors_Control.DeltaPressureSensor( + redeclare MetroscopeModelingLibrary.MoistAir.Connectors.Inlet C_in, + redeclare MetroscopeModelingLibrary.MoistAir.Connectors.Outlet C_out, + redeclare package Medium = MoistAirMedium) annotation (IconMap(primitivesVisible=true)); + + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.OutlineSensorIcon; + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.DeltaPressureIcon; + +end DeltaPressureSensor; diff --git a/MetroscopeModelingLibrary/Sensors_Control/MoistAir/FlowSensor.mo b/MetroscopeModelingLibrary/Sensors_Control/MoistAir/FlowSensor.mo new file mode 100644 index 00000000..eb8aa57d --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/MoistAir/FlowSensor.mo @@ -0,0 +1,14 @@ +within MetroscopeModelingLibrary.Sensors_Control.MoistAir; +model FlowSensor + package MoistAirMedium = MetroscopeModelingLibrary.Utilities.Media.MoistAirMedium; + + extends Partial.Sensors_Control.FlowSensor( + redeclare MetroscopeModelingLibrary.MoistAir.Connectors.Inlet C_in, + redeclare MetroscopeModelingLibrary.MoistAir.Connectors.Outlet C_out, + redeclare MetroscopeModelingLibrary.MoistAir.BaseClasses.IsoPHFlowModel flow_model, + redeclare package Medium = MoistAirMedium) annotation (IconMap(primitivesVisible=true)); + + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.MoistAirSensorIcon; + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.FlowIcon; + +end FlowSensor; diff --git a/MetroscopeModelingLibrary/Sensors_Control/MoistAir/PressureSensor.mo b/MetroscopeModelingLibrary/Sensors_Control/MoistAir/PressureSensor.mo new file mode 100644 index 00000000..481b2115 --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/MoistAir/PressureSensor.mo @@ -0,0 +1,14 @@ +within MetroscopeModelingLibrary.Sensors_Control.MoistAir; +model PressureSensor + package MoistAirMedium = MetroscopeModelingLibrary.Utilities.Media.MoistAirMedium; + + extends Partial.Sensors_Control.PressureSensor( + redeclare MetroscopeModelingLibrary.MoistAir.Connectors.Inlet C_in, + redeclare MetroscopeModelingLibrary.MoistAir.Connectors.Outlet C_out, + redeclare MetroscopeModelingLibrary.MoistAir.BaseClasses.IsoPHFlowModel flow_model, + redeclare package Medium = MoistAirMedium) annotation (IconMap(primitivesVisible=true)); + + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.MoistAirSensorIcon; + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.PressureIcon; + +end PressureSensor; diff --git a/MetroscopeModelingLibrary/Sensors_Control/MoistAir/RelativeHumiditySensor.mo b/MetroscopeModelingLibrary/Sensors_Control/MoistAir/RelativeHumiditySensor.mo new file mode 100644 index 00000000..4364d287 --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/MoistAir/RelativeHumiditySensor.mo @@ -0,0 +1,50 @@ +within MetroscopeModelingLibrary.Sensors_Control.MoistAir; +model RelativeHumiditySensor + package MoistAirMedium = MetroscopeModelingLibrary.Utilities.Media.MoistAirMedium; + + extends MetroscopeModelingLibrary.Partial.Sensors_Control.BaseSensor( + redeclare MetroscopeModelingLibrary.MoistAir.Connectors.Inlet C_in, + redeclare MetroscopeModelingLibrary.MoistAir.Connectors.Outlet C_out, + redeclare MetroscopeModelingLibrary.MoistAir.BaseClasses.IsoPHFlowModel flow_model, + redeclare package Medium = MoistAirMedium) annotation (IconMap(primitivesVisible=true)); + + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.MoistAirSensorIcon; + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.RelativeHumidityIcon; + + // Relative Humidity + parameter Real input_H = 0.5; + parameter Real relative_humidity_0 = 0.5; + Real relative_humidity(start=relative_humidity_0, min=0, max=1); + Real relative_humidity_pc(start=relative_humidity_0*100, min=0, max=100); + + // Display + parameter String display_unit = "%" "Specify the display unit" annotation(choices(choice="", choice="%")); + outer parameter Boolean display_output = false "Used to switch ON or OFF output display"; + parameter String signal_unit = "%" annotation (choices(choice="", choice="%")); + + Utilities.Interfaces.GenericReal H_sensor(start=input_H) annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={0,100}), iconTransformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={0,100}))); +equation + flow_model.Xi[1] = MoistAirMedium.massFraction_pTphi(P, flow_model.T_in, relative_humidity); + relative_humidity_pc = relative_humidity*100; + + + if signal_unit == "" then + H_sensor = relative_humidity; + elseif signal_unit == "%" then + H_sensor = relative_humidity_pc; + end if; + + annotation (Icon(graphics={Text( + extent={{-100,-160},{102,-200}}, + textColor={0,0,0}, + textString=if display_output then + DynamicSelect("",String(relative_humidity_pc)+" %%") + else "")})); + +end RelativeHumiditySensor; diff --git a/MetroscopeModelingLibrary/Sensors_Control/MoistAir/TemperatureSensor.mo b/MetroscopeModelingLibrary/Sensors_Control/MoistAir/TemperatureSensor.mo new file mode 100644 index 00000000..7ce846a3 --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/MoistAir/TemperatureSensor.mo @@ -0,0 +1,14 @@ +within MetroscopeModelingLibrary.Sensors_Control.MoistAir; +model TemperatureSensor + package MoistAirMedium = MetroscopeModelingLibrary.Utilities.Media.MoistAirMedium; + + extends Partial.Sensors_Control.TemperatureSensor( + redeclare MetroscopeModelingLibrary.MoistAir.Connectors.Inlet C_in, + redeclare MetroscopeModelingLibrary.MoistAir.Connectors.Outlet C_out, + redeclare MetroscopeModelingLibrary.MoistAir.BaseClasses.IsoPHFlowModel flow_model, + redeclare package Medium = MoistAirMedium) annotation (IconMap(primitivesVisible=true)); + + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.MoistAirSensorIcon; + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.TemperatureIcon; + +end TemperatureSensor; diff --git a/MetroscopeModelingLibrary/Sensors_Control/MoistAir/package.mo b/MetroscopeModelingLibrary/Sensors_Control/MoistAir/package.mo new file mode 100644 index 00000000..f53bc088 --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/MoistAir/package.mo @@ -0,0 +1,20 @@ +within MetroscopeModelingLibrary.Sensors_Control; +package MoistAir + + annotation (Icon(graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100,-100},{100,100}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100,-100},{100,100}}, + radius=25.0), + Ellipse( + fillColor={85,170,255}, + fillPattern=FillPattern.Solid, + extent={{-60,-60},{60,60}}, + pattern=LinePattern.None)})); +end MoistAir; diff --git a/MetroscopeModelingLibrary/Sensors_Control/MoistAir/package.order b/MetroscopeModelingLibrary/Sensors_Control/MoistAir/package.order new file mode 100644 index 00000000..26b15a71 --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/MoistAir/package.order @@ -0,0 +1,5 @@ +TemperatureSensor +PressureSensor +DeltaPressureSensor +FlowSensor +RelativeHumiditySensor diff --git a/MetroscopeModelingLibrary/Sensors_Control/Outline/OpeningSensor.mo b/MetroscopeModelingLibrary/Sensors_Control/Outline/OpeningSensor.mo new file mode 100644 index 00000000..c40fdf06 --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/Outline/OpeningSensor.mo @@ -0,0 +1,70 @@ +within MetroscopeModelingLibrary.Sensors_Control.Outline; +model OpeningSensor + + import MetroscopeModelingLibrary.Utilities.Units.Inputs; + + parameter Utilities.Units.Percentage Opening_pc_0 = 15; + Inputs.InputPercentage Opening_pc(unit="1", start=Opening_pc_0, min=0, max=100, nominal=Opening_pc_0); // Opening in percentage + + // Icon parameters + parameter String sensor_function = "Unidentified" "Specify if the sensor is a BC or used for calibration" + annotation(choices(choice="Unidentified" "No specific function", choice="BC" "Boundary condition", choice="Calibration" "Used for calibration")); + parameter String causality = "" "Specify which parameter is calibrated by this sensor"; + parameter Boolean display_output = true "Used to switch ON or OFF output display"; + parameter String output_signal_unit = "%" annotation(choices(choice="%" "percentage, between 0 and 100", choice="" "No unit, between 0 and 1")); + + Modelica.Blocks.Interfaces.RealOutput Opening(unit="1", min=0, max=1, nominal=Opening_pc_0/100, start=Opening_pc_0/100) + annotation (Placement(transformation( + extent={{-27,-27},{27,27}}, + rotation=270, + origin={0,-20}), iconTransformation(extent={{-27,-27},{27,27}}, + rotation=270, + origin={0,-102}))); + Utilities.Interfaces.GenericReal opening_sensor annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={0,102}), iconTransformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={0,102}))); +equation + Opening_pc = Opening * 100; + + if output_signal_unit == "%" then + opening_sensor = Opening_pc; + else + opening_sensor = Opening; + end if; + annotation (Icon(graphics={ Text( + extent={{-100,200},{100,160}}, + textColor={0,0,0}, + textString=if display_output then DynamicSelect("",String(Opening_pc)+" %%") + else ""), + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + pattern=LinePattern.None, + fillColor=if sensor_function == "BC" then {238, 46, 47} elseif sensor_function == "Calibration" then {107, 175, 17} else {255, 255, 255}, + fillPattern=if sensor_function == "BC" or sensor_function == "Calibration" then FillPattern.Solid else FillPattern.None), + Text( + extent={{-100,-120},{100,-160}}, + textColor={107,175,17}, + textString=if causality <> "" then "%causality" else ""), + Line( + points={{100,-60},{140,-60},{140,-140},{100,-140}}, + color={107,175,17}, + arrow=if causality == "" then {Arrow.None,Arrow.None} else {Arrow.None,Arrow.Filled}, + thickness=0.5, + pattern=if causality == "" then LinePattern.None else LinePattern.Solid, + smooth=Smooth.Bezier), + Ellipse( + extent={{-100,100},{100,-98}}, + lineColor={0,0,0}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + lineThickness=0.5), + Text( + extent={{-60,60},{60,-60}}, + textColor={0,0,0}, + textString="O")})); +end OpeningSensor; diff --git a/MetroscopeModelingLibrary/Sensors_Control/Outline/VRotSensor.mo b/MetroscopeModelingLibrary/Sensors_Control/Outline/VRotSensor.mo new file mode 100644 index 00000000..a0187dcc --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/Outline/VRotSensor.mo @@ -0,0 +1,13 @@ +within MetroscopeModelingLibrary.Sensors_Control.Outline; +model VRotSensor + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.OutlineSensorIcon; + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.VRotIcon; + import MetroscopeModelingLibrary.Utilities.Units.Inputs; + + Modelica.Blocks.Interfaces.RealOutput VRot(min=0, nominal=2000, start=2000) "rotations per minute" annotation (Placement(transformation( + extent={{-27,-27},{27,27}}, + rotation=270, + origin={1,-17}), iconTransformation(extent={{-27,-27},{27,27}}, + rotation=270, + origin={0,-102}))); +end VRotSensor; diff --git a/MetroscopeModelingLibrary/Sensors_Control/Outline/package.mo b/MetroscopeModelingLibrary/Sensors_Control/Outline/package.mo new file mode 100644 index 00000000..5435a1e4 --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/Outline/package.mo @@ -0,0 +1,26 @@ +within MetroscopeModelingLibrary.Sensors_Control; +package Outline + +annotation (Icon(graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100,-100},{100,100}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100,-100},{100,100}}, + radius=25.0), + Ellipse( + extent={{-70,70},{70,-70}}, + lineColor={0,0,0}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + lineThickness=0.5), + Polygon( + points={{-20,-57},{0,-91},{20,-57},{-20,-57}}, + lineColor={0,0,0}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid)})); +end Outline; diff --git a/MetroscopeModelingLibrary/Sensors_Control/Outline/package.order b/MetroscopeModelingLibrary/Sensors_Control/Outline/package.order new file mode 100644 index 00000000..d4ba4ced --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/Outline/package.order @@ -0,0 +1,2 @@ +OpeningSensor +VRotSensor diff --git a/MetroscopeModelingLibrary/Sensors_Control/Power/PowerSensor.mo b/MetroscopeModelingLibrary/Sensors_Control/Power/PowerSensor.mo new file mode 100644 index 00000000..b6b8e43c --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/Power/PowerSensor.mo @@ -0,0 +1,81 @@ +within MetroscopeModelingLibrary.Sensors_Control.Power; +model PowerSensor + + import MetroscopeModelingLibrary.Utilities.Units.Inputs; + + Utilities.Units.Power W; + // Power in W + Real W_MW(min=0, nominal=100, start=100); // Power in MW + + // Icon parameters + parameter String sensor_function = "Unidentified" "Specify if the sensor is a BC or used for calibration" + annotation(choices(choice="Unidentified" "No specific function", choice="BC" "Boundary condition", choice="Calibration" "Used for calibration")); + parameter String causality = "" "Specify which parameter is calibrated by this sensor"; + outer parameter Boolean show_causality = true "Used to show or not the causality"; + parameter String display_unit = "MW" "Specify the display unit" + annotation(choices(choice="MW", choice="W")); + outer parameter Boolean display_output = false "Used to switch ON or OFF output display"; + parameter String output_signal_unit = "MW" annotation(choices(choice="MW", choice="W")); + + MetroscopeModelingLibrary.Power.Connectors.Inlet C_in annotation (Placement(transformation(extent={{-110,-10},{-90,10}}), iconTransformation(extent={{-110,-10},{-90,10}}))); + MetroscopeModelingLibrary.Power.Connectors.Outlet C_out annotation (Placement(transformation(extent={{88,-10},{108,10}}), iconTransformation(extent={{88,-10},{108,10}}))); + Utilities.Interfaces.GenericReal W_sensor annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={0,100}), iconTransformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={0,100}))); +equation + // Conservation of power + C_in.W + C_out.W = 0; // C_out.W < 0 if power flows out of component, as for mass flows + + // Measure + W = C_in.W; + W_MW = W/1e6; + + if output_signal_unit == "MW" then + W_sensor = W_MW; + else + W_sensor = W; + end if; + + annotation (Icon(graphics={Text( + extent={{-100,-160},{102,-200}}, + textColor={0,0,0}, + textString=if display_output then + if display_unit == "W" then DynamicSelect("",String(W)+" W") + else DynamicSelect("",String(W_MW)+" MW") + else ""), + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + pattern=LinePattern.None, + fillColor=if sensor_function == "BC" then {238, 46, 47} elseif sensor_function == "Calibration" then {107, 175, 17} else {255, 255, 255}, + fillPattern=if sensor_function == "BC" or sensor_function == "Calibration" then FillPattern.Solid else FillPattern.None), + Text( + extent={{-100,-120},{100,-160}}, + textColor={107,175,17}, + textString=if show_causality then "%causality" else ""), + Line( + points={{100,-60},{140,-60},{140,-140},{100,-140}}, + color={107,175,17}, + arrow=if causality == "" or show_causality == false then {Arrow.None,Arrow.None} else {Arrow.None,Arrow.Filled}, + thickness=0.5, + pattern=if causality == "" or show_causality == false then LinePattern.None else LinePattern.Solid, + smooth=Smooth.Bezier), + Ellipse( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + fillColor={244,125,35}, + fillPattern=FillPattern.Solid), + Ellipse( + extent={{-80,80},{80,-80}}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + pattern=LinePattern.None), + Text( + extent={{-60,60},{60,-60}}, + textColor={0,0,0}, + textString="W")})); +end PowerSensor; diff --git a/MetroscopeModelingLibrary/Sensors_Control/Power/package.mo b/MetroscopeModelingLibrary/Sensors_Control/Power/package.mo new file mode 100644 index 00000000..05b201dd --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/Power/package.mo @@ -0,0 +1,20 @@ +within MetroscopeModelingLibrary.Sensors_Control; +package Power + annotation (Icon(graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100,-100},{100,100}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100,-100},{100,100}}, + radius=25.0), + Ellipse( + lineColor={102,102,102}, + fillColor={244,125,35}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + extent={{-60,-60},{60,60}})})); +end Power; diff --git a/MetroscopeModelingLibrary/Sensors_Control/Power/package.order b/MetroscopeModelingLibrary/Sensors_Control/Power/package.order new file mode 100644 index 00000000..ea210bc9 --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/Power/package.order @@ -0,0 +1 @@ +PowerSensor diff --git a/MetroscopeModelingLibrary/Sensors_Control/WaterSteam/DeltaPressureSensor.mo b/MetroscopeModelingLibrary/Sensors_Control/WaterSteam/DeltaPressureSensor.mo new file mode 100644 index 00000000..6cdafa87 --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/WaterSteam/DeltaPressureSensor.mo @@ -0,0 +1,13 @@ +within MetroscopeModelingLibrary.Sensors_Control.WaterSteam; +model DeltaPressureSensor + package WaterSteamMedium = MetroscopeModelingLibrary.Utilities.Media.WaterSteamMedium; + + extends Partial.Sensors_Control.DeltaPressureSensor( + redeclare MetroscopeModelingLibrary.WaterSteam.Connectors.Inlet C_in, + redeclare MetroscopeModelingLibrary.WaterSteam.Connectors.Outlet C_out, + redeclare package Medium = WaterSteamMedium) annotation (IconMap(primitivesVisible=true)); + + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.OutlineSensorIcon; + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.DeltaPressureIcon; + +end DeltaPressureSensor; diff --git a/MetroscopeModelingLibrary/Sensors_Control/WaterSteam/FlowSensor.mo b/MetroscopeModelingLibrary/Sensors_Control/WaterSteam/FlowSensor.mo new file mode 100644 index 00000000..aa6246d0 --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/WaterSteam/FlowSensor.mo @@ -0,0 +1,13 @@ +within MetroscopeModelingLibrary.Sensors_Control.WaterSteam; +model FlowSensor + package WaterSteamMedium = MetroscopeModelingLibrary.Utilities.Media.WaterSteamMedium; + + extends Partial.Sensors_Control.FlowSensor( + redeclare MetroscopeModelingLibrary.WaterSteam.Connectors.Inlet C_in, + redeclare MetroscopeModelingLibrary.WaterSteam.Connectors.Outlet C_out, + redeclare MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel flow_model, + redeclare package Medium = WaterSteamMedium) annotation (IconMap(primitivesVisible=true)); + + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.WaterSensorIcon; + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.FlowIcon; +end FlowSensor; diff --git a/MetroscopeModelingLibrary/Sensors_Control/WaterSteam/PressureSensor.mo b/MetroscopeModelingLibrary/Sensors_Control/WaterSteam/PressureSensor.mo new file mode 100644 index 00000000..aacf84d3 --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/WaterSteam/PressureSensor.mo @@ -0,0 +1,13 @@ +within MetroscopeModelingLibrary.Sensors_Control.WaterSteam; +model PressureSensor + package WaterSteamMedium = MetroscopeModelingLibrary.Utilities.Media.WaterSteamMedium; + + extends Partial.Sensors_Control.PressureSensor( + redeclare MetroscopeModelingLibrary.WaterSteam.Connectors.Inlet C_in, + redeclare MetroscopeModelingLibrary.WaterSteam.Connectors.Outlet C_out, + redeclare MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel flow_model, + redeclare package Medium = WaterSteamMedium) annotation (IconMap(primitivesVisible=true)); + + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.WaterSensorIcon; + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.PressureIcon; +end PressureSensor; diff --git a/MetroscopeModelingLibrary/Sensors_Control/WaterSteam/TemperatureSensor.mo b/MetroscopeModelingLibrary/Sensors_Control/WaterSteam/TemperatureSensor.mo new file mode 100644 index 00000000..2688b82c --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/WaterSteam/TemperatureSensor.mo @@ -0,0 +1,14 @@ +within MetroscopeModelingLibrary.Sensors_Control.WaterSteam; +model TemperatureSensor + package WaterSteamMedium = MetroscopeModelingLibrary.Utilities.Media.WaterSteamMedium; + + extends Partial.Sensors_Control.TemperatureSensor( + redeclare MetroscopeModelingLibrary.WaterSteam.Connectors.Inlet C_in, + redeclare MetroscopeModelingLibrary.WaterSteam.Connectors.Outlet C_out, + redeclare MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel flow_model, + redeclare package Medium = WaterSteamMedium) annotation (IconMap(primitivesVisible=true)); + + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.WaterSensorIcon; + extends MetroscopeModelingLibrary.Utilities.Icons.Sensors.TemperatureIcon; + +end TemperatureSensor; diff --git a/MetroscopeModelingLibrary/Sensors_Control/WaterSteam/package.mo b/MetroscopeModelingLibrary/Sensors_Control/WaterSteam/package.mo new file mode 100644 index 00000000..42165297 --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/WaterSteam/package.mo @@ -0,0 +1,21 @@ +within MetroscopeModelingLibrary.Sensors_Control; +package WaterSteam + + annotation (Icon(graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100,-100},{100,100}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100,-100},{100,100}}, + radius=25.0), + Ellipse( + lineColor={102,102,102}, + fillColor={28,108,200}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + extent={{-60,-60},{60,60}})})); +end WaterSteam; diff --git a/MetroscopeModelingLibrary/Sensors_Control/WaterSteam/package.order b/MetroscopeModelingLibrary/Sensors_Control/WaterSteam/package.order new file mode 100644 index 00000000..2df6680e --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/WaterSteam/package.order @@ -0,0 +1,4 @@ +TemperatureSensor +PressureSensor +DeltaPressureSensor +FlowSensor diff --git a/MetroscopeModelingLibrary/Sensors_Control/package.mo b/MetroscopeModelingLibrary/Sensors_Control/package.mo new file mode 100644 index 00000000..fec0aade --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/package.mo @@ -0,0 +1,44 @@ +within MetroscopeModelingLibrary; +package Sensors_Control + +annotation (Icon(graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100,-100},{100,100}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100,-100},{100,100}}, + radius=25.0), + Ellipse( + fillColor={245,245,245}, + fillPattern=FillPattern.Solid, + extent={{-70,-70},{70,70}}), + Line(points={{0,70},{0,40}}), + Line(points={{22.9,32.8},{40.2,57.3}}), + Line(points={{-22.9,32.8},{-40.2,57.3}}), + Line(points={{37.6,13.7},{65.8,23.9}}), + Line(points={{-37.6,13.7},{-65.8,23.9}}), + Ellipse( + lineColor={64,64,64}, + fillColor={255,255,255}, + extent={{-12,-12},{12,12}}), + Polygon( + rotation=-17.5, + fillColor={64,64,64}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-5.0,0.0},{-2.0,60.0},{0.0,65.0},{2.0,60.0},{5.0,0.0}}), + Ellipse( + fillColor={64,64,64}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + extent={{-7,-7},{7,7}})}), + Documentation(info=" +
Licensed by Metroscope under the Modelica License 2
+Copyright © 2023, Metroscope.
+This Modelica package is free software and the use is completely at your own risk; it can be redistributed and/or modified under the terms of the Modelica License 2.
+")); +end Sensors_Control; diff --git a/MetroscopeModelingLibrary/Sensors_Control/package.order b/MetroscopeModelingLibrary/Sensors_Control/package.order new file mode 100644 index 00000000..25b15fc1 --- /dev/null +++ b/MetroscopeModelingLibrary/Sensors_Control/package.order @@ -0,0 +1,6 @@ +WaterSteam +FlueGases +Fuel +MoistAir +Power +Outline diff --git a/MetroscopeModelingLibrary/Tests/FlueGases/Pipes/Pipe_direct.mo b/MetroscopeModelingLibrary/Tests/FlueGases/Pipes/Pipe_direct.mo index 313ba736..114e3472 100644 --- a/MetroscopeModelingLibrary/Tests/FlueGases/Pipes/Pipe_direct.mo +++ b/MetroscopeModelingLibrary/Tests/FlueGases/Pipes/Pipe_direct.mo @@ -15,7 +15,7 @@ model Pipe_direct MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Source source annotation (Placement(transformation(extent={{-38,-10},{-18,10}}))); MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Sink sink annotation (Placement(transformation(extent={{18,-10},{38,10}}))); - MetroscopeModelingLibrary.FlueGases.Pipes.Pipe pipe annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + MetroscopeModelingLibrary.FlueGases.Pipes.FrictionPipe pipe annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); equation // Boundary conditions diff --git a/MetroscopeModelingLibrary/Tests/FlueGases/Pipes/Pipe_reverse.mo b/MetroscopeModelingLibrary/Tests/FlueGases/Pipes/Pipe_reverse.mo index 244ebac2..2171a7d5 100644 --- a/MetroscopeModelingLibrary/Tests/FlueGases/Pipes/Pipe_reverse.mo +++ b/MetroscopeModelingLibrary/Tests/FlueGases/Pipes/Pipe_reverse.mo @@ -20,7 +20,7 @@ model Pipe_reverse MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Source source annotation (Placement(transformation(extent={{-38,-10},{-18,10}}))); MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Sink sink annotation (Placement(transformation(extent={{68,-10},{88,10}}))); - MetroscopeModelingLibrary.FlueGases.Pipes.Pipe pipe annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + MetroscopeModelingLibrary.FlueGases.Pipes.FrictionPipe pipe annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); MetroscopeModelingLibrary.Sensors.FlueGases.PressureSensor P_out_sensor annotation (Placement(transformation(extent={{28,-10},{48,10}}))); equation diff --git a/MetroscopeModelingLibrary/Tests/Multifluid/HeatExchangers/AirCooledCondenser_direct.mo b/MetroscopeModelingLibrary/Tests/Multifluid/HeatExchangers/AirCooledCondenser_direct.mo index 6bb82cd5..3718005c 100644 --- a/MetroscopeModelingLibrary/Tests/Multifluid/HeatExchangers/AirCooledCondenser_direct.mo +++ b/MetroscopeModelingLibrary/Tests/Multifluid/HeatExchangers/AirCooledCondenser_direct.mo @@ -12,15 +12,6 @@ model AirCooledCondenser_direct input Real T_cold_source(start=10) "degC"; input Utilities.Units.Fraction cold_source_relative_humidity(start=0.80) "1"; - // Parameters - parameter Utilities.Units.Pressure P_offset = 0; - parameter Real C_incond = 0; - parameter Utilities.Units.Area S = 150000 "m2"; - - // Calibrated parameters - parameter Utilities.Units.HeatExchangeCoefficient Kth = 10; - parameter Utilities.Units.FrictionCoefficient Kfr_hot = 0; - // Sensors for calibration output Real P_cond(start=91) "mbarA"; @@ -35,8 +26,10 @@ model AirCooledCondenser_direct MetroscopeModelingLibrary.MoistAir.BoundaryConditions.Source cold_source(h_out(start=25400)) annotation (Placement(transformation(extent={{-56,-10},{-36,10}}))); MetroscopeModelingLibrary.MoistAir.BoundaryConditions.Sink cold_sink(h_in(start=28028.451)) annotation (Placement(transformation(extent={{34,-10},{54,10}}))); - MultiFluid.HeatExchangers.AirCooledCondenser airCooledCondenser( + MultiFluid.HeatExchangers.AirCooledCondenser airCooledCondenser(S=150000, cold_side_condensing(h_out(start=28243.033))) annotation (Placement(transformation(extent={{-16,-16},{16,20}}))); + Utilities.Interfaces.RealExpression Kth(y=10) annotation (Placement(transformation(extent={{-44,40},{-24,60}}))); + Utilities.Interfaces.RealExpression Kfr(y=0) annotation (Placement(transformation(extent={{14,40},{34,60}}))); equation //Hot source @@ -51,20 +44,16 @@ equation //ACC // Parameters - airCooledCondenser.S = S; airCooledCondenser.Q_cold = Q_cold; - airCooledCondenser.P_offset = P_offset; - airCooledCondenser.C_incond = C_incond; // Calibrated parameter - airCooledCondenser.Kth = Kth; - airCooledCondenser.Kfr_hot = Kfr_hot; - connect(airCooledCondenser.C_cold_out, cold_sink.C_in) annotation (Line(points={{14.4,0},{39,0}}, color={85,170,255})); connect(airCooledCondenser.C_cold_in, cold_source.C_out) - annotation (Line(points={{-14.08,0},{-41,0}},color={85,170,255})); + annotation (Line(points={{-16,0},{-41,0}}, color={85,170,255})); connect(condensate_sink.C_in, airCooledCondenser.C_hot_out) annotation (Line(points={{8.88178e-16,-57},{8.88178e-16,-35.5},{0,-35.5},{0,-14}}, color={28,108,200})); connect(turbine_outlet.C_out, airCooledCondenser.C_hot_in) annotation (Line(points={{-8.88178e-16,65},{-8.88178e-16,41.5},{0.32,41.5},{0.32,18}}, color={28,108,200})); + connect(Kth.y, airCooledCondenser.Kth) annotation (Line(points={{-34,45},{-34,22},{-12.8,22}}, color={0,0,127})); + connect(Kfr.y, airCooledCondenser.Kfr_hot) annotation (Line(points={{24,45},{24,22},{12.8,22}}, color={0,0,127})); annotation (Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100, -100},{100,100}})), Diagram(coordinateSystem(preserveAspectRatio=false, diff --git a/MetroscopeModelingLibrary/Tests/Multifluid/HeatExchangers/AirCooledCondenser_reverse.mo b/MetroscopeModelingLibrary/Tests/Multifluid/HeatExchangers/AirCooledCondenser_reverse.mo index eee463f9..a5ae587c 100644 --- a/MetroscopeModelingLibrary/Tests/Multifluid/HeatExchangers/AirCooledCondenser_reverse.mo +++ b/MetroscopeModelingLibrary/Tests/Multifluid/HeatExchangers/AirCooledCondenser_reverse.mo @@ -12,14 +12,6 @@ model AirCooledCondenser_reverse input Real T_cold_source(start=10) "degC"; input Utilities.Units.Fraction cold_source_relative_humidity(start=0.80) "1"; - // Parameters - parameter Utilities.Units.Pressure P_offset = 0; - parameter Real C_incond = 0; - parameter Utilities.Units.Area S = 150000 "m2"; - - // Calibrated parameters - output Utilities.Units.HeatExchangeCoefficient Kth(start=10); - parameter Utilities.Units.FrictionCoefficient Kfr_hot = 0; // Sensors for calibration input Real P_cond(start=91) "mbarA"; @@ -36,12 +28,17 @@ model AirCooledCondenser_reverse annotation (Placement(transformation(extent={{-56,-10},{-36,10}}))); MetroscopeModelingLibrary.MoistAir.BoundaryConditions.Sink cold_sink(h_in(start=28028.451)) annotation (Placement(transformation(extent={{34,-10},{54,10}}))); MultiFluid.HeatExchangers.AirCooledCondenser airCooledCondenser( + S=150000, + P_incond=0, + P_offset=0, cold_side_condensing(h_out(start=28243.033))) annotation (Placement(transformation(extent={{-16,-16},{16,20}}))); MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor P_cond_sensor annotation (Placement(transformation( extent={{-7,-7},{7,7}}, rotation=270, - origin={1,37}))); + origin={1,41}))); + Utilities.Interfaces.RealOutput ACC_Kth annotation (Placement(transformation(extent={{-32,34},{-24,42}}), iconTransformation(extent={{-116,26},{-96,46}}))); + Utilities.Interfaces.RealExpression ACC_Kfr_hot annotation (Placement(transformation(extent={{30,36},{50,56}}))); equation //Hot source @@ -52,28 +49,22 @@ equation cold_source.P_out = P_cold_source * 1e5; cold_source.T_out = T_cold_source + 273.15; cold_source.relative_humidity = cold_source_relative_humidity; + cold_source.Q_out = - Q_cold; - //ACC - // Parameters - airCooledCondenser.S = S; - airCooledCondenser.Q_cold = Q_cold; - airCooledCondenser.P_offset = P_offset; - airCooledCondenser.C_incond = C_incond; - // Calibrated parameter - airCooledCondenser.Kth = Kth; - airCooledCondenser.Kfr_hot = Kfr_hot; - // Observable for calibration + // Observable for calibration P_cond_sensor.P_mbar = P_cond; connect(airCooledCondenser.C_cold_out, cold_sink.C_in) - annotation (Line(points={{14.4,0},{39,0}}, color={85,170,255})); + annotation (Line(points={{16,0},{39,0}}, color={85,170,255})); connect(airCooledCondenser.C_cold_in, cold_source.C_out) - annotation (Line(points={{-14.08,0},{-41,0}},color={85,170,255})); - connect(turbine_outlet.C_out, P_cond_sensor.C_in) annotation (Line(points={{-8.88178e-16, - 65},{0,65},{0,44},{1,44}}, color={28,108,200})); + annotation (Line(points={{-16,0},{-41,0}}, color={85,170,255})); + connect(turbine_outlet.C_out, P_cond_sensor.C_in) annotation (Line(points={{0,65},{0,48},{1,48}}, + color={28,108,200})); connect(airCooledCondenser.C_hot_in, P_cond_sensor.C_out) annotation (Line( - points={{0.32,18},{0,18},{0,30},{1,30}}, color={28,108,200})); - connect(condensate_sink.C_in, airCooledCondenser.C_hot_out) annotation (Line(points={{8.88178e-16,-57},{8.88178e-16,-35.5},{0,-35.5},{0,-14}}, color={28,108,200})); + points={{0,20},{0,34},{1,34}}, color={28,108,200})); + connect(condensate_sink.C_in, airCooledCondenser.C_hot_out) annotation (Line(points={{0,-57},{0,-35.5},{0,-35.5},{0,-16}}, color={28,108,200})); + connect(airCooledCondenser.Kth, ACC_Kth) annotation (Line(points={{-12.8,22},{-14,22},{-14,38},{-28,38}}, color={0,0,127})); + connect(ACC_Kfr_hot.y, airCooledCondenser.Kfr_hot) annotation (Line(points={{40,41},{40,22},{12.8,22}}, color={0,0,127})); annotation (Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100, -100},{100,100}})), Diagram(coordinateSystem(preserveAspectRatio=false, diff --git a/MetroscopeModelingLibrary/Tests/Multifluid/Machines/CombustionChamberwithRefMoistAir_testLHV.mo b/MetroscopeModelingLibrary/Tests/Multifluid/Machines/CombustionChamberwithRefMoistAir_testLHV.mo new file mode 100644 index 00000000..d8aea989 --- /dev/null +++ b/MetroscopeModelingLibrary/Tests/Multifluid/Machines/CombustionChamberwithRefMoistAir_testLHV.mo @@ -0,0 +1,55 @@ +within MetroscopeModelingLibrary.Tests.Multifluid.Machines; +model CombustionChamberwithRefMoistAir_testLHV + extends MetroscopeModelingLibrary.Utilities.Icons.Tests.MultifluidTestIcon; + import MetroscopeModelingLibrary.Utilities.Units; + + // Boundary conditions + input Units.Pressure source_P(start=17e5) "Pa"; + input Units.Temperature source_T(start=409.7225) "deg_C"; + input Units.NegativeMassFlowRate source_Q(start=-500) "kg/s"; + + input Units.Pressure P_fuel(start = 30e5); + input Units.SpecificEnthalpy h_fuel(start=0.9e6); + input Units.PositiveMassFlowRate Q_fuel(start=15); + + input Units.SpecificEnthalpy LHV_plant(start=47276868) "Directly assigned in combustion chamber modifiers"; + + // Parameters + parameter Units.FrictionCoefficient combustion_chamber_Kfr = 0.1; + + MultiFluid.Machines.CombustionChamberwithRefMoistAir + combustion_chamber annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + MetroscopeModelingLibrary.Fuel.BoundaryConditions.Source source_fuel annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={0,-38}))); + MetroscopeModelingLibrary.RefMoistAir.BoundaryConditions.Source + source_air annotation (Placement(transformation(extent={{-48,-10},{-28,10}}))); + MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Sink sink_exhaust annotation (Placement(transformation(extent={{28,-10},{48,10}}))); +equation + + // Boundary conditions for RefMoistAir + source_air.P_out = source_P; + source_air.Q_out = source_Q; + source_air.T_out = source_T + 273.15; + source_air.Xi_out[1] = 0; + + // Fuel boundary conditions + source_fuel.P_out = P_fuel; + source_fuel.h_out = h_fuel; + source_fuel.Q_out = - Q_fuel; + source_fuel.X_molar_CH4 = 93.71*1e-2; + source_fuel.X_molar_C2H6 = 4.29*1e-2; + source_fuel.X_molar_C3H8 = 0.53*1e-2; + source_fuel.X_molar_C4H10_n_butane = 0.09*1e-2; + source_fuel.X_molar_N2 = 0.85*1e-2; + source_fuel.X_molar_CO2 = 0.53*1e-2; + + // Parameters + combustion_chamber.Kfr = combustion_chamber_Kfr; + combustion_chamber.eta = 0.999; + + connect(combustion_chamber.inlet1, source_fuel.C_out) annotation (Line(points={{0,-10},{0,-33},{2.77556e-16,-33}}, color={213,213,0})); + connect(combustion_chamber.inlet, source_air.C_out) annotation (Line(points={{-10,0},{-33,0}}, color={95,95,95})); + connect(combustion_chamber.outlet, sink_exhaust.C_in) annotation (Line(points={{10,0},{33,0}}, color={95,95,95})); +end CombustionChamberwithRefMoistAir_testLHV; diff --git a/MetroscopeModelingLibrary/Tests/WaterSteam/HeatExchangers/LiqLiqHX_direct.mo b/MetroscopeModelingLibrary/Tests/WaterSteam/HeatExchangers/LiqLiqHX_direct.mo index a0a3db21..e7f66257 100644 --- a/MetroscopeModelingLibrary/Tests/WaterSteam/HeatExchangers/LiqLiqHX_direct.mo +++ b/MetroscopeModelingLibrary/Tests/WaterSteam/HeatExchangers/LiqLiqHX_direct.mo @@ -39,7 +39,6 @@ equation cold_source.T_out = 273.15 + T_cold_source; cold_source.Q_out = - Q_cold_source; - liqLiqHX.S = S; liqLiqHX.Kth = Kth; liqLiqHX.Kfr_hot = Kfr_hot; liqLiqHX.Kfr_cold = Kfr_cold; diff --git a/MetroscopeModelingLibrary/Tests/WaterSteam/HeatExchangers/LiqLiqHX_reverse.mo b/MetroscopeModelingLibrary/Tests/WaterSteam/HeatExchangers/LiqLiqHX_reverse.mo index ffc1776a..31b6d7aa 100644 --- a/MetroscopeModelingLibrary/Tests/WaterSteam/HeatExchangers/LiqLiqHX_reverse.mo +++ b/MetroscopeModelingLibrary/Tests/WaterSteam/HeatExchangers/LiqLiqHX_reverse.mo @@ -52,8 +52,6 @@ equation cold_source.T_out = 273.15 + T_cold_source; cold_source.Q_out = - Q_cold_source; - // Parameters - liqLiqHX.S = S; // Inputs for calibration T_cold_out_sensor.T_degC = T_cold_out; diff --git a/MetroscopeModelingLibrary/Tests/WaterSteam/HeatExchangers/Superheater_reverse.mo b/MetroscopeModelingLibrary/Tests/WaterSteam/HeatExchangers/Superheater_reverse.mo index 842d53ce..e9f32831 100644 --- a/MetroscopeModelingLibrary/Tests/WaterSteam/HeatExchangers/Superheater_reverse.mo +++ b/MetroscopeModelingLibrary/Tests/WaterSteam/HeatExchangers/Superheater_reverse.mo @@ -28,13 +28,14 @@ model Superheater_reverse .MetroscopeModelingLibrary.WaterSteam.BoundaryConditions.Source hot_steam_source annotation (Placement(transformation(extent={{-70,-2},{-50,18}}))); .MetroscopeModelingLibrary.WaterSteam.BoundaryConditions.Sink drains_sink annotation (Placement(transformation(extent={{70,-10},{90,10}}))); .MetroscopeModelingLibrary.WaterSteam.BoundaryConditions.Source cold_steam_source annotation (Placement(transformation(extent={{-42,-50},{-22,-30}}))); - .MetroscopeModelingLibrary.WaterSteam.BoundaryConditions.Sink superheated_steam_sink annotation (Placement(transformation(extent={{16,30},{36,50}}))); + .MetroscopeModelingLibrary.WaterSteam.BoundaryConditions.Sink superheated_steam_sink annotation (Placement(transformation(extent={{16,70}, + {36,90}}))); .MetroscopeModelingLibrary.WaterSteam.HeatExchangers.Superheater superheater annotation (Placement(transformation(extent={{-16,-8},{16,8}}))); .MetroscopeModelingLibrary.WaterSteam.BoundaryConditions.Sink vent_sink annotation (Placement(transformation(extent={{70,-30},{90,-10}}))); MetroscopeModelingLibrary.Sensors.WaterSteam.TemperatureSensor superheated_steam_temperature_sensor annotation (Placement(transformation( extent={{-10,-10},{10,10}}, rotation=90, - origin={0,24}))); + origin={0,62}))); MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor drains_pressure_sensor(Q_0=50) annotation (Placement(transformation(extent={{38,-10},{58,10}}))); equation @@ -67,10 +68,10 @@ equation {20,-20},{20,-7.8},{16,-7.8}}, color={28,108,200})); connect(superheater.C_cold_out, superheated_steam_temperature_sensor.C_in) - annotation (Line(points={{0,8},{-5.55112e-16,8},{-5.55112e-16,14}}, + annotation (Line(points={{0,8},{0,52}}, color={28,108,200})); connect(superheated_steam_temperature_sensor.C_out, superheated_steam_sink.C_in) - annotation (Line(points={{5.55112e-16,34},{5.55112e-16,40},{21,40}}, color={ + annotation (Line(points={{0,72},{0,80},{21,80}}, color={ 28,108,200})); connect(superheater.C_hot_out, drains_pressure_sensor.C_in) annotation (Line(points={{16,0},{38,0}}, color={28,108,200})); diff --git a/MetroscopeModelingLibrary/Tests/WaterSteam/Machines/Pump_reverse.mo b/MetroscopeModelingLibrary/Tests/WaterSteam/Machines/Pump_reverse.mo index 06b8d472..2a6f5fa3 100644 --- a/MetroscopeModelingLibrary/Tests/WaterSteam/Machines/Pump_reverse.mo +++ b/MetroscopeModelingLibrary/Tests/WaterSteam/Machines/Pump_reverse.mo @@ -42,12 +42,12 @@ equation // Component parameters pump.VRotn = pump_VRotn; - pump.rm = 0.85; pump.a1 = 0; pump.a2 = 0; pump.b1 = 0; pump.b2 = 0; pump.rh_min = 0.2; + pump.rm = 0.85; // Calibrated parameters pump.a3 = pump_a3; diff --git a/MetroscopeModelingLibrary/Tests/WaterSteam/Pipes/Pipe_direct.mo b/MetroscopeModelingLibrary/Tests/WaterSteam/Pipes/Pipe_direct.mo index 7b6af57f..2e1905af 100644 --- a/MetroscopeModelingLibrary/Tests/WaterSteam/Pipes/Pipe_direct.mo +++ b/MetroscopeModelingLibrary/Tests/WaterSteam/Pipes/Pipe_direct.mo @@ -18,7 +18,7 @@ model Pipe_direct rotation=0, origin={90,-6.10623e-16}))); - .MetroscopeModelingLibrary.WaterSteam.Pipes.Pipe pipe annotation (Placement(transformation(extent={{-16.5,-16.3333},{16.5,16.3333}}))); + .MetroscopeModelingLibrary.WaterSteam.Pipes.FrictionPipe pipe annotation (Placement(transformation(extent={{-16.5,-16.3333},{16.5,16.3333}}))); equation diff --git a/MetroscopeModelingLibrary/Tests/WaterSteam/Pipes/Pipe_reverse.mo b/MetroscopeModelingLibrary/Tests/WaterSteam/Pipes/Pipe_reverse.mo index 0d0adcf6..bdb5fb5a 100644 --- a/MetroscopeModelingLibrary/Tests/WaterSteam/Pipes/Pipe_reverse.mo +++ b/MetroscopeModelingLibrary/Tests/WaterSteam/Pipes/Pipe_reverse.mo @@ -23,7 +23,7 @@ model Pipe_reverse rotation=0, origin={90,-6.10623e-16}))); - .MetroscopeModelingLibrary.WaterSteam.Pipes.Pipe pipe annotation (Placement(transformation(extent={{-16.5,-16.3333},{16.5,16.3333}}))); + .MetroscopeModelingLibrary.WaterSteam.Pipes.FrictionPipe pipe annotation (Placement(transformation(extent={{-16.5,-16.3333},{16.5,16.3333}}))); MetroscopeModelingLibrary.Sensors.WaterSteam.DeltaPressureSensor DP_sensor annotation (Placement(transformation(extent={{-10,30},{10,50}}))); equation diff --git a/MetroscopeModelingLibrary/Tests/WaterSteam/Pipes/SlideValve_direct_connector.mo b/MetroscopeModelingLibrary/Tests/WaterSteam/Pipes/SlideValve_direct_connector.mo new file mode 100644 index 00000000..472f726c --- /dev/null +++ b/MetroscopeModelingLibrary/Tests/WaterSteam/Pipes/SlideValve_direct_connector.mo @@ -0,0 +1,56 @@ +within MetroscopeModelingLibrary.Tests.WaterSteam.Pipes; +model SlideValve_direct_connector + extends MetroscopeModelingLibrary.Utilities.Icons.Tests.WaterSteamTestIcon; + + .MetroscopeModelingLibrary.WaterSteam.BoundaryConditions.Source source(h_out(start=1e6)) annotation (Placement(transformation(extent={{-194,-10},{-174,10}}))); + .MetroscopeModelingLibrary.WaterSteam.BoundaryConditions.Sink sink annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=0, + origin={-6,-6.10623e-16}))); + + Sensors_Control.WaterSteam.PressureSensor P_out_sensor(sensor_function="Calibration", + init_P=9) annotation (Placement(transformation(extent={{-38,-10},{-18,10}}))); + Sensors_Control.WaterSteam.TemperatureSensor T_in_sensor( + sensor_function="BC", init_T=180, + signal_unit="degC") annotation (Placement(transformation(extent={{-170,-10},{-150,10}}))); + Sensors_Control.WaterSteam.PressureSensor P_in_sensor( + sensor_function="BC", init_P=10, + signal_unit="barA") annotation (Placement(transformation(extent={{-140,-10},{-120,10}}))); + Sensors_Control.WaterSteam.FlowSensor Q_in_sensor( + sensor_function="BC", init_Q=100, + signal_unit="kg/s") annotation (Placement(transformation(extent={{-110,-10},{-90,10}}))); + Utilities.Interfaces.RealInput T_in annotation (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-160,22}), iconTransformation(extent={{-420,-50},{-380,-10}}))); + Utilities.Interfaces.RealInput P_in annotation (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-130,22}), iconTransformation(extent={{-308,-48},{-268,-8}}))); + Utilities.Interfaces.RealInput Q_in annotation (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-100,22}), iconTransformation(extent={{-294,-44},{-254,-4}}))); + Utilities.Interfaces.RealOutput P_out annotation (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-28,22}), iconTransformation(extent={{-280,-16},{-240,24}}))); + Utilities.Interfaces.RealInput Cv annotation (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-62,42}), iconTransformation(extent={{-394,-120},{-354,-80}}))); +equation + + connect(slide_valve.C_out, P_out_sensor.C_in) annotation (Line(points={{-45.5,-1.81818e-06},{-42,-1.81818e-06},{-42,0},{-38,0}}, color={28,108,200})); + connect(sink.C_in, P_out_sensor.C_out) annotation (Line(points={{-11,0},{-18,0}}, color={28,108,200})); + connect(T_in_sensor.C_in, source.C_out) annotation (Line(points={{-170,0},{-179,0}}, color={28,108,200})); + connect(P_in_sensor.C_in, T_in_sensor.C_out) annotation (Line(points={{-140,0},{-150,0}}, color={28,108,200})); + connect(slide_valve.C_in, Q_in_sensor.C_out) annotation (Line(points={{-78.5,0},{-90,0}}, color={28,108,200})); + connect(Q_in_sensor.C_in, P_in_sensor.C_out) annotation (Line(points={{-110,0},{-120,0}}, color={28,108,200})); + connect(T_in_sensor.T_sensor, T_in) annotation (Line(points={{-160,10},{-160,22}}, color={0,0,127})); + connect(P_in_sensor.P_sensor, P_in) annotation (Line(points={{-130,10},{-130,22}}, color={0,0,127})); + connect(Q_in_sensor.Q_sensor, Q_in) annotation (Line(points={{-100,10},{-100,22}}, color={0,0,127})); + connect(P_out_sensor.P_sensor, P_out) annotation (Line(points={{-28,10},{-28,22}}, color={0,0,127})); + connect(slide_valve.Cv_signal, Cv) annotation (Line(points={{-62,24.0545},{-62,42}}, color={0,0,127})); + annotation (Diagram(coordinateSystem(extent={{-240,-100},{20,100}})), Icon(coordinateSystem(extent={{-100,-100},{100,100}}))); +end SlideValve_direct_connector; diff --git a/MetroscopeModelingLibrary/Tests/WaterSteam/Pipes/SlideValve_reverse.mo b/MetroscopeModelingLibrary/Tests/WaterSteam/Pipes/SlideValve_reverse.mo index 336f072f..d0cbb9da 100644 --- a/MetroscopeModelingLibrary/Tests/WaterSteam/Pipes/SlideValve_reverse.mo +++ b/MetroscopeModelingLibrary/Tests/WaterSteam/Pipes/SlideValve_reverse.mo @@ -2,12 +2,6 @@ within MetroscopeModelingLibrary.Tests.WaterSteam.Pipes; model SlideValve_reverse extends MetroscopeModelingLibrary.Utilities.Icons.Tests.WaterSteamTestIcon; - /* Note - The slide valve is fully open, therefore the causality is different from a control valve. - The slide valve cannot act as a pressure cut. - Pressure does propagate through the slide valve in the direct mode. - */ - // Boundary conditions input Utilities.Units.SpecificEnthalpy source_h(start=1e6); input Utilities.Units.Pressure source_P( diff --git a/MetroscopeModelingLibrary/Tests/WaterSteam/Pipes/SlideValve_reverse_connector.mo b/MetroscopeModelingLibrary/Tests/WaterSteam/Pipes/SlideValve_reverse_connector.mo new file mode 100644 index 00000000..f977250e --- /dev/null +++ b/MetroscopeModelingLibrary/Tests/WaterSteam/Pipes/SlideValve_reverse_connector.mo @@ -0,0 +1,66 @@ +within MetroscopeModelingLibrary.Tests.WaterSteam.Pipes; +model SlideValve_reverse_connector + extends MetroscopeModelingLibrary.Utilities.Icons.Tests.WaterSteamTestIcon; + /* + Model Inputs: + T_in + P_in + Q_in + P_out + + Model Outputs: + Cv + */ + + .MetroscopeModelingLibrary.WaterSteam.BoundaryConditions.Source source(h_out(start=1e6)) annotation (Placement(transformation(extent={{-194,-10},{-174,10}}))); + .MetroscopeModelingLibrary.WaterSteam.BoundaryConditions.Sink sink annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=0, + origin={-6,-6.10623e-16}))); + + Sensors_Control.WaterSteam.PressureSensor P_out_sensor(sensor_function="Calibration", + init_P=9) annotation (Placement(transformation(extent={{-38,-10},{-18,10}}))); + Sensors_Control.WaterSteam.TemperatureSensor T_in_sensor( + sensor_function="BC", init_T=180, + signal_unit="degC") annotation (Placement(transformation(extent={{-170,-10},{-150,10}}))); + Sensors_Control.WaterSteam.PressureSensor P_in_sensor( + sensor_function="BC", init_P=10, + signal_unit="barA") annotation (Placement(transformation(extent={{-140,-10},{-120,10}}))); + Sensors_Control.WaterSteam.FlowSensor Q_in_sensor( + sensor_function="BC", init_Q=100, + signal_unit="kg/s") annotation (Placement(transformation(extent={{-110,-10},{-90,10}}))); + Utilities.Interfaces.RealInput T_in annotation (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-160,22}), iconTransformation(extent={{-420,-50},{-380,-10}}))); + Utilities.Interfaces.RealInput P_in annotation (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-130,22}), iconTransformation(extent={{-308,-48},{-268,-8}}))); + Utilities.Interfaces.RealInput Q_in annotation (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-100,22}), iconTransformation(extent={{-294,-44},{-254,-4}}))); + Utilities.Interfaces.RealInput P_out annotation (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-28,22}), iconTransformation(extent={{-280,-16},{-240,24}}))); + Utilities.Interfaces.RealOutput Cv annotation (Placement(transformation( + extent={{-4,-4},{4,4}}, + rotation=270, + origin={-62,40}), iconTransformation(extent={{-266,-42},{-246,-22}}))); +equation + + connect(slide_valve.C_out, P_out_sensor.C_in) annotation (Line(points={{-45.5,-1.81818e-06},{-42,-1.81818e-06},{-42,0},{-38,0}}, color={28,108,200})); + connect(sink.C_in, P_out_sensor.C_out) annotation (Line(points={{-11,0},{-18,0}}, color={28,108,200})); + connect(T_in_sensor.C_in, source.C_out) annotation (Line(points={{-170,0},{-179,0}}, color={28,108,200})); + connect(P_in_sensor.C_in, T_in_sensor.C_out) annotation (Line(points={{-140,0},{-150,0}}, color={28,108,200})); + connect(slide_valve.C_in, Q_in_sensor.C_out) annotation (Line(points={{-78.5,0},{-90,0}}, color={28,108,200})); + connect(Q_in_sensor.C_in, P_in_sensor.C_out) annotation (Line(points={{-110,0},{-120,0}}, color={28,108,200})); + connect(T_in_sensor.T_sensor, T_in) annotation (Line(points={{-160,10},{-160,22}}, color={0,0,127})); + connect(P_in_sensor.P_sensor, P_in) annotation (Line(points={{-130,10},{-130,22}}, color={0,0,127})); + connect(Q_in_sensor.Q_sensor, Q_in) annotation (Line(points={{-100,10},{-100,22}}, color={0,0,127})); + connect(P_out_sensor.P_sensor, P_out) annotation (Line(points={{-28,10},{-28,22}}, color={0,0,127})); + connect(Cv, slide_valve.Cv_signal) annotation (Line(points={{-62,40},{-62,24.0545}}, color={0,0,127})); + annotation (Diagram(coordinateSystem(extent={{-240,-100},{20,100}})), Icon(coordinateSystem(extent={{-100,-100},{100,100}}))); +end SlideValve_reverse_connector; diff --git a/MetroscopeModelingLibrary/Tests/WaterSteam/Pipes/package.order b/MetroscopeModelingLibrary/Tests/WaterSteam/Pipes/package.order index 6cdbaf33..c6b70c69 100644 --- a/MetroscopeModelingLibrary/Tests/WaterSteam/Pipes/package.order +++ b/MetroscopeModelingLibrary/Tests/WaterSteam/Pipes/package.order @@ -11,3 +11,5 @@ Leak SlideValve_reverse SlideValve_direct Manifold +SlideValve_reverse_connector +SlideValve_direct_connector diff --git a/MetroscopeModelingLibrary/Utilities/Functions/ListInputsOutputs.mo b/MetroscopeModelingLibrary/Utilities/Functions/ListInputsOutputs.mo new file mode 100644 index 00000000..51c90730 --- /dev/null +++ b/MetroscopeModelingLibrary/Utilities/Functions/ListInputsOutputs.mo @@ -0,0 +1,47 @@ +within MetroscopeModelingLibrary.Utilities.Functions; +function ListInputsOutputs + +input String modelPath "Model path"; + output String realInputNames "Extracted RealInput variable names with label"; + output String realOutputNames "Extracted RealOutput variable names with label"; +protected + //String filePath; + String[:] fileContent; + String line, remaining, name; + Integer posInput, posOutput, startIndex, nextIndex; + String inputsList = ""; + String outputsList = ""; +algorithm + // Read the file + // filePath := Modelica.Utilities.Files.fullPathName(modelPath); + fileContent := Modelica.Utilities.Streams.readFile(modelPath); + + // Loop through each line + for i in 1:size(fileContent, 1) loop + line := fileContent[i]; + + // Check for RealInput + posInput := Modelica.Utilities.Strings.find(line, "RealInput"); + if posInput > 0 then + startIndex := posInput + 9; + remaining := Modelica.Utilities.Strings.substring(line, startIndex + 1, Modelica.Utilities.Strings.length(line)); + (name, nextIndex) := Modelica.Utilities.Strings.scanIdentifier(remaining, 1); + inputsList := inputsList + name + "\n"; + end if; + + // Check for RealOutput + posOutput := Modelica.Utilities.Strings.find(line, "RealOutput"); + if posOutput > 0 then + startIndex := posOutput + 10; + remaining := Modelica.Utilities.Strings.substring(line, startIndex + 1, Modelica.Utilities.Strings.length(line)); + (name, nextIndex) := Modelica.Utilities.Strings.scanIdentifier(remaining, 1); + outputsList := outputsList + name + "\n"; + end if; + end for; + + // Add headers before returning + realInputNames := "Model Inputs:\n" + inputsList; + realOutputNames := "Model Outputs:\n" + outputsList; + + +end ListInputsOutputs; diff --git a/MetroscopeModelingLibrary/Utilities/Functions/package.mo b/MetroscopeModelingLibrary/Utilities/Functions/package.mo new file mode 100644 index 00000000..cba69afe --- /dev/null +++ b/MetroscopeModelingLibrary/Utilities/Functions/package.mo @@ -0,0 +1,3 @@ +within MetroscopeModelingLibrary.Utilities; +package Functions +end Functions; diff --git a/MetroscopeModelingLibrary/Utilities/Functions/package.order b/MetroscopeModelingLibrary/Utilities/Functions/package.order new file mode 100644 index 00000000..06116c89 --- /dev/null +++ b/MetroscopeModelingLibrary/Utilities/Functions/package.order @@ -0,0 +1 @@ +ListInputsOutputs diff --git a/MetroscopeModelingLibrary/Utilities/Interfaces/BoundaryCondition.mo b/MetroscopeModelingLibrary/Utilities/Interfaces/BoundaryCondition.mo new file mode 100644 index 00000000..909a05d4 --- /dev/null +++ b/MetroscopeModelingLibrary/Utilities/Interfaces/BoundaryCondition.mo @@ -0,0 +1,40 @@ +within MetroscopeModelingLibrary.Utilities.Interfaces; +connector BoundaryCondition + = input Real "'input Real' as connector" annotation ( + Dialog, + signalLogging=true, + defaultComponentName="u", + Icon(graphics={ + Text( + extent={{-100,-160},{102,-200}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(start))), + Polygon( + lineColor={28,108,200}, + fillColor={238,46,47}, + fillPattern=FillPattern.Solid, + points={{-100.0,100.0},{100.0,0.0},{-100.0,-100.0}})}, + coordinateSystem(extent={{-100.0,-100.0},{100.0,100.0}}, + preserveAspectRatio=true, + initialScale=0.2)), + Diagram( + coordinateSystem(preserveAspectRatio=true, + initialScale=0.2, + extent={{-20,-20},{20,20}}), + graphics={ + Polygon( + lineColor={238,46,47}, + fillColor={238,46,47}, + fillPattern=FillPattern.Solid, + points={{0,10},{20,0},{0,-10},{0,10}}), + Text( + textColor={238,46,47}, + extent={{-80,-20},{0,20}}, + textString="%name", + origin={-20,40}, + rotation=90)}), + Documentation(info=" ++Connector with one input signal of type Real. +
+")); diff --git a/MetroscopeModelingLibrary/Utilities/Interfaces/CalibrationInput.mo b/MetroscopeModelingLibrary/Utilities/Interfaces/CalibrationInput.mo new file mode 100644 index 00000000..07de02fc --- /dev/null +++ b/MetroscopeModelingLibrary/Utilities/Interfaces/CalibrationInput.mo @@ -0,0 +1,40 @@ +within MetroscopeModelingLibrary.Utilities.Interfaces; +connector CalibrationInput + = input Real "'input Real' as connector" annotation ( + Dialog, + signalLogging=true, + defaultComponentName="u", + Icon(graphics={ + Text( + extent={{-100,-160},{102,-200}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(start))), + Polygon( + lineColor={28,108,200}, + fillColor={0,140,72}, + fillPattern=FillPattern.Solid, + points={{-100.0,100.0},{100.0,0.0},{-100.0,-100.0}})}, + coordinateSystem(extent={{-100.0,-100.0},{100.0,100.0}}, + preserveAspectRatio=true, + initialScale=0.2)), + Diagram( + coordinateSystem(preserveAspectRatio=true, + initialScale=0.2, + extent={{-20,-20},{20,20}}), + graphics={ + Polygon( + lineColor={0,140,72}, + fillColor={0,140,72}, + fillPattern=FillPattern.Solid, + points={{0,10},{20,0},{0,-10},{0,10}}), + Text( + textColor={0,140,72}, + extent={{-80,-20},{0,20}}, + textString="%name", + origin={-20,40}, + rotation=90)}), + Documentation(info=" ++Connector with one input signal of type Real. +
+")); diff --git a/MetroscopeModelingLibrary/Utilities/Interfaces/GenericReal.mo b/MetroscopeModelingLibrary/Utilities/Interfaces/GenericReal.mo new file mode 100644 index 00000000..292730f6 --- /dev/null +++ b/MetroscopeModelingLibrary/Utilities/Interfaces/GenericReal.mo @@ -0,0 +1,33 @@ +within MetroscopeModelingLibrary.Utilities.Interfaces; +connector GenericReal = Real "generic connector" annotation ( + defaultComponentName="u", + Icon( + coordinateSystem(preserveAspectRatio=true, + extent={{-100.0,-100.0},{100.0,100.0}}), + graphics={ + Polygon( + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + points={{-100.0,100.0},{100.0,0.0},{-100.0,-100.0}})}), + Diagram( + coordinateSystem(preserveAspectRatio=true, + extent={{-20,-20},{20,20}}, + initialScale=0.2), + graphics={ + Text( + textColor={0,0,127}, + extent={{-80,-20},{0,20}}, + textString="%name", + origin={-20,40}, + rotation=90), + Polygon( + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + points={{0,10},{20,0},{0,-10},{0,10}})}), + Documentation(info=" ++Connector with one input signal of type Real. +
+")); diff --git a/MetroscopeModelingLibrary/Utilities/Interfaces/Observable.mo b/MetroscopeModelingLibrary/Utilities/Interfaces/Observable.mo new file mode 100644 index 00000000..011c5aef --- /dev/null +++ b/MetroscopeModelingLibrary/Utilities/Interfaces/Observable.mo @@ -0,0 +1,33 @@ +within MetroscopeModelingLibrary.Utilities.Interfaces; +connector Observable = output Real "'output Real' as connector" annotation ( + defaultComponentName="y", + Icon( + coordinateSystem(preserveAspectRatio=true, + extent={{-100.0,-100.0},{100.0,100.0}}), + graphics={ + Polygon( + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + points={{-100.0,100.0},{100.0,0.0},{-100.0,-100.0}})}), + Diagram( + coordinateSystem(preserveAspectRatio=true, + extent={{-20,-20},{20,20}}, + initialScale=0.2), + graphics={ + Text( + textColor={0,0,127}, + extent={{-80,-20},{0,20}}, + textString="%name", + origin={-20,40}, + rotation=90), + Polygon( + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + points={{0,10},{20,0},{0,-10},{0,10}})}), + Documentation(info=" ++Connector with one output signal of type Real. +
+")); diff --git a/MetroscopeModelingLibrary/Utilities/Interfaces/RealExpression.mo b/MetroscopeModelingLibrary/Utilities/Interfaces/RealExpression.mo new file mode 100644 index 00000000..5d4605ac --- /dev/null +++ b/MetroscopeModelingLibrary/Utilities/Interfaces/RealExpression.mo @@ -0,0 +1,41 @@ +within MetroscopeModelingLibrary.Utilities.Interfaces; +block RealExpression "Set output signal to a time varying Real expression" + + Modelica.Blocks.Interfaces.RealOutput y=0.0 "Value of Real output" + annotation (Dialog(group="Time varying output signal"), Placement( + transformation(extent={{-10,-10},{10,10}}, + rotation=270, + origin={0,-50}), iconTransformation( + extent={{-10,-10},{10,10}}, + rotation=270, + origin={0,-50}))); + + annotation (Icon(coordinateSystem( + preserveAspectRatio=false, + extent={{-100,-100},{100,100}}), graphics={ + Rectangle( + extent={{-100,40},{100,-40}}, + fillColor={215,215,215}, + fillPattern=FillPattern.Solid, + pattern=LinePattern.None), + Text( + extent={{-96,15},{96,-15}}, + textColor={0,0,0}, + textString="%y"), + Text( + extent={{-100,80},{100,40}}, + textColor={0,0,0}, + textString="%name")}), Documentation(info=" ++The (time varying) Real output signal of this block can be defined in its +parameter menu via variable y. The purpose is to support the +easy definition of Real expressions in a block diagram. For example, +in the y-menu the definition \"if time < 1 then 0 else 1\" can be given in order +to define that the output signal is one, if time ≥ 1 and otherwise +it is zero. Note, that \"time\" is a built-in variable that is always +accessible and represents the \"model time\" and that +variable y is both a variable and a connector. +
+")); + +end RealExpression; diff --git a/MetroscopeModelingLibrary/Utilities/Interfaces/RealInput.mo b/MetroscopeModelingLibrary/Utilities/Interfaces/RealInput.mo new file mode 100644 index 00000000..14e3e6a2 --- /dev/null +++ b/MetroscopeModelingLibrary/Utilities/Interfaces/RealInput.mo @@ -0,0 +1,39 @@ +within MetroscopeModelingLibrary.Utilities.Interfaces; +connector RealInput = input Real "'input Real' as connector" annotation ( + Dialog, + signalLogging=true, + defaultComponentName="u", + Icon(graphics={ + Text( + extent={{-100,-160},{102,-200}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(start))), + Polygon( + lineColor={0,0,127}, + fillColor={0,0,127}, + fillPattern=FillPattern.Solid, + points={{-100.0,100.0},{100.0,0.0},{-100.0,-100.0}})}, + coordinateSystem(extent={{-100.0,-100.0},{100.0,100.0}}, + preserveAspectRatio=true, + initialScale=0.2)), + Diagram( + coordinateSystem(preserveAspectRatio=true, + initialScale=0.2, + extent={{-20,-20},{20,20}}), + graphics={ + Polygon( + lineColor={0,0,127}, + fillColor={0,0,127}, + fillPattern=FillPattern.Solid, + points={{0,10},{20,0},{0,-10},{0,10}}), + Text( + textColor={0,0,127}, + extent={{-80,-20},{0,20}}, + textString="%name", + origin={-20,40}, + rotation=90)}), + Documentation(info=" ++Connector with one input signal of type Real. +
+")); diff --git a/MetroscopeModelingLibrary/Utilities/Interfaces/RealOutput.mo b/MetroscopeModelingLibrary/Utilities/Interfaces/RealOutput.mo new file mode 100644 index 00000000..5422aa20 --- /dev/null +++ b/MetroscopeModelingLibrary/Utilities/Interfaces/RealOutput.mo @@ -0,0 +1,33 @@ +within MetroscopeModelingLibrary.Utilities.Interfaces; +connector RealOutput = output Real "'output Real' as connector" annotation ( + defaultComponentName="y", + Icon( + coordinateSystem(preserveAspectRatio=true, + extent={{-100.0,-100.0},{100.0,100.0}}), + graphics={ + Polygon( + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + points={{-100.0,100.0},{100.0,0.0},{-100.0,-100.0}})}), + Diagram( + coordinateSystem(preserveAspectRatio=true, + extent={{-20,-20},{20,20}}, + initialScale=0.2), + graphics={ + Text( + textColor={0,0,127}, + extent={{-80,-20},{0,20}}, + textString="%name", + origin={-20,40}, + rotation=90), + Polygon( + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + points={{0,10},{20,0},{0,-10},{0,10}})}), + Documentation(info=" ++Connector with one output signal of type Real. +
+")); diff --git a/MetroscopeModelingLibrary/Utilities/Interfaces/package.mo b/MetroscopeModelingLibrary/Utilities/Interfaces/package.mo new file mode 100644 index 00000000..55b5d6de --- /dev/null +++ b/MetroscopeModelingLibrary/Utilities/Interfaces/package.mo @@ -0,0 +1,3 @@ +within MetroscopeModelingLibrary.Utilities; +package Interfaces +end Interfaces; diff --git a/MetroscopeModelingLibrary/Utilities/Interfaces/package.order b/MetroscopeModelingLibrary/Utilities/Interfaces/package.order new file mode 100644 index 00000000..6e59b029 --- /dev/null +++ b/MetroscopeModelingLibrary/Utilities/Interfaces/package.order @@ -0,0 +1,7 @@ +GenericReal +RealInput +RealOutput +RealExpression +BoundaryCondition +CalibrationInput +Observable diff --git a/MetroscopeModelingLibrary/Utilities/package.order b/MetroscopeModelingLibrary/Utilities/package.order index 07824677..01e58259 100644 --- a/MetroscopeModelingLibrary/Utilities/package.order +++ b/MetroscopeModelingLibrary/Utilities/package.order @@ -2,3 +2,5 @@ Icons Units Constants Media +Interfaces +Functions diff --git a/MetroscopeModelingLibrary/WaterSteam/HeatExchangers/Condenser.mo b/MetroscopeModelingLibrary/WaterSteam/HeatExchangers/Condenser.mo index 595fc01b..6e88ce9d 100644 --- a/MetroscopeModelingLibrary/WaterSteam/HeatExchangers/Condenser.mo +++ b/MetroscopeModelingLibrary/WaterSteam/HeatExchangers/Condenser.mo @@ -5,11 +5,8 @@ model Condenser import MetroscopeModelingLibrary.Utilities.Units; import MetroscopeModelingLibrary.Utilities.Units.Inputs; - Inputs.InputHeight water_height; - Inputs.InputFrictionCoefficient Kfr_cold; - Inputs.InputArea S; - Units.HeatExchangeCoefficient Kth; - Units.VolumeFlowRate Qv_cold_in(start=Q_cold_0/1e3); + parameter Inputs.InputHeight water_height=1; + parameter Units.Area S = 50000; parameter String QCp_max_side = "cold"; @@ -27,8 +24,7 @@ model Condenser Units.Pressure P_incond(start=0.0); Units.DifferentialPressure water_height_DP(start = water_height_DP_0); - Inputs.InputReal C_incond(unit="mol/m3", min=0, start=0) "Incondensable molar concentration"; - Inputs.InputPressure P_offset(start=0) "Offset correction for ideal gas law"; + parameter Inputs.InputPressure P_offset=0 "Offset correction for ideal gas law"; constant Real R(unit="J/(mol.K)") = Modelica.Constants.R "ideal gas constant"; // Failure modes @@ -60,11 +56,12 @@ model Condenser Connectors.Outlet C_cold_out(Q(start=-Q_cold_0), P(start=P_cold_out_0)) annotation (Placement(transformation(extent={{88,-10},{108,10}}),iconTransformation(extent={{88,-10},{108,10}}))); - Pipes.Pipe cold_side_pipe( + Pipes.FrictionPipe cold_side_pipe( P_in_0=P_cold_in_0, - P_out_0=P_cold_out_0, Q_0=Q_cold_0, + P_out_0=P_cold_out_0, + Q_0=Q_cold_0, T_0=T_cold_in_0, - h_0=h_cold_in_0) annotation (Placement(transformation(extent={{-80,30},{-60,50}}))); + h_0=h_cold_in_0) annotation (Placement(transformation(extent={{-80,-10},{-60,10}}))); BaseClasses.IsoPFlowModel hot_side( T_in_0=Tsat_0, T_out_0=Tsat_0, @@ -79,10 +76,10 @@ model Condenser h_in_0=h_cold_in_0, h_out_0=h_cold_out_0, Q_0=Q_cold_0, P_0=P_cold_out_0) annotation (Placement(transformation(extent={{-24,-24},{24,24}}))); - Pipes.Pipe water_height_pipe( + Pipes.HeightVariationPipe water_height_pipe( Q_0=Q_hot_0, P_in_0=Psat_0, - P_out_0=Psat_0+water_height_DP_0, + P_out_0=Psat_0 + water_height_DP_0, T_0=Tsat_0, h_0=h_liq_sat_0) annotation (Placement(transformation( extent={{-10,-10},{10,10}}, @@ -100,6 +97,35 @@ model Condenser rotation=270, origin={-40,-18}))); + Utilities.Interfaces.GenericReal Qv_cold_in annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=180, + origin={-110,50}), iconTransformation( + extent={{-10,-10},{10,10}}, + rotation=180, + origin={-110,80}))); + Utilities.Interfaces.GenericReal Kfr_cold annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=180, + origin={-110,80}), iconTransformation( + extent={{-10,-10},{10,10}}, + rotation=180, + origin={-110,40}))); + Utilities.Interfaces.GenericReal Kth annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={-80,110}), iconTransformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={-64,110}))); + Utilities.Interfaces.GenericReal C_incond annotation (Placement( + transformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={-40,110}), iconTransformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={64,110}))); equation // Failure modes @@ -126,10 +152,8 @@ equation hot_side.W + cold_side.W = 0; // Pressure losses - cold_side_pipe.delta_z=0; cold_side_pipe.Kfr = Kfr_cold; water_height_pipe.delta_z = - water_height; - water_height_pipe.Kfr = 0; water_height_pipe.DP = water_height_DP; // Incondensables @@ -151,7 +175,7 @@ equation 0 = Tsat - T_cold_out - (Tsat - T_cold_in)*exp(Kth*(1-fouling/100)*S*((T_cold_in - T_cold_out)/W)); connect(cold_side_pipe.C_out, cold_side.C_in) annotation (Line( - points={{-60,40},{-52,40},{-52,0},{-24,0}}, + points={{-60,0},{-24,0}}, color={28,108,200}, thickness=1)); connect(cold_side.C_out, C_cold_out) annotation (Line( @@ -159,7 +183,7 @@ equation color={28,108,200}, thickness=1)); connect(cold_side_pipe.C_in, C_cold_in) annotation (Line( - points={{-80,40},{-90,40},{-90,0},{-100,0}}, + points={{-80,0},{-100,0}}, color={28,108,200}, thickness=1)); connect(water_height_pipe.C_out, C_hot_out) annotation (Line( diff --git a/MetroscopeModelingLibrary/WaterSteam/HeatExchangers/DryReheater.mo b/MetroscopeModelingLibrary/WaterSteam/HeatExchangers/DryReheater.mo index ec9d47d4..5e3ffcdd 100644 --- a/MetroscopeModelingLibrary/WaterSteam/HeatExchangers/DryReheater.mo +++ b/MetroscopeModelingLibrary/WaterSteam/HeatExchangers/DryReheater.mo @@ -5,10 +5,7 @@ model DryReheater import MetroscopeModelingLibrary.Utilities.Units; import MetroscopeModelingLibrary.Utilities.Units.Inputs; - Inputs.InputFrictionCoefficient Kfr_hot; - Inputs.InputFrictionCoefficient Kfr_cold; - Inputs.InputArea S; - Units.HeatExchangeCoefficient Kth; + parameter Inputs.InputArea S=100; Units.SpecificEnthalpy h_vap_sat(start=h_vap_sat_0); Units.SpecificEnthalpy h_liq_sat(start=h_liq_sat_0); @@ -65,19 +62,12 @@ model DryReheater P(start=P_cold_out_0), h_outflow(start=h_cold_out_0)) annotation (Placement(transformation(extent={{150,-10},{170,10}}), iconTransformation(extent={{150,-10},{170,10}}))); - Pipes.Pipe cold_side_pipe( + Pipes.FrictionPipe cold_side_pipe( P_in_0=P_cold_in_0, - P_out_0=P_cold_out_0, Q_0=Q_cold_0, + P_out_0=P_cold_out_0, + Q_0=Q_cold_0, T_0=T_cold_in_0, - h_0=h_cold_in_0) annotation (Placement(transformation(extent={{-140,-10},{-120,10}}))); - Pipes.Pipe hot_side_pipe( - P_in_0=P_hot_in_0, - P_out_0=P_hot_out_0, Q_0=Q_hot_0, - T_0=T_hot_in_0, - h_0=h_hot_in_0) annotation (Placement(transformation( - extent={{-10,-10},{10,10}}, - rotation=270, - origin={0,56}))); + h_0=h_cold_in_0) annotation (Placement(transformation(extent={{-140,-10},{-120,10}}))); BaseClasses.IsoPFlowModel hot_side_deheating( T_in_0=T_hot_in_0, T_out_0=T_hot_in_0, @@ -115,6 +105,20 @@ model DryReheater rotation=90, origin={144,-18}))); Pipes.Leak partition_plate annotation (Placement(transformation(extent={{-98,-64},{-78,-44}}))); + Utilities.Interfaces.GenericReal Kfr_cold annotation (Placement( + transformation( + extent={{-20,-20},{20,20}}, + rotation=270, + origin={-130,78}), iconTransformation(extent={{-20,-20},{20,20}}, + rotation=180, + origin={-180,40}))); + Utilities.Interfaces.GenericReal Kth annotation (Placement(transformation( + extent={{-20,-20},{20,20}}, + rotation=270, + origin={-90,78}), iconTransformation( + extent={{-20,-20},{20,20}}, + rotation=90, + origin={-80,100}))); protected parameter Units.SpecificEnthalpy h_vap_sat_0 = WaterSteamMedium.dewEnthalpy(WaterSteamMedium.setSat_p(P_hot_out_0)); parameter Units.SpecificEnthalpy h_liq_sat_0 = WaterSteamMedium.bubbleEnthalpy(WaterSteamMedium.setSat_p(P_hot_out_0)); @@ -134,23 +138,17 @@ equation Q_hot_out = C_hot_out.Q; T_cold_in = cold_side_pipe.T_in; T_cold_out =final_mix_cold.T_out; - T_hot_in = hot_side_pipe.T_in; + T_hot_in = hot_side_deheating.T_in; T_hot_out = final_mix_hot.T_out; Tsat = hot_side_deheating.T_out; h_vap_sat = WaterSteamMedium.dewEnthalpy(WaterSteamMedium.setSat_p(hot_side_deheating.P_in)); h_liq_sat = WaterSteamMedium.bubbleEnthalpy(WaterSteamMedium.setSat_p(hot_side_deheating.P_in)); - // Pressure losses - cold_side_pipe.delta_z=0; - cold_side_pipe.Kfr = Kfr_cold; - hot_side_pipe.delta_z=0; - hot_side_pipe.Kfr = Kfr_hot; - /* Deheating */ // Energy balance hot_side_deheating.W + cold_side_deheating.W = 0; - cold_side_deheating.W =W_deheat; + cold_side_deheating.W = W_deheat; // Power Exchange if hot_side_deheating.h_in > h_vap_sat then @@ -162,14 +160,14 @@ equation /* Condensing */ // Energy Balance hot_side_condensing.W + cold_side_condensing.W = 0; - cold_side_condensing.W =W_cond; + cold_side_condensing.W = W_cond; // Power Exchange hot_side_condensing.h_out = h_liq_sat; - HX_condensing.W =W_cond; + HX_condensing.W = W_cond; HX_condensing.Kth = Kth*(1-fouling/100); - HX_condensing.S =S; + HX_condensing.S = S; HX_condensing.Q_cold = cold_side_condensing.Q; HX_condensing.Q_hot = hot_side_condensing.Q; HX_condensing.T_cold_in = cold_side_condensing.T_in; @@ -196,14 +194,6 @@ equation points={{-140,0},{-162,0}}, color={28,108,200}, thickness=1)); - connect(C_hot_in, hot_side_pipe.C_in) annotation (Line( - points={{0,80},{0,71},{1.77636e-15,71},{1.77636e-15,66}}, - color={238,46,47}, - thickness=1)); - connect(hot_side_pipe.C_out, hot_side_deheating.C_in) annotation (Line( - points={{-1.77636e-15,46},{-1.77636e-15,40},{134,40},{134,19},{94,19}}, - color={238,46,47}, - thickness=1)); connect(hot_side_deheating.C_out, hot_side_condensing.C_in) annotation (Line( points={{48,19},{48,20},{-36,20},{-36,21}}, color={238,46,47}, @@ -240,6 +230,12 @@ equation points={{144,-8},{144,0},{160,0}}, color={28,108,200}, thickness=1)); + connect(Kfr_cold, cold_side_pipe.Kfr) + annotation (Line(points={{-130,78},{-130,4}}, color={0,0,127})); + connect(hot_side_deheating.C_in, C_hot_in) annotation (Line( + points={{94,19},{120,19},{120,60},{0,60},{0,80}}, + color={255,0,0}, + thickness=1)); annotation (Icon(coordinateSystem(extent={{-160,-80},{160,80}}), graphics={ Polygon( diff --git a/MetroscopeModelingLibrary/WaterSteam/HeatExchangers/LiqLiqHX.mo b/MetroscopeModelingLibrary/WaterSteam/HeatExchangers/LiqLiqHX.mo index f4f2ba02..857ded26 100644 --- a/MetroscopeModelingLibrary/WaterSteam/HeatExchangers/LiqLiqHX.mo +++ b/MetroscopeModelingLibrary/WaterSteam/HeatExchangers/LiqLiqHX.mo @@ -4,11 +4,9 @@ model LiqLiqHX import MetroscopeModelingLibrary.Utilities.Units; import MetroscopeModelingLibrary.Utilities.Units.Inputs; - Inputs.InputFrictionCoefficient Kfr_hot; - Inputs.InputFrictionCoefficient Kfr_cold; - Inputs.InputArea S; - Inputs.InputHeatExchangeCoefficient Kth; + + parameter Inputs.InputArea S=100; parameter String QCp_max_side = "cold"; parameter String HX_config = "shell_and_tubes_two_passes"; // Valid for U-shaped tubes. Otherwise use "monophasic_cross_current" @@ -51,8 +49,18 @@ model LiqLiqHX Connectors.Outlet C_hot_out(Q(start=Q_cold_0), P(start=P_hot_out_0), h_outflow(start=h_hot_out_0)) annotation (Placement(transformation(extent={{-10,-90},{10,-70}}), iconTransformation(extent={{-10,-90},{10,-70}}))); Connectors.Outlet C_cold_out(Q(start=-Q_cold_0), P(start=P_cold_out_0), h_outflow(start=h_cold_out_0)) annotation (Placement(transformation(extent={{150,-10},{170,10}}), iconTransformation(extent={{150,-10},{170,10}}))); - Pipes.Pipe cold_side_pipe(Q_0=Q_cold_0, P_in_0 = P_cold_in_0, P_out_0 = P_cold_out_0, h_0 = h_cold_in_0, T_0 = T_cold_in_0) annotation (Placement(transformation(extent={{-140,-10},{-120,10}}))); - Pipes.Pipe hot_side_pipe(Q_0=Q_hot_0, P_in_0 = P_hot_in_0, P_out_0 = P_hot_out_0, h_0 = h_hot_in_0, T_0 = T_hot_in_0) annotation (Placement(transformation( + Pipes.FrictionPipe cold_side_pipe( + Q_0=Q_cold_0, + P_in_0=P_cold_in_0, + P_out_0=P_cold_out_0, + h_0=h_cold_in_0, + T_0=T_cold_in_0) annotation (Placement(transformation(extent={{-140,-10},{-120,10}}))); + Pipes.FrictionPipe hot_side_pipe( + Q_0=Q_hot_0, + P_in_0=P_hot_in_0, + P_out_0=P_hot_out_0, + h_0=h_hot_in_0, + T_0=T_hot_in_0) annotation (Placement(transformation( extent={{-10,-10},{10,10}}, rotation=270, origin={0,52}))); @@ -66,6 +74,27 @@ model LiqLiqHX extent={{-10,-10},{10,10}}, rotation=180, origin={0,-6}))); + Utilities.Interfaces.GenericReal Kth annotation (Placement(transformation( + extent={{-20,-20},{20,20}}, + rotation=270, + origin={-68,64}), iconTransformation( + extent={{-20,-20},{20,20}}, + rotation=90, + origin={-96,100}))); + Utilities.Interfaces.GenericReal Kfr_cold annotation (Placement(transformation( + extent={{-20,-20},{20,20}}, + rotation=270, + origin={-128,56}), iconTransformation( + extent={{-20,20},{20,-20}}, + rotation=180, + origin={-180,32}))); + Utilities.Interfaces.GenericReal Kfr_hot annotation (Placement(transformation( + extent={{-20,-20},{20,20}}, + rotation=270, + origin={50,72}), iconTransformation( + extent={{-20,-20},{20,20}}, + rotation=90, + origin={48,100}))); equation // Failure modes @@ -85,11 +114,6 @@ equation // Energy balance hot_side.W + cold_side.W = 0; - // Pressure losses - cold_side_pipe.delta_z = 0; - cold_side_pipe.Kfr = Kfr_cold; - hot_side_pipe.delta_z = 0; - hot_side_pipe.Kfr = Kfr_hot; // Power Exchange HX.W = W; @@ -134,6 +158,8 @@ equation points={{-24,21},{-30,21},{-30,20},{-40,20},{-40,-60},{0,-60},{0,-80}}, color={238,46,47}, thickness=1)); + connect(cold_side_pipe.Kfr, Kfr_cold) annotation (Line(points={{-130,4},{-130,32},{-128,32},{-128,56}}, color={0,0,127})); + connect(hot_side_pipe.Kfr, Kfr_hot) annotation (Line(points={{4,52},{24,52},{24,72},{50,72}}, color={0,0,127})); annotation (Icon(coordinateSystem(preserveAspectRatio=false, extent={{-160,-80}, {160,80}}), graphics={ Polygon( diff --git a/MetroscopeModelingLibrary/WaterSteam/HeatExchangers/Reactor.mo b/MetroscopeModelingLibrary/WaterSteam/HeatExchangers/Reactor.mo index 19ea3d0a..94c03b02 100644 --- a/MetroscopeModelingLibrary/WaterSteam/HeatExchangers/Reactor.mo +++ b/MetroscopeModelingLibrary/WaterSteam/HeatExchangers/Reactor.mo @@ -6,7 +6,6 @@ model Reactor import MetroscopeModelingLibrary.Utilities.Units.Inputs; import MetroscopeModelingLibrary.Utilities.Units; - Inputs.InputMassFraction vapor_fraction; Inputs.InputPressure steam_pressure; Units.SpecificEnthalpy h_vap_sat; @@ -33,6 +32,10 @@ model Reactor rotation=180, origin={2,0}))); Power.Connectors.Inlet C_thermal_power annotation (Placement(transformation(extent={{-40,-10},{-20,10}}), iconTransformation(extent={{-40,-10},{-20,10}}))); + Utilities.Interfaces.GenericReal vapor_fraction annotation (Placement(transformation( + extent={{-20,-20},{20,20}}, + rotation=270, + origin={-30,84}), iconTransformation(extent={{44,66},{58,80}}))); equation // Fault modes @@ -64,6 +67,7 @@ equation color={28,108,200})); connect(feedwater_sink.C_in, feedwater_inlet) annotation (Line(points={{7,-1.11022e-15},{18.5,-1.11022e-15},{18.5,0},{30,0}}, color={28,108,200})); + connect(vapor_fraction, vapor_fraction) annotation (Line(points={{-30,84},{-30,84}}, color={0,0,127})); annotation (Icon(coordinateSystem(preserveAspectRatio=false, extent={{-60,-100},{60,100}}), graphics={ Rectangle( diff --git a/MetroscopeModelingLibrary/WaterSteam/HeatExchangers/Reheater.mo b/MetroscopeModelingLibrary/WaterSteam/HeatExchangers/Reheater.mo index cdcf61ff..6c7f57e2 100644 --- a/MetroscopeModelingLibrary/WaterSteam/HeatExchangers/Reheater.mo +++ b/MetroscopeModelingLibrary/WaterSteam/HeatExchangers/Reheater.mo @@ -5,24 +5,19 @@ model Reheater import MetroscopeModelingLibrary.Utilities.Units; import MetroscopeModelingLibrary.Utilities.Units.Inputs; - Inputs.InputFrictionCoefficient Kfr_hot; - Inputs.InputFrictionCoefficient Kfr_cold; - Units.Power W; - Inputs.InputArea S; - Inputs.InputFraction level(min= 0, max=1, start = 0.3); + parameter Inputs.InputArea S=100; + parameter Inputs.InputFraction level(min=0, max=1)=0.3; // Deheating Units.Power W_deheat; // Condensation Units.Area S_cond; - Units.HeatExchangeCoefficient Kth_cond; Units.Power W_cond; // Subcooling Units.Area S_subc; - Inputs.InputHeatExchangeCoefficient Kth_subc; Units.Power W_subc; Units.SpecificEnthalpy h_vap_sat(start=h_vap_sat_0); @@ -81,19 +76,12 @@ model Reheater Connectors.Outlet C_cold_out(Q(start=-Q_cold_0), P(start=P_cold_out_0), h_outflow(start=h_cold_out_0)) annotation (Placement(transformation(extent={{150,-10},{170,10}}), iconTransformation(extent={{150,-10},{170,10}}))); - Pipes.Pipe cold_side_pipe( + Pipes.FrictionPipe cold_side_pipe( P_in_0=P_cold_in_0, - P_out_0=P_cold_out_0, Q_0=Q_cold_0, + P_out_0=P_cold_out_0, + Q_0=Q_cold_0, T_0=T_cold_in_0, - h_0=h_cold_in_0) annotation (Placement(transformation(extent={{-140,-10},{-120,10}}))); - Pipes.Pipe hot_side_pipe( - P_in_0=P_hot_in_0, - P_out_0=P_hot_out_0, Q_0=Q_hot_0, - T_0=T_hot_in_0, - h_0=h_hot_in_0) annotation (Placement(transformation( - extent={{-10,-10},{10,10}}, - rotation=270, - origin={0,56}))); + h_0=h_cold_in_0) annotation (Placement(transformation(extent={{-140,-10},{-120,10}}))); BaseClasses.IsoPFlowModel hot_side_deheating( T_in_0=T_hot_in_0, T_out_0=T_hot_in_0, @@ -102,7 +90,7 @@ model Reheater P_0=P_hot_out_0) annotation (Placement(transformation( extent={{-23,-23},{23,23}}, rotation=180, - origin={101,19}))); + origin={100,20}))); BaseClasses.IsoPFlowModel cold_side_deheating( T_in_0=T_cold_out_0, T_out_0=T_cold_out_0, @@ -117,7 +105,7 @@ model Reheater P_0=P_hot_out_0) annotation (Placement(transformation( extent={{-23,-23},{23,23}}, rotation=180, - origin={23,19}))); + origin={20,20}))); BaseClasses.IsoPFlowModel cold_side_condensing( T_in_0=0.5*(T_cold_in_0 + T_cold_out_0), T_out_0=T_cold_out_0, @@ -137,7 +125,7 @@ model Reheater P_0=P_hot_out_0) annotation (Placement(transformation( extent={{-23,-23},{23,23}}, rotation=180, - origin={-55,19}))); + origin={-68,20}))); BaseClasses.IsoPFlowModel cold_side_subcooling( T_in_0=T_cold_in_0, T_out_0=0.5*(T_cold_in_0 + T_cold_out_0), @@ -156,11 +144,38 @@ model Reheater rotation=90, origin={144,-18}))); Pipes.Leak tube_rupture annotation (Placement(transformation(extent={{-94,-24},{-74,-4}}))); - BaseClasses.IsoPHFlowModel final_mix_hot annotation (Placement(transformation(extent={{-58,-72},{-38,-52}}))); + BaseClasses.IsoPHFlowModel final_mix_hot annotation (Placement(transformation(extent={{-60,-70}, + {-40,-50}}))); protected parameter Units.SpecificEnthalpy h_vap_sat_0 = WaterSteamMedium.dewEnthalpy(WaterSteamMedium.setSat_p(P_hot_out_0)); parameter Units.SpecificEnthalpy h_liq_sat_0 = WaterSteamMedium.bubbleEnthalpy(WaterSteamMedium.setSat_p(P_hot_out_0)); +public + Utilities.Interfaces.GenericReal Kfr_cold annotation (Placement( + transformation( + extent={{-20,-20},{20,20}}, + rotation=270, + origin={-130,50}), iconTransformation(extent={{-20,-20},{20,20}}, + rotation=180, + origin={-180,40}))); +public + Utilities.Interfaces.GenericReal Kth_cond annotation (Placement( + transformation( + extent={{-20,-20},{20,20}}, + rotation=270, + origin={-110,80}), iconTransformation( + extent={{-20,-20},{20,20}}, + rotation=270, + origin={-78,-100}))); +public + Utilities.Interfaces.GenericReal Kth_subc annotation (Placement( + transformation( + extent={{-20,-20},{20,20}}, + rotation=270, + origin={-150,80}), iconTransformation( + extent={{-20,-20},{20,20}}, + rotation=90, + origin={-80,100}))); equation // Failure modes @@ -179,7 +194,7 @@ equation T_cold_in = cold_side_pipe.T_in; T_cold_out = final_mix_cold.T_out; // A IsoPHFlowModel is necessary to have a full thermodynamic state with temperature calculation at the cold outlet - T_hot_in = hot_side_pipe.T_in; + T_hot_in = hot_side_deheating.T_in; T_hot_out = final_mix_hot.T_out; W = W_deheat + W_cond + W_subc; @@ -187,12 +202,6 @@ equation h_vap_sat = WaterSteamMedium.dewEnthalpy(WaterSteamMedium.setSat_p(hot_side_deheating.P_in)); h_liq_sat = WaterSteamMedium.bubbleEnthalpy(WaterSteamMedium.setSat_p(hot_side_deheating.P_in)); - // Pressure losses - cold_side_pipe.delta_z = 0; - cold_side_pipe.Kfr = Kfr_cold; - hot_side_pipe.delta_z = 0; - hot_side_pipe.Kfr = Kfr_hot; - /* Deheating */ // Energy balance hot_side_deheating.W + cold_side_deheating.W = 0; @@ -259,16 +268,8 @@ equation points={{-140,0},{-162,0}}, color={28,108,200}, thickness=1)); - connect(C_hot_in, hot_side_pipe.C_in) annotation (Line( - points={{0,80},{0,71},{1.77636e-15,71},{1.77636e-15,66}}, - color={238,46,47}, - thickness=1)); - connect(hot_side_pipe.C_out, hot_side_deheating.C_in) annotation (Line( - points={{-1.77636e-15,46},{-1.77636e-15,38},{132,38},{132,19},{124,19}}, - color={238,46,47}, - thickness=1)); connect(hot_side_deheating.C_out, hot_side_condensing.C_in) annotation (Line( - points={{78,19},{46,19}}, + points={{77,20},{43,20}}, color={238,46,47}, thickness=1)); @@ -280,7 +281,7 @@ equation connect(partition_plate.C_in, cold_side_pipe.C_out) annotation (Line(points={{-110,-68},{-114,-68},{-114,0},{-120,0}}, color={217,67,180})); connect(hot_side_condensing.C_out, hot_side_subcooling.C_in) annotation (Line( - points={{-3.55271e-15,19},{-32,19}}, + points={{-3,20},{-45,20}}, color={238,46,47}, thickness=1)); connect(cold_side_condensing.C_in, cold_side_subcooling.C_out) annotation ( @@ -304,11 +305,19 @@ equation points={{-78,-34},{-114,-34},{-114,0},{-120,0}}, color={28,108,200}, thickness=1)); - connect(final_mix_hot.C_out, C_hot_out) annotation (Line(points={{-38,-62},{0,-62},{0,-80}}, color={238,46,47}, + connect(final_mix_hot.C_out, C_hot_out) annotation (Line(points={{-40,-60},{0, + -60},{0,-80}}, color={238,46,47}, thickness=1)); - connect(tube_rupture.C_out, final_mix_hot.C_in) annotation (Line(points={{-74,-14},{-66,-14},{-66,-6},{-102,-6},{-102,-62},{-58,-62}}, color={217,67,180})); + connect(tube_rupture.C_out, final_mix_hot.C_in) annotation (Line(points={{-74,-14}, + {-66,-14},{-66,-6},{-102,-6},{-102,-60},{-60,-60}}, color={217,67,180})); connect(hot_side_subcooling.C_out, final_mix_hot.C_in) annotation (Line( - points={{-78,19},{-78,18},{-102,18},{-102,-62},{-58,-62}}, + points={{-91,20},{-100,20},{-100,-60},{-60,-60}}, + color={255,0,0}, + thickness=1)); + connect(cold_side_pipe.Kfr, Kfr_cold) + annotation (Line(points={{-130,4},{-130,50}}, color={0,0,127})); + connect(hot_side_deheating.C_in, C_hot_in) annotation (Line( + points={{123,20},{140,20},{140,40},{0,40},{0,80}}, color={255,0,0}, thickness=1)); annotation (Icon(coordinateSystem(preserveAspectRatio=false, extent={{-160,-80}, diff --git a/MetroscopeModelingLibrary/WaterSteam/HeatExchangers/SteamGenerator.mo b/MetroscopeModelingLibrary/WaterSteam/HeatExchangers/SteamGenerator.mo index 16e73484..044d54d1 100644 --- a/MetroscopeModelingLibrary/WaterSteam/HeatExchangers/SteamGenerator.mo +++ b/MetroscopeModelingLibrary/WaterSteam/HeatExchangers/SteamGenerator.mo @@ -6,7 +6,6 @@ model SteamGenerator import MetroscopeModelingLibrary.Utilities.Units.Inputs; import MetroscopeModelingLibrary.Utilities.Units; - Inputs.InputMassFraction vapor_fraction; Inputs.InputPressure steam_pressure; Inputs.InputPositiveMassFlowRate Q_purge; Units.Pressure P_purge; @@ -40,6 +39,11 @@ model SteamGenerator rotation=270, origin={0,-82}))); Power.Connectors.Inlet C_thermal_power annotation (Placement(transformation(extent={{-40,-10},{-20,10}}), iconTransformation(extent={{-40,-10},{-20,10}}))); + Utilities.Interfaces.GenericReal vapor_fraction annotation (Placement( + transformation( + extent={{-20,-20},{20,20}}, + rotation=270, + origin={-30,100}), iconTransformation(extent={{44,66},{58,80}}))); equation // Fault modes @@ -66,8 +70,8 @@ equation thermal_power = C_thermal_power.W; // Purge + P_purge = steam_source.P_out; purge_source.h_out = Water.bubbleEnthalpy(Water.setSat_p(P_purge)); - purge_source.P_out = P_purge; connect(steam_source.C_out, steam_outlet) annotation (Line(points={{2.77556e-16, diff --git a/MetroscopeModelingLibrary/WaterSteam/HeatExchangers/Superheater.mo b/MetroscopeModelingLibrary/WaterSteam/HeatExchangers/Superheater.mo index c0f6815a..e8951074 100644 --- a/MetroscopeModelingLibrary/WaterSteam/HeatExchangers/Superheater.mo +++ b/MetroscopeModelingLibrary/WaterSteam/HeatExchangers/Superheater.mo @@ -5,18 +5,13 @@ model Superheater import MetroscopeModelingLibrary.Utilities.Units; import MetroscopeModelingLibrary.Utilities.Units.Inputs; - // Pressure Losses - Inputs.InputFrictionCoefficient Kfr_hot; - Inputs.InputFrictionCoefficient Kfr_cold; - // Deheating Units.Power W_deheat; // Condensation Units.Power W_cond; parameter String HX_config="condenser"; - Inputs.InputArea S; - Units.HeatExchangeCoefficient Kth; + parameter Inputs.InputArea S=100; Units.SpecificEnthalpy h_vap_sat_hot(start=h_vap_sat_0); Units.SpecificEnthalpy h_liq_sat_hot(start=h_liq_sat_0); Units.Temperature Tsat_hot; @@ -27,7 +22,7 @@ model Superheater Units.Temperature Tsat_cold(start=T_cold_in_0); // Ventilation - Units.PositiveMassFlowRate Q_vent(start=Q_vent_0); + parameter Units.PositiveMassFlowRate Q_vent = 1; Units.PositiveMassFlowRate Q_vent_faulty(start=Q_vent_0); // Definitions @@ -86,22 +81,6 @@ model Superheater P(start=P_cold_out_0), h_outflow(start=h_cold_out_0)) annotation (Placement(transformation(extent={{-10,70},{10,90}}),iconTransformation(extent={{-10,70},{10,90}}))); - Pipes.Pipe cold_side_pipe( - P_in_0=P_cold_in_0, - P_out_0=P_cold_out_0, Q_0=Q_cold_0, - T_0=T_cold_in_0, - h_0=h_cold_in_0) annotation (Placement(transformation( - extent={{-10,-10},{10,10}}, - rotation=0, - origin={16,-64}))); - Pipes.Pipe hot_side_pipe( - P_in_0=P_hot_in_0, - P_out_0=P_hot_out_0, Q_0=Q_hot_0, - T_0=T_hot_in_0, - h_0=h_hot_in_0) annotation (Placement(transformation( - extent={{-10,-10},{10,10}}, - rotation=0, - origin={-130,0}))); BaseClasses.IsoPFlowModel hot_side_deheating( T_in_0=T_hot_in_0, T_out_0=T_hot_out_0, @@ -171,6 +150,14 @@ protected parameter Units.SpecificEnthalpy h_vap_sat_0 = WaterSteamMedium.dewEnthalpy(WaterSteamMedium.setSat_p(P_hot_out_0)); parameter Units.SpecificEnthalpy h_liq_sat_0 = WaterSteamMedium.bubbleEnthalpy(WaterSteamMedium.setSat_p(P_hot_out_0)); +public + Utilities.Interfaces.GenericReal Kth annotation (Placement(transformation( + extent={{-20,-20},{20,20}}, + rotation=270, + origin={90,60}), iconTransformation( + extent={{-20,-20},{20,20}}, + rotation=90, + origin={-80,100}))); equation // Failure modes @@ -184,33 +171,28 @@ equation Q_hot_in = C_hot_in.Q; Q_cold_out = C_cold_out.Q; Q_hot_out = C_hot_out.Q; - T_cold_in = cold_side_pipe.T_in; + T_cold_in = cold_side_vaporising.T_in; T_cold_out = final_mix_cold.T_out; - T_hot_in = hot_side_pipe.T_in; + T_hot_in = hot_side_deheating.T_in; T_hot_out = hot_side_vaporising.T_out; W = W_deheat + W_cond + W_vap; // Ventilation Q_vent_faulty = - C_vent.Q; // 1e-3 is used as a protection against zero flow in case the vent is totally closed Q_vent_faulty = Q_vent*(1-closed_vent/100) + 1e-3; - // Pressure losses - cold_side_pipe.delta_z = 0; - cold_side_pipe.Kfr = Kfr_cold; - hot_side_pipe.delta_z = 0; - hot_side_pipe.Kfr = Kfr_hot; // Saturation Tsat_hot = hot_side_deheating.T_out; h_vap_sat_hot = WaterSteamMedium.dewEnthalpy(WaterSteamMedium.setSat_p(hot_side_deheating.P_in)); h_liq_sat_hot = WaterSteamMedium.bubbleEnthalpy(WaterSteamMedium.setSat_p(hot_side_deheating.P_in)); - Tsat_cold = cold_side_pipe.T_out; - h_vap_sat_cold = WaterSteamMedium.dewEnthalpy(WaterSteamMedium.setSat_p(cold_side_pipe.P_out)); + Tsat_cold = cold_side_vaporising.T_in; + h_vap_sat_cold = WaterSteamMedium.dewEnthalpy(WaterSteamMedium.setSat_p(cold_side_vaporising.P_in)); /* Deheating on hot side, superheating on cold side */ // Energy balance hot_side_deheating.W + cold_side_deheating.W = 0; - cold_side_deheating.W =W_deheat; + cold_side_deheating.W = W_deheat; // Power Exchange if hot_side_deheating.h_in > h_vap_sat_hot then @@ -260,15 +242,6 @@ equation // Internal leaks tube_rupture.Q = 1e-5 + tube_rupture_leak; - connect(cold_side_pipe.C_in, C_cold_in) annotation (Line( - points={{6,-64},{0,-64},{0,-80}}, - color={28,108,200}, - thickness=1)); - connect(C_hot_in, hot_side_pipe.C_in) annotation (Line( - points={{-160,0},{-140,0}}, - color={238,46,47}, - thickness=1)); - connect(cold_side_condensing.C_out, cold_side_deheating.C_in) annotation ( Line( points={{39,18},{39,30}}, @@ -279,10 +252,6 @@ equation connect(tube_rupture.C_in, hot_side_deheating.C_in) annotation (Line(points={{-6,38},{-12,38},{-12,66},{-34,66},{-34,60}}, color={217,67,180})); connect(C_hot_in, C_hot_in) annotation (Line(points={{-160,0},{-160,0}}, color={28,108,200})); - connect(cold_side_pipe.C_out, cold_side_vaporising.C_in) - annotation (Line(points={{26,-64},{39,-64},{39,-60}}, - color={28,108,200}, - thickness=1)); connect(cold_side_vaporising.C_out, cold_side_condensing.C_in) annotation (Line(points={{39,-26},{39,-16}}, color={28,108,200}, thickness=1)); @@ -300,10 +269,6 @@ equation points={{-34,28},{-34,18}}, color={238,46,47}, thickness=1)); - connect(hot_side_pipe.C_out, hot_side_deheating.C_in) annotation (Line( - points={{-120,0},{-80,0},{-80,66},{-34,66},{-34,60}}, - color={238,46,47}, - thickness=1)); connect(final_mix_cold.C_out, C_cold_out) annotation (Line( points={{4,62},{0,62},{0,80}}, color={28,108,200}, @@ -312,6 +277,13 @@ equation points={{24,62},{39,62},{39,60}}, color={28,108,200}, thickness=1)); + connect(C_hot_in, hot_side_deheating.C_in) annotation (Line( + points={{-160,0},{-120,0},{-120,66},{-34,66},{-34,60}}, + color={255,0,0}, + thickness=1)); + connect(cold_side_vaporising.C_in, C_cold_in) annotation (Line(points={{39,-60}, + {38.5,-60},{38.5,-66},{0,-66},{0,-80}}, color={28,108,200}, + thickness=1)); annotation (Icon(coordinateSystem(extent={{-160,-80},{160,80}}), graphics={ Polygon( diff --git a/MetroscopeModelingLibrary/WaterSteam/Machines/SteamTurbine.mo b/MetroscopeModelingLibrary/WaterSteam/Machines/SteamTurbine.mo index 955b3349..3b4b7ffa 100644 --- a/MetroscopeModelingLibrary/WaterSteam/Machines/SteamTurbine.mo +++ b/MetroscopeModelingLibrary/WaterSteam/Machines/SteamTurbine.mo @@ -13,8 +13,10 @@ model SteamTurbine redeclare MetroscopeModelingLibrary.WaterSteam.Connectors.Outlet C_out, redeclare package Medium = WaterSteamMedium) annotation (IconMap(primitivesVisible=false)); - Utilities.Units.Inputs.InputCst Cst "Stodola's ellipse coefficient"; - Utilities.Units.Inputs.InputYield eta_is(start=0.8) "Nominal isentropic efficiency"; + import MetroscopeModelingLibrary.Utilities.Units; + + parameter Units.Cst Cst_constant = 1e4; + parameter Units.Yield eta_is_constant = 0.9; Utilities.Units.MassFraction x_in(start=x_in_0); Utilities.Units.MassFraction x_out(start=x_out_0); @@ -41,6 +43,21 @@ protected parameter Utilities.Units.SpecificEnthalpy h_vap_out_0=WaterSteamMedium.dewEnthalpy(WaterSteamMedium.setSat_p(P_out_0)); parameter Utilities.Units.SpecificEnthalpy h_liq_out_0=WaterSteamMedium.bubbleEnthalpy(WaterSteamMedium.setSat_p(P_out_0)); +public + Utilities.Interfaces.GenericReal eta_is annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={-70,76}), iconTransformation( + extent={{-16,-16},{16,16}}, + rotation=90, + origin={-22,92}))); + Utilities.Interfaces.GenericReal Cst annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=90, + origin={-86,70}), iconTransformation( + extent={{-16,-16},{16,16}}, + rotation=90, + origin={-66,82}))); equation // Stodola's ellipse law Q = sqrt((P_in^2 - P_out^2)/(Cst*T_in*x_in)); diff --git a/MetroscopeModelingLibrary/WaterSteam/Pipes/FrictionPipe.mo b/MetroscopeModelingLibrary/WaterSteam/Pipes/FrictionPipe.mo new file mode 100644 index 00000000..4005b5f2 --- /dev/null +++ b/MetroscopeModelingLibrary/WaterSteam/Pipes/FrictionPipe.mo @@ -0,0 +1,176 @@ +within MetroscopeModelingLibrary.WaterSteam.Pipes; +model FrictionPipe + extends MetroscopeModelingLibrary.Utilities.Icons.KeepingScaleIcon; + package WaterSteamMedium = MetroscopeModelingLibrary.Utilities.Media.WaterSteamMedium; + extends Partial.Pipes.FrictionPipe + ( + redeclare MetroscopeModelingLibrary.WaterSteam.Connectors.Inlet C_in, + redeclare MetroscopeModelingLibrary.WaterSteam.Connectors.Outlet C_out, + redeclare package Medium = WaterSteamMedium) annotation(IconMap(primitivesVisible=false)); + annotation (Icon(coordinateSystem(preserveAspectRatio=false), graphics={ + Rectangle( + extent={{-100,30},{100,-30}}, + lineColor={28,108,200}, + fillColor={28,108,200}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,30},{-76,24},{-72,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-72,30},{-68,24},{-64,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-56,30},{-52,24},{-48,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-64,30},{-60,24},{-56,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-24,30},{-20,24},{-16,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-32,30},{-28,24},{-24,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-40,30},{-36,24},{-32,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-48,30},{-44,24},{-40,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-16,30},{-12,24},{-8,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-8,30},{-4,24},{0,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{8,30},{12,24},{16,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{0,30},{4,24},{8,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{40,30},{44,24},{48,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{32,30},{36,24},{40,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{24,30},{28,24},{32,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{16,30},{20,24},{24,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{72,30},{76,24},{80,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{64,30},{68,24},{72,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{56,30},{60,24},{64,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{48,30},{52,24},{56,30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-80,-30},{-76,-24},{-72,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-72,-30},{-68,-24},{-64,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-56,-30},{-52,-24},{-48,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-64,-30},{-60,-24},{-56,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-24,-30},{-20,-24},{-16,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-32,-30},{-28,-24},{-24,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-40,-30},{-36,-24},{-32,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-48,-30},{-44,-24},{-40,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-16,-30},{-12,-24},{-8,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-8,-30},{-4,-24},{0,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{8,-30},{12,-24},{16,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{0,-30},{4,-24},{8,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{40,-30},{44,-24},{48,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{32,-30},{36,-24},{40,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{24,-30},{28,-24},{32,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{16,-30},{20,-24},{24,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{72,-30},{76,-24},{80,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{64,-30},{68,-24},{72,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{56,-30},{60,-24},{64,-30}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{48,-30},{52,-24},{56,-30}}, + color={0,0,0}, + thickness=0.5)}), Diagram(coordinateSystem(preserveAspectRatio=false))); +end FrictionPipe; diff --git a/MetroscopeModelingLibrary/WaterSteam/Pipes/Pipe.mo b/MetroscopeModelingLibrary/WaterSteam/Pipes/HeightVariationPipe.mo similarity index 89% rename from MetroscopeModelingLibrary/WaterSteam/Pipes/Pipe.mo rename to MetroscopeModelingLibrary/WaterSteam/Pipes/HeightVariationPipe.mo index de728c30..ee68e28e 100644 --- a/MetroscopeModelingLibrary/WaterSteam/Pipes/Pipe.mo +++ b/MetroscopeModelingLibrary/WaterSteam/Pipes/HeightVariationPipe.mo @@ -1,8 +1,8 @@ within MetroscopeModelingLibrary.WaterSteam.Pipes; -model Pipe +model HeightVariationPipe extends MetroscopeModelingLibrary.Utilities.Icons.KeepingScaleIcon; package WaterSteamMedium = MetroscopeModelingLibrary.Utilities.Media.WaterSteamMedium; - extends Partial.Pipes.Pipe( + extends Partial.Pipes.HeightVariationPipe( redeclare MetroscopeModelingLibrary.WaterSteam.Connectors.Inlet C_in, redeclare MetroscopeModelingLibrary.WaterSteam.Connectors.Outlet C_out, redeclare package Medium = WaterSteamMedium) annotation(IconMap(primitivesVisible=false)); @@ -12,4 +12,4 @@ model Pipe lineColor={28,108,200}, fillColor={28,108,200}, fillPattern=FillPattern.Solid)}), Diagram(coordinateSystem(preserveAspectRatio=false))); -end Pipe; +end HeightVariationPipe; diff --git a/MetroscopeModelingLibrary/WaterSteam/Pipes/SteamExtractionSplitter.mo b/MetroscopeModelingLibrary/WaterSteam/Pipes/SteamExtractionSplitter.mo index 4d464702..43a9514e 100644 --- a/MetroscopeModelingLibrary/WaterSteam/Pipes/SteamExtractionSplitter.mo +++ b/MetroscopeModelingLibrary/WaterSteam/Pipes/SteamExtractionSplitter.mo @@ -25,7 +25,7 @@ model SteamExtractionSplitter Units.MassFraction x_main_out(start=x_0) "Vapor mass fraction at main outlet"; Units.MassFraction x_in(start=x_0) "Vapor mass fraction at inlet"; - Inputs.InputFraction alpha(start=1) "Extraction paramater"; + parameter Inputs.InputFraction alpha=1 "Extraction paramater"; // Components BaseClasses.IsoPFlowModel extracted_flow( diff --git a/MetroscopeModelingLibrary/WaterSteam/Pipes/package.order b/MetroscopeModelingLibrary/WaterSteam/Pipes/package.order index 8ea3aeea..f3449318 100644 --- a/MetroscopeModelingLibrary/WaterSteam/Pipes/package.order +++ b/MetroscopeModelingLibrary/WaterSteam/Pipes/package.order @@ -1,5 +1,6 @@ SteamExtractionSplitter -Pipe +FrictionPipe +HeightVariationPipe ControlValve SlideValve HeatLoss diff --git a/MetroscopeModelingLibrary/WaterSteam/Volumes/SteamDryer.mo b/MetroscopeModelingLibrary/WaterSteam/Volumes/SteamDryer.mo index 8ab74e7c..f83d7d81 100644 --- a/MetroscopeModelingLibrary/WaterSteam/Volumes/SteamDryer.mo +++ b/MetroscopeModelingLibrary/WaterSteam/Volumes/SteamDryer.mo @@ -12,7 +12,7 @@ model SteamDryer Units.PositiveMassFlowRate Q_in(start=Q_in_0); // Inlet mass flow rate - Units.MassFraction x_steam_out(start=1); // Steam mass fraction at steam outlet + parameter Units.MassFraction x_steam_out=0.99; // Steam mass fraction at steam outlet // Initialization parameters parameter Units.Pressure P_0 = 10e5; diff --git a/MetroscopeModelingLibrary/package.order b/MetroscopeModelingLibrary/package.order index 9691af6e..0ed95343 100644 --- a/MetroscopeModelingLibrary/package.order +++ b/MetroscopeModelingLibrary/package.order @@ -1,6 +1,7 @@ Utilities Partial Sensors +Sensors_Control WaterSteam FlueGases Fuel