Jump to content
Geochemist's Workbench Support Forum

Surface Complexation


mmontecinos1

Recommended Posts

Hello everyone,


I am using React program of GWB 9.0 to simulate surface complexation of Copper (Cu++) on Kaolinite. I want to reproduce the modeling results of Lund et al. (2008) (T.J. Lund, C.M. Koretsky, C.J. Landry, M.S. Schaller, S. Das, Surface complexation modeling of Cu(II) adsorption on mixtures of hydrous ferric oxide and kaolinite, Geochem. Trans. 9 (2008) 9).  They describe the sorption of copper at a variety of ionic strength using different Double Layer Model (e.g. Monodentate variable charge site, Bidentate variable charge site, among others).

I am modeling the sorption for the system with 1E-4 M Cu, 0.01 M NaNO3 and 2 g/L of Kaolinite using a 1-site model (Monodentate) (Fig 2A, blue line in Lund et al. 2008).I created a dataset of surface reaction using file FeOH.dat as a template, but changing basis species, sorbing minerals and surface species. I also modified the thermodynamic database to include minerals and dissolved species of interest.

However, when I run React, GWB underestimate the sorption of Cu for pH > 5.5. I thought it could be due to changes in the Ionic Strenght, but it increase only for low pH (<4). I also tried excluding all other species of Cu, different than Cu++ but the results didn’t improve.

I would appreciate any recommendation to understand the problem.

Best regards,

Mauricio Montecinos

2008 - Lund_Fig2a - Monodentate.rea

KOH_KGa_Monodentate.dat

thermo_editV8.dat

Link to comment
Share on other sites

Hi Mauricio,

I think your surface dataset looks okay. It's possible that your thermo dataset is slightly different from the one used in the original calculations, but I'm not sure how important that is in this case. The paper lists several Cu++ species, including carbonate complexes, that are accounted for in the calculation, but I'm not sure your dataset includes them all. Furthermore, the paper lists a specific Cu++ species, CuOH+, with a log K of formation of -7.29. The dissociation reaction for that species is listed in your thermo dataset with a log K of 7.497. You might try using the "alter" command to set its value to 7.29. If you track down the carbonate complexes, you might consider adding a CO2 buffer to your calculation, but I think the paper mentioned those complexes weren't too important in this calculation, so you might not worry about it.

I think the most important factor is that the "sorbate include" setting has not been applied. In the experiments, the Cu concentration refers to the total amount of Cu in solution and sorbed to the surfaces. In the GWB's default state, the Cu concentration you set on the Basis pane refers only to that in solution (think of sampling water from a well). You can use the "sorbate include" option from the Config -> Iteration dialog to specify that the Cu concentration set on the Basis pane includes sorbed as well as dissolved mass. When I do that, and disable charge balancing and delete the Cl- basis entry, I get results that look very much like those in Figure 2.

For more information, please see React's "sorbate" command in the GWB Command Reference/ Reference Manual.

Hope this helps,

Brian Farrell
Aqueous Solutions LLC

Link to comment
Share on other sites

On 01-03-2018 at 8:26 PM, Brian Farrell said:

Hi Mauricio,

I think your surface dataset looks okay. It's possible that your thermo dataset is slightly different from the one used in the original calculations, but I'm not sure how important that is in this case. The paper lists several Cu++ species, including carbonate complexes, that are accounted for in the calculation, but I'm not sure your dataset includes them all. Furthermore, the paper lists a specific Cu++ species, CuOH+, with a log K of formation of -7.29. The dissociation reaction for that species is listed in your thermo dataset with a log K of 7.497. You might try using the "alter" command to set its value to 7.29. If you track down the carbonate complexes, you might consider adding a CO2 buffer to your calculation, but I think the paper mentioned those complexes weren't too important in this calculation, so you might not worry about it.

