Skip to content
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added

### Changed

- Steam generators now have power connectors for thermal power and embedded feedwater mass flow rate bias [PR#418](https://github.com/Metroscope-dev/metroscope-modeling-library/pull/418)
- Removed pumps power connector [PR#419](https://github.com/Metroscope-dev/metroscope-modeling-library/pull/419)

### Fixed

- Power connectors are now balanced [PR#419](https://github.com/Metroscope-dev/metroscope-modeling-library/pull/419), fixing [#99](https://github.com/Metroscope-dev/metroscope-modeling-library/issues/99)

## MML-v3.5.0

### Added
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -201,11 +201,6 @@ model MetroscopiaCCGT_causality_direct
MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor P_pump_out_sensor
annotation (Placement(transformation(extent={{-5,-5},{5,5}}, origin={155,
131})));
MetroscopeModelingLibrary.Power.BoundaryConditions.Source powerSource
annotation (Placement(transformation(
extent={{-10,-10},{10,10}},
rotation=270,
origin={116,150})));
MetroscopeModelingLibrary.WaterSteam.Pipes.LoopBreaker loopBreaker
annotation (Placement(transformation(
extent={{-10,-10},{10,10}},
Expand Down Expand Up @@ -282,11 +277,6 @@ model MetroscopiaCCGT_causality_direct
extent={{-7,-7},{7,7}},
origin={94,48.5455},
rotation=0)));
MetroscopeModelingLibrary.Power.BoundaryConditions.Source pumpRec_powerSource
annotation (Placement(transformation(
extent={{-10,-10},{10,10}},
rotation=270,
origin={94,66})));
MetroscopeModelingLibrary.Sensors.WaterSteam.TemperatureSensor T_pumpRec_out_sensor
annotation (Placement(transformation(
extent={{5,-5},{-5,5}},
Expand Down Expand Up @@ -610,9 +600,6 @@ equation
color={28,108,200}));
connect(condenser.C_hot_out, pump.C_in) annotation (Line(points={{52,144.778},{52,131},{109,131}},
color={28,108,200}));
connect(powerSource.C_out, pump.C_power)
annotation (Line(points={{116,145.2},{116,138.56}},
color={244,125,35}));
connect(HPsuperheater1.C_cold_in, P_w_evap_out_sensor.C_out) annotation (Line(
points={{-147,-5},{-147,8},{-46,8}}, color={28,108,200}));
connect(evaporator.C_cold_out, P_w_evap_out_sensor.C_in) annotation (Line(
Expand Down Expand Up @@ -668,9 +655,6 @@ equation
points={{142,131},{150,131}}, 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}));
connect(pumpRec.C_power, pumpRec_powerSource.C_out)
annotation (Line(points={{94,56.1055},{94,61.2}},
color={244,125,35}));
connect(P_pumpRec_out_sensor.C_out, Q_pumpRec_out_sensor.C_in)
annotation (Line(points={{136,48.5455},{140,48.5455}},
color={28,108,200}));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -203,11 +203,6 @@ model MetroscopiaCCGT_causality_reverse
MetroscopeModelingLibrary.Sensors.WaterSteam.PressureSensor P_pump_out_sensor
annotation (Placement(transformation(extent={{-5,-5},{5,5}}, origin={155,
131})));
MetroscopeModelingLibrary.Power.BoundaryConditions.Source powerSource
annotation (Placement(transformation(
extent={{-10,-10},{10,10}},
rotation=270,
origin={116,150})));
MetroscopeModelingLibrary.WaterSteam.Pipes.LoopBreaker loopBreaker
annotation (Placement(transformation(
extent={{-10,-10},{10,10}},
Expand Down Expand Up @@ -284,11 +279,6 @@ model MetroscopiaCCGT_causality_reverse
extent={{-7,-7},{7,7}},
origin={94,48.5455},
rotation=0)));
MetroscopeModelingLibrary.Power.BoundaryConditions.Source pumpRec_powerSource
annotation (Placement(transformation(
extent={{-10,-10},{10,10}},
rotation=270,
origin={94,66})));
MetroscopeModelingLibrary.Sensors.WaterSteam.TemperatureSensor T_pumpRec_out_sensor
annotation (Placement(transformation(
extent={{5,-5},{-5,5}},
Expand Down Expand Up @@ -611,9 +601,6 @@ equation
color={28,108,200}));
connect(condenser.C_hot_out, pump.C_in) annotation (Line(points={{52,144.778},{52,131},{109,131}},
color={28,108,200}));
connect(powerSource.C_out, pump.C_power)
annotation (Line(points={{116,145.2},{116,138.56}},
color={244,125,35}));
connect(HPsuperheater1.C_cold_in, P_w_evap_out_sensor.C_out) annotation (Line(
points={{-147,-5},{-147,8},{-46,8}}, color={28,108,200}));
connect(evaporator.C_cold_out, P_w_evap_out_sensor.C_in) annotation (Line(
Expand Down Expand Up @@ -669,9 +656,6 @@ equation
points={{142,131},{150,131}}, 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}));
connect(pumpRec.C_power, pumpRec_powerSource.C_out)
annotation (Line(points={{94,56.1055},{94,61.2}},
color={244,125,35}));
connect(P_pumpRec_out_sensor.C_out, Q_pumpRec_out_sensor.C_in)
annotation (Line(points={{136,48.5455},{140,48.5455}},
color={28,108,200}));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,6 @@ model FlashTank_Reheater
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.Power.BoundaryConditions.Source power_source annotation (Placement(transformation(
extent={{-10,-10},{10,10}},
rotation=270,
origin={-60,-52})));
Sensors.Outline.VRotSensor feed_water_pump_VRot_sensor annotation (Placement(transformation(
extent={{-8,-8},{8,8}},
rotation=180,
Expand Down Expand Up @@ -79,7 +75,6 @@ equation
feed_water_pump.rh_min = 0.20;
feed_water_pump.rh = 1;

connect(power_source.C_out, feed_water_pump.C_power) annotation (Line(points={{-60,-56.8},{-60,-70.28}}, color={244,125,35}));
connect(turbine_extraction_source.C_out, dry_reheater.C_hot_in) annotation (Line(points={{50,73},{50,38}}, color={63,81,181}));
connect(feed_water_source.C_out, dry_reheater.C_cold_in) annotation (Line(points={{95,30},{66.2,30}}, color={63,81,181}));
connect(feed_water_sink.C_in, dry_reheater.C_cold_out) annotation (Line(points={{-115,30},{34,30}}, color={63,81,181}));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,8 @@ model ParallelTurboFWP_direct

WaterSteam.Machines.Pump FWP2(P_in_0=FWPs_P_in_0) annotation (Placement(transformation(extent={{-10,-40},{-30,-20}})));
WaterSteam.Machines.Pump FWP1(P_in_0=FWPs_P_in_0) annotation (Placement(transformation(extent={{-10,-80},{-30,-100}})));
Power.BoundaryConditions.Sink sink1 annotation (Placement(transformation(extent={{74,110},{94,130}})));
Power.BoundaryConditions.Sink sink annotation (Placement(transformation(extent={{74,30},{94,50}})));
equation
// Boundary conditions
// STs source
Expand Down Expand Up @@ -106,6 +108,10 @@ equation
FWP2.a3 = FWP2_a3;
FWP2.a2 = 0;
FWP2.a1 = -172;

// Pumps power
FWP1.W = -ST1.W;
FWP2.W = -ST2.W;
connect(ST1.C_out, ST2.C_out) annotation (Line(points={{40,100},{70,100},{70,60},{40,60}}, color={28,108,200}));
connect(STs_sink.C_in, ST2.C_out) annotation (Line(points={{113,80},{70,80},{70,60},{40,60}}, color={28,108,200}));
connect(ST1_CV.C_in, ST2_CV.C_in) annotation (Line(points={{-16,100},{-36,100},{-36,60},{-16,60}}, color={28,108,200}));
Expand All @@ -118,12 +124,10 @@ equation
color={28,108,200}));
connect(FWPs_source.C_out, FWP1.C_in) annotation (Line(points={{113,-60},{60,-60},{60,-90},{-10,-90}},color={28,108,200}));
connect(FWPs_sink.C_in, FWP2.C_out) annotation (Line(points={{-113,-60},{-40,-60},{-40,-30},{-30,-30}},color={28,108,200}));
connect(ST2.C_W_out, FWP2.C_power) annotation (Line(points={{40,51.6},{62,51.6},{62,-8},{-20,-8},{-20,-19.2}},
color={244,125,35}));
connect(ST1.C_W_out, FWP1.C_power) annotation (Line(points={{40,108.4},{160,108.4},{160,-120},{-20,-120},{-20,-100.8}},
color={244,125,35}));
connect(ST1_CV.C_out, ST1.C_in) annotation (Line(points={{-4,100},{8,100},{8,100},{20,100}}, color={28,108,200}));
connect(ST2.C_in, ST2_CV.C_out) annotation (Line(points={{20,60},{8,60},{8,60},{-4,60}}, color={28,108,200}));
connect(ST1.C_W_out,sink1. C_in) annotation (Line(points={{40,108.4},{40,120},{79,120}}, color={244,125,35}));
connect(ST2.C_W_out,sink. C_in) annotation (Line(points={{40,51.6},{40,40},{79,40}}, color={244,125,35}));
annotation (Diagram(coordinateSystem(extent={{-140,-140},{140,140}})), Icon(coordinateSystem(extent={{-140,-140},{140,140}}), graphics={
Ellipse(
extent={{-100,100},{100,-100}},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,8 @@ model ParallelTurboFWP_reverse
Sensors.WaterSteam.TemperatureSensor FWPs_T_out_sensor annotation (Placement(transformation(extent={{-84,-67},{-98,-53}})));
Sensors.WaterSteam.PressureSensor FWPs_P_out_sensor annotation (Placement(transformation(extent={{-64,-67},{-78,-53}})));
Sensors.WaterSteam.FlowSensor FWP1_Q_in_sensor annotation (Placement(transformation(extent={{38,-97},{24,-83}})));
Power.BoundaryConditions.Sink sink annotation (Placement(transformation(extent={{70,30},{90,50}})));
Power.BoundaryConditions.Sink sink1 annotation (Placement(transformation(extent={{68,110},{88,130}})));
equation
// Boundary conditions
// STs source
Expand Down Expand Up @@ -159,17 +161,17 @@ equation
FWP2.b1 = 0;
FWP2.a2 = 0;
FWP2.a1 = -172;

// Pumps power
FWP1.W = -ST1.W;
FWP2.W = -ST2.W;
connect(ST1.C_out, ST2.C_out) annotation (Line(points={{52,100},{70,100},{70,60},{52,60}}, color={28,108,200}));
connect(STs_sink.C_in, ST2.C_out) annotation (Line(points={{113,80},{70,80},{70,60},{52,60}}, color={28,108,200}));
connect(ST1_CV.C_in, ST2_CV.C_in) annotation (Line(points={{-16,100},{-36,100},{-36,60},{-16,60}}, color={28,108,200}));
connect(ST1_CV.Opening, ST1_CV_opening_sensor.Opening) annotation (Line(points={{-10,110.182},{-10,115.92}}, color={0,0,127}));
connect(ST2_CV.Opening, ST2_CV_opening_sensor.Opening) annotation (Line(points={{-10,49.8182},{-10,44.08}}, color={0,0,127}));
connect(FWP1.C_out, FWP2.C_out) annotation (Line(points={{-30,-90},{-40,-90},{-40,-30},{-30,-30}},
color={28,108,200}));
connect(ST2.C_W_out, FWP2.C_power) annotation (Line(points={{52,51.6},{62,51.6},{62,-8},{-20,-8},{-20,-19.2}},
color={244,125,35}));
connect(ST1.C_W_out, FWP1.C_power) annotation (Line(points={{52,108.4},{160,108.4},{160,-120},{-20,-120},{-20,-100.8}},
color={244,125,35}));
connect(STs_source.C_out, STs_CV_Q_in_sensor.C_in) annotation (Line(points={{-113,80},{-76,80}}, color={28,108,200}));
connect(STs_CV_Q_in_sensor.C_out, ST2_CV.C_in) annotation (Line(points={{-62,80},{-36,80},{-36,60},{-16,60}}, color={28,108,200}));
connect(FWP1.VRot, FWP1_VRot_sensor.VRot) annotation (Line(points={{-20,-78},{-20,-70},{-7.65,-70}}, color={0,0,127}));
Expand All @@ -186,6 +188,8 @@ equation
connect(FWPs_source.C_out, FWP1_Q_in_sensor.C_in) annotation (Line(points={{113,-60},{60,-60},{60,-90},{38,-90}}, color={28,108,200}));
connect(FWP1_Q_in_sensor.C_out, FWP1.C_in) annotation (Line(points={{24,-90},{-10,-90}}, color={28,108,200}));
connect(FWP2.C_in, FWP1_Q_in_sensor.C_in) annotation (Line(points={{-10,-30},{60,-30},{60,-90},{38,-90}}, color={28,108,200}));
connect(ST2.C_W_out, sink.C_in) annotation (Line(points={{52,51.6},{52,52},{60,52},{60,40},{75,40}}, color={244,125,35}));
connect(ST1.C_W_out, sink1.C_in) annotation (Line(points={{52,108.4},{60,108.4},{60,120},{73,120}}, color={244,125,35}));
annotation (Diagram(coordinateSystem(extent={{-140,-140},{140,140}})), Icon(coordinateSystem(extent={{-140,-140},{140,140}}), graphics={
Ellipse(
extent={{-100,100},{100,-100}},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ model TurbineLPCondenser_reverse_step1
// Hypothesis on component parameters
// Turbines
parameter Units.Yield LP_turbine_eta_nz = 1;
parameter Units.Area LP_turbine_area_nz = 1;

// Extraction splitters
parameter Units.Fraction LP_turbine1_ext_alpha = 1;
Expand Down Expand Up @@ -156,7 +155,6 @@ equation

// Hypothesis for step 1 : no nozzle effect on the last turbine stage
LP_turbine3.eta_nz = LP_turbine_eta_nz;
LP_turbine3.area_nz = LP_turbine_area_nz;

// Generator
W_tot_sensor.W_MW = W_tot; // Calibrates LP_turbines_eta_is
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ model TurbineLPCondenser_reverse_step2

// Hypothesis on component parameters
// Turbines
parameter Units.Area LP_turbine_area_nz = 12; // pi*turbine_R**2 - pi*rotor_R**2, with turbine_R = 2m, rotor_R = 0.35m
parameter Units.Yield LP_turbines_eta_is = 0.9;

// Extraction splitters
Expand Down Expand Up @@ -156,7 +155,6 @@ equation

// Hypothesis : no nozzle
LP_turbine3.eta_nz = LP_turbine3_eta_nz;
LP_turbine3.area_nz = LP_turbine_area_nz;

// Generator
W_tot_sensor.W_MW = W_tot; // Calibrates LP_turbines_eta_is
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -245,10 +245,6 @@ model MetroscopiaNPP_direct
h_in_0=163e3,
h_out_0=164e3,
Q_0=1060) annotation (Placement(transformation(extent={{380,-78},{364,-62}})));
MetroscopeModelingLibrary.Power.BoundaryConditions.Source LP_pump_Wm_source annotation (Placement(transformation(
extent={{-10,-10},{10,10}},
rotation=270,
origin={372,-46})));
MetroscopeModelingLibrary.Sensors.WaterSteam.TemperatureSensor extraction_pump_T_out_sensor(
Q_0=1060,
P_0=700000,
Expand Down Expand Up @@ -318,10 +314,6 @@ model MetroscopiaNPP_direct
h_in_0=322e3,
h_out_0=340e3,
Q_0=1500) annotation (Placement(transformation(extent={{62,-78},{46,-62}})));
MetroscopeModelingLibrary.Power.BoundaryConditions.Source HP_pump_Wm_source annotation (Placement(transformation(
extent={{-10,-10},{10,10}},
rotation=270,
origin={54,-46})));
MetroscopeModelingLibrary.Sensors.WaterSteam.TemperatureSensor HP_pump_T_out_sensor(
Q_0=1500,
P_0=5900000,
Expand Down Expand Up @@ -395,16 +387,13 @@ model MetroscopiaNPP_direct
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})));
Power.BoundaryConditions.Source source annotation (Placement(transformation(extent={{-238,-80},{-218,-60}})));
Sensors.Power.PowerSensor thermal_power_sensor annotation (Placement(transformation(extent={{-212,-78},{-196,-62}})));
WaterSteam.Pipes.PressureCut pressureCut1 annotation (Placement(transformation(extent={{-140,-170},{-120,-150}})));
equation

// SteamGenerator
Expand Down Expand Up @@ -610,7 +599,6 @@ equation
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_power, LP_pump_Wm_source.C_out) annotation (Line(points={{372,-61.36},{372,-50.8}}, color={244,125,35}));
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}},
Expand All @@ -628,7 +616,6 @@ equation
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_power, HP_pump_Wm_source.C_out) annotation (Line(points={{54,-61.36},{54,-50.8}}, color={244,125,35}));
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}));
Expand Down Expand Up @@ -659,8 +646,9 @@ equation
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}));
connect(Q_purge_sensor.C_out, pressureCut1.C_in) annotation (Line(points={{-170,-139},{-170,-160},{-140,-160}}, color={28,108,200}));
connect(pressureCut1.C_out, condenser.C_hot_in) annotation (Line(points={{-120,-160},{520,-160},{520,120},{392.5,120},{392.5,74.2864}}, color={28,108,200}));
annotation (Icon(coordinateSystem(preserveAspectRatio=false, extent={{-240,-160},{520,200}})), Diagram(coordinateSystem(preserveAspectRatio=false, extent={{-240,-160},{520,200}})));
end MetroscopiaNPP_direct;
Loading