Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
8504506
Added base class TorqueEquation
boerrebj Feb 11, 2026
4bba400
Added f_grid - grid frequency to Data, corrected reference speed for …
boerrebj Feb 17, 2026
5ddb132
First version of turbine model based on empirical data
boerrebj Feb 11, 2026
d9adf2d
Updated Empirical turbine and added tests package under OpenHPLTest
boerrebj Feb 26, 2026
9058120
Some updates to the turbine testing
boerrebj Feb 26, 2026
4ba3ede
Continued testing of empirical turbine model
boerrebj Feb 27, 2026
0b3b720
Continue to update testing. Currently there are numerical issues with…
boerrebj Feb 27, 2026
fb04bb8
Updated annotation string in TurbineLookUp to solve Github error issue.
boerrebj Feb 27, 2026
f6be212
Correcting documentation string to avoid GitHub check error
boerrebj Feb 27, 2026
1e72d42
Correcting documentation string to avoid GitHub check error
boerrebj Feb 27, 2026
b10791d
Updating testing
boerrebj Mar 1, 2026
b36ca65
Continue to resolve issue with convegence for EmpiricalTurbine model
boerrebj Mar 3, 2026
cc7baa1
Rearrange all test models and archive the old ones
dietmarw Mar 3, 2026
62aab15
Adapting the models after rebase.
dietmarw Mar 3, 2026
7a9ffe1
HTML fix
dietmarw Mar 3, 2026
8217c57
Testing alternative TurbineLookUp function
boerrebj Mar 17, 2026
c592cb4
Updated testing of EmpiricalTurbine
boerrebj Mar 18, 2026
2b48679
Empirical turbine model for reaction turbines. Includes throtling effect
boerrebj Apr 21, 2026
bf13cda
Added test at varying head
boerrebj May 5, 2026
4264350
Update Test_All.mo
boerrebj May 5, 2026
22f8ca2
Adding test points for low head
boerrebj May 7, 2026
5d76277
Continue testing
boerrebj May 18, 2026
887cbaa
Small tuning of EmpiricalTurbine
boerrebj May 29, 2026
027ae1b
Corrected empty tag in documentation
boerrebj May 29, 2026
998aaf5
Continue tweaking torque model (not yet completed)
Jun 24, 2026
467a4d5
Corrected doc
boerrebj Jun 24, 2026
23631d3
Tuning torque equation slightly more
boerrebj Jun 25, 2026
a0af791
Correcting documentation string
boerrebj Jun 25, 2026
724bbce
Correcting documentation string
boerrebj Jun 25, 2026
3508913
Small correction of documentation
boerrebj Jul 7, 2026
7f8d978
Fixes spelling.
dietmarw Jul 17, 2026
4aec41c
Clean up of Empircal Turbine.
dietmarw Jul 17, 2026
bfbf78b
Clean up of Test models
dietmarw Jul 17, 2026
7b24579
Fix HTML tags
dietmarw Jul 17, 2026
0732d79
Removing duplicate test model and rearranging the rest.
dietmarw Aug 13, 2026
2b25e8c
Removing superfluous test package
dietmarw Aug 13, 2026
1057c1c
Adding description to constants
dietmarw Aug 13, 2026
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
45 changes: 45 additions & 0 deletions OpenHPL/ElectroMech/Turbines/EmpiricalTurbine.mo
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
within OpenHPL.ElectroMech.Turbines;
model EmpiricalTurbine
parameter SI.Height H_n = 100 "Nominal net head" annotation (Dialog(group = "Nominal values"));
parameter SI.Power P_n( displayUnit = "MW")= 1.e+06 "Nominal power" annotation (Dialog(group = "Nominal values"));
extends OpenHPL.ElectroMech.BaseClasses.TorqueEquation;
extends OpenHPL.Interfaces.TurbineContacts;
extends OpenHPL.Icons.Turbine;

SI.VolumeFlowRate Vdot "Turbine flow rate";
SI.Pressure dp "Pressure drop";
SI.Torque Tt "Turbine torque";
Modelica.Blocks.Sources.RealExpression realExpression(y=Tt) annotation (Placement(transformation(extent={{-70,-10},{-50,10}})));

protected
constant Real eta0=0.90 "Full load efficiency. Hard coded at the moment. Can be parametrized in the future";
parameter SI.VolumeFlowRate Vdot_n=P_n/(eta0*data.rho*data.g*H_n) "Nominal discharge";
parameter SI.Torque Tt_n=P_n/(2*C.pi*nrps_n) "Nominal turbine torque";
parameter Real NQE=4.0*H_n^(-2./3.) "Specific speed based on empirical relation";
parameter Real kappa=max(1.351-0.857*NQE,1.05);
parameter Real nRA=min(1.5+NQE*5,2.6) "Normalized runaway speed as function of specific speed";
parameter Real dQdn=0.4222+0.3179*Modelica.Math.log(NQE);
parameter SI.Frequency nrps_n=2*data.f_grid/p "Nominal turbine speed [rps]";
SI.Frequency nrps=speedSensor.w/(2*C.pi) "Rotational speed (in revolutions per seconds)";
parameter Real Ct =Vdot_n/sqrt(H_n*data.g*data.rho) "Nominal turbine discharge coefficient";
constant Real alpha=1.5 "Empirical exponent for the guide-vane opening/discharge characteristic";
constant Real beta=3.5 "Empirical exponent for the normalized speed/discharge characteristic";
constant Real tau_1=0.1 "First parameter in empirical torque equation";
constant Real epsilon = 5.0e-5 "Constant to ensure robust expression for dp vs flow. Trial and error to find suitable value.";

equation
i.mdot + o.mdot = 0;
i.mdot = Vdot*data.rho;
dp = i.p - o.p;
Vdot*abs(Vdot)= dp*(Ct*max(epsilon, abs(u_t)^alpha)*(1+dQdn*(max(nrps/(nrps_n*nRA),epsilon)^beta)))^2;
Tt=Tt_n*(Vdot/Vdot_n)*(1-tau_1*(dp/(H_n*(data.rho*data.g)))^2)*(1-(nrps/(nrps_n*nRA))^5);

connect(realExpression.y, torque.tau) annotation (Line(points={{-49,0},{-37.2,0}}, color={0,0,127}));
annotation (Documentation(info="<html>
<p>Simplified empirical turbine model for single-regulated reaction turbine (Francis and propeller turbine). The turbine is specified by giving the nominal head H_n and nominal power P_n. All remaining values are determined from empirical relations. The throttling effect of high head Francis turbines is included in the model. However, the exact characteristics should be treated with caution and will need more empirical tuning in future releases. In particular the speed rise and runaway curve is not fully validated.</p>
<p align=\"center\"><img src=\"modelica://OpenHPL/Resources/Images/EmpiricalTurbine01.svg\"/></p>
<p><em>Figure 1: Example of throttling effect for a high head Francis unit. Discharge as function of speed [pu].</em></p>
<p align=\"center\"><img src=\"modelica://OpenHPL/Resources/Images/EmpiricalTurbine02.svg\"/></p>
<p><em>Figure 2: Variation of turbine characteristics as function of head of the turbine characteristics. Discharge as function of speed [pu].</em></p>
</html>"));
end EmpiricalTurbine;
1 change: 1 addition & 0 deletions OpenHPL/ElectroMech/Turbines/package.order
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
Turbine
Francis
Pelton
EmpiricalTurbine
2,390 changes: 2,390 additions & 0 deletions OpenHPL/Resources/Images/EmpiricalTurbine01.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading