Problem replicating the Venturi effect (pressure rise from small area to large area) with Simscape Gas

I'm trying to create a minimal model in Simscape to replicate the Venturi effect in a Simscape Gas model: Gas is flowing from point A to point B, and the cross-sectional area of the duct at point A is smaller than B; as a result, the static pressure at A must be lower than B (assuming negligible energy loss from A to B).
I tried two different setups to replicate this. First, I used a "Local Restriction (G)" block (with a fixed restriction area), which has this orifice structure built in. The flow is provided by a Flow Rate Source block, and I added a Flow Resistance block downstream to allow the pressure at the port B of the Local Restriction to vary. Here is a screenshot of the model:
I expect that at least for some combination of restriction area and flow rate, the pressure at the restriction, p_R, must be lower than port B. I tried running the simulation with different values of flow rate and restriction area, but p_R was always higher than pressure at B.
Next, I used two consecutive Pipe (G) elements: the first one with a smaller surface area and hydraulic diameter, and the second with larger values for both. The rest of the setup is similar:
Again, I expect the internal pressure of the Small Pipe to be lower than the internal pressure of the Big Pipe, but this was never the case. I ran the simulation for different values of pipe surface area and hydraulic diameter for the two pipes, and kept the pipe length, internal surface roughness, and the laminar friction constants low to reduce the pressure loss due to friction. I also tried reducing the dynamic viscosity in the Gas Properties block, and disabling/enabling gas compressibility in the pipes.
In both models, I kept the rest of the settings and parameters as default (e.g., perfect gas with properties of dry air, daessc solver, etc.). The models are attached.
Am I doing something wrong, or are there any limitations and theoretical assumptions in Simscape Gas that do not allow replicating this effect?
Thanks in advance!

Answers (1)

Hi Ali,
It is my understanding that you are trying to replicate the Venturi effect by creating a flow restriction and expecting lower static pressure at the narrow section. However, you observe that pressure at the restriction is always higher than downstream.
The primary challenge is that you are using a Flow Rate Source, which prescribes a fixed mass flow rate. When flow is prescribed, the solver computes whatever pressure drop is necessary to sustain that flow through the resistances. This prevents the natural pressure distribution associated with the Venturi effect from developing.
Additionally, Simscape Gas blocks like Local Restriction (G) and Pipe (G) typically model total pressure drop due to friction and form losses, rather than the static-to-dynamic pressure conversion that characterizes an ideal Venturi.
To observe the Venturi effect more clearly, consider replacing the Flow Rate Source with pressure-driven boundary conditions, for example, a Constant Pressure Source at the inlet and another (at lower pressure) at the outlet. This allows the flow rate to develop naturally based on the pressure difference and geometry, enabling the solver to resolve local static pressure variations.
Additionally, verify what type of pressure your sensors are measuring (static vs. total) and whether the block formulations account for velocity-dependent dynamic pressure changes. In many cases, simplified 1-D flow assumptions may not fully capture the ideal Bernoulli-type behavior without additional modeling considerations.
You can refer to the following documentations for more information:

1 Comment

Hi @Raag,
Thanks for your answer and insights.
I tried modifying the models to use two constant pressure sources as you suggested. For example:
But again I got the same result: the internal pressure of the small pipe is higher than that of the big pipe.
And regarding this: "Additionally, verify what type of pressure your sensors are measuring (static vs. total) and whether the block formulations account for velocity-dependent dynamic pressure changes", according to Simscape documentation, all pressures used in modeling gas systems are static. And both Pipe and Local Restriction blocks seem to consider the velocity-dependent dynamic pressure changes, since flow velocity is directly or indirectly included in their energy/momentum balance equations.

Sign in to comment.

Products

Release

R2025b

Asked:

on 18 Feb 2026

Commented:

on 11 Mar 2026

Community Treasure Hunt

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

Start Hunting!