MATLAB: Extremely small flow rates


I am building a system where a hydraulic pump/motor uses a angular/torque source to draw fluid from a reservoir into a gas charged accumulator, when the gas charged accumulator is filled up and pressurised, the fluid is released and powers the pump/motor, the fluid travels to the reservoir and the cycle repeats. With some help from the MATLAB community, I have a working system, however the flow rates measured by the sensor are extremely low to the magnitude of 10^-7, and I don't know why that is. Also the cycle does not repeat. Capacity for both accumulator and reservoir are 40L and pre-load pressure 5e-3. Changing the angular velocity doesn't effect the results. Ode23 is used.

Best Answer

  • I see a few things that could contribute:
    1. The Variable Displacement Hydraulic Machine block has nothing connected to the "C" port. It's therefore probably assuming zero displacement and that could also be why you have no flow rates :)
    2. The Pressure Relief Valve is in series with the pump, but shouldn't it be in parallel thus causing the pump to be able to move fluid from the tank to the accumulator?
    3. The Display block will only show you the flow rate from the latest time-step that executed. Usually, dynamic simulations are much faster than our eyes can process and I'm guessing your simulation is done when you took this screenshot. Given that this is the last value, it's probably after you reached steady-state and the flow is therefore expected to be very close to zero.
    If you put a Scope block there instead, you can track the entire time history of your flow rate, and you might see more interesting information during the transient stages.
    Note that you may have to go into the Scope block's settings (the gear button), go to the "History" tab, and make sure your data points are not limited.
    - Sebastian