After 25+ years sizing pipe networks by hand, here's the part nobody tells a junior engineer: the formula was never the hard part. The iteration was.
Darcy-Weisbach friction, K-factor losses across 21 fitting and valve types - a gate valve's K is 0.15, a globe valve's is 10 - that's a lookup and a calculation. What actually eats a project is balancing a branched network until the losses agree at every junction, then doing it again for the fire case, then again because someone changed one pipe size.
That's the part I built the Piping Systems module in EngCoSuite to take off both ends of a career. You draw the network - pipes, valves, pumps, control valves. It runs a 100-iteration flow-balance solver and hands back velocity, Reynolds number, friction factor and pressure loss on every single edge, for as many scenarios as the project needs, side by side.
A junior engineer sees exactly how the network arrived at those numbers instead of trusting a senior's spreadsheet macro nobody's opened in years. A senior engineer stops re-running the same branch-balance by hand every project and spends that time on what actually needs judgement - margins, material, which scenario is the one that matters.
Link's in the first comment. If you've balanced a branched pipe network from scratch in the last year - what took longer, the physics or the iteration?