modelPerformanceCurve
Extends from PartialFlowChar (Base class for pump flow characteristics. Extending class solves for head.).
Information
Pump flow characteristic in the inverted form
V_flow = affinityLaw_flow * f(head/affinityLaw_head, head_curve, V_flow_curve, N/N_nominal),
solving for volumetric flow given head. The affinity laws appear on both axes: the head input is
divided by (N/N_nom)² to look up the curve at nominal-speed coordinates, and the
returned nominal flow is multiplied by (N/N_nom) to give actual flow.
The spline tangents d_curve are computed once as a final parameter from
head_curve and V_flow_curve, and passed explicitly to
TRANSFORM.Math.PerformanceCurve.
This keeps splineDerivatives out of the time-derivative chain and lets Dymola build
analytic Jacobians.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| SI.Height[:] | head_curve | {0, head_nominal, 2*head_nominal} | Pump head nominal operating points |
| SI.VolumeFlowRate[size(head_curve, 1)] | V_flow_curve | {1.5*V_flow_nominal, V_flow_nominal, 0} | Volume flow rate nominal operating points (single pump) |
| Real[size(head_curve, 1)] | d_curve | TRANSFORM.Math.splineDerivatives(x = head_curve, y = V_flow_curve, ensureMonotonicity = TRANSFORM.Math.isMonotonic(x = V_flow_curve, strict = false)) | Spline tangents at the support points (precomputed once for analytic derivative) |
| Internal Interface › Initialization | |||
| SI.VolumeFlowRate | V_flow_start (from PartialFlowChar) | ||
| SI.Height | head_start (from PartialFlowChar) | ||
| Internal Interface › Nominal Operating Parameters | |||
| Modelica.Units.NonSI.AngularVelocity_rpm | N_nominal (from PartialFlowChar) | Pump speed | |
| SI.Length | diameter_nominal (from PartialFlowChar) | Impeller Diameter | |
| SI.VolumeFlowRate | V_flow_nominal (from PartialFlowChar) | Nominal volumetric flow rate | |
| SI.Height | head_nominal (from PartialFlowChar) | Nominal head | |
| Advanced | |||
| Boolean | checkValve (from PartialFlowChar) | false | =true then no reverse flow |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| SI.PressureDifference | dp (from PartialFlowChar) | ||
| Medium.ThermodynamicState | state (from PartialFlowChar) | Thermodynamic state | |
| Modelica.Units.NonSI.AngularVelocity_rpm | N (from PartialFlowChar) | Pump speed | |
| SI.Length | diameter (from PartialFlowChar) | Impeller Diameter | |
| SI.Height | head (from PartialFlowChar) | Pump pressure head | |
| SI.VolumeFlowRate | V_flow (from PartialFlowChar) | Flow rate | |
| Units.NonDim | affinityLaw_flow (from PartialFlowChar) | (N/N_nominal)*(diameter/diameter_nominal)^3 | Affinity law for scaling |
| Units.NonDim | affinityLaw_head (from PartialFlowChar) | (N/N_nominal)^2*(diameter/diameter_nominal)^2 | Affinity law for scaling |
| Real | s | Curvilinear abscissa for the flow curve |