Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Ordered nuclear examples into subpackages called with power plant system names, [PR#219](https://github.com/Metroscope-dev/metroscope-modeling-library/pull/219)

### Added <!--Make sure to add a link to the PR and issues related to your change-->
- Added internal leaks in DryReheater, Reheater and SuperHEater [PR#306](https://github.com/Metroscope-dev/metroscope-modeling-library/pull/306)
- Added `psiA` and `psiG` distinction in pressure sensor [PR#252](https://github.com/Metroscope-dev/metroscope-modeling-library/pull/252)
- Added `LMTDHeatExchange` function, `LMTDfuelHeater`component and reverse unit test. [PR #266](https://github.com/Metroscope-dev/metroscope-modeling-library/pull/266)
- Added`HXmoistAirWater` component and reverse unit test, [PR #250](https://github.com/Metroscope-dev/metroscope-modeling-library/pull/250)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -524,9 +524,9 @@ P_cold_in_0(start=5900000.0),
P_cold_out_0(start=5800000.0),
P_hot_in_0(start=3100000.0),
P_hot_out_0(start=3100000.0),
Q_cold(start=1500.0),
Q_cold_in(start=1500.0),
Q_cold_0(start=1500.0),
Q_hot(start=386.7695),
Q_hot_in(start=386.7695),
Q_hot_0(start=387.0),
S_cond(start=70.0),
S_subc(start=30.0),
Expand Down Expand Up @@ -1404,9 +1404,9 @@ P_cold_in_0(start=700000.0),
P_cold_out_0(start=600000.0),
P_hot_in_0(start=500000.0),
P_hot_out_0(start=500000.0),
Q_cold(start=1059.745),
Q_cold_in(start=1059.745),
Q_cold_0(start=1060.0),
Q_hot(start=55.557785),
Q_hot_in(start=55.557785),
Q_hot_0(start=55.0),
S_condensing(start=100.0),
T_cold_in(start=312.15),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,16 @@ model MetroscopiaNPP_faulty
input Real Failure_HP_heater_fouling(start=0);
input Real Failure_water_level_rise(start=0);
input Real Failure_mass_flow_bias(start=0);
input Real Failure_HP_heater_tube_rupture_Q(start=0);
input Real Failure_HP_heater_separator_plate_rupture_Q(start=0);
input Real Failure_LP_heater_tube_rupture_Q(start=0);
input Real Failure_LP_heater_separator_plate_rupture_Q(start=0);

// Leaks
input Real Failure_bypass_HP_control_valve_to_condenser_Q(start=0);
input Real Failure_bypass_HP_turbine_to_condenser_Q(start=0);
input Real Failure_bypass_LP_turbine_to_condenser_Q(start=0);
input Real Failure_superheater_tube_rupture_Q(start=0);
input Real Failure_HP_heater_tube_rupture_Q(start=0);
input Real Failure_LP_heater_tube_rupture_Q(start=0);
input Real Failure_HP_heater_spearator_plate_rupture_Q(start=0);
input Real Failure_LP_heater_spearator_plate_rupture_Q(start=0);
input Real Failure_bypass_superheater_to_condenser_Q(start=0);
input Real Failure_bypass_HP_turbine_ext_to_condenser_Q(start=0);
input Real Failure_bypass_LP_heater_drains_to_condenser_Q(start=0);
Expand All @@ -39,15 +39,12 @@ model MetroscopiaNPP_faulty
WaterSteam.Pipes.Leak bypass_HP_turbine_to_condenser annotation (Placement(transformation(extent={{-9,-9},{9,9}},rotation=270,origin={-113,51})));
WaterSteam.Pipes.Leak bypass_LP_turbine_to_condenser annotation (Placement(transformation(extent={{-9,-9},{9,9}},rotation=270,origin={139,109})));
WaterSteam.Pipes.Leak superheater_tube_rupture annotation (Placement(transformation(extent={{-9,-9},{9,9}},rotation=0,origin={55,149})));
WaterSteam.Pipes.Leak HP_heater_tube_rupture annotation (Placement(transformation(extent={{-9,-9},{9,9}},rotation=270,origin={-18,-86})));
WaterSteam.Pipes.Leak LP_heater_tube_rupture annotation (Placement(transformation(extent={{-9,-9},{9,9}},rotation=270,origin={277,-101})));
WaterSteam.Pipes.Leak HP_heater_spearator_plate_rupture annotation (Placement(transformation(extent={{-9,-9},{9,9}},rotation=90,origin={-17,-49})));
WaterSteam.Pipes.Leak LP_heater_spearator_plate_rupture annotation (Placement(transformation(extent={{-9,-9},{9,9}},rotation=90,origin={293,-49})));
WaterSteam.Pipes.Leak bypass_superheater_to_condenser annotation (Placement(transformation(extent={{9,-9},{-9,9}},rotation=270,origin={-113,143})));
WaterSteam.Pipes.Leak bypass_HP_turbine_ext_to_condenser annotation (Placement(transformation(extent={{-9,-9},{9,9}},rotation=0,origin={-11,49})));
WaterSteam.Pipes.Leak bypass_LP_heater_drains_to_condenser annotation (Placement(transformation(extent={{-9,-9},{9,9}},rotation=270,origin={277,-141})));
WaterSteam.Pipes.Leak bypass_HP_heater_drains_to_condenser annotation (Placement(transformation(extent={{-9,-9},{9,9}},rotation=270,origin={-16,-144})));
equation

// Mass flow bias
Q_feedwater_sensor.mass_flow_rate_bias = Failure_mass_flow_bias;

Expand All @@ -61,20 +58,20 @@ equation

// LP reheater
LP_heater.fouling = Failure_LP_heater_fouling;
LP_heater.tube_rupture_leak = Failure_LP_heater_tube_rupture_Q;
LP_heater.separating_plate_leak = Failure_LP_heater_separator_plate_rupture_Q;

// HP reheater
HP_heater.fouling = Failure_HP_heater_fouling;
HP_heater.water_level_rise = Failure_water_level_rise;
HP_heater.tube_rupture_leak = Failure_LP_heater_tube_rupture_Q;
HP_heater.separating_plate_leak = Failure_LP_heater_separator_plate_rupture_Q;

// Leaks
bypass_HP_control_valve_to_condenser.Q = Failure_bypass_HP_control_valve_to_condenser_Q + 1e-3;
bypass_HP_turbine_to_condenser.Q = Failure_bypass_HP_turbine_to_condenser_Q + 1e-3;
bypass_LP_turbine_to_condenser.Q = Failure_bypass_LP_turbine_to_condenser_Q + 1e-3;
superheater_tube_rupture.Q = Failure_superheater_tube_rupture_Q + 1e-3;
HP_heater_tube_rupture.Q = Failure_HP_heater_tube_rupture_Q + 1e-3;
LP_heater_tube_rupture.Q = Failure_LP_heater_tube_rupture_Q + 1e-3;
HP_heater_spearator_plate_rupture.Q = Failure_HP_heater_spearator_plate_rupture_Q + 1e-3;
LP_heater_spearator_plate_rupture.Q = Failure_LP_heater_spearator_plate_rupture_Q + 1e-3;
bypass_superheater_to_condenser.Q = Failure_bypass_superheater_to_condenser_Q + 1e-3;
bypass_HP_turbine_ext_to_condenser.Q = Failure_bypass_HP_turbine_ext_to_condenser_Q + 1e-3;
bypass_LP_heater_drains_to_condenser.Q = Failure_bypass_LP_heater_drains_to_condenser_Q + 1e-3;
Expand All @@ -96,19 +93,11 @@ equation
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}},
color={217,67,180}));
connect(HP_heater_spearator_plate_rupture.C_in, HP_heater.C_cold_in) annotation (Line(points={{-17,-58},{-17,-70},{-23.8,-70}}, color={217,67,180}));
connect(HP_heater_spearator_plate_rupture.C_out, HP_heater_P_out_sensor.C_in) annotation (Line(points={{-17,-40},{-18,-40},{-18,-36},{-60,-36},{-60,-70},{-64,-70}}, color={217,67,180}));
connect(HP_heater_tube_rupture.C_in, HP_heater.C_cold_in) annotation (Line(points={{-18,-77},{-18,-70},{-23.8,-70}}, color={28,108,200}));
connect(HP_heater_tube_rupture.C_out, HP_heater.C_hot_out) annotation (Line(points={{-18,-95},{-18,-98},{-28,-98},{-28,-86},{-40,-86},{-40,-78}}, color={217,67,180}));
connect(LP_heater_tube_rupture.C_in, LP_heater.C_cold_in) annotation (Line(points={{277,-92},{276,-92},{276,-86},{292,-86},{292,-70},{284.2,-70}}, color={217,67,180}));
connect(LP_heater_spearator_plate_rupture.C_in, LP_heater.C_cold_in) annotation (Line(points={{293,-58},{293,-70},{284.2,-70}}, color={217,67,180}));
connect(LP_heater_spearator_plate_rupture.C_out, LP_heater.C_cold_out) annotation (Line(points={{293,-40},{292,-40},{292,-34},{248,-34},{248,-70},{252,-70}}, 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_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(LP_heater_tube_rupture.C_out, LP_reheater_drains_control_valve.C_in) annotation (Line(points={{277,-110},{276,-110},{276,-119.818},{288,-119.818}}, color={217,67,180}));
annotation (Icon(coordinateSystem(preserveAspectRatio=false)), Diagram(coordinateSystem(preserveAspectRatio=false)));
end MetroscopiaNPP_faulty;
Loading