Skip to content

Fix power connectors again #419

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 11 commits into
base: main
Choose a base branch
from
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