This wiki entry is intended to provide a better overview of the solver, you should still read the rules regarding the implementation of the solver provided in its initial comment!

The iterative multi branch solver creates a matrix network from a provided array of branches. For example the following system



results in this matrix:

The matrix itself represents the network and the existing connection and pressure losses. The vector multiplied with this matrix in the above equation are the values we want to know, which include the flowrates of the branches but also the pressures of the gas flow nodes (which are also set by the solver). The vector on the right side of the = represents the boundary conditions. In this case this only includes the pressure of boundary phases, however it could also include flowrates from P2Ps or other branches not solved by this system. These would be present as boundary condition for the equations enforcing zero mass change, which are represented in blue here.

The solver linearizes the pressure losses and then solves a linear system of equations. This is an assumption in the turbulent case as the actual relationship between the flowrate and the pressure loss for turbulent flows would be quadratic. However, a linearized assumption that is iterated and converges results in a correct solution for the system. The advantage of this is that the solver does not require detailed knowledge about the individual pressure drop calculations, the downside is that it must iterate which take calculation time.


  • Keine Stichwörter