The primary difference between the iterative and the interval solver is the solution algorithm. They both try to find the steady state solution where the pressure losses are equal to the pressure difference (as explained in the previous chapter) but the iterative solver uses extrapolation to try and find the correct solution (we will not dive to deeply into this, it is not a "formal" solution approach) and this approach can converge to wrong values in some cases. The newer interval solver uses a nested interval approach, which basically tries to find a case where the pressure loss is smaller than the pressure difference (usually a flowrate of 0 represents this case) and another case where the pressure loss is higher than the pressure difference. These two boundaries of the intervall must contain the correct solution (loss equal to difference) and the solver now iterates by calculating the values for the middle of the intervall and checking if the loss is lower than the difference (lower interval boundary is moved, 1. Iteration below) or if the loss is higher than the difference (upper boundary is moved, 2. Iteration below). By repeating this the solver converges to the correct solution.

As properties for the solver the user can define how exact the solver should find this solution by setting the fMaxError value in Pa with the function setSolverProperties of the solver. It also allows the user to increase the maximum number of iterations.Normally the value is set to 1e-8 Pa and therefore is very low and requires a huge number of iterations. The value can be increased until the solver becomes unstable (oscillates unnaturally) but this should be done carefully. Now please replace the iterative solver with an interval solver and change the properties to see how the system reacts.

  • Keine Stichwörter