MATLAB Answers

How to model a catch basin in simscape fluids

11 views (last 30 days)
HiWave on 27 Feb 2021
Answered: Juan Sagarduy on 3 Mar 2021
I've been playing around with Simscape fluids and I was able to contruct a simple test case. It consits of a constant head tank and an elevation pipe. The tank fluid level is set to 1m and the beginning volume is 0. The tank outlet is connected to one end of the elevation pipe, which is set to 0m. The other end of the elevation pipe is set to 1m. Currently, I connect the higher end of the elevation pipe to a hydraulic reference, which is the same pressure I have in the tank.
I run the simulation and the flow through the system is basically zero (some numerical noise). This is what I expect. When I lower the 1m hose elevation to say 0.5m elevation, I see a volume flow out of the tank (negative values). Again, this is what I expect.
However, if I raise the 1m hose elevation to say 2m elevation, I see a volume flow into the tank (positive values...WAY larger than any leaking or noise). This is not what expect. It's as if the hydraulic reference is a souce of hydraulic fluid.
I've tried adding another tank to the system to replace the hydraulic reference, which works. However, I can't figure out how to configure it as a "catchment basin" which only allows water to enter, but not leave. I always see a back flow. For now, I'm using a check valve to simulate the behaviour I expect, but this seems a bit adhoc compared to the library options.
Is there a proper tool to catch hydraulic fluid in a "one way basin"?
A practical example...imagine a garden hose running up hill to fill a pool. The end of the hose is not in the's in my hand. When my son turns on the water and the pressure is high enough, water will shoot out the end of the hose. When he shuts off the water supply, water just stops flowing. My simscape model is pushing water back down the hose (via some source), which is wrong. Unless I put a check valve at the end, I can't figure out how to stop water from rushing back down the hose.
Now that I think about it, the check valve is wrong. While it does prevent back flow, it creates a negative pressure in the hose when the flow is shut off. There should be some other way to allow fluid to flow out the hose, but not back in, without causing a drop in pressure when the flow is shut off. Again, I tried the hydraulic reference, but it acts as a fluid source, which is not what I'm trying to model at the elevated end of the hose.

Answers (1)

Juan Sagarduy
Juan Sagarduy on 3 Mar 2021
Hi there
I think that the best way to solve that problem is to use a Local Resistance (Isothermal Liquid) between the end of the hose and the sink on top of the hill. You need to set up the loss coefficient from B to A (downwards for the fluid) to a high value (hence making flow in this direction very difficult). The coefficient from A to B (upwards for the fluid) can live with a default value 1. I attach a model that I believe captures what you meant.
Enjoy / Juan





Community Treasure Hunt

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

Start Hunting!

Translated by