diff --git a/OpenHPL/ElectroMech/Turbines/EmpiricalTurbine.mo b/OpenHPL/ElectroMech/Turbines/EmpiricalTurbine.mo new file mode 100644 index 00000000..633a9a96 --- /dev/null +++ b/OpenHPL/ElectroMech/Turbines/EmpiricalTurbine.mo @@ -0,0 +1,49 @@ +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 eps=1.0e-08; + parameter SI.Density rho=data.rho; + parameter SI.Acceleration g=data.g; + 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*rho*g*H_n) "Nominal discharge"; + parameter SI.Torque Tt_n=P_n/(2*C.pi*nrps_n) "Noninal turbine torque"; + + parameter Real NQE=4.0*H_n^(-2./3.) "Specific speed based on empirical relartion"; + parameter Real kappa=1.351-0.857*NQE; + parameter Real nRA=1.5+NQE*5 "Normalized runaway speed us 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*g*rho) "Nominal turbine coefficient"; + constant Real alpha=1.5; + constant Real beta=3.5; + 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*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*(dp/(H_n*(rho*g)))*(Vdot/Vdot_n)*(1-(nrps/(nrps_n*nRA*1.2))^5); + connect(realExpression.y, torque.tau) annotation (Line(points={{-49,0},{-37.2,0}}, color={0,0,127})); +annotation ( + Documentation(info = "

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 nominale power P_n. All remaining values are determined from empirical relations. The throtling 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. + +

+ +

+

Figure: Example of throtling effect for a high head Francis unit. Discharge as function of speed (pu).

+ +

