Showing results for 
Search instead for 
Do you mean 
Solved! Go to solution

Backward flow between two tanks

Hello Smiley Happy

I have one question concerning hydraulics components:


I have two tanks (submodel TK10) T1 and T2 connected through a pump. I pump from an initial water column in T1 to an initially empty T2. And at some point before T1 empties I stop the pump.
As there is no check valve between the two tanks, the liquid should flow backwards through the pump if e.g. the flow of the pump goes into T2 at the bottom of the tank (so one side of the pump has the water column pressure of T2 while T1 is emptier now and has less pressure at the bottom port)


I do not get the behaviour. I thought the backwards flow through pump submodel is allowed if the pressure difference between its port changes "sign".

Am I doing something wrong? 


Thanks in advance!

Accepted by topic author AC1
‎10-27-2016 01:16 PM

Re: Backward flow between two tanks



I see two ways to improve your model:

  • at the moment, you are connecting the pump to the 'top port' of tank 2. This is a filling port - similar to a tap above the tank - so this port will never see the additional pressure due to the height of fluid. As a remedy you can connect the pump to the bottom port in order to take that into account - see attached suggestion at the bottom.
  • the speed of the pump is fixed and I assume that the speed is zero when you stop the pump. With a fixed displacement pump that will force the flow rate to be zero whatever the pressure difference is - see the documentation of the pump submodel you are using. An alternative could be to consider the pump inertia and impose a torque on that inertia and make that torque zero when you are stopping the pump. This will allow the pump inertia to reverse rotation when the pressure difference changes sign, indeed the pressure difference will generate a torque which will now move the pump backwards. See the difference in connections below. In your model the speed of the motor is forced and the torque from the pump is ignored in that case:


Whereas connecting an inertia will allow to make a torque balance:



Model structure:


Re: Backward flow between two tanks

One question regarding the same model/topic:

What if the tank at the left in your last model is physically higher than the other one (bottom part of left tank is higher than highest side of right tank). I have tried to model this by choosing another submodel of the pipe that goes from the pump to the left tank in which you can parametrize +90 degrees (pipe in vertical) and say its lenght is longer than the height of the tank at the right. But it doesnt seem to work ("doesnt flow backwards") and I do not know where I am making the mistake. Am I understanding the pump submodel wrong again?

Re: Backward flow between two tanks

Hi AC1,


I can't reproduce the issue locally and in my model it does flow backwards. Actually the pump doesn't even overcome the gravity (I did set ridiculous height...).



Pay attention to the sign of the angle +90 or -90 degree.

This depends on how your line was connected - check port positions on the sketch, for me it has to be -90 degree.

Re: Backward flow between two tanks

Hi and thanks again for the fast reply!

I found the error: i had a controller that was controlling the height of the left tank and a signal for pump on/off. I had connected that switching signal wrong and in the end it was like i had my controller with a 0 reference when the pump was switch off and therefore always forcing 0 rpm to the pump submodel. That is why the flow was zero even though the height of the pipe and pressure drop was right.

Hope it helps others!