diff --git a/FluidDynamics/Components/Machines/ControlledVolumeFlowPump.mo b/FluidDynamics/Components/Machines/ControlledVolumeFlowPump.mo index e8befc9f928bee2c1c31aacd4ffa76606f8dd296..098650849301601fa1fbc75665e728b42040df8d 100644 --- a/FluidDynamics/Components/Machines/ControlledVolumeFlowPump.mo +++ b/FluidDynamics/Components/Machines/ControlledVolumeFlowPump.mo @@ -50,7 +50,7 @@ equation V_flow = m_flow / d ; d = Medium.density(state) ; head = -dp/(d*Modelica.Constants.g_n) ; - P = -dp*V_flow/eta ; + P = -dp*V_flow/eta; // Ports handover // port_a @@ -60,7 +60,7 @@ equation port_a.C_outflow = if checkValve then inStream(port_a.C_outflow) else inStream(port_b.C_outflow) ; // port_b port_a.m_flow + port_b.m_flow = 0.0 ; - P = m_flow * (port_b.h_outflow - inStream(port_a.h_outflow)) ; + port_b.h_outflow = noEvent(if abs(m_flow)>10*Modelica.Constants.eps then P/m_flow+inStream(port_a.h_outflow) else inStream(port_a.h_outflow)); port_b.Xi_outflow = inStream(port_a.Xi_outflow) ; port_b.C_outflow = inStream(port_a.C_outflow) ;