")); +end EmpiricalTurbine; diff --git a/OpenHPL/ElectroMech/Turbines/package.order b/OpenHPL/ElectroMech/Turbines/package.order index 66a526c9..82b07e82 100644 --- a/OpenHPL/ElectroMech/Turbines/package.order +++ b/OpenHPL/ElectroMech/Turbines/package.order @@ -1,3 +1,4 @@ Turbine Francis Pelton +EmpiricalTurbine diff --git a/OpenHPL/Resources/Images/EmpiricalTurbine.svg b/OpenHPL/Resources/Images/EmpiricalTurbine.svg new file mode 100644 index 00000000..996ea3b8 --- /dev/null +++ b/OpenHPL/Resources/Images/EmpiricalTurbine.svg @@ -0,0 +1,787 @@ + + +Plot Document +Generated with Qt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Turbine discharge Vdot + + + + + + + + + + + + + + + + + + + + + +Volumetric flow rate + + + + + + + + + + + + + + + + + + + + + + + + + + + +-0.5 + + + + + + + + + + + + + + + + + + +0 + + + + + + + + + + + + + + + + + + +0.5 + + + + + + + + + + + + + + + + + + +1 + + + + + + + + + + + + + + + + + + +1.5 + + + + + + + + + + + + + + + + + + +2 + + + + + + + + + + + + + + + + + + +2.5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Relative speed + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 + + + + + + + + + + + + + + + + + + +0.5 + + + + + + + + + + + + + + + + + + +1 + + + + + + + + + + + + + + + + + + +1.5 + + + + + + + + + + + + + + + + + + +2 + + + + + + + + + + + + + + + + + + +2.5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/OpenHPLTest/CaseStudingValentynasCase.mo b/OpenHPLTest/Archive/CaseStudingValentynasCase.mo similarity index 99% rename from OpenHPLTest/CaseStudingValentynasCase.mo rename to OpenHPLTest/Archive/CaseStudingValentynasCase.mo index 7ecbc23e..390702c1 100644 --- a/OpenHPLTest/CaseStudingValentynasCase.mo +++ b/OpenHPLTest/Archive/CaseStudingValentynasCase.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model CaseStudingValentynasCase "HP system model for Valentyna's Master case" extends Modelica.Icons.Example; Real coef2, coef3; diff --git a/OpenHPLTest/HPAllTypeFittingsTest.mo b/OpenHPLTest/Archive/HPAllTypeFittingsTest.mo similarity index 99% rename from OpenHPLTest/HPAllTypeFittingsTest.mo rename to OpenHPLTest/Archive/HPAllTypeFittingsTest.mo index 88cd7d59..7dc303bf 100644 --- a/OpenHPLTest/HPAllTypeFittingsTest.mo +++ b/OpenHPLTest/Archive/HPAllTypeFittingsTest.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPAllTypeFittingsTest "Test for comparing fitting behaviour" extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir headWater(h_0=10) annotation (Placement(transformation(extent={{-100,-10},{-80,10}}))); diff --git a/OpenHPLTest/HPBjarneBorresen.mo b/OpenHPLTest/Archive/HPBjarneBorresen.mo similarity index 99% rename from OpenHPLTest/HPBjarneBorresen.mo rename to OpenHPLTest/Archive/HPBjarneBorresen.mo index 95f2c922..63cd8674 100644 --- a/OpenHPLTest/HPBjarneBorresen.mo +++ b/OpenHPLTest/Archive/HPBjarneBorresen.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPBjarneBorresen "Model of HP system with simplified models for penstock, turbine, etc." extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir(h_0=503 - 499.5) annotation (Placement(transformation( diff --git a/OpenHPLTest/HPDraftTube.mo b/OpenHPLTest/Archive/HPDraftTube.mo similarity index 99% rename from OpenHPLTest/HPDraftTube.mo rename to OpenHPLTest/Archive/HPDraftTube.mo index 8755ca8c..872c83d1 100644 --- a/OpenHPLTest/HPDraftTube.mo +++ b/OpenHPLTest/Archive/HPDraftTube.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPDraftTube "Testing the draft tube models." extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir(h_0=48) annotation (Placement(transformation( diff --git a/OpenHPLTest/HPElasticKPPenstock.mo b/OpenHPLTest/Archive/HPElasticKPPenstock.mo similarity index 99% rename from OpenHPLTest/HPElasticKPPenstock.mo rename to OpenHPLTest/Archive/HPElasticKPPenstock.mo index 09254060..1d679479 100644 --- a/OpenHPLTest/HPElasticKPPenstock.mo +++ b/OpenHPLTest/Archive/HPElasticKPPenstock.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPElasticKPPenstock "Model of HP system with elastic penctock (KP), but simplified models for turbine, etc." extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir(h_0=48) annotation (Placement(transformation(origin={-92,66}, extent={{-10,-10},{10,10}}))); diff --git a/OpenHPLTest/HPElasticKPPenstockANDIntake.mo b/OpenHPLTest/Archive/HPElasticKPPenstockANDIntake.mo similarity index 98% rename from OpenHPLTest/HPElasticKPPenstockANDIntake.mo rename to OpenHPLTest/Archive/HPElasticKPPenstockANDIntake.mo index 8be46e7f..2035172c 100644 --- a/OpenHPLTest/HPElasticKPPenstockANDIntake.mo +++ b/OpenHPLTest/Archive/HPElasticKPPenstockANDIntake.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPElasticKPPenstockANDIntake "Model of HP system with elastic penctock and intake (KP), but simplified models for turbine, etc." extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir(h_0=48) annotation (Placement(transformation(origin={-92,66}, extent={{-10,-10},{10,10}}))); diff --git a/OpenHPLTest/HPElasticKPPenstockCompres.mo b/OpenHPLTest/Archive/HPElasticKPPenstockCompres.mo similarity index 99% rename from OpenHPLTest/HPElasticKPPenstockCompres.mo rename to OpenHPLTest/Archive/HPElasticKPPenstockCompres.mo index abd0a97d..ff017de4 100644 --- a/OpenHPLTest/HPElasticKPPenstockCompres.mo +++ b/OpenHPLTest/Archive/HPElasticKPPenstockCompres.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPElasticKPPenstockCompres "Model of HP system with elastic penctock (KP), but simplified models for turbine, etc." extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir(h_0=48) annotation (Placement(transformation(origin={-92,66}, extent={{-10,-10},{10,10}}))); diff --git a/OpenHPLTest/HPElasticKPPenstockFrancis.mo b/OpenHPLTest/Archive/HPElasticKPPenstockFrancis.mo similarity index 99% rename from OpenHPLTest/HPElasticKPPenstockFrancis.mo rename to OpenHPLTest/Archive/HPElasticKPPenstockFrancis.mo index 4efb54b0..043b82c3 100644 --- a/OpenHPLTest/HPElasticKPPenstockFrancis.mo +++ b/OpenHPLTest/Archive/HPElasticKPPenstockFrancis.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPElasticKPPenstockFrancis "HP system model with Francis turbine and elastic penstock" extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir(h_0=48) annotation (Placement(transformation(origin={-92,66}, extent={{-10,-10},{10,10}}))); diff --git a/OpenHPLTest/HPElasticKPPenstockFrancisGov.mo b/OpenHPLTest/Archive/HPElasticKPPenstockFrancisGov.mo similarity index 99% rename from OpenHPLTest/HPElasticKPPenstockFrancisGov.mo rename to OpenHPLTest/Archive/HPElasticKPPenstockFrancisGov.mo index 3a015b89..ac90399d 100644 --- a/OpenHPLTest/HPElasticKPPenstockFrancisGov.mo +++ b/OpenHPLTest/Archive/HPElasticKPPenstockFrancisGov.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPElasticKPPenstockFrancisGov "HP system model with Francis turbine and elastic penstock and governor" extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir(h_0=48) annotation (Placement(transformation(origin={-92,66}, extent={{-10,-10},{10,10}}))); diff --git a/OpenHPLTest/HPElasticKPPenstockHalfSurgeD.mo b/OpenHPLTest/Archive/HPElasticKPPenstockHalfSurgeD.mo similarity index 99% rename from OpenHPLTest/HPElasticKPPenstockHalfSurgeD.mo rename to OpenHPLTest/Archive/HPElasticKPPenstockHalfSurgeD.mo index 06ab2333..6531026d 100644 --- a/OpenHPLTest/HPElasticKPPenstockHalfSurgeD.mo +++ b/OpenHPLTest/Archive/HPElasticKPPenstockHalfSurgeD.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPElasticKPPenstockHalfSurgeD "Similar to previous HP system, but with twice reduced surge tank diameter" extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir annotation (Placement(transformation(origin={-92,66}, extent={{-10,-10},{10,10}}))); diff --git a/OpenHPLTest/HPElasticKPPenstockWithoutSurge.mo b/OpenHPLTest/Archive/HPElasticKPPenstockWithoutSurge.mo similarity index 99% rename from OpenHPLTest/HPElasticKPPenstockWithoutSurge.mo rename to OpenHPLTest/Archive/HPElasticKPPenstockWithoutSurge.mo index 336cf0db..a330329f 100644 --- a/OpenHPLTest/HPElasticKPPenstockWithoutSurge.mo +++ b/OpenHPLTest/Archive/HPElasticKPPenstockWithoutSurge.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPElasticKPPenstockWithoutSurge "Model of HP system without surge tank and with elastic penctock (KP), but simplified models for turbine, etc." extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir(h_0=48) annotation (Placement(transformation(origin={-90,62}, extent={{-10,-10},{10,10}}))); diff --git a/OpenHPLTest/HPLinTest.mo b/OpenHPLTest/Archive/HPLinTest.mo similarity index 89% rename from OpenHPLTest/HPLinTest.mo rename to OpenHPLTest/Archive/HPLinTest.mo index 98f0b135..1898ab44 100644 --- a/OpenHPLTest/HPLinTest.mo +++ b/OpenHPLTest/Archive/HPLinTest.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPLinTest extends Modelica.Icons.Example; OpenHPLTest.HPLiniarizationKPFran hpl; diff --git a/OpenHPLTest/HPLiniarization.mo b/OpenHPLTest/Archive/HPLiniarization.mo similarity index 98% rename from OpenHPLTest/HPLiniarization.mo rename to OpenHPLTest/Archive/HPLiniarization.mo index 495e5d2d..60ac7873 100644 --- a/OpenHPLTest/HPLiniarization.mo +++ b/OpenHPLTest/Archive/HPLiniarization.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPLiniarization "Simple HP system model for liniarization" extends Modelica.Icons.Example; input Real u(start = 0.7493); diff --git a/OpenHPLTest/HPLiniarization2.mo b/OpenHPLTest/Archive/HPLiniarization2.mo similarity index 98% rename from OpenHPLTest/HPLiniarization2.mo rename to OpenHPLTest/Archive/HPLiniarization2.mo index 2e054e60..fdef2e97 100644 --- a/OpenHPLTest/HPLiniarization2.mo +++ b/OpenHPLTest/Archive/HPLiniarization2.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPLiniarization2 "Simple HP system model for liniarization" extends Modelica.Icons.Example; input Real u(start = 0.7493); diff --git a/OpenHPLTest/HPLiniarization3.mo b/OpenHPLTest/Archive/HPLiniarization3.mo similarity index 98% rename from OpenHPLTest/HPLiniarization3.mo rename to OpenHPLTest/Archive/HPLiniarization3.mo index ff54ef46..f6da8719 100644 --- a/OpenHPLTest/HPLiniarization3.mo +++ b/OpenHPLTest/Archive/HPLiniarization3.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPLiniarization3 "Simple HP system model for liniarization" extends Modelica.Icons.Example; input Real u(start = 0.7493); diff --git a/OpenHPLTest/HPLiniarization4.mo b/OpenHPLTest/Archive/HPLiniarization4.mo similarity index 98% rename from OpenHPLTest/HPLiniarization4.mo rename to OpenHPLTest/Archive/HPLiniarization4.mo index 479564ac..1c0b5bf1 100644 --- a/OpenHPLTest/HPLiniarization4.mo +++ b/OpenHPLTest/Archive/HPLiniarization4.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPLiniarization4 "Simple HP system model for liniarization" extends Modelica.Icons.Example; input Real u(start = 0.7493); diff --git a/OpenHPLTest/HPLiniarizationFranGen.mo b/OpenHPLTest/Archive/HPLiniarizationFranGen.mo similarity index 99% rename from OpenHPLTest/HPLiniarizationFranGen.mo rename to OpenHPLTest/Archive/HPLiniarizationFranGen.mo index 9a8b9587..952ad3af 100644 --- a/OpenHPLTest/HPLiniarizationFranGen.mo +++ b/OpenHPLTest/Archive/HPLiniarizationFranGen.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPLiniarizationFranGen "HP system model for liniarization with Francis turbine + generator" extends Modelica.Icons.Example; OpenHPL.Waterway.Pipe intake(H=23, Vdot_0=18.5952) annotation (Placement(transformation(extent={{-72,50},{-52,70}}))); diff --git a/OpenHPLTest/HPLiniarizationGenIPSL.mo b/OpenHPLTest/Archive/HPLiniarizationGenIPSL.mo similarity index 99% rename from OpenHPLTest/HPLiniarizationGenIPSL.mo rename to OpenHPLTest/Archive/HPLiniarizationGenIPSL.mo index 07592790..6fa548c1 100644 --- a/OpenHPLTest/HPLiniarizationGenIPSL.mo +++ b/OpenHPLTest/Archive/HPLiniarizationGenIPSL.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPLiniarizationGenIPSL "Synergy with OpenIPSL library(generator + governor)" extends Modelica.Icons.Example; input Real u = 0.574; diff --git a/OpenHPLTest/HPLiniarizationGenIPSLKP.mo b/OpenHPLTest/Archive/HPLiniarizationGenIPSLKP.mo similarity index 99% rename from OpenHPLTest/HPLiniarizationGenIPSLKP.mo rename to OpenHPLTest/Archive/HPLiniarizationGenIPSLKP.mo index 20e1ebbb..51c28f36 100644 --- a/OpenHPLTest/HPLiniarizationGenIPSLKP.mo +++ b/OpenHPLTest/Archive/HPLiniarizationGenIPSLKP.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPLiniarizationGenIPSLKP "Synergy with OpenIPSL library(generator + governor)" extends Modelica.Icons.Example; input Real u = 0.574; diff --git a/OpenHPLTest/HPLiniarizationKP.mo b/OpenHPLTest/Archive/HPLiniarizationKP.mo similarity index 98% rename from OpenHPLTest/HPLiniarizationKP.mo rename to OpenHPLTest/Archive/HPLiniarizationKP.mo index ea5b4c19..01bb6f88 100644 --- a/OpenHPLTest/HPLiniarizationKP.mo +++ b/OpenHPLTest/Archive/HPLiniarizationKP.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPLiniarizationKP "HP system model for liniarization with elastic penstock (KP)" extends Modelica.Icons.Example; input Real u(start = 0.7493); diff --git a/OpenHPLTest/HPLiniarizationKPFran.mo b/OpenHPLTest/Archive/HPLiniarizationKPFran.mo similarity index 99% rename from OpenHPLTest/HPLiniarizationKPFran.mo rename to OpenHPLTest/Archive/HPLiniarizationKPFran.mo index f3ce3f4e..6c5bf64f 100644 --- a/OpenHPLTest/HPLiniarizationKPFran.mo +++ b/OpenHPLTest/Archive/HPLiniarizationKPFran.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPLiniarizationKPFran "HP system model for liniarization with elastic penstock (KP) + Francis turbine + generator" extends Modelica.Icons.Example; input Real u; diff --git a/OpenHPLTest/HPModel.mo b/OpenHPLTest/Archive/HPModel.mo similarity index 98% rename from OpenHPLTest/HPModel.mo rename to OpenHPLTest/Archive/HPModel.mo index 8a919861..9019ac5d 100644 --- a/OpenHPLTest/HPModel.mo +++ b/OpenHPLTest/Archive/HPModel.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPModel inner OpenHPL.Data data; import Modelica.Constants.pi; diff --git a/OpenHPLTest/HPModelDEA.mo b/OpenHPLTest/Archive/HPModelDEA.mo similarity index 98% rename from OpenHPLTest/HPModelDEA.mo rename to OpenHPLTest/Archive/HPModelDEA.mo index 783195e9..b3807100 100644 --- a/OpenHPLTest/HPModelDEA.mo +++ b/OpenHPLTest/Archive/HPModelDEA.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPModelDEA inner OpenHPL.Data data; import Modelica.Constants.pi; diff --git a/OpenHPLTest/HPModelKPLin.mo b/OpenHPLTest/Archive/HPModelKPLin.mo similarity index 99% rename from OpenHPLTest/HPModelKPLin.mo rename to OpenHPLTest/Archive/HPModelKPLin.mo index 38d595fb..339b634f 100644 --- a/OpenHPLTest/HPModelKPLin.mo +++ b/OpenHPLTest/Archive/HPModelKPLin.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPModelKPLin parameter Integer n = 24; // states diff --git a/OpenHPLTest/HPModelKPLinPI.mo b/OpenHPLTest/Archive/HPModelKPLinPI.mo similarity index 94% rename from OpenHPLTest/HPModelKPLinPI.mo rename to OpenHPLTest/Archive/HPModelKPLinPI.mo index 4d615265..bb64ebc2 100644 --- a/OpenHPLTest/HPModelKPLinPI.mo +++ b/OpenHPLTest/Archive/HPModelKPLinPI.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPModelKPLinPI HPLiniarizationKP hpKP; parameter Real Kp = 0.1; diff --git a/OpenHPLTest/HPModelLin.mo b/OpenHPLTest/Archive/HPModelLin.mo similarity index 97% rename from OpenHPLTest/HPModelLin.mo rename to OpenHPLTest/Archive/HPModelLin.mo index 3c9b2192..f1a15071 100644 --- a/OpenHPLTest/HPModelLin.mo +++ b/OpenHPLTest/Archive/HPModelLin.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPModelLin parameter Integer n = 5; // states diff --git a/OpenHPLTest/HPModelLinPI.mo b/OpenHPLTest/Archive/HPModelLinPI.mo similarity index 96% rename from OpenHPLTest/HPModelLinPI.mo rename to OpenHPLTest/Archive/HPModelLinPI.mo index 27e738f1..732479fe 100644 --- a/OpenHPLTest/HPModelLinPI.mo +++ b/OpenHPLTest/Archive/HPModelLinPI.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPModelLinPI HPModelLin hplin; HPLiniarization hp; diff --git a/OpenHPLTest/HPModelManLin.mo b/OpenHPLTest/Archive/HPModelManLin.mo similarity index 99% rename from OpenHPLTest/HPModelManLin.mo rename to OpenHPLTest/Archive/HPModelManLin.mo index 8ab8ee30..db5d9c15 100644 --- a/OpenHPLTest/HPModelManLin.mo +++ b/OpenHPLTest/Archive/HPModelManLin.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPModelManLin inner OpenHPL.Data data; import Modelica.Constants.pi; diff --git a/OpenHPLTest/HPModelObserv.mo b/OpenHPLTest/Archive/HPModelObserv.mo similarity index 98% rename from OpenHPLTest/HPModelObserv.mo rename to OpenHPLTest/Archive/HPModelObserv.mo index b206326f..e4343237 100644 --- a/OpenHPLTest/HPModelObserv.mo +++ b/OpenHPLTest/Archive/HPModelObserv.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPModelObserv inner OpenHPL.Data data; import Modelica.Constants.pi; diff --git a/OpenHPLTest/HPModelObservSim.mo b/OpenHPLTest/Archive/HPModelObservSim.mo similarity index 99% rename from OpenHPLTest/HPModelObservSim.mo rename to OpenHPLTest/Archive/HPModelObservSim.mo index e35742a2..97281c1c 100644 --- a/OpenHPLTest/HPModelObservSim.mo +++ b/OpenHPLTest/Archive/HPModelObservSim.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPModelObservSim inner OpenHPL.Data data; //HPModel hpmod; diff --git a/OpenHPLTest/HPSTAirCushion.mo b/OpenHPLTest/Archive/HPSTAirCushion.mo similarity index 98% rename from OpenHPLTest/HPSTAirCushion.mo rename to OpenHPLTest/Archive/HPSTAirCushion.mo index 6f06f2fd..b1fd143c 100644 --- a/OpenHPLTest/HPSTAirCushion.mo +++ b/OpenHPLTest/Archive/HPSTAirCushion.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPSTAirCushion "Model of waterway of the HP system with simplified models for conduits, turbine, etc." extends Modelica.Icons.Example; diff --git a/OpenHPLTest/HPSTSharpOrifice.mo b/OpenHPLTest/Archive/HPSTSharpOrifice.mo similarity index 98% rename from OpenHPLTest/HPSTSharpOrifice.mo rename to OpenHPLTest/Archive/HPSTSharpOrifice.mo index 4061be79..691faa43 100644 --- a/OpenHPLTest/HPSTSharpOrifice.mo +++ b/OpenHPLTest/Archive/HPSTSharpOrifice.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPSTSharpOrifice "Model of waterway of the HP system with simplified models for conduits, turbine, etc." extends Modelica.Icons.Example; diff --git a/OpenHPLTest/HPSTSimple.mo b/OpenHPLTest/Archive/HPSTSimple.mo similarity index 98% rename from OpenHPLTest/HPSTSimple.mo rename to OpenHPLTest/Archive/HPSTSimple.mo index 44d3b62d..92c2ef30 100644 --- a/OpenHPLTest/HPSTSimple.mo +++ b/OpenHPLTest/Archive/HPSTSimple.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPSTSimple "Model of waterway of the HP system with simplified models for conduits, turbine, etc." extends Modelica.Icons.Example; diff --git a/OpenHPLTest/HPSTThrottleValve.mo b/OpenHPLTest/Archive/HPSTThrottleValve.mo similarity index 98% rename from OpenHPLTest/HPSTThrottleValve.mo rename to OpenHPLTest/Archive/HPSTThrottleValve.mo index 0c1eafa3..d0410e27 100644 --- a/OpenHPLTest/HPSTThrottleValve.mo +++ b/OpenHPLTest/Archive/HPSTThrottleValve.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPSTThrottleValve "Model of waterway of the HP system with simplified models for conduits, turbine, etc." extends Modelica.Icons.Example; diff --git a/OpenHPLTest/HPSimpleElasticPenstock.mo b/OpenHPLTest/Archive/HPSimpleElasticPenstock.mo similarity index 99% rename from OpenHPLTest/HPSimpleElasticPenstock.mo rename to OpenHPLTest/Archive/HPSimpleElasticPenstock.mo index d3bb7b36..e8e57fa9 100644 --- a/OpenHPLTest/HPSimpleElasticPenstock.mo +++ b/OpenHPLTest/Archive/HPSimpleElasticPenstock.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPSimpleElasticPenstock "Model of HP system with elastic penctock (StagardGrid), but simplified models for turbine, etc." extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir(h_0=48) annotation (Placement(transformation(origin={-90,62}, extent={{-10,-10},{10,10}}))); diff --git a/OpenHPLTest/HPSimpleElasticPenstockWithoutSurge.mo b/OpenHPLTest/Archive/HPSimpleElasticPenstockWithoutSurge.mo similarity index 99% rename from OpenHPLTest/HPSimpleElasticPenstockWithoutSurge.mo rename to OpenHPLTest/Archive/HPSimpleElasticPenstockWithoutSurge.mo index bbdb6a1a..d98e4031 100644 --- a/OpenHPLTest/HPSimpleElasticPenstockWithoutSurge.mo +++ b/OpenHPLTest/Archive/HPSimpleElasticPenstockWithoutSurge.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPSimpleElasticPenstockWithoutSurge "Model of HP system without surge tank and with elastic penctock (StagardGrid), but simplified models for turbine, etc." extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir annotation (Placement(transformation(origin={-90,62}, extent={{-10,-10},{10,10}}))); diff --git a/OpenHPLTest/HPSimplePenstockAutoRefGate.mo b/OpenHPLTest/Archive/HPSimplePenstockAutoRefGate.mo similarity index 99% rename from OpenHPLTest/HPSimplePenstockAutoRefGate.mo rename to OpenHPLTest/Archive/HPSimplePenstockAutoRefGate.mo index 044a05e8..4e8cb1bf 100644 --- a/OpenHPLTest/HPSimplePenstockAutoRefGate.mo +++ b/OpenHPLTest/Archive/HPSimplePenstockAutoRefGate.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPSimplePenstockAutoRefGate extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir annotation (Placement(transformation(origin={-92,62}, extent={{-10,-10},{10,10}}))); diff --git a/OpenHPLTest/HPSimplePenstockControl.mo b/OpenHPLTest/Archive/HPSimplePenstockControl.mo similarity index 99% rename from OpenHPLTest/HPSimplePenstockControl.mo rename to OpenHPLTest/Archive/HPSimplePenstockControl.mo index 42429447..09960d14 100644 --- a/OpenHPLTest/HPSimplePenstockControl.mo +++ b/OpenHPLTest/Archive/HPSimplePenstockControl.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPSimplePenstockControl "Model of HP system with governor" extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir annotation (Placement(transformation(origin={-92,62}, extent={{-10,-10},{10,10}}))); diff --git a/OpenHPLTest/HPSimplePenstockFrancis.mo b/OpenHPLTest/Archive/HPSimplePenstockFrancis.mo similarity index 99% rename from OpenHPLTest/HPSimplePenstockFrancis.mo rename to OpenHPLTest/Archive/HPSimplePenstockFrancis.mo index 58048617..2b7595f9 100644 --- a/OpenHPLTest/HPSimplePenstockFrancis.mo +++ b/OpenHPLTest/Archive/HPSimplePenstockFrancis.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPSimplePenstockFrancis "HP system model with Francis turbine" extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir annotation (Placement(transformation(origin={-92,62}, extent={{-10,-10},{10,10}}))); diff --git a/OpenHPLTest/HPSimplePenstockFrancis2.mo b/OpenHPLTest/Archive/HPSimplePenstockFrancis2.mo similarity index 99% rename from OpenHPLTest/HPSimplePenstockFrancis2.mo rename to OpenHPLTest/Archive/HPSimplePenstockFrancis2.mo index 349da0eb..a64de900 100644 --- a/OpenHPLTest/HPSimplePenstockFrancis2.mo +++ b/OpenHPLTest/Archive/HPSimplePenstockFrancis2.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPSimplePenstockFrancis2 "HP system model with Francis turbine and generator" extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir(h_0=48) annotation (Placement(transformation(origin={-92,62}, extent={{-10,-10},{10,10}}))); diff --git a/OpenHPLTest/HPSimplePenstockFrancisGenIPSL.mo b/OpenHPLTest/Archive/HPSimplePenstockFrancisGenIPSL.mo similarity index 99% rename from OpenHPLTest/HPSimplePenstockFrancisGenIPSL.mo rename to OpenHPLTest/Archive/HPSimplePenstockFrancisGenIPSL.mo index 502ff3e0..0b09cce1 100644 --- a/OpenHPLTest/HPSimplePenstockFrancisGenIPSL.mo +++ b/OpenHPLTest/Archive/HPSimplePenstockFrancisGenIPSL.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPSimplePenstockFrancisGenIPSL "Synergy with OpenIPSL library(generator)" extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir(h_0=48) annotation (Placement(transformation( diff --git a/OpenHPLTest/HPSimplePenstockFrancisGenIPSLGov.mo b/OpenHPLTest/Archive/HPSimplePenstockFrancisGenIPSLGov.mo similarity index 99% rename from OpenHPLTest/HPSimplePenstockFrancisGenIPSLGov.mo rename to OpenHPLTest/Archive/HPSimplePenstockFrancisGenIPSLGov.mo index 14ff923e..b5802f39 100644 --- a/OpenHPLTest/HPSimplePenstockFrancisGenIPSLGov.mo +++ b/OpenHPLTest/Archive/HPSimplePenstockFrancisGenIPSLGov.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPSimplePenstockFrancisGenIPSLGov "Synergy with OpenIPSL library(generator + governor)" //input Real u; extends Modelica.Icons.Example; diff --git a/OpenHPLTest/HPSimplePenstockFrancisGenIPSLInfBus.mo b/OpenHPLTest/Archive/HPSimplePenstockFrancisGenIPSLInfBus.mo similarity index 99% rename from OpenHPLTest/HPSimplePenstockFrancisGenIPSLInfBus.mo rename to OpenHPLTest/Archive/HPSimplePenstockFrancisGenIPSLInfBus.mo index 279c8eac..43fd7c08 100644 --- a/OpenHPLTest/HPSimplePenstockFrancisGenIPSLInfBus.mo +++ b/OpenHPLTest/Archive/HPSimplePenstockFrancisGenIPSLInfBus.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPSimplePenstockFrancisGenIPSLInfBus "Synergy with OpenIPSL library(generator + infinitBus)" extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir(h_0=48) annotation (Placement(transformation(origin={-92,62}, extent={{-10,-10},{10,10}}))); diff --git a/OpenHPLTest/HPSimplePenstockFrancisGener.mo b/OpenHPLTest/Archive/HPSimplePenstockFrancisGener.mo similarity index 99% rename from OpenHPLTest/HPSimplePenstockFrancisGener.mo rename to OpenHPLTest/Archive/HPSimplePenstockFrancisGener.mo index fb7615aa..e8742f41 100644 --- a/OpenHPLTest/HPSimplePenstockFrancisGener.mo +++ b/OpenHPLTest/Archive/HPSimplePenstockFrancisGener.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPSimplePenstockFrancisGener "HP system model with Francis turbine and generator" extends Modelica.Icons.Example; Real coef; diff --git a/OpenHPLTest/HPSimplePenstockGeneratorTest.mo b/OpenHPLTest/Archive/HPSimplePenstockGeneratorTest.mo similarity index 99% rename from OpenHPLTest/HPSimplePenstockGeneratorTest.mo rename to OpenHPLTest/Archive/HPSimplePenstockGeneratorTest.mo index bf592de2..1df4d921 100644 --- a/OpenHPLTest/HPSimplePenstockGeneratorTest.mo +++ b/OpenHPLTest/Archive/HPSimplePenstockGeneratorTest.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPSimplePenstockGeneratorTest "Generator testing for HP" extends Modelica.Icons.Example; import Modelica.Constants.pi; diff --git a/OpenHPLTest/HPSimplePenstockOpenChannel.mo b/OpenHPLTest/Archive/HPSimplePenstockOpenChannel.mo similarity index 99% rename from OpenHPLTest/HPSimplePenstockOpenChannel.mo rename to OpenHPLTest/Archive/HPSimplePenstockOpenChannel.mo index f4a73bd4..ce087571 100644 --- a/OpenHPLTest/HPSimplePenstockOpenChannel.mo +++ b/OpenHPLTest/Archive/HPSimplePenstockOpenChannel.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPSimplePenstockOpenChannel "testing open channel" extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir annotation (Placement(transformation(origin={-90,44}, extent={{-10,-10},{10,10}}))); diff --git a/OpenHPLTest/HPSimplePenstockPelton.mo b/OpenHPLTest/Archive/HPSimplePenstockPelton.mo similarity index 99% rename from OpenHPLTest/HPSimplePenstockPelton.mo rename to OpenHPLTest/Archive/HPSimplePenstockPelton.mo index fe009b57..59a1c995 100644 --- a/OpenHPLTest/HPSimplePenstockPelton.mo +++ b/OpenHPLTest/Archive/HPSimplePenstockPelton.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPSimplePenstockPelton "HP system model with Pelton turbine" extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir(h_0=48) annotation (Placement(transformation(origin={-92,62}, extent={{-10,-10},{10,10}}))); diff --git a/OpenHPLTest/HPSimplePenstockResKP.mo b/OpenHPLTest/Archive/HPSimplePenstockResKP.mo similarity index 99% rename from OpenHPLTest/HPSimplePenstockResKP.mo rename to OpenHPLTest/Archive/HPSimplePenstockResKP.mo index 6a4b43c4..86804900 100644 --- a/OpenHPLTest/HPSimplePenstockResKP.mo +++ b/OpenHPLTest/Archive/HPSimplePenstockResKP.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPSimplePenstockResKP "Model of HP system with using reservoir model based on open channel" extends Modelica.Icons.Example; Modelica.Blocks.Sources.Ramp control(duration = 1, height = -0.04615, offset = 0.7493, startTime = 600) annotation ( diff --git a/OpenHPLTest/HPSquareFittingsTest.mo b/OpenHPLTest/Archive/HPSquareFittingsTest.mo similarity index 99% rename from OpenHPLTest/HPSquareFittingsTest.mo rename to OpenHPLTest/Archive/HPSquareFittingsTest.mo index 33c36554..dd68655f 100644 --- a/OpenHPLTest/HPSquareFittingsTest.mo +++ b/OpenHPLTest/Archive/HPSquareFittingsTest.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPSquareFittingsTest "Test for comparing fitting behaviour" extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir headWater(h_0=10) annotation (Placement(transformation(extent={{-100,-10},{-80,10}}))); diff --git a/OpenHPLTest/HPTaperedFittingsTest.mo b/OpenHPLTest/Archive/HPTaperedFittingsTest.mo similarity index 99% rename from OpenHPLTest/HPTaperedFittingsTest.mo rename to OpenHPLTest/Archive/HPTaperedFittingsTest.mo index d006658f..6c915891 100644 --- a/OpenHPLTest/HPTaperedFittingsTest.mo +++ b/OpenHPLTest/Archive/HPTaperedFittingsTest.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HPTaperedFittingsTest "Test for comparing fitting behaviour" extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir headWater(h_0=10) annotation (Placement(transformation(extent={{-100,-10},{-80,10}}))); diff --git a/OpenHPLTest/HydroCordModeKPlFrancisDraftTube.mo b/OpenHPLTest/Archive/HydroCordModeKPlFrancisDraftTube.mo similarity index 99% rename from OpenHPLTest/HydroCordModeKPlFrancisDraftTube.mo rename to OpenHPLTest/Archive/HydroCordModeKPlFrancisDraftTube.mo index 97c781c0..1be28e9e 100644 --- a/OpenHPLTest/HydroCordModeKPlFrancisDraftTube.mo +++ b/OpenHPLTest/Archive/HydroCordModeKPlFrancisDraftTube.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HydroCordModeKPlFrancisDraftTube "Model of HP system with simplified models for penstock, turbine, etc." extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir(h_0=46.5, UseInFlow=false) annotation (Placement(transformation( diff --git a/OpenHPLTest/HydroCordModel.mo b/OpenHPLTest/Archive/HydroCordModel.mo similarity index 99% rename from OpenHPLTest/HydroCordModel.mo rename to OpenHPLTest/Archive/HydroCordModel.mo index f4f1d2be..9a95090b 100644 --- a/OpenHPLTest/HydroCordModel.mo +++ b/OpenHPLTest/Archive/HydroCordModel.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HydroCordModel "Model of HP system with simplified models for penstock, turbine, etc." extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir(h_0=418.5 - 372, UseInFlow=false) annotation (Placement(transformation( diff --git a/OpenHPLTest/HydroCordModel2.mo b/OpenHPLTest/Archive/HydroCordModel2.mo similarity index 99% rename from OpenHPLTest/HydroCordModel2.mo rename to OpenHPLTest/Archive/HydroCordModel2.mo index d99c27c1..e8cdeb31 100644 --- a/OpenHPLTest/HydroCordModel2.mo +++ b/OpenHPLTest/Archive/HydroCordModel2.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HydroCordModel2 "Model of HP system with simplified models for penstock, turbine, etc." extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir(h_0=418.5 - 372, UseInFlow=false) annotation (Placement(transformation( diff --git a/OpenHPLTest/HydroCordModelDraftTube.mo b/OpenHPLTest/Archive/HydroCordModelDraftTube.mo similarity index 99% rename from OpenHPLTest/HydroCordModelDraftTube.mo rename to OpenHPLTest/Archive/HydroCordModelDraftTube.mo index 0de73552..efc25d2b 100644 --- a/OpenHPLTest/HydroCordModelDraftTube.mo +++ b/OpenHPLTest/Archive/HydroCordModelDraftTube.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HydroCordModelDraftTube "Model of HP system with simplified models for penstock, turbine, etc." extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir(h_0=418.5 - 372, UseInFlow=false) annotation (Placement(transformation( diff --git a/OpenHPLTest/HydroCordModelDraftTube2.mo b/OpenHPLTest/Archive/HydroCordModelDraftTube2.mo similarity index 99% rename from OpenHPLTest/HydroCordModelDraftTube2.mo rename to OpenHPLTest/Archive/HydroCordModelDraftTube2.mo index 42eca688..b3b46f33 100644 --- a/OpenHPLTest/HydroCordModelDraftTube2.mo +++ b/OpenHPLTest/Archive/HydroCordModelDraftTube2.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HydroCordModelDraftTube2 "Model of HP system with simplified models for penstock, turbine, etc." extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir(h_0=418.5 - 372, UseInFlow=false) annotation (Placement(transformation( diff --git a/OpenHPLTest/HydroCordModelDraftTube3.mo b/OpenHPLTest/Archive/HydroCordModelDraftTube3.mo similarity index 99% rename from OpenHPLTest/HydroCordModelDraftTube3.mo rename to OpenHPLTest/Archive/HydroCordModelDraftTube3.mo index 0b5d7d3c..064e3cab 100644 --- a/OpenHPLTest/HydroCordModelDraftTube3.mo +++ b/OpenHPLTest/Archive/HydroCordModelDraftTube3.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HydroCordModelDraftTube3 "Model of HP system with simplified models for penstock, turbine, etc." extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir(h_0=418.5 - 372, UseInFlow=false) annotation (Placement(transformation( diff --git a/OpenHPLTest/HydroCordModelFrancis.mo b/OpenHPLTest/Archive/HydroCordModelFrancis.mo similarity index 99% rename from OpenHPLTest/HydroCordModelFrancis.mo rename to OpenHPLTest/Archive/HydroCordModelFrancis.mo index b2c3e2a3..d19ceecc 100644 --- a/OpenHPLTest/HydroCordModelFrancis.mo +++ b/OpenHPLTest/Archive/HydroCordModelFrancis.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HydroCordModelFrancis "Model of HP system with simplified models for penstock, turbine, etc." extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir(h_0=46.5, UseInFlow=false) annotation (Placement(transformation( diff --git a/OpenHPLTest/HydroCordModelFrancis2.mo b/OpenHPLTest/Archive/HydroCordModelFrancis2.mo similarity index 99% rename from OpenHPLTest/HydroCordModelFrancis2.mo rename to OpenHPLTest/Archive/HydroCordModelFrancis2.mo index 652ac883..12945b86 100644 --- a/OpenHPLTest/HydroCordModelFrancis2.mo +++ b/OpenHPLTest/Archive/HydroCordModelFrancis2.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HydroCordModelFrancis2 "Model of HP system with simplified models for penstock, turbine, etc." extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir(h_0=46.5, UseInFlow=false) annotation (Placement(transformation( diff --git a/OpenHPLTest/HydroCordModelFrancisDraftTube.mo b/OpenHPLTest/Archive/HydroCordModelFrancisDraftTube.mo similarity index 99% rename from OpenHPLTest/HydroCordModelFrancisDraftTube.mo rename to OpenHPLTest/Archive/HydroCordModelFrancisDraftTube.mo index 0fa4c107..881125f7 100644 --- a/OpenHPLTest/HydroCordModelFrancisDraftTube.mo +++ b/OpenHPLTest/Archive/HydroCordModelFrancisDraftTube.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HydroCordModelFrancisDraftTube "Model of HP system with simplified models for penstock, turbine, etc." extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir(h_0=46.5, UseInFlow=false) annotation (Placement(transformation( diff --git a/OpenHPLTest/HydroCordModelKP.mo b/OpenHPLTest/Archive/HydroCordModelKP.mo similarity index 99% rename from OpenHPLTest/HydroCordModelKP.mo rename to OpenHPLTest/Archive/HydroCordModelKP.mo index b0098b0f..e1c156c8 100644 --- a/OpenHPLTest/HydroCordModelKP.mo +++ b/OpenHPLTest/Archive/HydroCordModelKP.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HydroCordModelKP "Model of HP system with simplified models for penstock, turbine, etc." extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir(h_0=46.5, UseInFlow=false) annotation (Placement(transformation( diff --git a/OpenHPLTest/HydroCordModelKP2.mo b/OpenHPLTest/Archive/HydroCordModelKP2.mo similarity index 99% rename from OpenHPLTest/HydroCordModelKP2.mo rename to OpenHPLTest/Archive/HydroCordModelKP2.mo index 1f59bc93..078061e1 100644 --- a/OpenHPLTest/HydroCordModelKP2.mo +++ b/OpenHPLTest/Archive/HydroCordModelKP2.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HydroCordModelKP2 "Model of HP system with simplified models for penstock, turbine, etc." extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir(h_0=46.5, UseInFlow=false) annotation (Placement(transformation( diff --git a/OpenHPLTest/HydroCordModelKPDraftTube.mo b/OpenHPLTest/Archive/HydroCordModelKPDraftTube.mo similarity index 99% rename from OpenHPLTest/HydroCordModelKPDraftTube.mo rename to OpenHPLTest/Archive/HydroCordModelKPDraftTube.mo index be2c542b..041bf70f 100644 --- a/OpenHPLTest/HydroCordModelKPDraftTube.mo +++ b/OpenHPLTest/Archive/HydroCordModelKPDraftTube.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HydroCordModelKPDraftTube "Model of HP system with simplified models for penstock, turbine, etc." extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir(h_0=46.5, UseInFlow=false) annotation (Placement(transformation( diff --git a/OpenHPLTest/HydroCordModelKPFran.mo b/OpenHPLTest/Archive/HydroCordModelKPFran.mo similarity index 99% rename from OpenHPLTest/HydroCordModelKPFran.mo rename to OpenHPLTest/Archive/HydroCordModelKPFran.mo index 9bcb478e..ec9782c7 100644 --- a/OpenHPLTest/HydroCordModelKPFran.mo +++ b/OpenHPLTest/Archive/HydroCordModelKPFran.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HydroCordModelKPFran "Model of HP system with simplified models for penstock, turbine, etc." extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir(h_0=46.5, UseInFlow=false) annotation (Placement(transformation( diff --git a/OpenHPLTest/HydroCordModelKPFran2.mo b/OpenHPLTest/Archive/HydroCordModelKPFran2.mo similarity index 99% rename from OpenHPLTest/HydroCordModelKPFran2.mo rename to OpenHPLTest/Archive/HydroCordModelKPFran2.mo index 801e69b5..a8e597d3 100644 --- a/OpenHPLTest/HydroCordModelKPFran2.mo +++ b/OpenHPLTest/Archive/HydroCordModelKPFran2.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HydroCordModelKPFran2 "Model of HP system with simplified models for penstock, turbine, etc." extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir(h_0=46.5, UseInFlow=false) annotation (Placement(transformation( diff --git a/OpenHPLTest/HydroCordModelKPall.mo b/OpenHPLTest/Archive/HydroCordModelKPall.mo similarity index 99% rename from OpenHPLTest/HydroCordModelKPall.mo rename to OpenHPLTest/Archive/HydroCordModelKPall.mo index 350211c0..10476fe0 100644 --- a/OpenHPLTest/HydroCordModelKPall.mo +++ b/OpenHPLTest/Archive/HydroCordModelKPall.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model HydroCordModelKPall "Model of HP system with simplified models for penstock, turbine, etc." extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir( diff --git a/OpenHPLTest/OpenChannel.mo b/OpenHPLTest/Archive/OpenChannel.mo similarity index 98% rename from OpenHPLTest/OpenChannel.mo rename to OpenHPLTest/Archive/OpenChannel.mo index ce3f8f55..8ed75877 100644 --- a/OpenHPLTest/OpenChannel.mo +++ b/OpenHPLTest/Archive/OpenChannel.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model OpenChannel "Model of a hydropower system with open channel model" extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir(h_0=5) annotation (Placement(transformation( diff --git a/OpenHPLTest/Reservoir.mo b/OpenHPLTest/Archive/Reservoir.mo similarity index 98% rename from OpenHPLTest/Reservoir.mo rename to OpenHPLTest/Archive/Reservoir.mo index 79567fb6..40c92c8e 100644 --- a/OpenHPLTest/Reservoir.mo +++ b/OpenHPLTest/Archive/Reservoir.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model Reservoir extends Modelica.Icons.Example; diff --git a/OpenHPLTest/TestFitingSimpleHP.mo b/OpenHPLTest/Archive/TestFitingSimpleHP.mo similarity index 99% rename from OpenHPLTest/TestFitingSimpleHP.mo rename to OpenHPLTest/Archive/TestFitingSimpleHP.mo index c4bc0f69..4159b96b 100644 --- a/OpenHPLTest/TestFitingSimpleHP.mo +++ b/OpenHPLTest/Archive/TestFitingSimpleHP.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model TestFitingSimpleHP "Model of HP system with pipe fitting" extends Modelica.Icons.Example; OpenHPL.Waterway.Pipe conduit( diff --git a/OpenHPLTest/TestMCB.mo b/OpenHPLTest/Archive/TestMCB.mo similarity index 98% rename from OpenHPLTest/TestMCB.mo rename to OpenHPLTest/Archive/TestMCB.mo index 815e545f..a1a8c4c3 100644 --- a/OpenHPLTest/TestMCB.mo +++ b/OpenHPLTest/Archive/TestMCB.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model TestMCB "Testing the operation of the MCB" extends Modelica.Icons.Example; OpenHPL.ElectroMech.PowerSystem.MCB mCB(deltaSpeed=0.01) annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); diff --git a/OpenHPLTest/TestRunoff.mo b/OpenHPLTest/Archive/TestRunoff.mo similarity index 98% rename from OpenHPLTest/TestRunoff.mo rename to OpenHPLTest/Archive/TestRunoff.mo index 8b0d168a..6675db71 100644 --- a/OpenHPLTest/TestRunoff.mo +++ b/OpenHPLTest/Archive/TestRunoff.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model TestRunoff extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir1( diff --git a/OpenHPLTest/TorpaHPPAirCushionTest.mo b/OpenHPLTest/Archive/TorpaHPPAirCushionTest.mo similarity index 98% rename from OpenHPLTest/TorpaHPPAirCushionTest.mo rename to OpenHPLTest/Archive/TorpaHPPAirCushionTest.mo index c812d939..7441c461 100644 --- a/OpenHPLTest/TorpaHPPAirCushionTest.mo +++ b/OpenHPLTest/Archive/TorpaHPPAirCushionTest.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model TorpaHPPAirCushionTest "Test case for air cushion surge tank from Torpa hydro power plant." extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir(h_0=200) diff --git a/OpenHPLTest/TorpaHPPAirCushionTest2.mo b/OpenHPLTest/Archive/TorpaHPPAirCushionTest2.mo similarity index 98% rename from OpenHPLTest/TorpaHPPAirCushionTest2.mo rename to OpenHPLTest/Archive/TorpaHPPAirCushionTest2.mo index e7f6ac35..7e911e68 100644 --- a/OpenHPLTest/TorpaHPPAirCushionTest2.mo +++ b/OpenHPLTest/Archive/TorpaHPPAirCushionTest2.mo @@ -1,4 +1,4 @@ -within OpenHPLTest; +within OpenHPLTest.Archive; model TorpaHPPAirCushionTest2 "Test case for air cushion surge tank from Torpa hydro power plant." extends Modelica.Icons.Example; OpenHPL.Waterway.Reservoir reservoir(h_0=48) annotation (Placement(transformation( diff --git a/OpenHPLTest/Archive/package.mo b/OpenHPLTest/Archive/package.mo new file mode 100644 index 00000000..501102de --- /dev/null +++ b/OpenHPLTest/Archive/package.mo @@ -0,0 +1,6 @@ +within OpenHPLTest; +package Archive + extends Modelica.Icons.ExamplesPackage; + + extends Modelica.Icons.ObsoleteModel; +end Archive; diff --git a/OpenHPLTest/Archive/package.order b/OpenHPLTest/Archive/package.order new file mode 100644 index 00000000..8aaed842 --- /dev/null +++ b/OpenHPLTest/Archive/package.order @@ -0,0 +1,72 @@ +CaseStudingValentynasCase +HPAllTypeFittingsTest +HPBjarneBorresen +HPDraftTube +HPElasticKPPenstock +HPElasticKPPenstockANDIntake +HPElasticKPPenstockCompres +HPElasticKPPenstockFrancis +HPElasticKPPenstockFrancisGov +HPElasticKPPenstockHalfSurgeD +HPElasticKPPenstockWithoutSurge +HPLiniarization +HPLiniarization2 +HPLiniarization3 +HPLiniarization4 +HPLiniarizationFranGen +HPLiniarizationGenIPSL +HPLiniarizationGenIPSLKP +HPLiniarizationKP +HPLiniarizationKPFran +HPLinTest +HPModel +HPModelDEA +HPModelKPLin +HPModelKPLinPI +HPModelLin +HPModelLinPI +HPModelManLin +HPModelObserv +HPModelObservSim +HPSimpleElasticPenstock +HPSimpleElasticPenstockWithoutSurge +HPSimplePenstockAutoRefGate +HPSimplePenstockControl +HPSimplePenstockFrancis +HPSimplePenstockFrancis2 +HPSimplePenstockFrancisGener +HPSimplePenstockFrancisGenIPSL +HPSimplePenstockFrancisGenIPSLGov +HPSimplePenstockFrancisGenIPSLInfBus +HPSimplePenstockGeneratorTest +HPSimplePenstockOpenChannel +HPSimplePenstockPelton +HPSimplePenstockResKP +HPSquareFittingsTest +HPSTAirCushion +HPSTSharpOrifice +HPSTSimple +HPSTThrottleValve +HPTaperedFittingsTest +HydroCordModeKPlFrancisDraftTube +HydroCordModel +HydroCordModel2 +HydroCordModelDraftTube +HydroCordModelDraftTube2 +HydroCordModelDraftTube3 +HydroCordModelFrancis +HydroCordModelFrancis2 +HydroCordModelFrancisDraftTube +HydroCordModelKP +HydroCordModelKP2 +HydroCordModelKPall +HydroCordModelKPDraftTube +HydroCordModelKPFran +HydroCordModelKPFran2 +OpenChannel +Reservoir +TestFitingSimpleHP +TestMCB +TestRunoff +TorpaHPPAirCushionTest +TorpaHPPAirCushionTest2 diff --git a/OpenHPLTest/EmpiricalTurbine/Information.mo b/OpenHPLTest/EmpiricalTurbine/Information.mo new file mode 100644 index 00000000..cf1e5a60 --- /dev/null +++ b/OpenHPLTest/EmpiricalTurbine/Information.mo @@ -0,0 +1,6 @@ +within OpenHPLTest.EmpiricalTurbine; +class Information +extends Modelica.Icons.Information; + annotation ( + Documentation(info = "The EmpiricalTurbine test package contains a series of test models for documeting and validating the implementation of the EmpiricalTurbine model.
There are two sub-packages:
At the moment there are som robustness issues with the model. In the default configuration Test03_Turbine have issues with convergens at time t=0.34 with the message
Homotopy solver Newton iteration: Maximum number of iterations reached at time 0.340000, but no root found.
The following documents testing and investigations to resovle this.
In particular it is important to understand some of the following topics and how different implementations may impact the robustness of the models.
Some observations:Additional comments:
In general convergence issues can either be related to \"stiff\" problems or singularities or discontinuous functions (or gradients). Running Test03 with the dassl solver, with startTime=0 and stopTime=1 and varying time step gives the following result.
Time stepComments
0.005Convergence issues from t=0.26500 (nonlinear system 82)
0.01Convergence issues from t=0.34000
0.02Convergence issues from t=0.34000
0.05Convergence issues from t=0.683162
0.10Convergence issues from t=0.683162
0.20Convergence issues from t=0.683162

Normally, for stiff problems, reducing the time step should improve the convergence. This seems not to be the case here.")); +end Information; diff --git a/OpenHPLTest/EmpiricalTurbine/TestBasicFunctions/Test01_BezierCurve.mo b/OpenHPLTest/EmpiricalTurbine/TestBasicFunctions/Test01_BezierCurve.mo new file mode 100644 index 00000000..1bccb13c --- /dev/null +++ b/OpenHPLTest/EmpiricalTurbine/TestBasicFunctions/Test01_BezierCurve.mo @@ -0,0 +1,13 @@ +within OpenHPLTest.EmpiricalTurbine.TestBasicFunctions; +model Test01_BezierCurve + extends Modelica.Icons.Example; + Real[ndim] curvePoint; +protected + constant Integer ndim = 3; + parameter Real controlPoints[6, ndim] = {{0.00, 1.46, 2.60}, {0.53, 1.45, 2.33}, {0.77, 1.19, 1.80}, {1.63, 0.86, -0.58}, {1.13, 0.24, 0.31}, {1.43, -0.17, -0.52}}; +equation + curvePoint = OpenHPL.Functions.deCasteljau(time, ndim, controlPoints); + annotation ( + experiment(StartTime = 0, StopTime = 1, Tolerance = 1e-06, Interval = 0.001), + Documentation(info = "Basic test of evaluation of Bezier curve using deCasteljau algorithm.
Parametric curve plot of curvePoint[1] againts curvPoint[2] should show a smooth trajectory of QED vs nED.


