Skip to content

Commit ae90db6

Browse files
committed
Assert water level >= 0 in SurgeTank
fixes #72 Also optimised the examples so they don't run out of water.
1 parent d707f71 commit ae90db6

3 files changed

Lines changed: 11 additions & 7 deletions

File tree

OpenHPL/Examples/SimpleTurbine.mo

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ model SimpleTurbine "Model of a hydropower system with a simple turbine turbine"
1010
offset=1,
1111
startTime=500) annotation (
1212
Placement(transformation(origin={-10,70}, extent = {{-10, -10}, {10, 10}})));
13-
OpenHPL.Waterway.Pipe intake(H=10, Vdot(fixed = true)) annotation (Placement(transformation(extent={{-70,20},{-50,40}})));
14-
OpenHPL.Waterway.Pipe discharge(H=0.5, L=600) annotation (Placement(transformation(extent={{50,-10},{70,10}})));
13+
OpenHPL.Waterway.Pipe intake(H=10, D_i=5) annotation (Placement(transformation(extent={{-70,20},{-50,40}})));
14+
OpenHPL.Waterway.Pipe discharge(H=0.5, L=600, D_i=5) annotation (Placement(transformation(extent={{50,-10},{70,10}})));
1515
OpenHPL.Waterway.Reservoir tail(h_0=5) annotation (Placement(transformation(
1616
origin={90,0},
1717
extent={{-10,10},{10,-10}},
@@ -22,10 +22,11 @@ model SimpleTurbine "Model of a hydropower system with a simple turbine turbine"
2222
H=80,
2323
L=200,
2424
vertical=true) constrainedby Interfaces.TwoContacts annotation (Placement(transformation(origin={0,30}, extent={{-10,-10},{10,10}})));
25-
OpenHPL.Waterway.SurgeTank surgeTank(h_0=20) annotation (Placement(transformation(
25+
OpenHPL.Waterway.SurgeTank surgeTank(H=25, L=30, h_0=20)
26+
annotation (Placement(transformation(
2627
origin={-30,30},
2728
extent={{-10,-10},{10,10}})));
28-
ElectroMech.Turbines.Turbine turbine(enable_nomSpeed=true)
29+
ElectroMech.Turbines.Turbine turbine(ValveCapacity=false, enable_nomSpeed=true)
2930
annotation (Placement(transformation(
3031
origin={30,10},
3132
extent={{-10,-10},{10,10}})));

OpenHPL/Examples/SimpleValve.mo

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ model SimpleValve "Model of a hydropower system with a simple turbine turbine"
1010
offset=1,
1111
startTime=500) annotation (
1212
Placement(transformation(origin={-10,70}, extent = {{-10, -10}, {10, 10}})));
13-
OpenHPL.Waterway.Pipe intake(H=10, Vdot(fixed = true)) annotation (Placement(transformation(extent={{-70,20},{-50,40}})));
14-
OpenHPL.Waterway.Pipe discharge(H=0.5, L=600) annotation (Placement(transformation(extent={{50,20},{70,40}})));
13+
OpenHPL.Waterway.Pipe intake(H=10, D_i=5) annotation (Placement(transformation(extent={{-70,20},{-50,40}})));
14+
OpenHPL.Waterway.Pipe discharge(H=0.5, L=600, D_i=5) annotation (Placement(transformation(extent={{50,20},{70,40}})));
1515
OpenHPL.Waterway.Reservoir tail(h_0=5) annotation (Placement(transformation(
1616
origin={90,30},
1717
extent={{-10,10},{10,-10}},
@@ -23,7 +23,7 @@ model SimpleValve "Model of a hydropower system with a simple turbine turbine"
2323
L=200,
2424
vertical=true) constrainedby Interfaces.TwoContacts annotation (Placement(transformation(origin={0,30}, extent={{-10,-10},{10,10}})));
2525
OpenHPL.Waterway.SurgeTank surgeTank(
26-
H=30,
26+
H=25,
2727
L=30,
2828
h_0=20) annotation (Placement(transformation(
2929
origin={-30,30},

OpenHPL/Waterway/SurgeTank.mo

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,9 @@ initial equation
7070
h = h_0;
7171
end if;
7272
equation
73+
assert( h >= 0, "Water level h in surge tank must be greater than 0!",
74+
AssertionLevel.error);
75+
7376
der(m) = mdot "Mass balance";
7477
der(M) = Mdot+F "Momentum balance";
7578

0 commit comments

Comments
 (0)