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. +

", revisions="