Jump to content
Geochemist's Workbench Support Forum

Charge balance and slide


Recommended Posts

This post covers two topics: charge balance and slide.


Charge balance: I have tried a very simple solution pH 9, SiO2(aq) 1 mmol, precip on, suppress all, unsuppress SiO2(am) [i'm using the LLNL database]. When i run the solution in REACT or SPECI8, I get the message that the charge balance can not be determined because Cl is not in the input solution despite the solution being anion rich. Putting Cl in with it as charge balance gives the expected overload. Putting Na in gives me the same error but with Na as the problem. I have tried sneaking up on the solution by using no charge balance and determining the amount of cation (Na in this case) needed to get close to charge balance. With that amount of Na with charge balance gives me the same error. So, there is something I'm overlooking...but what?


Slide: Ive tried to slide SiO2(aq) in the above and similar solutions only to be greeted with the error message "Exit: React stop: passem: bad basloc call" What is would like to do is to be able to slide SiO2(aq) from 1 umol to SiO2(am) saturation at constant pH (stabilized with a buffer e.g. TRIS) while calculating the initial reaction rate at each step for a silicate glass. I don't seem to be able to get beyond this error message even with a simple solution and no glass reacting just the simple solution from above.


Thanks for your help.


Link to comment
Share on other sites

Hi Dino,

The original fluid (H+, SiO2, Na+) is a little weird in that there are no negatively charged components, so a run in which you enforce charge balance is a little tricky. Turning charge balance off to determine approximately how much Na+ would be needed to balance the excess negative charge in the system is a good first step. After that, one strategy is to swap H3SiO4- into the basis for SiO2(aq). Now, your basis includes H+, H3SiO4-, and Na+. An alternative is to swap OH- in for H+ and set the log activity of OH- instead of the pH. In this case your basis includes OH-, SiO2(aq), and Na+. Either way I arrive at the desired solution.

As for the sliding activity path, this looks like a phase rule violation. In a sliding activity path, the species whose activity you're adjusting must be in the basis for the entirety of the reaction path. You're asking the impossible, though, when you slide the activity (or log activity) of a species up to the point where a mineral containing that species becomes saturated, and thus needs to be swapped into the basis if it's to precipitate. GWB11 gracefully issues an error 'Phase rule violation: Cannot precipitate supersaturated mineral "Amrph^silica"' and continues the simulation while preventing the mineral from precipitating (as if it's suppressed). Older releases, however, give the "Exit: React stop: passem: bad basloc call" error and crash when they reach this point.

You can avoid the issue entirely by adding SiO2(aq) as a simple reactant rather than using a sliding activity path. As a simple reactant, you gradually titrate SiO2(aq) into the system over the course of the path. You're not forcing the SiO2(aq) activity to a certain value, so there's no requirement that SiO2(aq) remain in the basis when amorphous silica needs to be swapped in.

Hope this helps,

Brian Farrell

Aqueous Solutions LLC
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...