I think the most important factor is that the "sorbate include" setting has not been applied. In the experiments, the Cu concentration refers to the total amount of Cu in solution and sorbed to the surfaces. In the GWB's default state, the Cu concentration you set on the Basis pane refers only to that in solution (think of sampling water from a well). You can use the "sorbate include" option from the Config -> Iteration dialog to specify that the Cu concentration set on the Basis pane includes sorbed as well as dissolved mass. When I do that, and disable charge balancing and delete the Cl- basis entry, I get results that look very much like those in Figure 2.

For more information, please see React's "sorbate" command in the GWB Command Reference/ Reference Manual.

Hope this helps,

Brian Farrell
Aqueous Solutions LLC

Dear Brian,

Now I am trying to model the sorption of Cu on Kaolinite through the bidentate model developed by Lund et al (2008) (Fig. 3a, blue line/dots). I created the sorption file using the FeOH.dat as a template for bidentate sorption reactions. However, when I run the program, GWB overestimate the sorption. I used the “sorbate include” option, but the result didn’t improve.

Also, I would like to implement the Bidentate variable charge + ion exchange site model (no Cu sorption on ion exchange site). I created the IonEx.dat file, with the reaction for H exchange, but when I run it in React, nothing happens. I mean, there is no difference between the model with and without ion exchange site model.

I would appreciate any recommendation you could give me to solve these problems.

Best regards,

Mauricio Montecinos

 

 

2008 - Lund_Fig2a - Bidentate.rea

KOH_KGa_Bidentate.dat

2008 - Lund_Fig2a - Bidentate_IonEx.rea

IonEx_H.dat

thermo_editV8.dat

Link to comment
Share on other sites

  • 4 weeks later...

Hi Mauricio,

It took me a while, but I thing I figured out your problem. There are various conventions for modeling bidendate surface complexation reactions. For a helpful review, please see "Mass action expressions for bidendate adsorption in surface complexation modeling: theory and practice" by Wang and Giammar, 2013. As far as I can tell, the CHESS program and FITEQL (by default) use "model 1", in which the molar or molal concentration of surfaces complexes are carried in the mass action equation (see Table 2 in the reference). This convention is problematic in certain ways, as explained in the text. Starting with release 9, the GWB apps use "model 3", in which the mole faction of surface sites is carried in the mass action equation. Section 4.4 Practical Suggestions for SCM Practitioners provides some guidance for converting data collected under "model 1" to a form for use with "model 3" (equation 26). When I did this, I found a log K of 7.945 for the bidentate complexation reaction seemed to match up with the curves in Figure 3a pretty well.

As for combining the updated bidentate model with the ion exchange model for H+ (but not Cu++), I don't observe a visual difference either. I think this is okay, though. Comparing  Figure 3a with Figure 5a in the paper, I can't observe a difference between those two. And in the text, the authors state "...The goodness-of-fit for this model is not statistically different from the 1-site bidentate model...".

Hope this helps,
Brian

 

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 year later...

Hi Mauricio, 

I’m writing to let you know that GWB 14 is now available. The new release includes support for several different polydentate surface complexation formalisms. You had to convert the log K for a bidentate reaction in your surface dataset to be consistent with the method in GWB9, but now you can choose one of four methods consistent with your log Ks and specify that in your surface dataset. React will read the dataset and evaluate mass action laws according to the convention you specified. 

In your case, you could set the stoichiometric approach in the dataset’s header and use the original literature reference’s log K value of 4.6. The calculation will reproduce figure 3A in your plot. However, this approach is not satisfactory, as described in the reference above, and it will be in error at other concentrations of the sorbing mineral. The better approach is to convert the log K, as you did before, to use the mole fraction approach, which is entitled Hiemstra-VanRiemsdjik in GWB14. This is the default approach in GWB14, so you can leave the method unspecified in your surface dataset, but to be clear it’s best to set the method in the header. With this approach, changing the amount of the sorbing mineral should still yield reasonable results. 

Please let us know if you’re interested in trying GWB14. I’m happy to send you a demo. You can read about the feature in section 2.5.8 Polydentate sorption in the GWB Essentials Guide.

Regards,
Brian
 

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.

Guest
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.

Loading...
×
×
  • Create New...