Jump to content
Geochemist's Workbench Support Forum

Brian Farrell

Admin
  • Posts

    1,055
  • Joined

  • Last visited

  • Days Won

    11

Everything posted by Brian Farrell

  1. Hi Dan, You can certainly modify the GWB datasets to add new species, minerals, etc. The default dataset distributed with GWB, thermo.dat, does not contain any Mo species, but thermo.com.v8.r6+ does. The Thermo Datasets Appendix to the GWB Reference Manual describes how to add new species to a dataset. If you're going to modify thermo.dat, you'll need to add Mo to the Elements list, add a Mo Basis species, and then one Redox species for each additional valence state that Mo can exist in. You'll then add minerals, aqueous species, or gases written in terms of the original Mo basis species, or one of the redox species. The checklist of information you will need to add can all be found in the appendix. The most important is the logK for the reaction as you've written it. Depending on how the reaction is written in the literature, you may or may not need to adjust its value. If you have deltaGo f values, you'll need to find the deltaGo r, then convert this to a logK for your reaction. I would recommend you take a look at some of the datasets to see what goes into them. Focus on a single element, one that exists in multiple redox states and in multiple phases, perhaps, to see where and how it appears in the dataset. This will make modifying the database more understandable. Hope this helps, Brian Farrell Aqueous Solutions LLC
  2. Hi Chans, GWB can certainly model ion exchange reactions. The dataset IonEx.dat, supplied with the software, provides an example of how to set up a surface reaction dataset. You'll need to add to/ modify the dataset to fit your specific application by searching through the literature for selectivity coefficients (basically equilibrium constants for the mass action equations corresponding to each exchange reaction). IonEx.dat describes the different conventions used to model ion exchange reactions and explains how the dataset should be formatted. You should check Section 2.5.4 or 7.5.2 of the GWB Essentials Guide (release 9.0) for more on ion exchange reactions. Hope this helps, Brian
  3. Hi Aku, I can't view either the reference you mention or the thermodem dataset. I have a few suggestions to get you started here, though. On the third line of your surface dataset MX80Surf.dat, the surface type is really just a "code" for your dataset to distinguish between different types of surfaces that you may have loaded. I would use something like "Mont" to describe your dataset so that you can use commands like surface_data remove HFO or surface_potential on Mont = 0. As long as your thermo dataset has all the metals, etc. for which you would like to model sorption, you shouldn't really have to edit that. What you want to do is add correctly reactions to the surface dataset between aqueous and surface species. So if Hg++ appears in your thermo dataset, you would add a reaction like >(s)XOHg+ + H+ = >(s)XOH + Hg++. The form of the surface complex and reaction logK will come from the literature. As for the form of your surface basis species, >(s)XOH and >(w)XOH are really just labels. Where you identify the elemental composition of the surface basis species, you could just write >(s)XOH charge= 0.0 mole wt.= 372.5017 2 elements in species 1.000 O 1.000 H but you do not want X as an element in there, because it's not one. What surface group exactly is causing the binding is not too important (you are calling it "X", after all). What's important is specifying the site density and specific surface area of the sorbing mineral. You also want to make sure that your surface species are similar to the FeOH model (i.e. weak and strong site, and protonated/ deprotonated sites) if that's the template you're going to follow. Hope this helps, Brian
  4. Hi Chance, I don't know exactly what your system is, but it sounds like you have a pH 8.5 brine which is reacted with CO2, causing the water to acidify and Siderite to (possibly) dissolve. If this is the case, then a sliding f CO2(g) path seems to be appropriate. If you observe no Siderite dissolution in your experiments, then your kinetic rate law could be just fine. I simply assumed you had observed dissolution in an experiment and were trying to replicate the data in a reaction model. It sounds like you have your model set up well, but it is always good to make sure that the way you conceptualize your problem and the way you model it match up. As for fugacity, is is roughly the partial pressure of the gas phase which would be in equilibrium with your fluid (whether or not it is actually present). The reaction CO2(g) = CO2(aq) holds the activity of CO2(aq) proportional to fugacity CO2(g). To answer your last questions, CO2(g) will dissolve to form CO2(aq) because of a high CO2(g) fugacity. A different example would be a titration of some sort, where acid is added to a fluid with dissolved CO3-- or HCO3-. As acid is added, reactions such as CO3-- + H+ = HCO3- and HCO3- + H+ = CO2(aq) occur, causing CO2(aq) to build up, and thus the CO2(g) fugacity increases. When the fugacity exceeds atmospheric pressure, the fluid would bubble off CO2(g) in real life. Hope this helps, Brian
  5. Hi Chance, There are a few things that you should think about here. A CO2(g) fugacity of 50 is awfully tough to maintain at pH 8.5. At that pH, most of the carbonate system (the HCO3- component) is present as HCO3- and CO3--, but there is very little CO2(aq), so there can't be a very high CO2(g) fugacity (in a gas reservoir in equilibrium with the system). If you react CO2(g) with your initial water (by sliding the fugacity) you will lower the pH and dissolve Siderite, at least in an equilibrium system. You want to make sure that your numerical model reflects your conceptual model correctly. As for your kinetic rate law, the rate constant is very, very low for the time span considered, and so the reaction rate would be incredibly slow. Hope this helps, Brian
  6. Hi Helge, Regarding the temperature extrapolation issue you mention for the R-1 dataset, can you please send us (support@gwb.com) a copy of the database in GWB format, with the additional parameters entered in? We’ll look into what’s involved in adapting the GWB codes to use the expanded database. Thanks, Brian Farrell Aqueous Solutions LLC
  7. Hi Chans, Could you please post the React script that you are using? Thanks, Brian Farrell Aqueous Solutions LLC
  8. Hi Stef, The source of this problem has been fixed. When the first maintenance release (9.0.1) comes out, you should update. Once you've updated, open your GSS file in 9.0.1, then simply save the file and you shouldn't have any more problems. Best regards, Brian
  9. It looks like the file did not get attached properly. Could you please try again? The GSS file itself would be the most helpful. Brian
  10. Hi Hayley, This typically means that the software is having trouble solving for the equilibrium state of the system. It could be because the system you are trying to model is out of equilibrium and so a numerical solutions for the equilibrium state cannot be found. Alternatively, you may be entering input in a way the program does not expect, or which does not lead to an easy solution. A few tips. Try to start with a simple model, then add complexity as you go. Simply throwing everything you have at the GWB is generally not the best way to go. When you are constraining your system, make sure the species that you have loaded (or swapped) into the basis make sense. For example, at very low pH, you'll want to swap in CO2(aq) for HCO3-, and at high pH, swap in CO3-- for HCO3-. Similarly, choose basis species that match up with the redox state of your system. Sometimes, you'll want to decouple redox pairs which may be out of equilibrium in natural waters. You might also experiment with the parameters that the program uses to find a numerical solution (Configure menu). Epsilon, the convergence criterion, can be adjusted to change how closely solutions in subsequent iterations must match. In reaction path simulations, you might reduce delxi if your solution appears to be numerically unstable. It is probably best to experiment with modifying your input though, rather than messing around with these parameters, until you have a good understanding of what they do. Try messing around with a simplified system that works and then add more complexity. Spend some time with this and then a script to the forum so we can work on specifics. Hope this helps, Brian Farrell Aqueous Solutions LLC
  11. Hi Kenton, I've moved your post to the main page, rather than the archives, so that people don't miss your new post. Could you please attach your custom dataset? Without that we can't test your scipt. Thanks, Brian Farrell Aqueous Solutions LLC
  12. You're welcome Juan. Glad I can help out. Cheers, Brian
  13. Hi, Could you please post your GSS spreadsheet, and perhaps a picture of your Stiff diagram (with incorrect unit labels)? Which release of GWB are you using? Thanks, Brian Farrell Aqueous Solutions LLC
  14. Hi Juan, When you specify the analytical concentration of U++++ or UO2++, you specify the total amount of dissolved Uranium, otherwise known as the Uranium component. The sum of all U species, including U++++, UO2++, etc. will add up to the analytical concentration that you specified, so you should not change this concentration. The program will solve for the distribution of mass between the various Uranium species. It is best to choose (swap in) a Uranium species which is likely to be dominant in your system in order to make the numerical solution easier. Hence, choose UO2++ (U(VI)) in an oxidizing environment, and U++++ (U(IV)) in a reducing environment. As for using GWB to predict the concentration of Uranium in nonsampling wells, that's a little more difficult. Do you have reason to believe your formation water is in equilibrium with some uranium mineral? Do you believe that some reaction is controlling uranium concentration, and you can set up some sort of reaction path/ reactive transport model? Do you have the concentration of other analytes in these other wells? You might try plotting U concentration vs. other analytes and looking for some sort of correlation, or you might try some sort of spatial interpolator.
  15. Hi Juan, A few things. When choosing the ion to use for charge balance, it often helps to have one at a high concentration. In this example, Cl- is present at much lower concentrations than many of the other ions, like HCO3-. I noticed that the concentration of O2(aq) in the nonworking script is 1.0e23 mg/kg. That is awfully high. Dissolved oxygen in equilibrium with the atmosphere is approximately 8 mg/kg. If you set a more reasonable concentration, and swap out U++++ for UO2++ (a more oxidized U species) the simulation will run. Basis swapping is important for constraining your initial system, and providing an initial guess for the solver. To constrain the carbonate system, for example, use CO2(aq) at low pH and CO3-- at high pH. Similarly, in a reducing environment, you might use HS-, but SO4-- would work better in a more oxidized environment. Please take these suggestions into consideration and see if you can get your script running. Cheers, Brian
  16. Hi Assaf, Launching SpecE8 from GSS is great for when you want detailed information for multiple samples (e.g. concentration, activity, fugacity, saturation, etc. for every species, gas, mineral...). If you are interested in the saturation state of one mineral in particular (or a small number), you can add calculated analytes one-by-one to your GSS spreadsheet. Simply click the "+ analyte" button at the bottom of the spreadsheet, choose calculate - Mineral saturation - Mineral... and this analyte will be calculated for each sample. You can calculate other analytes, including concentration, activity, activity coefficient, fugacity, TDS, etc. in this same way. Then just create a time series plot from within GSS by going to the top row of options, choosing Graphs - Time Series Plot. Gtplot will launch with all of your samples together. Hope this helps, Brian Farrell Aqueous Solutions LLC
  17. Hi Juan, Please attach your React script (.rea file) and whatever water sample analysis you are using so I can try to figure out your problem. Thanks, Brian Farrell Aqueous Solutions LLC
  18. Hi Matthew, Glad you got it working. I think you are right, currently GWB expects to find nodal blocks of fixed dimensions (and elevation) when importing flow fields from MODFLOW. Cheers, Brian
  19. Hi Tam, A free kg H20 refers to 1 kg of solvent water, plus more water required to form secondary species. If you use the bulk constraint for water, 1 kg is split between the free water molecules in the solvent and the water which forms the secondary species. People typically use solvent water as a free constraint. See Chapter 3 in the Geochemical and Biogeochemical Reaction Modeling text, or Section 7.2 of the GWB Essentials Modeling Guide for more of a discussion on free vs. bulk constraints. Hope this helps, Brian Farrell Aqueous Solutions LLC
  20. Hi Matthew, I moved your post to the main GWB page (it was in the archive for old posts, so I didn't see it right away). Could you please attach your budget file, and whatever X2t file you are using as well? I'll try to see if I can figure out what is wrong. One thing that immediately comes to mind (as being different from the GWB examples) is the lines which denote the top and bottom of the system (i.e. 105 1(1G14.0) -1 5. TOP OF SYSTEM). I'm not sure what those numbers and letters refer to, though I have not used the MODFLOW feature extensively. Best, Brian Farrell Aqueous Solutions LLC
  21. Hi Alison, I moved your post to the main GWB page (you posted to the archive of old posts, so I didn't see it right away). As for your question, your reaction for Szero written in terms of SO4-- is not balanced. Instead of -3.5 O2, it should read -1.5 O2 (Szero + H2O + 1.5 O2(aq) = 2 H+ + SO4--). The reaction written in terms of HS- was balanced properly, so it works just fine. Note that writing the reaction in terms of basis species SO4-- or redox species HS- is fine (just make sure the logK is correct), as long as HS- has been defined already in the redox species section. Hope this helps, Brian Farrell Aqueous Solutions LLC
  22. Hi Juan, If you're having trouble attaching your thermo dataset, try emailing it to me (support@gwb.com). Thanks, Brian Farrell Aqueous Solutions LLC
  23. Hi Frank, The formula entry is not a necessary part of the thermo dataset and is really more for aiding the user. Cheers, Brian Farrell Aqueous Solutions LLC
  24. Hi Vivek, Fugacity is initially set in your calculation as a constraint. By setting such a high fucacity CO2(g), you are making the concentration of CO2(aq) very high. This (along with high Ca++, Mg++) makes the water highly supersaturated with respect to a number of minerals. The second block of results is the true equilibrium state, which would occur if those minerals were allowed to form. The reaction Ca++ + HCO3- -> Calcite + H+ explains your results. Carbonate minerals form, and the pH decreases. As the pH decrease, the CO2(aq)/ HCO3- buffer tips to CO2(aq). The output fugacity is that "which would be found in a gas phase that is in equilibrium with the system, if such a gas phase were to exist" (Geochemical and Biogeochemical Reaction Modeling, 3.3.7). So, high CO2(aq), high CO2(g). This may not be the best configuration to model dissolution of CO2(g) into a brine. Here you are starting with high CO2(g), but a neutral pH. What you want is to mix a low CO2 brine with high CO2 fluid. You might try mixing two fluids, or instead try a sliding fugacity path, in which the CO2(g) increases from a small original value (the brine) to a high value due to reaction with injected CO2(g). Hope this helps, Brian Farrell Aqueous Solutions LLC
  25. Hello Vivek, The partial pressure of gases is almost always much more important to incorporate into reaction models (of near surface systems) than confining pressure, which will typically have a much smaller effect on calculations. You account for the partial pressure of a gas directly by setting its fugacity. If you are interested in the effects of confining pressure, you will need to find a database compiled at your pressure of interest. I would encourage you to search the forum for previous discussions of this topic, including this one here: http://forum.gwb.com/index.php?showtopic=1791 Hope this helps, Brian Farrell Aqueous Solutions LLC
×
×
  • Create New...