")); +end Test01_BezierCurve; diff --git a/OpenHPLTest/EmpiricalTurbine/TestBasicFunctions/Test02_ControlPoints.mo b/OpenHPLTest/EmpiricalTurbine/TestBasicFunctions/Test02_ControlPoints.mo new file mode 100644 index 00000000..c3b70c29 --- /dev/null +++ b/OpenHPLTest/EmpiricalTurbine/TestBasicFunctions/Test02_ControlPoints.mo @@ -0,0 +1,41 @@ +within OpenHPLTest.EmpiricalTurbine.TestBasicFunctions; +model Test02_ControlPoints + extends Modelica.Icons.Example; + // +protected +/* + constant Integer NC = 5; + constant Integer NP = 4; + constant Integer ND = 3; + parameter Real openingArray[NC] = {0.10, 0.25, 0.50, 0.75, 1.00}; + parameter Real controlPoints[NC, NP, ND] = {{{0.00, 0.18, 0.26}, {0.41, 0.10, 0.17}, {1.04, 0.31, 0.25}, {1.32, -0.04, -0.21}}, {{0.00, 0.44, 0.73}, {0.43, 0.37, 0.67}, {1.27, 0.55, 0.29}, {1.38, 0.00, -0.19}}, {{0.00, 0.91, 1.55}, {0.59, 0.89, 1.33}, {1.57, 0.79, 0.19}, {1.51, 0.00, -0.29}}, {{0.00, 1.30, 2.11}, {0.78, 1.33, 1.77}, {1.72, 0.92, -0.12}, {1.58, 0.00, -0.28}}, {{0.00, 1.57, 2.41}, {0.92, 1.63, 1.91}, {1.82, 1.02, -0.30}, {1.83, 0.00, -0.35}}}; + + + constant Integer NC = 5; + constant Integer NP = 4; + constant Integer ND = 3; + parameter Real openingArray[NC]={0.10,0.25,0.50,0.75,1.00}; + parameter Real controlPoints[NC,NP,ND]={{{ 0.00,0.18,0.26 },{ 0.41,0.10,0.17 },{ 1.04,0.31,0.25 },{ 1.32,-0.04,-0.21 }},{{ 0.00,0.44,0.73 },{ 0.43,0.37,0.67 },{ 1.27,0.55,0.29 },{ 1.38,0.00,-0.19 }},{{ 0.00,0.91,1.55 },{ 0.59,0.89,1.33 },{ 1.48,0.79,0.19 },{ 1.51,0.00,-0.29 }},{{ 0.00,1.30,2.11 },{ 0.78,1.33,1.77 },{ 1.55,0.92,-0.12 },{ 1.58,0.00,-0.28 }},{{ 0.00,1.57,2.41 },{ 0.92,1.63,1.91 },{ 1.60,1.02,-0.30 },{ 1.63,0.00,-0.35 }}}; + */ + constant Integer NC = 4; + constant Integer NP = 4; + constant Integer ND = 3; + parameter Real openingArray[NC]={0.00,0.33,0.67,1.00}; + parameter Real controlPoints[NC,NP,ND]={{{ 0.00,0.00,0.00 },{ 0.94,0.00,-0.19 },{ 1.89,0.00,-0.38 },{ 2.83,0.00,-0.57 }},{{ 0.00,0.70,1.10 },{ 1.09,0.77,1.06 },{ 1.67,-0.43,-2.94 },{ 2.83,-0.15,-2.39 }},{{ 0.00,1.40,2.20 },{ 1.35,1.43,1.50 },{ 1.30,-0.66,-4.88 },{ 2.83,-0.31,-4.79 }},{{ 0.00,2.10,3.30 },{ 1.59,1.98,1.39 },{ 0.96,-0.71,-6.03 },{ 2.83,-0.47,-7.19 }}}; + parameter OpenHPL.Types.TurbineCharacteristics tc(nCurves = NC, nPoints = NP, nDim = ND, opening = openingArray, data = controlPoints); +public + Real cPoints1[NP, ND], cPoints2[NP, ND], cPoints3[NP, ND]; + Real[ND] curvePoint1; + Real[ND] curvePoint2; + Real[ND] curvePoint3; +equation + cPoints1 = OpenHPL.Functions.WeightedControlPoints(0.20, tc); + curvePoint1 = OpenHPL.Functions.deCasteljau(time, ND, cPoints1); + cPoints2 = OpenHPL.Functions.WeightedControlPoints(0.50, tc); + curvePoint2 = OpenHPL.Functions.deCasteljau(time, ND, cPoints2); + cPoints3 = OpenHPL.Functions.WeightedControlPoints(0.90, tc); + curvePoint3 = OpenHPL.Functions.deCasteljau(time, ND, cPoints3); + annotation ( + Documentation(info = "Test basic functions for finding intermediate control points and evaluate Bezier curve.
Computes three curve trajectories as weighted intermediate curves. Parametrci curve plot of curvePoints1[1] against  curvePoints1[2] and similar for curvePonts2 and curvePoints3 should show smooth curves 2D curves.
"), + experiment(StartTime = 0, StopTime = 1, Tolerance = 1e-06, Interval = 0.002)); +end Test02_ControlPoints; diff --git a/OpenHPLTest/EmpiricalTurbine/TestBasicFunctions/Test03_DistanceFunction.mo b/OpenHPLTest/EmpiricalTurbine/TestBasicFunctions/Test03_DistanceFunction.mo new file mode 100644 index 00000000..7bcf75ae --- /dev/null +++ b/OpenHPLTest/EmpiricalTurbine/TestBasicFunctions/Test03_DistanceFunction.mo @@ -0,0 +1,39 @@ +within OpenHPLTest.EmpiricalTurbine.TestBasicFunctions; + +model Test03_DistanceFunction + extends Modelica.Icons.Example; +protected + /* + constant Integer NC = 5; + constant Integer NP = 4; + constant Integer ND = 3; + parameter Real openingArray[NC] = {0.10, 0.25, 0.50, 0.75, 1.00}; + parameter Real controlPoints[NC, NP, ND] = {{{0.00, 0.18, 0.26}, {0.41, 0.10, 0.17}, {1.04, 0.31, 0.25}, {1.32, -0.04, -0.21}}, {{0.00, 0.44, 0.73}, {0.43, 0.37, 0.67}, {1.27, 0.55, 0.29}, {1.38, 0.00, -0.19}}, {{0.00, 0.91, 1.55}, {0.59, 0.89, 1.33}, {1.57, 0.79, 0.19}, {1.58, 0.00, -0.29}}, {{0.00, 1.30, 2.11}, {0.78, 1.33, 1.77}, {1.72, 0.92, -0.12}, {1.73, 0.00, -0.28}}, {{0.00, 1.57, 2.41}, {0.92, 1.63, 1.91}, {1.82, 1.02, -0.30}, {1.83, 0.00, -0.35}}}; + + constant Integer NC = 3; + constant Integer NP = 4; + constant Integer ND = 3; + parameter Real openingArray[NC] = {0.00, 0.50, 1.00}; + parameter Real controlPoints[NC, NP, ND] = {{{0.00, 0.00, 0.00}, {0.40, 0.00, -0.05}, {0.80, 0.00, -0.10}, {1.20, 0.00, -0.15}}, {{0.00, 0.50, 0.50}, {0.40, 0.50, 0.45}, {0.80, 0.50, 0.40}, {1.20, 0.50, 0.35}}, {{0.00, 1.00, 1.00}, {0.40, 1.00, 0.95}, {0.80, 1.00, 0.90}, {1.20, 1.00, 0.85}}}; + */ + constant Integer NC = 4; + constant Integer NP = 4; + constant Integer ND = 3; + parameter Real openingArray[NC]={0.00,0.33,0.67,1.00}; + parameter Real controlPoints[NC,NP,ND]={{{ 0.00,0.00,0.00 },{ 0.94,0.00,-0.19 },{ 1.89,0.00,-0.38 },{ 2.83,0.00,-0.57 }},{{ 0.00,0.70,1.10 },{ 1.09,0.77,1.06 },{ 1.67,-0.43,-2.94 },{ 2.83,-0.15,-2.39 }},{{ 0.00,1.40,2.20 },{ 1.35,1.43,1.50 },{ 1.30,-0.66,-4.88 },{ 2.83,-0.31,-4.79 }},{{ 0.00,2.10,3.30 },{ 1.59,1.98,1.39 },{ 0.96,-0.71,-6.03 },{ 2.83,-0.47,-7.19 }}}; + + parameter OpenHPL.Types.TurbineCharacteristics tc(nCurves = NC, nPoints = NP, nDim = ND, opening = openingArray, data = controlPoints); +public + parameter Real opening=0.67; + Real cPoints[NP, ND]; + Real[ND] curvePoint; + Real distance; +equation + cPoints = OpenHPL.Functions.WeightedControlPoints(opening, tc); + curvePoint = OpenHPL.Functions.deCasteljau(time, ND, cPoints); + distance=sqrt((1.1-curvePoint[1])^2); + annotation ( + Documentation(info = "Test basic functions for finding intermediate control points and evaluate Bezier curve.
Computes three curve trajectories as weighted intermediate curves. Parametrci curve plot of curvePoints1[1] against  curvePoints1[2] and similar for curvePonts2 and curvePoints3 should show smooth curves 2D curves.
"), + experiment(StartTime = 0, StopTime = 1, Tolerance = 1e-06, Interval = 0.002)); + +end Test03_DistanceFunction; diff --git a/OpenHPLTest/EmpiricalTurbine/TestBasicFunctions/package.order b/OpenHPLTest/EmpiricalTurbine/TestBasicFunctions/package.order new file mode 100644 index 00000000..bcdf343e --- /dev/null +++ b/OpenHPLTest/EmpiricalTurbine/TestBasicFunctions/package.order @@ -0,0 +1,3 @@ +Test01_BezierCurve +Test02_ControlPoints +Test03_DistanceFunction diff --git a/OpenHPLTest/EmpiricalTurbine/TurbineTest/Test01_Turbine.mo b/OpenHPLTest/EmpiricalTurbine/TurbineTest/Test01_Turbine.mo new file mode 100644 index 00000000..2821e300 --- /dev/null +++ b/OpenHPLTest/EmpiricalTurbine/TurbineTest/Test01_Turbine.mo @@ -0,0 +1,28 @@ +within OpenHPLTest.EmpiricalTurbine.TurbineTest; + +model Test01_Turbine + extends Modelica.Icons.Example; + inner OpenHPL.Data data annotation ( + Placement(transformation(origin = {-84, 82}, extent = {{-10, -10}, {10, 10}}))); + parameter Modelica.Units.SI.Height Hn=100; + + OpenHPL.Waterway.Reservoir overvann(h_0 = Hn, constantLevel = true) annotation ( + Placement(transformation(origin = {-46, 28}, extent = {{-10, -10}, {10, 10}}))); + OpenHPL.Waterway.Reservoir undervann(h_0 = 0, constantLevel = true) annotation ( + Placement(transformation(origin = {72, -16}, extent = {{10, -10}, {-10, 10}}, rotation = -0))); + OpenHPL.ElectroMech.Turbines.EmpiricalTurbine turbine( H_n = Hn, P_n = 1e7, p = 18,enable_nomSpeed = false, enable_f = true, f_0 = 0 ) annotation ( + Placement(transformation(origin = {12, 12}, extent = {{-10, -10}, {10, 10}}))); + Modelica.Blocks.Sources.Ramp ramp(height = 1, duration = 10, offset = 0, startTime = 0) annotation( + Placement(transformation(origin = {-26, 76}, extent = {{-10, -10}, {10, 10}}))); +equation + connect(overvann.o, turbine.i) annotation( + Line(points = {{-36, 28}, {-20, 28}, {-20, 12}, {2, 12}}, color = {0, 128, 255})); + connect(turbine.o, undervann.o) annotation( + Line(points = {{22, 12}, {28, 12}, {28, -16}, {62, -16}}, color = {0, 128, 255})); + connect(ramp.y, turbine.u_t) annotation( + Line(points = {{-14, 76}, {4, 76}, {4, 24}}, color = {0, 0, 127})); + annotation ( + Documentation(info = "Basic test of EpiricalTurbine model. Opening is kept constant.
Initial speed f_0 is set to 0.2 and the turbine is permitted to speed up as function of computed turbine torque Tt.

