Hgholami |
January 10, 2020 00:55 |
problem in Aitken and IQILNS algorithm
Dear Foamer
In solids4Foam, in Aitken and IQILNS algorithm, after three iteration, we have
Quote:
forAll(fluid().globalPatches(), i)
{
aitkenRelaxationFactors_[i] =
-aitkenRelaxationFactors_[i]
*(
sum
(
residualsPrev()[i]
& (residuals()[i] - residualsPrev()[i])
)
/(
sum
(
(residuals()[i] - residualsPrev()[i])
& (residuals()[i] - residualsPrev()[i])
)
)
);
|
In multi Interfaces case, I have problem after three iteration. the solver give floating point that seen due to above part of code. As the solver try to divide to
Quote:
sum
(
(residuals()[i] - residualsPrev()[i])
& (residuals()[i] - residualsPrev()[i])
)
|
the floating point occurs. Why we sure this part is always nonZero?
may need to add "VSmall" to this part to avoid floating point?
|