PengRobinson::computeMolarVolume changes
-
Ignoring the first two roots of the equation for Z in the smallest one is zero or negative. There was a comment documenting that behavior, but it was not implemented.
-
Throwing NumericalProblem if no positive Z has been found or the number of roots is 2 or more than 3 (no check was in place)
-
Throwing NumericalProblem if the found molar volume turned out to be zero, negative, or NaN. (Replacing assert)
-
Added handleOneRootSpecially flag (true by default). If false, the single-root case works as the three-roots case, without special treatment which causes the Michelsen test for a mix of hydrocarbons to fail to deliver.
Edited by Dmitry Pavlov