"), + experiment(StartTime = 0, StopTime = 30, Tolerance = 1e-06, Interval = 0.001)); + +end Test01_Turbine; diff --git a/OpenHPLTest/EmpiricalTurbine/TurbineTest/Test02_Turbine.mo b/OpenHPLTest/EmpiricalTurbine/TurbineTest/Test02_Turbine.mo new file mode 100644 index 00000000..a980ebfd --- /dev/null +++ b/OpenHPLTest/EmpiricalTurbine/TurbineTest/Test02_Turbine.mo @@ -0,0 +1,8 @@ +within OpenHPLTest.EmpiricalTurbine.TurbineTest; +model Test02_Turbine +extends Test01_Turbine(Hn=300, turbin(p=14)); +annotation ( + Documentation(info = "Basic test of EpiricalTurbine model. Opening is kept constant.
Initial speed f_0 is set to 0.2 and the turbine is permitted to speed up as function of computed turbine torque Tt.

"), + experiment(StartTime = 0, StopTime = 30, Tolerance = 1e-06, Interval = 0.001)); + +end Test02_Turbine; diff --git a/OpenHPLTest/EmpiricalTurbine/TurbineTest/Test03_Turbine.mo b/OpenHPLTest/EmpiricalTurbine/TurbineTest/Test03_Turbine.mo new file mode 100644 index 00000000..b5e2a69f --- /dev/null +++ b/OpenHPLTest/EmpiricalTurbine/TurbineTest/Test03_Turbine.mo @@ -0,0 +1,7 @@ +within OpenHPLTest.EmpiricalTurbine.TurbineTest; +model Test03_Turbine + extends Test01_Turbine(Hn=600, turbin(p=8)); +annotation ( + Documentation(info = "Basic test of EpiricalTurbine model. Opening is kept constant.
Initial speed f_0 is set to 0.2 and the turbine is permitted to speed up as function of computed turbine torque Tt.

