IterativeMultiLevelStaticCond
The normalization of the residual in IterativeMultiLevelStaticCond seems to be wrong, leading to poor performance. For example, running the cylinder case from IncNavierStokesSolver/Examples with 4 cores using this option doesn't even work, since it tries to achieve an unreasonably low error.
At the moment, when m_rhs_magnitude
is not set elsewhere (as is the case here), the iterative solver sets it to 1.0/vExchange[2]
, where vExchange[2]
is the initial residual. It would make more sense to use 1.0*vExchange[2]
, although there could be better options for setting m_rhs_magnitude
.
Anyway, it is important to fix this issue, since in some cases using this option could result in significant savings in terms of computational cost.