Jump to content
Geochemist's Workbench Support Forum

Jia Wang

Admin
  • Posts

    721
  • Joined

  • Last visited

  • Days Won

    28

Everything posted by Jia Wang

  1. Hello Peter, The issue with the Xtplot distance scaling is now corrected in the maintenance release 17.0.2. If automatic update is enabled, you should be prompted to update in the next few days when you open the GWB dashboard. You can also manually update by going to check for updates under the "Help" menu of any app or on the Support pane of the GWB dashboard. Best regards, Jia
  2. Dear GWB users, We are pleased to announce our latest maintenance release for GWB subscribers, GWB 17.0.2. GWB 17.0.2 corrects a convergence issue arising when bulk volume is specified and pH constrained as total H+, allows alkalinity analytes in various units to be honored in GSS when creating calculated analytes, fixes an error computing constant capacitance models, and addresses all known issues. Update from earlier releases of GWB17 at no charge to ensure you have all the newest features and bug fixes. Existing installations should automatically update to this release, unless auto-update is disabled. In that case, users should update their installations from the GWB dashboard or from the Help menu of any GWB app. Regards, Jia Wang Aqueous Solutions LLC
  3. Hello, The diagram axis variables cannot be altered in a piper diagram. Some other diagram types will allow you to specify axis variables. If you only need a Ternary diagram, you can use the "user analyte" feature to create an analyte entry for NO3- + Cl-. To do so, go to "+ analyte" -> User equations -> Edit -> new entry to calculate the sum of NO3- and Cl-. Double check to make sure the default unit you set corresponds to the variable units specified in the equation. Click OK or Apply to add to spreadsheet. When you create a Ternary diagram now, you can choose the new NO3- + Cl- analyte as an axis variable. For more information, please see section 3.3.5 User equations of the GWB Essentials Guide. More details regarding the plotting data from GSS can be found in section 3.6 Graphing data in the same user guide. Hope this helps, Jia Wang Aqueous Solutions LLC
  4. Hello, I would just like to follow up that if you would like for someone to take a closer look at the issue of mismatched results, please provide full details regarding the model in the original software and the GWB input files that you are using to try and replicate those results. Thanks, Jia
  5. Hello Lian, Thank you for your suggestions but we currently do not have plans for this adding this feature. I will make sure to pass your suggestions onto relevant hands. Best regards, Jia
  6. Hello Jaxon, Thank you for attaching the files you have been compiling. I am not really familiar with the WHAM models and their datasets but can give a couple of suggestions for what to check when creating new GWB datasets. Surface datasets in the GWB use minerals and aqueous species from a corresponding thermo dataset. For a two-layer type surface model, the surface reactions are tied to a specific mineral surface. The sorbing mineral designated in your surface dataset is Ha(s). If this is a dataset intended for modeling reactions on the Goethite mineral surface, the sorbing mineral should be that instead of Ha(s), as well as the surface area (m^2) available for complexing per gram needs to be given correctly for the correct mineral. In the GWB modeling program (e.g. SpecE8), you will need to include the mineral with the sorbing surface in the simulation, either by swapping it and setting it in equilibrium with the initial system, or in a program like React/X1t/X2t, you can set a kinetic mineral with a zero reaction rate, which would set an inert(not dissolving or precipitating) mineral. You can refer to section 7.2 Equilibrium models for more information on swapping in the GWB Essentials Guide. Information regarding kinetic minerals can be found in section 4 of the GWB Reaction Modeling guide. The program also carries the elemental composition of all species in the GWB program. I am not sure what would be appropriate here but looking at the names of your species, the basis surface site might include Ha(aq)? For example, a typical hydrous ferric oxide surface site can be represented as FeOH with 0 charge composed of 1 Fe, 1 O, and 1 H. I also noticed that Log K for all principal temperatures for the mineral Ha(s) is entered as 0. Is this correct? I just wanted to note that a value of "500" entered would be considered no data within a GWB dataset. In general, it would be good to double check that your Log Ks are entered correctly. Other things to check is whether you are employing the same activity model for calculating the activity coefficients of various species. The thermo dataset you attached uses the b-dot model, one of the expanded forms of the Debye-Huckel equation. Does the other software also calculate activity coefficients of species in the same method? For more information on various activity models accepted in the GWB, please see section 7.4 Activity coefficients in the GWB Essentials Guide. Hope this helps, Jia
  7. Hello Jaxon, Thanks for attaching your scripts. Regarding your initial system, it seems like you have some units that include "total". Is that supposed to denote a bulk concentration for that component? The program by default assumes the concentration is set for the bulk component unless "free" is specified. In your case, "total umolal" has the same effect as just "umolal". If you want to set a free quantity, for example for the amount of HPO4-, then you would use: "HPO4-- = 1 free umolal" For more information on bulk vs. free quantity, please see section 7.2 Equilibrium models in the GWB Essentials Guide. I think you can try adding in pickup and go statements to perform the cycles that you described. In your current script, you can add commands like below: go pickup fluid react 950 g H2O go pickup fluid react [desired minerals and their masses here in separate lines] go pickup fluid react -950 g H2O go The "go" statement triggers React to make the calculation. "pickup fluid" takes the fluid at the end of your simulation and sets it as a starting point. Add "react" statements to specify reactants that you want in your new simulation and repeat the cycle. You can try a couple of cycles in React's GUI to see if it is performing the simulations like you desire. Once you are ready, you can create one long script, like your existing file with all the cycles you want to simulate and run the script in React. If you change the file extension from .txt to .rea, it should automatically run when you double-click to open it. You can also find all the commands accepted by GWB programs in the GWB Command Reference. Hope this helps, Jia Wang Aqueous Solutions LLC
  8. Hello Lian, Thank you for bringing this issue to our attention. We have made a fix to the issue with regards to constant capacitance in model runs. To get you and other affected users up and running now, we have created a release candidate installer. To download, use the link below. GWB17.0.2rc2_setup.exe The fix will be included in the next maintenance release. Please let us know if you run into any other issues with the release candidate. Best regards, Jia
  9. Hello Anoop, Thank you for attaching your files. In the Academy lesson, the hypothetical fluid is assuming equilibrium with CO2(g) in the atmosphere for dissolved HCO3- content. Then, HCl is titrated in with a buffered vs non-buffered system to show how the pH alters. It sounds like the problem you are attempting to set up is not quite the same. As with every geochemical calculation, you need to supply the composition and constraints to solve the initial system before changing the system. React will always try to calculate the speciation of the initial system and we can check whether or not that it is able to do that by running the command "go initial" or from under the "Run" menu. When I performed a go initial run on the file that includes the HCO3- component, I encountered the large residual error. Looking at your basis, you are constraining the HCO3- in equilibrium with a really high partial pressure of CO2(g) while you have a really high pH. At such a high pH, the CO2(aq) concentration would be relatively low and that can cause issues with the numerical iteration for calculation. Do you have a measurement of the carbonate concentration in the fluid? If so, it may be better to use it directly as it seems unlikely that your fluid is in equilibrium with such high partial pressure of CO2(g). In both files attached, you added HCl as the titrant. Perhaps one should be CO2? Once you can get your basis speciation to calculate successfully, I think you would want to add in a simple reactant for CO2(g) as you had stated in the previous post. This will titrate CO2(g) incrementally into your system over the course of the simulation. I would also like to point out that in addition to titrating simple reactants, the program also can model systems in equilibrium to changing gas fugacities. You can see more information about this option in section 3.6 Sliding activity and fugacity of the GWB Reaction Modeling User Guide. Hope this helps, Jia Wang Aqueous Solutions LLC
  10. Hello, Thank you for attaching the relevant files. This might be a bug in the software relating to capacitance settings. We are looking into this more closely now. I apologize for any inconvenience. Best regards, Jia Wang Aqueous Solutions LLC
  11. Hi Scott, I apologize for the delay. This is a slightly complicated question. While the stability constant (log K) and boltzman factor certainly plays a role on the sorbed species, there are a few other things to consider. Comparing the product between the log K and boltzmann factor can work relatively well if the conditions for your types of surface species are similar. For example, if we take a look at the 3 metals example, all the surface species have the same charges and consists of similar reactions with bivalent cations, similar types of weak and strong reactions, similar reaction stoichiometry and etc. Things can get more complicated if the charge of the binding metal differs from each other or if the pH shifts, as many complexation reactions can be pH-dependent. If the site types for certain ions bind only to weak and the other only to strong sites, the log K and boltzmann factor alone won't capture that. The degree to which other aqueous complexes form when your system will also affect the ions available for binding. Without a full speciation calculation, you won't be able to account for quite a few of these things. Additionally, unless your calculation involves a non-electrostatic, the boltzmann factor can vary with your system when comparing between different charges of surface species. Hope this helps, Jia Wang Aqueous Solutions LLC
  12. Hi Jamison, This is very strange. You do not need to add citric acid to both sections. I downloaded the dataset you attached and loaded it into a React run and I was able to find Citric_acid just fine (in both the swap options for HCO3- and the Redox Couples dialog). Could you double-check that the dataset you have loaded in your current run is correct? To open the current dataset loaded for your run in React, go to "File" -> "View" -> select the thermo dataset that ends with the extension .tdat. Check that the dataset includes everything you have added. I encourage that you also change the name of the thermo file so that it is different from what is installed with the software. In general, it is good practice to create a copy and save with a unique name when you customize a dataset. Best, Jia
  13. Hello Jamison, Thank you for posting your dataset. I see that you have added a log K of 200 at 25C for your citric_acid reaction. Is this correct? Or did you mean to attach another dataset? As for the ability to swap, I was able to swap in citric acid once I added the HCO3- component to the basis of a system. Did you look under "aqueous species" when performing the swap on HCO3-? Adding a reaction as a redox species allows users the flexibility to disable redox equilibrium in various calculations. By default, all redox couples are enabled, meaning that a bulk concentration prescribed for that element is distributed between all oxidation states. In thermo.V8.R6+, many of the organic species are written as redox reactions of HCO3-. In this case, you can specify the bulk carbon concentration by adding in the HCO3- component and the program will automatically calculate species concentration assuming all redox states are in equilibrium. You can disable any of the equilibrium reactions at run time and that will allow you to add in the bulk concentration for each oxidation state separately into the basis. For example, if you disable the HCO3-/Acetic_acid, you can now add in both HCO3- and Acetic_acid to your basis in React. For more information, please see section 2.4 Redox couples and 7.4 Redox disequilibrium in the GWB Essentials Guide. If you want the program to calculate mass distribution to various oxidation state of carbon, you will need to find and add the appropriate Log K for the HCO3-/Citric acid reaction. If you do not need the capability to calculate mass distribution between citric acid and other carbon oxidation states, there are a couple of options. You can add citric acid as a basis species, which permanently decouples citric acid from other species. In this case, you also don't need a log K for the reaction between HCO3- and Citric acid. You can use the "break couple' feature to move a redox species into the basis species section in the dataset attached. Please see section 9.2.9 Adjusting redox coupling in the GWB Essentials guide for more information. Alternatively, keep your dataset as is and add an appropriate log K for the HCO3-/Citric acid reaction. You can disable the redox couple at runtime in React under "Config" -> "Redox couples...". Note that there are a lot of other organic species in this thermo dataset. If some are forming and you are not expecting, you can use the suppress feature ("Config" -> "Suppress...") to exclude them from React's calculation. The program considers all possible reactions unless otherwise specified by the user. Hope this helps, Jia Wang Aqueous Solutions LLC
  14. Hello, There are several options to go about repeating simulations for a batch of analyses. One option is to use the launch feature in the GSS spreadsheet. You can add your analyses to your spreadsheet, use the launch feature to run multiple samples in React at once and retrieve the output file. If you are performing an evaporation experiment, you can configure commands like "React -50 g of H2O" in the Options... dialog for all your simulation. You will need to open each output file to locate the desired results. For more information on Launch with GSS, please see section 3.5 in the GWB Essentials Users guide. If you would like the program to process multiple samples and return specific results, you can look into working with the Plug-in or Control scripts feature. Both will require you to write your own scripts to tell the program what information you would want to retrieve. Please see more information regarding the Plug-in feature and Control Scripts, sections 6 and 7, in the GWB Reference Command. An example for multiple analysis using control scripts is also given in the same guide in section 11.. Hope this helps, Jia Wang Aqueous Solutions LLC
  15. Hello Arata, Thank you for letting us know and glad to hear that was helpful. I hope the rest of your project goes smoothly. Best regards, Jia
  16. Hello Jerome, I am still having some difficulty following your simulation setup here. It sounds like you can measure pH and composition in your fluid at certain points of your experiment. Perhaps you can use React to simulate your experiment so that you can predict the condition of your fluid when you are not able to make a direct measurement? Once you have done so, you can use that to simulate a titration run in React. You can pick up the results from a React simulation as a starting using the pickup function. For more information on the pickup function, please see the GWB Command Reference. As for setting HCO3- as the charge balancing ion, I am not sure how this would work at all when you don't have any constraint for pH. Without pH, the program can't calculate protonation and deprotonation reactions between various carbon species (e.g. HCO3- = H+ + CO3--), as they involve H+. If you can constrain the H+ component by assuming that it is in equilibrium with a gas or mineral, that will allow the software to calculate carbonate alkalinity. Hope this helps, Jia
  17. Hello, The ChemPlugin object is only included in the GWB Professional Edition. You can also license the ChemPlugin SDK independently from the GWB package. Best regards, Jia
  18. Hello Arata, Thank you for posting the paper and the files to troubleshoot with. Here are some suggestions for you. Since the amount of metals added to various experiments, in this case cadmium, is the total present, you should enable the "sorbate include" option in your input file (Config -> Options... check "sorbate"). This will distribute the total mass of cadmium between your mineral surface and solution. If not, the software will calculate an additional amount of cadmium sorbed to the mineral surface separate from the fluid. For more information, please see the “sorbate” command in the GWB Command Reference. The React file you have attached didn't include any kaolinite. Perhaps you had previously set 7.8 g/l in the Reactants pane? A minor consideration is that FITEQL uses the Davies activity model to calculate species activity, while the thermo dataset you have attached uses the B-dot method. This may cause some minor differences in your case. The biggest issue here is the ion-exchange convention used in the paper does not match the standard method used in most geochemical modeling software, including the GWB. The exchange species in the mass action expressions for equations 1 and 2 use concentration units, just like aqueous species (as denoted by the brackets). In a typical ion-exchange model, such as Gaines-Thomas, however, the site activities are given in terms of the fraction of the total electrical equivalents of exchange capacity occupied by the ion. Unless you can convert the constants to one of the conventions used in the GWB, you won't be able to replicate those reactions in the GWB (or other conventional modeling programs) using the ion-exchange model. However, the equations shown in the paper for ion-exchange are similar to one of the conventions for a non-electrostatic surface complexation model. Your combined dataset Gu_inout.sdat should work for these purposes, as long as you change the convention for polydentate reactions to “stoichiometric”, to match the method in the paper. For more information, please see section 2.6.8 Polydentate sorption in the GWB Essentials Guide. You should note, however, that the stoichiometric method is considered outdated and is not inaccurate when the amount of sorbing mineral differs from the original experimental conditions. For a more robust surface complexation model, you should convert the equilibrium constants for polydentate reactions (in this case, the ion exchange reaction for Cd) to either the hiemstra-vanriemsdijk or appelo-postma protocol. In the hiemstra-vanriemsdijk model, the mass action equations recast the molal terms in terms of mole fractions of sorbing sites. The appelo-postma model uses site coverage rather than that of mole fractions. For a quick primer on polydentate sorption, please see section 10.2.5 Multidentate Complexes in the Geochemical and Biogeochemical Reaction Modeling text, third edition. Also, the paper "Mass Action Expressions for Bidentate Adsorption in Surface Complexation Modeling: Theory and Practice" paper published by Wang and Giammar, 2013, which is cited in the text, provides much more information on the subject and describes a method for converting log Ks from the stoichiometric to more useful conventions. Hope this helps, Jia
  19. Hi Jerome, I am not quite following your logic here. If you have the pH, TDS, and the chemical composition of your fluid, the most straightforward approach is to set up the fluid in React (Basis pane) and add a strong acid like HCl (Reactants pane) until you get to the endpoint pH. The equivalents of acid needed to reach that endpoint reflects the alkalinity of your fluid. Are you saying that this approach does not work for you? When you say "using HCO3-" to reach charge balance, do you mean you're adding HCO3- to your system or setting HCO3- as the charge balancing ion? Best regards, Jia Wang
  20. Hello Karen, BASIC scripts are very versatile and can be used to return a rate provided the information are in the script. If you would like have pH and temperature affect the reaction rate of the mineral as shown in Fig 1. of the paper, you can specify the pre-exponential factors and activation energy terms as variables in your Basic script and then use those variables in your rate law expression to calculate the overall rate. You do not need to specify the pre-exponential factors or the activation energy in the React input script itself if you are already doing so in the Basic script. Just note that you will want to call the variables you specified in your script in your rate law instead of the internal parameters (i.e. "pre_exp", "act_en") . Hope this helps, Jia Wang Aqueous Solutions LLC
  21. Hello Arata, Thank you for the additional information and files. We are taking a closer look. Best, Jia
  22. Hello Qingping, Just to follow up with some additional thoughts regarding your question. The pressure command is used for drawing the water stability limits in Act2/Tact, but it does not correct the log Ks defined in the thermo dataset to the pressure of interest. The Log Ks need to be provided specifically at those specific temperature and pressure conditions. In addition to the information in the paper, the GWB thermo webpage also provides a list of some programs that can be used to generate thermo datasets at arbitrary temperature/pressure conditions. Hope this helps, Jia
  23. Hello Qingping, The limitation here is not with the software. To create a diagram like this, or really to make any type of geochemical calculation, the software draws its thermodynamic information from the dataset loaded. The default dataset, thermo.tdat, has a prescribed range of 0-300C. Also, note that not every reaction within the dataset need to have equilibrium constant data across the full range. The software can create diagrams at any temperature range provided that reactions have information at that temperature range. Does the author of the paper provide the thermodynamic dataset they used? That would be a good starting point. You can open and view GWB datasets using the TEdit application. To open the thermodynamic dataset loaded in a current GWB app, go to the File menu -> View -> open the dataset. The GWB apps will also allow you to extrapolate reaction equilibrium constants beyond the prescribed range for the dataset. This option is disabled by default. You can enable it under Config -> Options... In general, I would advise caution when extrapolating log K's for temperature beyond the range of validity prescribed. The further you extrapolate outside the range, the less accurate the values may become. For more information regarding thermodynamic datasets installed with the software, please see section 2.3 of the GWB Essentials Guide. Information regarding dataset structure, see the GWB Reference Manual. Access the guides from the "Help" menu from any GWB app or the Docs pane on the GWB Dashboard. Hope this helps, Jia Wang Aqueous Solutions LLC
  24. Hello Qingping, Thank you for providing the example and input file. A couple of suggestions to help you get started with troubleshooting. You should check if the dataset you are using to generate the diagram is the same as the one used to generate the published figure. For example, I see that the diagram includes the species HAlO2(aq). The default thermodynamic dataset, thermo.tdat, does not include this species. You may want to check in the paper for more information regarding the thermodynamic data used to generate the diagram. You should also check that the equilibrium constants for the reactions in the dataset you are using are also the same as the ones used in Figure 1. The GWB program installs a set of default thermo datasets that you can find in your Gtdata folder or download again from our webpage. Also note that the GWB programs consider all reactions in the dataset. The mineral fields that appear shows the most stable minerals. If minerals that appear are not considered in your system, you set the program to exclude those minerals in the Suppress dialog (Config menu -> Suppress…). Hope this helps, Jia Wang Aqueous Solutions LLC
  25. Hello again, With regards to the thermodynamic dataset, I do not have any additional information regarding the smectite-reykjanes clay but perhaps someone else can help. If you are working with thermo.tdat, you can find the data sources, as cited by LLNL, at the bottom of the file. If you are opening the dataset using TEdit, GWB's thermodynamic dataset editor, you can view the sources listed in the "Header" pane under the Bibliography section. Hope this helps, Jia
×
×
  • Create New...