"), + experiment(StartTime = 0, StopTime = 30, Tolerance = 1e-06, Interval = 0.001)); +end Test03_Turbine; diff --git a/OpenHPLTest/EmpiricalTurbine/TurbineTest/Test04_Turbine.mo b/OpenHPLTest/EmpiricalTurbine/TurbineTest/Test04_Turbine.mo new file mode 100644 index 00000000..94e70992 --- /dev/null +++ b/OpenHPLTest/EmpiricalTurbine/TurbineTest/Test04_Turbine.mo @@ -0,0 +1,27 @@ +within OpenHPLTest.EmpiricalTurbine.TurbineTest; +model Test04_Turbine + extends Modelica.Icons.Example; + inner OpenHPL.Data data annotation ( + Placement(transformation(origin = {-84, 82}, extent = {{-10, -10}, {10, 10}}))); + parameter Modelica.Units.SI.Height Hn=600; + parameter Real opening=0.2; + // + OpenHPL.Waterway.Reservoir overvann(h_0 = Hn, constantLevel = true) annotation ( + Placement(transformation(origin = {-82, 12}, extent = {{-10, -10}, {10, 10}}))); + OpenHPL.Waterway.Reservoir undervann(h_0 = 0.0, constantLevel = true) annotation ( + Placement(transformation(origin = {72, -16}, extent = {{10, -10}, {-10, 10}}, rotation = -0))); + OpenHPL.ElectroMech.Turbines.EmpiricalTurbine turbine( H_n = Hn, P_n = 1e7, p = 18,enable_nomSpeed = false, enable_f = true, f_0 = 0, useH = false, J = 2e3 ) annotation ( + Placement(transformation(origin = {12, 12}, extent = {{-10, -10}, {10, 10}}))); + Modelica.Blocks.Sources.Constant const(k = opening) annotation( + Placement(transformation(origin = {-18, 68}, extent = {{-10, -10}, {10, 10}}))); +equation + connect(turbine.o, undervann.o) annotation( + Line(points = {{22, 12}, {28, 12}, {28, -16}, {62, -16}}, color = {0, 128, 255})); + connect(overvann.o, turbine.i) annotation( + Line(points = {{-72, 12}, {2, 12}}, color = {0, 128, 255})); + connect(const.y, turbine.u_t) annotation( + Line(points = {{-6, 68}, {4, 68}, {4, 24}}, color = {0, 0, 127})); + annotation( + experiment(StartTime = 0, StopTime = 25, Tolerance = 1e-06, Interval = 0.001), + Icon(graphics = {Text(extent = {{-150, 90}, {150, -90}}, textString = "%name")})); +end Test04_Turbine; diff --git a/OpenHPLTest/EmpiricalTurbine/TurbineTest/Test05_Turbine.mo b/OpenHPLTest/EmpiricalTurbine/TurbineTest/Test05_Turbine.mo new file mode 100644 index 00000000..a132d625 --- /dev/null +++ b/OpenHPLTest/EmpiricalTurbine/TurbineTest/Test05_Turbine.mo @@ -0,0 +1,27 @@ +within OpenHPLTest.EmpiricalTurbine.TurbineTest; +model Test05_Turbine + extends Modelica.Icons.Example; + inner OpenHPL.Data data annotation ( + Placement(transformation(origin = {-84, 82}, extent = {{-10, -10}, {10, 10}}))); + parameter Modelica.Units.SI.Height Hn=600; + parameter Real opening=0.2; + // + OpenHPL.Waterway.Reservoir overvann(h_0 = Hn, constantLevel = true) annotation ( + Placement(transformation(origin = {-82, 12}, extent = {{-10, -10}, {10, 10}}))); + OpenHPL.Waterway.Reservoir undervann(h_0 = 0.0, constantLevel = true) annotation ( + Placement(transformation(origin = {72, -16}, extent = {{10, -10}, {-10, 10}}, rotation = -0))); + OpenHPL.ElectroMech.Turbines.EmpiricalTurbine turbine( H_n = Hn, P_n = 1e7, p = 18,enable_nomSpeed = false, enable_f = true, f_0 = 0, useH = false, J = 2e3 ) annotation ( + Placement(transformation(origin = {12, 12}, extent = {{-10, -10}, {10, 10}}))); + Modelica.Blocks.Sources.Constant const(k = opening) annotation( + Placement(transformation(origin = {-18, 68}, extent = {{-10, -10}, {10, 10}}))); +equation + connect(turbine.o, undervann.o) annotation( + Line(points = {{22, 12}, {28, 12}, {28, -16}, {62, -16}}, color = {0, 128, 255})); + connect(overvann.o, turbine.i) annotation( + Line(points = {{-72, 12}, {2, 12}}, color = {0, 128, 255})); + connect(const.y, turbine.u_t) annotation( + Line(points = {{-6, 68}, {4, 68}, {4, 24}}, color = {0, 0, 127})); + annotation( + experiment(StartTime = 0, StopTime = 25, Tolerance = 1e-06, Interval = 0.001), + Icon(graphics = {Text(extent = {{-150, 90}, {150, -90}}, textString = "%name")})); +end Test05_Turbine; diff --git a/OpenHPLTest/EmpiricalTurbine/TurbineTest/Test06_Turbine.mo b/OpenHPLTest/EmpiricalTurbine/TurbineTest/Test06_Turbine.mo new file mode 100644 index 00000000..cc368b30 --- /dev/null +++ b/OpenHPLTest/EmpiricalTurbine/TurbineTest/Test06_Turbine.mo @@ -0,0 +1,53 @@ +within OpenHPLTest.EmpiricalTurbine.TurbineTest; + +model Test06_Turbine + extends Modelica.Icons.Example; + inner OpenHPL.Data data annotation ( + Placement(transformation(origin = {-84, 82}, extent = {{-10, -10}, {10, 10}}))); + parameter Modelica.Units.SI.Height Hn=500; + Modelica.Units.SI.Height Ht1 "Turbine1 pressure head"; + Modelica.Units.SI.Height Ht2 "Turbine2 pressure head"; + + OpenHPL.Waterway.Reservoir overvann(h_0 = Hn, constantLevel = true) annotation ( + Placement(transformation(origin = {-80, 26}, extent = {{-10, -10}, {10, 10}}))); + OpenHPL.Waterway.Reservoir undervann(h_0 = 0, constantLevel = true) annotation ( + Placement(transformation(origin = {72, -16}, extent = {{10, -10}, {-10, 10}}, rotation = -0))); + OpenHPL.ElectroMech.Turbines.EmpiricalTurbine turbine( H_n = Hn, P_n = 1e7, p = 18,enable_nomSpeed = true, enable_f = true, f_0 = 1, fixed_iniSpeed = false ) annotation ( + Placement(transformation(origin = {12, 12}, extent = {{-10, -10}, {10, 10}}))); + Modelica.Blocks.Sources.Ramp ramp(height = -1, duration = 10, offset = 1, startTime = 5) annotation( + Placement(transformation(origin = {-26, 76}, extent = {{-10, -10}, {10, 10}}))); + OpenHPL.Waterway.Pipe pipe(H = 0, L = 1000, D_i = 1.128379167, SteadyState = false, Vdot_0 = 2.0) annotation( + Placement(transformation(origin = {-38, 18}, extent = {{-10, -10}, {10, 10}}))); + OpenHPL.Waterway.Reservoir ov2(constantLevel = true, h_0 = Hn) annotation( + Placement(transformation(origin = {-80, -30}, extent = {{-10, -10}, {10, 10}}))); + OpenHPL.Waterway.Reservoir uv2(constantLevel = true, h_0 = 0) annotation( + Placement(transformation(origin = {70, -74}, extent = {{10, -10}, {-10, 10}}))); + OpenHPL.Waterway.Pipe pipe2(D_i = 1.128379167, H = 0, L = 1000, SteadyState = false, Vdot_0 = 2.0) annotation( + Placement(transformation(origin = {-36, -30}, extent = {{-10, -10}, {10, 10}}))); + OpenHPL.ElectroMech.Turbines.Turbine turb2(ValveCapacity = false, H_n = Hn, Vdot_n = 2.15, f_0 = 1, enable_nomSpeed = true, enable_f = true) annotation( + Placement(transformation(origin = {4, -42}, extent = {{-10, -10}, {10, 10}}))); +equation + Ht1 = turbine.dp/(data.rho*data.g); + Ht2 = turb2.dp/(data.rho*data.g); + connect(turbine.o, undervann.o) annotation( + Line(points = {{22, 12}, {28, 12}, {28, -16}, {62, -16}}, color = {0, 128, 255})); + connect(ramp.y, turbine.u_t) annotation( + Line(points = {{-14, 76}, {4, 76}, {4, 24}}, color = {0, 0, 127})); + connect(overvann.o, pipe.i) annotation( + Line(points = {{-70, 26}, {-60, 26}, {-60, 18}, {-48, 18}}, color = {0, 128, 255})); + connect(pipe.o, turbine.i) annotation( + Line(points = {{-28, 18}, {-20, 18}, {-20, 12}, {2, 12}}, color = {0, 128, 255})); + connect(ov2.o, pipe2.i) annotation( + Line(points = {{-70, -30}, {-46, -30}}, color = {0, 128, 255})); + connect(turb2.o, uv2.o) annotation( + Line(points = {{14, -42}, {26, -42}, {26, -74}, {60, -74}}, color = {0, 128, 255})); + connect(pipe2.o, turb2.i) annotation( + Line(points = {{-26, -30}, {-22, -30}, {-22, -42}, {-6, -42}}, color = {0, 128, 255})); + connect(ramp.y, turb2.u_t) annotation( + Line(points = {{-14, 76}, {-12, 76}, {-12, -14}, {-4, -14}, {-4, -30}}, color = {0, 0, 127})); + annotation ( + Documentation(info = "Basic test of EpiricalTurbine model. Opening is kept constant.
Initial speed f_0 is set to 0.2 and the turbine is permitted to speed up as function of computed turbine torque Tt.

"), + experiment(StartTime = 0, StopTime = 30, Tolerance = 1e-06, Interval = 0.001)); + + +end Test06_Turbine; diff --git a/OpenHPLTest/EmpiricalTurbine/TurbineTest/Test07_Turbine.mo b/OpenHPLTest/EmpiricalTurbine/TurbineTest/Test07_Turbine.mo new file mode 100644 index 00000000..1aa3a449 --- /dev/null +++ b/OpenHPLTest/EmpiricalTurbine/TurbineTest/Test07_Turbine.mo @@ -0,0 +1,53 @@ +within OpenHPLTest.EmpiricalTurbine.TurbineTest; + +model Test07_Turbine +extends Modelica.Icons.Example; + inner OpenHPL.Data data annotation ( + Placement(transformation(origin = {-84, 82}, extent = {{-10, -10}, {10, 10}}))); + parameter Modelica.Units.SI.Height Hn=500; + Modelica.Units.SI.Height Ht1 "Turbine1 pressure head"; + Modelica.Units.SI.Height Ht2 "Turbine2 pressure head"; + + OpenHPL.Waterway.Reservoir overvann(h_0 = Hn, constantLevel = true) annotation ( + Placement(transformation(origin = {-80, 26}, extent = {{-10, -10}, {10, 10}}))); + OpenHPL.Waterway.Reservoir undervann(h_0 = 0, constantLevel = true) annotation ( + Placement(transformation(origin = {72, -16}, extent = {{10, -10}, {-10, 10}}, rotation = -0))); + OpenHPL.ElectroMech.Turbines.EmpiricalTurbine turbine( H_n = Hn, P_n = 1e7, p = 18,enable_nomSpeed = true, enable_f = true, f_0 = 1, fixed_iniSpeed = false ) annotation ( + Placement(transformation(origin = {12, 12}, extent = {{-10, -10}, {10, 10}}))); + Modelica.Blocks.Sources.Ramp ramp(height = 1, duration = 10, offset = 0, startTime = 5) annotation( + Placement(transformation(origin = {-26, 76}, extent = {{-10, -10}, {10, 10}}))); + OpenHPL.Waterway.Pipe pipe(H = 0, L = 1000, D_i = 1.128379167, SteadyState = true) annotation( + Placement(transformation(origin = {-38, 18}, extent = {{-10, -10}, {10, 10}}))); + OpenHPL.Waterway.Reservoir ov2(constantLevel = true, h_0 = Hn) annotation( + Placement(transformation(origin = {-80, -30}, extent = {{-10, -10}, {10, 10}}))); + OpenHPL.Waterway.Reservoir uv2(constantLevel = true, h_0 = 0) annotation( + Placement(transformation(origin = {70, -74}, extent = {{10, -10}, {-10, 10}}))); + OpenHPL.Waterway.Pipe pipe2(D_i = 1.128379167, H = 0, L = 1000, SteadyState = true) annotation( + Placement(transformation(origin = {-36, -30}, extent = {{-10, -10}, {10, 10}}))); + OpenHPL.ElectroMech.Turbines.Turbine turb2(ValveCapacity = false, H_n = Hn, Vdot_n = 2.15, f_0 = 1, enable_nomSpeed = true, enable_f = true) annotation( + Placement(transformation(origin = {4, -42}, extent = {{-10, -10}, {10, 10}}))); +equation + Ht1 = turbine.dp/(data.rho*data.g); + Ht2 = turb2.dp/(data.rho*data.g); + connect(turbine.o, undervann.o) annotation( + Line(points = {{22, 12}, {28, 12}, {28, -16}, {62, -16}}, color = {0, 128, 255})); + connect(ramp.y, turbine.u_t) annotation( + Line(points = {{-14, 76}, {4, 76}, {4, 24}}, color = {0, 0, 127})); + connect(overvann.o, pipe.i) annotation( + Line(points = {{-70, 26}, {-60, 26}, {-60, 18}, {-48, 18}}, color = {0, 128, 255})); + connect(pipe.o, turbine.i) annotation( + Line(points = {{-28, 18}, {-20, 18}, {-20, 12}, {2, 12}}, color = {0, 128, 255})); + connect(ov2.o, pipe2.i) annotation( + Line(points = {{-70, -30}, {-46, -30}}, color = {0, 128, 255})); + connect(turb2.o, uv2.o) annotation( + Line(points = {{14, -42}, {26, -42}, {26, -74}, {60, -74}}, color = {0, 128, 255})); + connect(pipe2.o, turb2.i) annotation( + Line(points = {{-26, -30}, {-22, -30}, {-22, -42}, {-6, -42}}, color = {0, 128, 255})); + connect(ramp.y, turb2.u_t) annotation( + Line(points = {{-14, 76}, {-12, 76}, {-12, -14}, {-4, -14}, {-4, -30}}, color = {0, 0, 127})); + annotation ( + Documentation(info = "Basic test of EpiricalTurbine model. Opening is kept constant.
Initial speed f_0 is set to 0.2 and the turbine is permitted to speed up as function of computed turbine torque Tt.

"), + experiment(StartTime = 0, StopTime = 30, Tolerance = 1e-06, Interval = 0.001)); + + +end Test07_Turbine; diff --git a/OpenHPLTest/EmpiricalTurbine/TurbineTest/Test_Turbine_Charactersistics.mo b/OpenHPLTest/EmpiricalTurbine/TurbineTest/Test_Turbine_Charactersistics.mo new file mode 100644 index 00000000..678deb9d --- /dev/null +++ b/OpenHPLTest/EmpiricalTurbine/TurbineTest/Test_Turbine_Charactersistics.mo @@ -0,0 +1,31 @@ +within OpenHPLTest.EmpiricalTurbine.TurbineTest; + +model Test_Turbine_Charactersistics + extends Modelica.Icons.Example; + // + Test05_Turbine t01(opening=0.1) annotation( + Placement(transformation(origin = {-60, 82}, extent = {{-10, -10}, {10, 10}}))); + Test05_Turbine t02(opening=0.2) annotation( + Placement(transformation(origin = {-2, 82}, extent = {{-10, -10}, {10, 10}}))); + Test05_Turbine t03(opening=0.3) annotation( + Placement(transformation(origin = {46, 84}, extent = {{-10, -10}, {10, 10}}))); + Test05_Turbine t04(opening=0.4) annotation( + Placement(transformation(origin = {-56, 50}, extent = {{-10, -10}, {10, 10}}))); + Test05_Turbine t05(opening=0.5) annotation( + Placement(transformation(origin = {-2, 46}, extent = {{-10, -10}, {10, 10}}))); + Test05_Turbine t06(opening=0.6) annotation( + Placement(transformation(origin = {50, 50}, extent = {{-10, -10}, {10, 10}}))); + Test05_Turbine t07(opening=0.7) annotation( + Placement(transformation(origin = {-60, 10}, extent = {{-10, -10}, {10, 10}}))); + Test05_Turbine t08(opening=0.8) annotation( + Placement(transformation(origin = {-8, 6}, extent = {{-10, -10}, {10, 10}}))); + Test05_Turbine t09(opening=0.9) annotation( + Placement(transformation(origin = {48, 8}, extent = {{-10, -10}, {10, 10}}))); + Test05_Turbine t10(opening=1.0) annotation( + Placement(transformation(origin = {-58, -28}, extent = {{-10, -10}, {10, 10}}))); + +equation + +annotation( + experiment(StartTime = 0, StopTime = 50, Tolerance = 1e-06, Interval = 0.005)); +end Test_Turbine_Charactersistics; diff --git a/OpenHPLTest/EmpiricalTurbine/TurbineTest/package.mo b/OpenHPLTest/EmpiricalTurbine/TurbineTest/package.mo new file mode 100644 index 00000000..d8210d6b --- /dev/null +++ b/OpenHPLTest/EmpiricalTurbine/TurbineTest/package.mo @@ -0,0 +1,17 @@ +within OpenHPLTest.EmpiricalTurbine; +package TurbineTest + extends Modelica.Icons.ExamplesPackage; + import Modelica.Units.SI; + + + + // + + + // + + + // + + // +end TurbineTest; diff --git a/OpenHPLTest/EmpiricalTurbine/TurbineTest/package.order b/OpenHPLTest/EmpiricalTurbine/TurbineTest/package.order new file mode 100644 index 00000000..49f8cc53 --- /dev/null +++ b/OpenHPLTest/EmpiricalTurbine/TurbineTest/package.order @@ -0,0 +1,8 @@ +Test02_Turbine +Test03_Turbine +Test04_Turbine +Test05_Turbine +Test01_Turbine +Test_Turbine_Charactersistics +Test06_Turbine +Test07_Turbine diff --git a/OpenHPLTest/EmpiricalTurbine/package.mo b/OpenHPLTest/EmpiricalTurbine/package.mo new file mode 100644 index 00000000..c186e192 --- /dev/null +++ b/OpenHPLTest/EmpiricalTurbine/package.mo @@ -0,0 +1,7 @@ +within OpenHPLTest; +package EmpiricalTurbine + extends Modelica.Icons.ExamplesPackage; + + + +end EmpiricalTurbine; diff --git a/OpenHPLTest/EmpiricalTurbine/package.order b/OpenHPLTest/EmpiricalTurbine/package.order new file mode 100644 index 00000000..15fb2fe1 --- /dev/null +++ b/OpenHPLTest/EmpiricalTurbine/package.order @@ -0,0 +1,2 @@ +Information +TurbineTest diff --git a/OpenHPLTest/TestPipe.mo b/OpenHPLTest/TestPipe.mo deleted file mode 100644 index 1148e236..00000000 --- a/OpenHPLTest/TestPipe.mo +++ /dev/null @@ -1,105 +0,0 @@ -within OpenHPLTest; - -package TestPipe - extends Modelica.Icons.ExamplesPackage; - - partial model AbstractTest - extends Modelica.Icons.Example; - // - inner OpenHPL.Data data(Vdot_0 = 0.0, p_a = 0.0, p_eps = 0.0) annotation( - Placement(transformation(origin = {-70, 70}, extent = {{-10, -10}, {10, 10}}))); - // - parameter Modelica.Units.SI.Length Ln = 1000.; - parameter Modelica.Units.SI.Length Dn = sqrt(A*4/Modelica.Constants.pi); - Real error; - OpenHPL.Waterway.Reservoir Upstream(h_0 = 100, constantLevel = true) annotation( - Placement(transformation(origin = {-50, 30}, extent = {{-10, -10}, {10, 10}}))); - OpenHPL.Waterway.Reservoir Downstream(constantLevel = true, h_0 = 0) annotation( - Placement(transformation(origin = {70, 10}, extent = {{10, -10}, {-10, 10}}))); - protected - constant Modelica.Units.SI.Area A = 0.1; - end AbstractTest; - - model Test01 - extends AbstractTest; - OpenHPL.Waterway.Pipe pipe1(H = 0, L = Ln, D_i = 0.8*Dn, D_o = 1.2*Dn) annotation( - Placement(transformation(origin = {0, 60}, extent = {{-10, -10}, {10, 10}}))); - OpenHPL.Waterway.Pipe pipe2(H = 0, L = Ln, D_i = Dn, D_o = Dn) annotation( - Placement(transformation(origin = {0, 30}, extent = {{-10, -10}, {10, 10}}))); - OpenHPL.Waterway.Pipe pipe3(H = 0, L = Ln, D_i = 1.2*Dn, D_o = 0.8*Dn) annotation( - Placement(transformation(extent = {{-10, -10}, {10, 10}}))); - equation - error=sqrt((pipe1.mdot-pipe2.mdot)^2 + (pipe2.mdot-pipe3.mdot)^2 + (pipe3.mdot-pipe1.mdot)^2); - connect(Upstream.o, pipe1.i) annotation( - Line(points = {{-40, 30}, {-20, 30}, {-20, 60}, {-10, 60}}, color = {0, 128, 255})); - connect(pipe2.i, Upstream.o) annotation( - Line(points = {{-10, 30}, {-40, 30}}, color = {0, 128, 255})); - connect(Upstream.o, pipe3.i) annotation( - Line(points = {{-40, 30}, {-20, 30}, {-20, 0}, {-10, 0}}, color = {0, 128, 255})); - connect(pipe1.o, Downstream.o) annotation( - Line(points = {{10, 60}, {50, 60}, {50, 10}, {60, 10}}, color = {0, 128, 255})); - connect(pipe2.o, Downstream.o) annotation( - Line(points = {{10, 30}, {50, 30}, {50, 10}, {60, 10}}, color = {0, 128, 255})); - connect(pipe3.o, Downstream.o) annotation( - Line(points = {{10, 0}, {50, 0}, {50, 10}, {60, 10}}, color = {0, 128, 255})); - annotation( - experiment(StartTime = 0, StopTime = 1, Tolerance = 1e-06, Interval = 0.002)); -end Test01; - - model Test02 - extends OpenHPLTest.TestPipe.Test01(data(SteadyState = true)); - equation - - end Test02; - - model Test03 - extends AbstractTest(data(SteadyState = true)); - - OpenHPL.Waterway.Pipe pipe1(H = 0, L = Ln, D_i = Dn) annotation( - Placement(transformation(origin = {0, 60}, extent = {{-10, -10}, {10, 10}}))); - OpenHPL.Waterway.Pipe pipe2(H = 0, L = Ln, D_i = Dn) annotation( - Placement(transformation(origin = {0, 30}, extent = {{-10, -10}, {10, 10}}))); - OpenHPL.Waterway.Pipe pipe3(H = 0, L = Ln, D_i = Dn) annotation( Placement(transformation(extent = {{-10, -10}, {10, 10}}))); - OpenHPL.Waterway.Valve valve1(ValveCapacity = false, H_n = 100, Vdot_n = 1) annotation( - Placement(transformation(origin = {30, 60}, extent = {{-10, -10}, {10, 10}}))); - OpenHPL.Waterway.Valve valve2(ValveCapacity = false, H_n = 100, Vdot_n = 1) annotation( - Placement(transformation(origin = {30, 30}, extent = {{-10, -10}, {10, 10}}))); - OpenHPL.Waterway.Valve valve3(ValveCapacity = false, H_n = 100, Vdot_n = 1) annotation( - Placement(transformation(origin = {30, 0}, extent = {{-10, 10}, {10, -10}}))); - Modelica.Blocks.Sources.Ramp ramp1(height = 1, duration = 5, offset = 0, startTime = 2) annotation( - Placement(transformation(origin = {80, 80}, extent = {{10, -10}, {-10, 10}}, rotation = -0))); - Modelica.Blocks.Sources.Ramp ramp2(duration = 5, height = 0.5, offset = 0.5, startTime = 2) annotation( - Placement(transformation(origin = {80, 50}, extent = {{10, -10}, {-10, 10}}))); - Modelica.Blocks.Sources.Ramp ramp3(duration = 5, height = -1, offset = 1, startTime = 2) annotation( - Placement(transformation(origin = {80, -20}, extent = {{10, -10}, {-10, 10}}))); - equation - error=sqrt((pipe1.mdot-pipe2.mdot)^2 + (pipe2.mdot-pipe3.mdot)^2 + (pipe3.mdot-pipe1.mdot)^2); - connect(pipe1.o, valve1.i) annotation( - Line(points = {{10, 60}, {20, 60}}, color = {0, 128, 255})); - connect(pipe2.o, valve2.i) annotation( - Line(points = {{10, 30}, {20, 30}}, color = {0, 128, 255})); - connect(pipe3.o, valve3.i) annotation( - Line(points = {{10, 0}, {20, 0}}, color = {0, 128, 255})); - connect(ramp1.y, valve1.opening) annotation( - Line(points = {{69, 80}, {30, 80}, {30, 68}}, color = {0, 0, 127})); - connect(valve1.o, Downstream.o) annotation( - Line(points = {{40, 60}, {52, 60}, {52, 10}, {62, 10}}, color = {0, 128, 255})); - connect(valve2.o, Downstream.o) annotation( - Line(points = {{40, 30}, {52, 30}, {52, 10}, {62, 10}}, color = {0, 128, 255})); - connect(ramp3.y, valve3.opening) annotation( - Line(points = {{69, -20}, {30, -20}, {30, -8}}, color = {0, 0, 127})); - connect(valve3.o, Downstream.o) annotation( - Line(points = {{40, 0}, {52, 0}, {52, 10}, {62, 10}}, color = {0, 128, 255})); - connect(valve2.opening, ramp2.y) annotation( - Line(points = {{30, 38}, {30, 50}, {70, 50}}, color = {0, 0, 127})); - connect(Upstream.o, pipe2.i) annotation( - Line(points = {{-40, 30}, {-10, 30}}, color = {0, 128, 255})); - connect(Upstream.o, pipe1.i) annotation( - Line(points = {{-40, 30}, {-20, 30}, {-20, 60}, {-10, 60}}, color = {0, 128, 255})); - connect(Upstream.o, pipe3.i) annotation( - Line(points = {{-40, 30}, {-20, 30}, {-20, 0}, {-10, 0}}, color = {0, 128, 255})); - annotation( - experiment(StartTime = 0, StopTime = 30, Tolerance = 1e-06, Interval = 0.001)); -end Test03; - -end TestPipe; \ No newline at end of file diff --git a/OpenHPLTest/TestPipe/AbstractTest.mo b/OpenHPLTest/TestPipe/AbstractTest.mo new file mode 100644 index 00000000..1f0f7c18 --- /dev/null +++ b/OpenHPLTest/TestPipe/AbstractTest.mo @@ -0,0 +1,17 @@ +within OpenHPLTest.TestPipe; +partial model AbstractTest + extends Modelica.Icons.Example; + // + inner OpenHPL.Data data(Vdot_0 = 0.0, p_a = 0.0, p_eps = 0.0) annotation ( + Placement(transformation(origin = {-70, 70}, extent = {{-10, -10}, {10, 10}}))); + // + parameter Modelica.Units.SI.Length Ln = 1000.; + parameter Modelica.Units.SI.Length Dn = sqrt(A*4/Modelica.Constants.pi); + Real error; + OpenHPL.Waterway.Reservoir Upstream(h_0 = 100, constantLevel = true) annotation ( + Placement(transformation(origin = {-50, 30}, extent = {{-10, -10}, {10, 10}}))); + OpenHPL.Waterway.Reservoir Downstream(constantLevel = true, h_0 = 0) annotation ( + Placement(transformation(origin = {70, 10}, extent = {{10, -10}, {-10, 10}}))); +protected + constant Modelica.Units.SI.Area A = 0.1; +end AbstractTest; diff --git a/OpenHPLTest/TestPipe/Test01.mo b/OpenHPLTest/TestPipe/Test01.mo new file mode 100644 index 00000000..76af1da9 --- /dev/null +++ b/OpenHPLTest/TestPipe/Test01.mo @@ -0,0 +1,26 @@ +within OpenHPLTest.TestPipe; +model Test01 + extends AbstractTest; + OpenHPL.Waterway.Pipe pipe1(H = 0, L = Ln, D_i = 0.8*Dn, D_o = 1.2*Dn) annotation ( + Placement(transformation(origin = {0, 60}, extent = {{-10, -10}, {10, 10}}))); + OpenHPL.Waterway.Pipe pipe2(H = 0, L = Ln, D_i = Dn, D_o = Dn) annotation ( + Placement(transformation(origin = {0, 30}, extent = {{-10, -10}, {10, 10}}))); + OpenHPL.Waterway.Pipe pipe3(H = 0, L = Ln, D_i = 1.2*Dn, D_o = 0.8*Dn) annotation ( + Placement(transformation(extent = {{-10, -10}, {10, 10}}))); +equation + error=sqrt((pipe1.mdot-pipe2.mdot)^2 + (pipe2.mdot-pipe3.mdot)^2 + (pipe3.mdot-pipe1.mdot)^2); +connect(Upstream.o, pipe1.i) annotation ( + Line(points = {{-40, 30}, {-20, 30}, {-20, 60}, {-10, 60}}, color = {0, 128, 255})); +connect(pipe2.i, Upstream.o) annotation ( + Line(points = {{-10, 30}, {-40, 30}}, color = {0, 128, 255})); +connect(Upstream.o, pipe3.i) annotation ( + Line(points = {{-40, 30}, {-20, 30}, {-20, 0}, {-10, 0}}, color = {0, 128, 255})); +connect(pipe1.o, Downstream.o) annotation ( + Line(points = {{10, 60}, {50, 60}, {50, 10}, {60, 10}}, color = {0, 128, 255})); +connect(pipe2.o, Downstream.o) annotation ( + Line(points = {{10, 30}, {50, 30}, {50, 10}, {60, 10}}, color = {0, 128, 255})); +connect(pipe3.o, Downstream.o) annotation ( + Line(points = {{10, 0}, {50, 0}, {50, 10}, {60, 10}}, color = {0, 128, 255})); +annotation ( + experiment(StartTime = 0, StopTime = 1, Tolerance = 1e-06, Interval = 0.002)); +end Test01; diff --git a/OpenHPLTest/TestPipe/Test02.mo b/OpenHPLTest/TestPipe/Test02.mo new file mode 100644 index 00000000..024ff015 --- /dev/null +++ b/OpenHPLTest/TestPipe/Test02.mo @@ -0,0 +1,6 @@ +within OpenHPLTest.TestPipe; +model Test02 + extends OpenHPLTest.TestPipe.Test01(data(SteadyState=true)); +equation + +end Test02; diff --git a/OpenHPLTest/TestPipe/Test03.mo b/OpenHPLTest/TestPipe/Test03.mo new file mode 100644 index 00000000..cd4bb21f --- /dev/null +++ b/OpenHPLTest/TestPipe/Test03.mo @@ -0,0 +1,50 @@ +within OpenHPLTest.TestPipe; +model Test03 + extends AbstractTest(data(SteadyState = true)); + + OpenHPL.Waterway.Pipe pipe1(H = 0, L = Ln, D_i = Dn) annotation ( + Placement(transformation(origin = {0, 60}, extent = {{-10, -10}, {10, 10}}))); + OpenHPL.Waterway.Pipe pipe2(H = 0, L = Ln, D_i = Dn) annotation ( + Placement(transformation(origin = {0, 30}, extent = {{-10, -10}, {10, 10}}))); + OpenHPL.Waterway.Pipe pipe3(H = 0, L = Ln, D_i = Dn) annotation ( Placement(transformation(extent = {{-10, -10}, {10, 10}}))); + OpenHPL.Waterway.Valve valve1(ValveCapacity = false, H_n = 100, Vdot_n = 1) annotation ( + Placement(transformation(origin = {30, 60}, extent = {{-10, -10}, {10, 10}}))); + OpenHPL.Waterway.Valve valve2(ValveCapacity = false, H_n = 100, Vdot_n = 1) annotation ( + Placement(transformation(origin = {30, 30}, extent = {{-10, -10}, {10, 10}}))); + OpenHPL.Waterway.Valve valve3(ValveCapacity = false, H_n = 100, Vdot_n = 1) annotation ( + Placement(transformation(origin = {30, 0}, extent = {{-10, 10}, {10, -10}}))); + Modelica.Blocks.Sources.Ramp ramp1(height = 1, duration = 5, offset = 0, startTime = 2) annotation ( + Placement(transformation(origin = {80, 80}, extent = {{10, -10}, {-10, 10}}, rotation = -0))); + Modelica.Blocks.Sources.Ramp ramp2(duration = 5, height = 0.5, offset = 0.5, startTime = 2) annotation ( + Placement(transformation(origin = {80, 50}, extent = {{10, -10}, {-10, 10}}))); + Modelica.Blocks.Sources.Ramp ramp3(duration = 5, height = -1, offset = 1, startTime = 2) annotation ( + Placement(transformation(origin = {80, -20}, extent = {{10, -10}, {-10, 10}}))); +equation +error=sqrt((pipe1.mdot-pipe2.mdot)^2 + (pipe2.mdot-pipe3.mdot)^2 + (pipe3.mdot-pipe1.mdot)^2); +connect(pipe1.o, valve1.i) annotation ( + Line(points = {{10, 60}, {20, 60}}, color = {0, 128, 255})); +connect(pipe2.o, valve2.i) annotation ( + Line(points = {{10, 30}, {20, 30}}, color = {0, 128, 255})); +connect(pipe3.o, valve3.i) annotation ( + Line(points = {{10, 0}, {20, 0}}, color = {0, 128, 255})); +connect(ramp1.y, valve1.opening) annotation ( + Line(points = {{69, 80}, {30, 80}, {30, 68}}, color = {0, 0, 127})); +connect(valve1.o, Downstream.o) annotation ( + Line(points = {{40, 60}, {52, 60}, {52, 10}, {62, 10}}, color = {0, 128, 255})); +connect(valve2.o, Downstream.o) annotation ( + Line(points = {{40, 30}, {52, 30}, {52, 10}, {62, 10}}, color = {0, 128, 255})); +connect(ramp3.y, valve3.opening) annotation ( + Line(points = {{69, -20}, {30, -20}, {30, -8}}, color = {0, 0, 127})); +connect(valve3.o, Downstream.o) annotation ( + Line(points = {{40, 0}, {52, 0}, {52, 10}, {62, 10}}, color = {0, 128, 255})); +connect(valve2.opening, ramp2.y) annotation ( + Line(points = {{30, 38}, {30, 50}, {70, 50}}, color = {0, 0, 127})); +connect(Upstream.o, pipe2.i) annotation ( + Line(points = {{-40, 30}, {-10, 30}}, color = {0, 128, 255})); +connect(Upstream.o, pipe1.i) annotation ( + Line(points = {{-40, 30}, {-20, 30}, {-20, 60}, {-10, 60}}, color = {0, 128, 255})); +connect(Upstream.o, pipe3.i) annotation ( + Line(points = {{-40, 30}, {-20, 30}, {-20, 0}, {-10, 0}}, color = {0, 128, 255})); +annotation ( + experiment(StartTime = 0, StopTime = 30, Tolerance = 1e-06, Interval = 0.001)); +end Test03; diff --git a/OpenHPLTest/TestPipe/package.mo b/OpenHPLTest/TestPipe/package.mo new file mode 100644 index 00000000..36e1c480 --- /dev/null +++ b/OpenHPLTest/TestPipe/package.mo @@ -0,0 +1,9 @@ +within OpenHPLTest; +package TestPipe + extends Modelica.Icons.ExamplesPackage; + + + + + +end TestPipe; diff --git a/OpenHPLTest/TestPipe/package.order b/OpenHPLTest/TestPipe/package.order new file mode 100644 index 00000000..fcf8ae36 --- /dev/null +++ b/OpenHPLTest/TestPipe/package.order @@ -0,0 +1,4 @@ +AbstractTest +Test01 +Test02 +Test03 diff --git a/OpenHPLTest/TorqueEquation.mo b/OpenHPLTest/TorqueEquation.mo deleted file mode 100644 index ed03c8b1..00000000 --- a/OpenHPLTest/TorqueEquation.mo +++ /dev/null @@ -1,37 +0,0 @@ -within OpenHPLTest; - -package TorqueEquation - extends Modelica.Icons.ExamplesPackage; - import SI = Modelica.Units.SI; - // - - model TorqueElement - extends OpenHPL.Icons.ElectroMech; - extends OpenHPL.ElectroMech.BaseClasses.TorqueEquation; - equation - - end TorqueElement; - - model TorqueTest - extends Modelica.Icons.Example; - // - parameter SI.Torque shaftTorque0 = 1.e+03; - SI.Torque shaftTorque; - inner OpenHPL.Data data annotation( - Placement(transformation(origin = {-52, 74}, extent = {{-10, -10}, {10, 10}}))); - TorqueElement te1(J = 10, f_0 = 0, torque(y = shaftTorque), enable_f = true, p = 10) annotation( - Placement(transformation(origin = {-30, 52}, extent = {{-10, -10}, {10, 10}}))); - TorqueElement te2(J = 10, f_0 = 0, torque(y = shaftTorque), enable_f = true, p = 22) annotation( - Placement(transformation(origin = {-30, 24}, extent = {{-10, -10}, {10, 10}}))); - equation - if (time > 0.1 and time < 0.4) then - shaftTorque = shaftTorque0; - elseif (time > 0.5 and time < 0.8) then - shaftTorque = -shaftTorque0; - else - shaftTorque = 0.0; - end if; - annotation( - Diagram(coordinateSystem(extent = {{-80, 80}, {-20, 0}}))); -end TorqueTest; -end TorqueEquation; diff --git a/OpenHPLTest/TorqueEquation/TorqueElement.mo b/OpenHPLTest/TorqueEquation/TorqueElement.mo new file mode 100644 index 00000000..5b247266 --- /dev/null +++ b/OpenHPLTest/TorqueEquation/TorqueElement.mo @@ -0,0 +1,7 @@ +within OpenHPLTest.TorqueEquation; +model TorqueElement + extends OpenHPL.Icons.ElectroMech; + extends OpenHPL.ElectroMech.BaseClasses.TorqueEquation; +equation + +end TorqueElement; diff --git a/OpenHPLTest/TorqueEquation/TorqueTest.mo b/OpenHPLTest/TorqueEquation/TorqueTest.mo new file mode 100644 index 00000000..b364afb2 --- /dev/null +++ b/OpenHPLTest/TorqueEquation/TorqueTest.mo @@ -0,0 +1,23 @@ +within OpenHPLTest.TorqueEquation; +model TorqueTest + extends Modelica.Icons.Example; + // + parameter SI.Torque shaftTorque0 = 1.e+03; + SI.Torque shaftTorque; + inner OpenHPL.Data data annotation ( + Placement(transformation(origin = {-52, 74}, extent = {{-10, -10}, {10, 10}}))); + TorqueElement te1(J = 10, f_0 = 0, torque(y = shaftTorque), enable_f = true, p = 10) annotation ( + Placement(transformation(origin = {-30, 52}, extent = {{-10, -10}, {10, 10}}))); + TorqueElement te2(J = 10, f_0 = 0, torque(y = shaftTorque), enable_f = true, p = 22) annotation ( + Placement(transformation(origin = {-30, 24}, extent = {{-10, -10}, {10, 10}}))); +equation + if (time > 0.1 and time < 0.4) then + shaftTorque = shaftTorque0; + elseif (time > 0.5 and time < 0.8) then + shaftTorque = -shaftTorque0; + else + shaftTorque = 0.0; + end if; +annotation ( + Diagram(coordinateSystem(extent = {{-80, 80}, {-20, 0}}))); +end TorqueTest; diff --git a/OpenHPLTest/TorqueEquation/package.mo b/OpenHPLTest/TorqueEquation/package.mo new file mode 100644 index 00000000..d6edd2d7 --- /dev/null +++ b/OpenHPLTest/TorqueEquation/package.mo @@ -0,0 +1,8 @@ +within OpenHPLTest; +package TorqueEquation + extends Modelica.Icons.ExamplesPackage; + import Modelica.Units.SI; + // + + +end TorqueEquation; diff --git a/OpenHPLTest/TorqueEquation/package.order b/OpenHPLTest/TorqueEquation/package.order new file mode 100644 index 00000000..cad0b912 --- /dev/null +++ b/OpenHPLTest/TorqueEquation/package.order @@ -0,0 +1,2 @@ +TorqueElement +TorqueTest diff --git a/OpenHPLTest/package.mo b/OpenHPLTest/package.mo index bf26e7bd..e9099d6e 100644 --- a/OpenHPLTest/package.mo +++ b/OpenHPLTest/package.mo @@ -3,6 +3,7 @@ package OpenHPLTest "Test library for OpenHPL" extends Modelica.Icons.ExamplesPackage; extends Modelica.Icons.UnderConstruction; + annotation (uses( Modelica(version="4.0.0"), OpenHPL(version="3.0.0"), diff --git a/OpenHPLTest/package.order b/OpenHPLTest/package.order index e2e7c76f..24d43dbb 100644 --- a/OpenHPLTest/package.order +++ b/OpenHPLTest/package.order @@ -1,74 +1,4 @@ +EmpiricalTurbine TestPipe TorqueEquation -OpenChannel -Reservoir -TestMCB -TorpaHPPAirCushionTest -TorpaHPPAirCushionTest2 -HPTaperedFittingsTest -HPSquareFittingsTest -HPAllTypeFittingsTest -HPSimpleElasticPenstock -HPSimpleElasticPenstockWithoutSurge -HPElasticKPPenstock -HPElasticKPPenstockCompres -HPElasticKPPenstockWithoutSurge -HPElasticKPPenstockANDIntake -HPElasticKPPenstockHalfSurgeD -TestFitingSimpleHP -HPSimplePenstockControl -HPSimplePenstockAutoRefGate -HPSimplePenstockResKP -HPSimplePenstockOpenChannel -HPSimplePenstockGeneratorTest -HPSimplePenstockFrancis -HPSimplePenstockFrancisGener -HPSimplePenstockFrancis2 -CaseStudingValentynasCase -HPSimplePenstockPelton -TestRunoff -HPElasticKPPenstockFrancis -HPElasticKPPenstockFrancisGov -HPLiniarization -HPLiniarizationKP -HPLiniarizationFranGen -HPLiniarizationKPFran -HPLinTest -HPSimplePenstockFrancisGenIPSL -HPSimplePenstockFrancisGenIPSLGov -HPSimplePenstockFrancisGenIPSLInfBus -HPLiniarizationGenIPSL -HPLiniarizationGenIPSLKP -HPModel -HPModelDEA -HPBjarneBorresen -HPModelLin -HPModelLinPI -HPModelKPLin -HPModelObserv -HPModelKPLinPI -HPModelObservSim -HPLiniarization2 -HPModelManLin -HPLiniarization3 -HPLiniarization4 -HydroCordModel -HydroCordModelKP -HydroCordModelFrancis -HydroCordModelKPall -HydroCordModelFrancis2 -HydroCordModelKP2 -HydroCordModel2 -HydroCordModelKPFran -HydroCordModelKPFran2 -HydroCordModelDraftTube -HydroCordModelDraftTube2 -HydroCordModelKPDraftTube -HydroCordModelFrancisDraftTube -HydroCordModeKPlFrancisDraftTube -HydroCordModelDraftTube3 -HPDraftTube -HPSTSimple -HPSTAirCushion -HPSTSharpOrifice -HPSTThrottleValve +Archive