diff --git a/IBPSA/Fluid/Movers/BaseClasses/FlowMachineInterface.mo b/IBPSA/Fluid/Movers/BaseClasses/FlowMachineInterface.mo
index e6a2634f88..def73223ca 100644
--- a/IBPSA/Fluid/Movers/BaseClasses/FlowMachineInterface.mo
+++ b/IBPSA/Fluid/Movers/BaseClasses/FlowMachineInterface.mo
@@ -484,7 +484,10 @@ equation
end if;
// Flow work
- WFlo = dp_internal*V_flow;
+ WFlo = IBPSA.Utilities.Math.Functions.smoothMax(
+ x1=dp_internal*V_flow,
+ x2=0,
+ deltaX=1E-4*dpMax*V_flow_max);
// Power consumption
if per.use_powerCharacteristic then
@@ -665,10 +668,25 @@ point is added and where two additional points are added.
The parameter curve
causes the correct data record
to be used during the simulation.
+In order to prevent the model from producing negative mover power +when either the flow rate or pressure rise is forced to be negative, +the flow work Ẇflo is constrained to be non-negative. +The regularisation starts around 0.01% of the characteristic maximum power +Ẇmax = V̇max Δpmax. +See discussions and an example of this situation in +IBPSA, #1621. +