Pump head characteristic in the form head = affinityLaw *
f(V_flow, V_flow_curve, head_curve, N/N_nominal), solving
for head given volumetric flow. The affinity-law factor used here
is affinityLaw = (N/N_nominal)²
(diameter/diameter_nominal)², applied to the head output
only.
If checkValve = true, a parametric s
abscissa with a homotopy transition is used so that
reverse flow is suppressed below the closing point of the curve.
The homotopy fallback expression at s = 0 uses
head_start, evaluated once at parameter time from the
same curve.
The spline tangents d_curve are computed once as a
final parameter and passed to
Functions.PerformanceCurve on every call (including the
head_start parameter evaluation). This keeps
splineDerivatives out of the time-derivative chain and
enables analytic Jacobians.