Clear Filters
Clear Filters

In a Simscape Fluids/Hydraulic/IL centrifugal pump model, why is the flow higher after narrow pipe than directly after the pump?

18 views (last 30 days)
I'm creating a centrifugal pump system where a fluid is pumped from one tank to another. See the first figure. The tanks have small drain where the fluid flows out. After tank 1, a centrifugal pump moves at constant speed to transport the fluid to another tank. Eventually I want to add a control valve before this tank. However, I encounter some issues with this first model.
The flow after the pump (V flow) is slightly lower than the flow after the frictionous pipe (V Flow4), which seems illogical. See below.
I tried to find the cause for this but only have found one strange part and that is that the fluid density in the pump changes:
How can I set this to constant? And could this be the cause for the increased flow after friction?
Also, if you have general comments on my model I am pleased to hear as I cannot find similar models online.
My centrifugal pump is a isothermal Simscape block and is modelled with 1D tabulated data as:
Here, Qpump,Hpump and Ppump are parameter vectors derived from a manufacturer's tests.

Accepted Answer

Yifeng Tang
Yifeng Tang on 12 May 2023
In the Isothermal Liquid domain, the density of the fluid is a function of the pressure. See this documentation page: So as the pressure changes, the density also changes, and to conserve the mass flowrate, the volumetric flowrate will change a little bit.
This conservation of mass flowrate vs volumetric flowrate is indeed the major differences between the principles for the isothermal liquid domain vs the hydraulic domain. You can read more about it here: Conservation of mass is more physically correct, (hopefully that's obvious).
At the outlet of the pump, the pressure is the highest, and so is the density, so the volumetric flow rate will be slight lower than after the pipe, where the pressure and the density dropped a little. I would say what you observed in the change of volumetric flowrate is reasonable and physically more correct than it not changing at all.
A few other comments on the model:
1) the PS-Simulink converter allows you to specify a unit. You can type any unit or combine units together, as long as it makes sense. This way you won't need the gain block to correct the unit.
2) that pressure sensor doesn't look right. Across variable sensors (pressure, voltage, velocity, temperature ...) measures the difference between the A-B ports. So you connect them across two points to measure the pressure difference. If you want the absolute pressure, you need to connect B to an absolute reference block (there is one in Elements in each domain). The newest version of Simscape allows you to skip this reference connection and specify absolute measurement in the sensor itself.
3) I guess the purpose of using the Hydraulic-Isothermal connection is to use the liquid properties from the hydraulic liquid block? If the isothermal liquid fluids property block doesn't contain the liquid you want to use, you can query the property from the hydraulic liquid library using the "sh_stockfluidproperties" command. See more details here: You can then put the viscosity, density, modulus numbers into the isothermal liquid property block to get the same physical properties.
Hope this helps.
Yifeng Tang
Yifeng Tang on 15 May 2023
IL doesn't model any temperature variation as a function of time or location in the model, compared to TL. But less equations usually also mean faster simulation. So, depending on whether temperature change is important for you, choose IL/TL accordingly. IL is always better than the Hydraulic domain: more numerically stable and accurate. Here is a table that helps you choose which fluid domain to use:
For you pump parametrization, using volumetric flow is the only option and I believe most technical data are reported using volumetric flowrate. The code of the pump block still works based on the conservation of energy and it uses the provide "reference density" parameter to do the conversion.
1) Hour is specified as "hr" in Simscape unit. "m^3/hr" should work. See the complete list of default Simscape unit here:
3) what you have now in the model is NOT wrong; just look strange and unnecessary :p And if you are presenting this model to communicate your work, it's likely to raise questions. You may use the Reservoir (IL) as "hydraulic reference". You already have one in your model as the outlet.
DB on 16 May 2023
1) Hr did it. Thank you so much.
3) Good tip. I guess it is just easier, but not necessarily better looking.

Sign in to comment.

More Answers (0)


Find more on Upgrading Hydraulic Models to Use Isothermal Liquid Blocks in Help Center and File Exchange




Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!