Problem replicating the Venturi effect (pressure rise from small area to large area) with Simscape Gas
Show older comments
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)
Raag
on 3 Mar 2026
0 votes
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:
- Local Restriction (G): https://www.mathworks.com/help/simscape/ref/localrestrictiong.html
- Pipe (G): https://www.mathworks.com/help/simscape/ref/pipeg.html
- Modeling Gas Systems (domain guidelines): https://www.mathworks.com/help/simscape/ug/modeling-gas-systems.html
Categories
Find more on Gas Models 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!