Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Catch singular explosions in saturation_PHSU_pure (#2250)
* Catch singular explosions in saturation_PHSU_pure Sometimes, the Akasaka solver has issues. This is usually caught and then it is retried with a new omega. However, sometimes it goes bad because the J matrix is singular, and this is not caught because the error is not recalculated. This commit recalculates the error term to prevent a bad result. * Add comment to explain error check in saturation_PHSU_pure * Add extra update check after saturation_PHSU_pure During saturated PHSU flash calculations, SatL and SatV states have an imposed phase. This is good for stability, but there is a small chance that they can both up up with a matching third variable (e.g., pressure) that is not actually at the saturation point. This commit forces a final DT update without this requirement. If an actual solution has been found, the the error term will still be small. If not, then we throw an exception and try again. This continues work on #2245. * Ensure that saturated phase is specified In saturation_PHSU_pure, we unspecify the phase of SatL and SatV to perform a final check. However, for any future updates, these states *must* be set with specified phase. This commit ensures that no matter what happens (exception, etc.) the phase is always specified again. * Revert "Ensure that saturated phase is specified" This reverts commit c6b650b. The commit caused potential recursive lookups and did not solve the issue at hand. * Update the ammonio saturated rhoV ancillary The rhoV ancillary gave somewhat wrong results. This commit provides a closer fit that prevents errors downstream.
- Loading branch information