# What does "delta_vel_pos_AI" in Pipe (G) means?

2 views (last 30 days)
PY on 24 Jul 2021
Commented: PY on 10 Aug 2021
In the source code of simscape component Pipe (G), line 237-241
% Change in flow velocity
delta_vel_AI = (1/rho_I - 1/rho_AI)*mdot_A/area;
delta_vel_BI = (1/rho_I - 1/rho_BI)*mdot_B/area;
delta_vel_pos_AI = sqrt(delta_vel_AI^2 + (0.001*a_AI)^2);
delta_vel_pos_BI = sqrt(delta_vel_BI^2 + (0.001*a_BI)^2);
and line 326-328
% Momentum balance
p_A - p_I == delta_vel_pos_AI*mdot_A/area + pressure_loss_AI;
p_B - p_I == delta_vel_pos_BI*mdot_B/area + pressure_loss_BI;
What do delta_vel_pos_AI and delta_vel_pos_BI mean?
According to the documentation Rigid conduit for gas flow - MATLAB - MathWorks Deutschland, the momentum balance does not consider anything related to the speed of sound for unchoked flow. What is the meaning of the term "(0.001*a_AI)^2"? I tried to find it in the two references of the documentaion but could not find anything related.
Should it not simply be
p_A - p_I == delta_vel_AI*mdot_A/area + pressure_loss_AI;
so that it matches the momentum balance equation stated in the documentation?
##### 2 CommentsShowHide 1 older comment
PY on 27 Jul 2021
I tried to edit the code and use it in a user-defined block, and with the same input parameters, the resulted pressure drop is very different if I delete this term, so I guess it should have a physical meaning instead of just for better numerical robustness.
In the reference there are equations related to the speed of sound in the chapter about compressible flow, however I could not find this exact equation or equation which can be transformed into this term.
I am looking forward to your further explaination. Thank you.

Yifeng Tang on 30 Jul 2021
Hi PY,
The term is using a trick to avoid using the abs() function, which may otherwise trigger frequent zero-crossing when mdot is small. Using the sqrt() formulation and having a value that's always > 0, no zero-crossing would be triggered when solving the equations.
Later the momentum balance equation needs to compute abs(delta_vel_AI)*mdot_A/area. Here delta_vel_pos_AI is approximately abs(delta_vel_AI) when delta_vel_AI is not very small. If delta_vel_AI is small or close to 0.001*speed_of_sound, the mdot_A term would also be small, and the impact on the total momentum balance should also be neglible.
I'm curious what you found after modifying the block. Would you be able to share the .ssc file and a test model?
PY on 10 Aug 2021
If there are any results after the discussion with the development team, I should be grateful, if you could provide me with the updated informations.

R2020a

### Community Treasure Hunt

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

Start Hunting!