You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Solution does not currently have a method to predict the saturation index or scaling tendency. This is an important feature for process engineering work. There are a few ways to go about this:
(easiest near term) - phreeqpython exposes ansi method that returns the saturation index for a specific phase. A method could be added to the native and phreeqc engines (both of which use phreeqpython) to return the si for a specific phase like calcite
A more advanced version of item 1 could evaluate the si of multiple phases and return the lowest
Alternatively, we could compile Ksp values for a selected number of commonly-encountered scalants and hard-code them into a Solution method. For each phase, method would retrieve the relevant aqueous concentrations using get_amount, calculate the saturation, and then return the minimum SI, or perhaps a tuple of the minimum SI and the phase associated with that minimum. The advantage of this approach is that it would not depending on the underlying modeling engine.
Finally, we could add a saturation_index method to the abstract EOS class that defines all electrolyte modeling engines. That leaves it up to the implementation of each modeling engine how to go about the above steps. Then a Solution method just calls the underlying engine method. This is probably the most robust long-term solution.
Common scalants should probably include Ca, Ba, and Sr carbonate and sulfate, as well as possibly silica.
The text was updated successfully, but these errors were encountered:
Solution
does not currently have a method to predict the saturation index or scaling tendency. This is an important feature for process engineering work. There are a few ways to go about this:phreeqpython
exposes ansi
method that returns the saturation index for a specific phase. A method could be added to the native and phreeqc engines (both of which use phreeqpython) to return the si for a specific phase like calciteSolution
method. For each phase, method would retrieve the relevant aqueous concentrations usingget_amount
, calculate the saturation, and then return the minimum SI, or perhaps a tuple of the minimum SI and the phase associated with that minimum. The advantage of this approach is that it would not depending on the underlying modeling engine.saturation_index
method to the abstractEOS
class that defines all electrolyte modeling engines. That leaves it up to the implementation of each modeling engine how to go about the above steps. Then aSolution
method just calls the underlying engine method. This is probably the most robust long-term solution.Common scalants should probably include Ca, Ba, and Sr carbonate and sulfate, as well as possibly silica.
The text was updated successfully, but these errors were encountered: