Find peak condition from power characteristics
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
IDEAS.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 IDEAS.Fluid.Movers.BaseClasses.Characteristics.flowParameters pressure "Pressure vs. flow rate";
input BaseClasses.Characteristics.powerParameters power "Power vs. flow rate";
output IDEAS.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 2026-04-04T18:18:28Z by OpenModelicaOpenModelica 1.26.3 using
GenerateDoc.mos