Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Scaling tendency / Saturation Index #58

Open
rkingsbury opened this issue Oct 18, 2023 · 0 comments
Open

Feature: Scaling tendency / Saturation Index #58

rkingsbury opened this issue Oct 18, 2023 · 0 comments
Labels

Comments

@rkingsbury
Copy link
Member

rkingsbury commented Oct 18, 2023

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:

  1. (easiest near term) - phreeqpython exposes an si 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
  2. A more advanced version of item 1 could evaluate the si of multiple phases and return the lowest
  3. 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.
  4. 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant