This function finds or estimates the peak point
(V̇,Δp,η)|η=ηmax
from the input power curve P(V̇)
and pressure curve Δp(V̇)
which may or may not contain non-zero values.
The results are output as an instance of
AixLib.Fluid.Movers.BaseClasses.Euler.peak.
There are the following branches of computation based on information provided
to the function:
-
If Δp(V̇) is unavailable, the function simply outputs
(0,0,0.7).
-
If Δp(V̇) is provided but P(V̇) is unavailable,
the function provides an estimation of the peak point at half of max flow rate
(V̇max ⁄ 2,
Δp(V̇=V̇max ⁄ 2),
0.7).
-
If both Δp(V̇) and P(V̇) are available,
the function first computes
η(V̇)=V̇ Δp ⁄ P.
-
If η(V̇) has less than four data points or is monotonic,
use one of the two which ever produces a higher η:
-
The interpolated point at half of max flow rate
(V̇max ⁄ 2,
Δp(V̇=V̇max ⁄ 2),
η(V̇=V̇max ⁄ 2))
-
The available point with the highest computed efficiency.
-
Otherwise, the function runs a quartic regression on η(V̇)
then solves its derivative to find an extremum.
It assumes that there is only one extremum on the open interval
(0,V̇max).
function getPeak
extends Modelica.Icons.Function;
input AixLib.Fluid.Movers.BaseClasses.Characteristics.flowParameters pressure "Pressure vs. flow rate";
input BaseClasses.Characteristics.powerParameters power "Power vs. flow rate";
output AixLib.Fluid.Movers.BaseClasses.Euler.peak peak "Operation point at maximum efficiency";
end getPeak;
-
August 18, 2022, by Hongxiang Fu:
First implementation. This is for
#2668.
Generated at 2024-12-04T19:25:49Z
by OpenModelicaOpenModelica 1.24.2 using GenerateDoc.mos