populationBalanceModel: Stabilise dilatation error term

A small SuSp stabilisation has been added to the dilation error term to
prevent edge-cases in which the dilation correction exactly cancels out
all implicit transport terms and sources.
This commit is contained in:
Will Bainbridge
2023-01-20 19:25:04 +00:00
parent 377080de52
commit c44a9d1097

View File

@ -1176,7 +1176,8 @@ void Foam::diameterModels::populationBalanceModel::solve()
(
fvm::ddt(alpha, fi)
+ fvm::div(phase.alphaPhi(), fi)
- fvm::Sp(dilatationError, fi)
+ fvm::Sp(-(1 - small)*dilatationError, fi)
+ fvm::SuSp(-small*dilatationError, fi)
==
fvc::Su(Su_[i], fi)
- fvm::Sp(Sp_[i], fi)
@ -1193,6 +1194,7 @@ void Foam::diameterModels::populationBalanceModel::solve()
);
sizeGroupEqn.relax();
fluid_.fvConstraints().constrain(sizeGroupEqn);
maxInitialResidual = max