Jump to content
Geochemist's Workbench Support Forum

Jia Wang

Admin
  • Posts

    729
  • Joined

  • Last visited

  • Days Won

    29

Everything posted by Jia Wang

  1. Hello Ulagai, You can set activity ratios (e.g. aK+/aH+) in the x and y axes but cannot simply raise the activity of species to a certain power. Please see section 5.1 Diagram calculation in the Essentials User Guide for examples. You can use the suppress function to suppress minerals that are unlikely to be forming in your system. To suppress minerals, go to 'Config' --> Suppress and select the minerals/species you wish to suppress. For more information regarding the the suppress feature, please refer to the GWB Command Reference guide. Hope this helps. Best regards, Jia Wang
  2. Hi Luis, Happy new year to you too! Unfortunately, there’s not a set equation to calculate the concentration of these species. If you would like more information on the calculations and the methods used, please refer to the Geochemical and Biogeochemical Reaction Modeling text. Best regards, Jia Wang
  3. Hello William, Modern water chemical analyses are most commonly expressed in dissolved ion concentrations. The GWB programs (React, SpecE8, X1t, X2t) are set up so you can configure the fluid using chemical analysis directly. GWB can swap minerals into the basis as a way to set up the fluid in equilibrium with that mineral. I am not sure how constraining the chemical composition in terms of dissolved minerals is more advantageous than using a chemical analysis or setting a fluid in equilibrium with the mineral. Are you thinking of a particular example or problem? Best regards, Jia Wang
  4. Hello, It seems like the issue arises from within the second script when the reset command is executed. When the reset command is not executed from within a .rea file, it will turn scripting off. When the pickup reactant command is used, the program implicitly runs the reset command. As a result, none of your simulation output are written to your output file. You can try adding the ‘script start’ command after the “pickup reactants = fluid” line and “reset reactants” line to start scripting again. We’ll evaluate changes to this behavior for future releases. Hope this helps, Best regards, Jia Wang
  5. Hello Ozan, There are certainly a lot of different types of surface complexation models. Constant capacitance and constant potential are special cases of the two layer complexation (or diffuse double layer) models. If you set a constant value for the capacitance, either in the surface dataset header or in your input file, the programs use that to calculate surface potential directly from surface charge, rather than using the full two layer model. On the other hand, if you set a constant value for potential, the programs use this regardless of surface charge. In a further special case of the constant potential method, if you set potential to 0, you would be ignoring the electrostatic effects on sorption and thus the model is considered non-electrostatic. You can refer to section 2.5 Two-Layer surface complexation model of the GWB Essentials Guide for more information on the surface complexation models available within GWB currently. Triple layer and CD-MUSIC model will be available in an upcoming release. Hope this helps, Jia Wang
  6. Hi Luis, I misread your post above regarding 'rate constants' as 'thermodynamic constants'. Rate constants are usually derived from laboratory experiments and published in literature. My apologies for any confusion. Best regards, Jia
  7. Hello bclement2142, I took a look at your input file and noticed a couple of things. React begins a simulation by calculating the speciation of the initial fluid and bringing it to equilibrium. Unless otherwise specified, the default setting in React swaps in a number of necessary mineral phases to allow the solution to precipitate minor mineral mass and come to equilibrium. When I ran the input file as is, I got the error message of convergence issue and also that the initial solution is too supersaturated. The results pane for the run shows that there are 21 minerals that are supersaturated. You can try to use the suppress function to suppress the minerals that you don't expect to precipitate in your system. Just as a test, I suppressed all the minerals in the system and the React script ran with no problems. However, I am not sure of the origin of your water and the conceptual model of your work, so the minerals selected for suppressing should be considered carefully. You can try using Spec8 to figure mineral saturation of your initial solution. You can then iteratively suppress saturated minerals in your React input file that might not be likely forming in your system. For more information regarding the the suppress feature, please refer to the GWB Command Reference guide. Hope this helps, Jia Wang
  8. Hi Luis, I believe the thermo.com.V8.R6+.tdat dataset distributed with the GWB includes thermodynamic information for sylvite. You can copy and paste the sylvite entry from the V.8.R6+ database to the database you are using. For more information on this, please refer to section 9.2.6 Transferring dataset entries in the GWB Essentials users guide. I am not familiar with brianite but maybe there are some experiment data published in literature somewhere? Hope this helps. Jia Wang
  9. Jia Wang

    Suspended Solids

    Hello Kristin, TSS is not one of the default analyte in GSS. You can however add it as an user defined analyte in GSS. You can conveniently do so by selecting '+ analyte' on your spreadsheet and navigate to 'User defined analyte' and then click 'new'. For more information on user defined analytes, please refer to section 3.3.5 in the GWB Essential user’s guides. Hope this helps. Jia Wang
  10. Hello Kristin, You can certainly change the analyte units in GSS spreadsheet. You can right click on the unit and under the 'units' drop down menu, you can select the available unit for your analyte. For more information, please refer to section 3.2.3 Changing units in the GWB Essentials user guide. Hope this helps. Jia Wang
  11. Hello Luis, Thank you for the clarification. The thermo databases distributed along with the GWB software contain a vast amount of thermodynamic information for minerals and aqueous species. However, when a mineral is not in the database (in your case brianite), you will have to add the mineral and its thermodynamic parameters manually. You can conveniently do so by using the TEdit application. Once you have successfully added the mineral to the database, it will be available for selecting as a reactant. Please refer to section 9.1 Getting started with Tedit and 9.2 Working with datasets of the GWB Essentials guide for more information and examples. Please post on the front page of the forum in the future. Thanks. Best regards, Jia Wang
  12. Hello Peter, Apologies for the delayed response. The GWB can account for equilibrium fractionation of stable isotopes as described in the Geochemical and Biogeochemical Reaction modeling text section 19. You can use the ‘segregated’ mineral option so that only minerals precipitated and dissolved are in isotopic equilibrium of the changing system. Any mineral present at the start of the time step is unaffected. Kinetic minerals are automatically considered fully isotopically segregated since they exist outside of the equilibrium system. You can set up kinetic minerals to dissolve and precipitate using rate constants and surface area. From your brief description above, your input file setup seems to be pretty efficiently setup. If you would like someone to take a closer look, please attach the file below. The GWB does not incorporate isotope fractionation kinetically as Druhan et al., 2013. Hope this helps. Best regards, Jia Wang
  13. Hello AJag, Here are a couple of suggestions to help you get started. You can use the ‘sliding temperature’ path option to simulate varying temperatures in React. The sliding temperature path allows you start at an initial temperature and gradually change the temperature of your system to a final desired temperature. For more information and examples, please refer to section 3.4 ‘Polythermal reaction paths’ in the GWB Reaction Modeling User’s guide. You can't set confining pressure within GWB apps except in Act2 and Tact. All thermodynamic data in the datasets distributed with the GWB is compiled along the steam saturation curve. You can, however, set the partial pressure or fugacity of gases in your system. For more information on how to set partial pressure or fugacity of gases, please refer to section 7.5 of the GWB Essentials User's guide. You can also set up your gas partial pressure or fugacity to vary over the duration of the simulation using the 'sliding' feature. For more information, you can refer to section 3.6 of the Reaction modeling user's guide. If you wish, you can compile a thermo dataset at a pressure or temperature of interest. See the K2GWB and DBCreate references on our thermo data page for more info. Hope this helps. Best regards, Jia Wang
  14. Hello Andrew, You can select the variable to be displayed as a color map or contoured in P2plot (Xtplot as well). Then use the ‘Copy and paste as text/spreadsheet’ option to export a table of numerical values of the variable you have selected to diagram or contour. For more information, please refer to section 8.7 in the GWB Reaction modeling user's guide. Hope this helps. Jia Wang
  15. Hello Luis, I would suggest you start by looking at the equations for kinetic complexation in Section 4.4 of the Reaction Modeling Guide. React can trace the association and dissociation of any number of aqueous complexes, as well as surface complexes. An additional resource would be the Geochemical and Biogeochemical Reaction Modeling text that may provide details on governing equations and examples in The GWB. In particular, you may be interested in Chapter 10 Surface Complexation. You can certainly consider inhibiting and promoting species in your simulation. The addition of an inhibiting or promoting species modifies the rate law for the reaction. To enable promoting or inhibiting species, you can add species in the reactants pane for the kinetic reaction of your choice and choose the power to which this species is raised to. Specifically for inhibiting species, the power raised have a negative value. For more information, please refer to section 4.2 in the Reaction Modeling guide for more information. You can add mineral as a reactant in the Reactants pane for React, Phase2, X1t, and X2t. A mineral can be specified as a kinetic or simple mineral, where the former requires user provided rate constant and surface area constraints. A simple mineral gradually adds or removes mineral to the system and the equilibrium state is calculated at every step of the reaction. Please refer to section 3 and 4 of the Reaction Modeling guide for more information and examples. Hope this helps. Best regards, Jia Wang
  16. Hello C. Penna, I took a quick look at your script and it seems like you have set a combined volume for the system to be greater than 100 percent. I suggest you leave medium properties at default settings unless you are specifying a porous medium from your field site or experiment. The program will calculate the porosity and volume minerals base on your entries in the basis pane. You might also want to start at 0 for the rate constant to make sure that entries in the basis pane and the rest of the system is set up correctly before starting to add in your redox reaction. Once your initial system is set up in the way you want and is able to run without the reaction, then increase the rate constant. Additionally, I noticed that you have O2(g) fugacity fixed right now in the Reactants pane. In this case, the fixed fugacity is calculated from the initial O2(aq) concentration in your basis pane. Usually a fixed gas reactant is set for modeling systems buffered in nature by contact with a gas reservoir such as the atmosphere or in a controlled laboratory setting. If you fix the fugacity of O2(g), your O2(aq) concentration will to equilibrate with the fugacity which would not change throughout the simulation. You might want to reconsider this constraint for your system. Hope this helps. Best regards, Jia
  17. Hello C. Penna, I would suggest you add the species CaO2 as a redox species into the thermo database to start. If CaO2 species is generally unstable then you can put in sufficiently large Log K values to ensure that CaO2 is thermodynamically unstable. For more information, please refer to section 9 in the GWB Essentials Guide for adding new entries into the database. I recommend you save the database with a new file name such as ‘thermo+CaO2.tdat’ to preserve the original file. Then in the GWB application you are using for your simulation (React, X1t, X2t), use the decouple dialog to decouple CaO2. This allows you to add in CaO2 as a basis species in your basis pane. You can then specify a kinetic redox reaction and an intrinsic rate constant in the reactants pane for your system to regulate the rate at which CaO2 dissociates in your system. Additionally, you might also want to consider a custom rate law as well for your reaction. GWB defaults to a built in general rate law form but you can customize your own rate law according to observations or experimental data. For more information, please refer to Section 5 in the GWB Reaction Modeling Guide. If you have any further questions, please include your input files. Best Regards, Jia Wang
  18. Hello Frank, Sorry for the late response. There are several options to set heterogeneous mineral mass distribution in X1t and X2t. X1t and X2t require the initial system to be configured with a single set of basis species. Therefore, an equilibrium mineral in the initial pane must be have some mass present in every node in order for the program to equilibrate the fluid with the mineral. For this reason, you would not be able to set a zero mineral mass for an equilibrium mineral. You can, however, set a heterogenous distribution for its abundance in the initial pane. For more information, please refer to the Heterogeneity Appendix in the GWB Reactive Transport Modeling Guide. Kinetic minerals are a different story. For purely kinetic minerals (those not swapped into the basis), you can set their abundance heterogeneously on the Reactants pane. There’s no issue with setting a reactant mineral in some nodes and no mass in others. For each kinetic mineral using the built-in rate law, you can supply a specific surface area (m2/g), which gets multiplied by the current mass to calculate the surface area. This property can also be set heterogeneously. Going back to the issue of different equilibrium minerals, you could alternatively write a simple flow program that uses ChemPlugin instances to figure reaction and transport. ChemPlugin is a self-linking software object based off the GWB’s compute engine. You spawn a ChemPlugin instance for each nodal block, and there’s no requirement that each instances uses the same set of basis species, so you can configure each instance in equilibrium with different minerals. To learn more about ChemPlugin, you can visit the ChemPlugin page. Hope this helps. Best, Jia
  19. Hello Jeonghwan, To simulate sorption in GWB, prepare a surface dataset for the ion of interest. You can refer to section 2.5 for more information on the various sorption models in GWB Essentials Users Guide and section 9.2 for more information on how to edit or create new surface datasets. Using React, you can set up a simulation to titrated the ion of interest into a system and observe the mass of ion sorbed based on the sorption model (Kd, Freundlich, Langmuir) of your choice. Note that for the Kd and Freundlich approach, you would need to completely specify mineral mass, including both equilibrium and kinetic minerals as well as any inert volume. You can do so by setting a low concentration of the ion in interest in the basis pane and then in the Reactants pane, select ‘add’ --> ‘Simple’ --> ‘Aqueous’--> name of species. Enter the total quantity you want to titrate in through the simulation and run the simulation. Plot the amount of ions in solution vs. the total concentration of ions sorbed from your simulation. Note that mass of ions sorbed per unit of solid mass is not a unit you can select in Gtplot. To convert to mass of ions sorbed per mass of soil, I would recommend copying the total sorbed mass from each simulation and divide by the total mass of soil in excel or a similar program. You can then replot your results in the desired units Hope this helps. Best Regards, Jia
  20. Hello Kaizen, I took a look in your input file and here are a couple of suggestions. To look at the speciation of La+++, you would need to add the species and the associated Log Ks for the reactions into the database. Without your thermo file, I am guessing that you might want to check whether or not the species you are interested in are all there and double check the Log K values. Please refer to section 9.2.3 in the GWB Essentials Guide for more information. React defaults to using Cl- as the balancing species but in this case you might not need to have a charge balancing species since you are generating a speciation diagram. You can turn off balance species by clicking on the units of a species and select do not balance. You can then eliminate Cl- from your basis pane. Lastly, note that La(OH)3 is a mineral in the thermo.V8.R6+.tdat database. If the mineral precipitates, you will be able to see its calculated quantity under the variable type: ‘Mineral’ and not under ‘Species concentration’. Hope this helps. Best, Jia Wang
  21. Hello Bob, Thanks for attaching your input file. I noticed a few things in your input file that might be the problem. Here are a couple of suggestions that might help. Methane is not one of the basis species available in the thermo.tdat dataset. You can swap it into the basis pane as you have done so by swapping CH4(g) for H+. However, in doing so, you are setting the reaction H+ + H2O + HCO3- = CH4(g) + 2 O2(aq) to fix pH. I am not sure if this is what you want to do. If you wish to set both bicarbonate and methane gas concentrations in your initial system, I would suggest you engage disequilibrium by decoupling CH4(aq) and HCO3- in the Redox Couples dialog. By disengaging equilibrium between HCO3- and CH4(aq), you can enter the species of CH4(aq) as a basis species into your initial condition, which then you can swap for CH4(g). This would also eliminate the need to have to enter O2(aq) as part of your basis constraint. Another thing to consider is the value used for the partial pressure of the methane in your basis pane. The value entered should the partial pressure of CH4(g) in your reservoir and not the confining pressure. For more information, please refer to section 7.5 Gas Partial Pressure in the GWB Essentials Guide for more information. Currently, you cannot fix the confining pressure of the system in Speciate. Hope this helps. Best Regards, Jia Wang
  22. Hello Rob, If you’re doing a simple calculation of the equilibrium state of your wastewater, or making an Eh-pH diagram or stability diagram of some sort, there’s nothing extra to incorporate. You can certainly account for the effects of microbes in a process model, however. Please note that a mineral still has to reach saturation to precipitate. Microbes can catalyze redox reactions that are thermodynamically favored, but kinetically limited. I’m not especially familiar with the details of biological wastewater treatment, but perhaps the byproducts of microbial metabolism (e.g. NH4+ from dissimilatory NO3- reduction) help drive the saturation of struvite. If you’re interested in simulating the effects of microbial metabolism and growth, you’ll probably want to use a kinetic rate law in React. A simple option is to use an enzyme-mediated reaction to predict the influence on species concentrations. In enzymatic catalysis, a substrate combines with an enzyme to form an activated complex, which can decay to give a catalytic product. React can also consider more complex models of microbial metabolism and growth, including competing strains. Perhaps a good place to start is chapter 4.6.2 (Enzymes and biotransformation) and chapter 4.7(Microbial metabolism and growth) in the GWB Reaction Modeling Guide. Best regards, Jia Wang
  23. Hi Bob, It seems like there was an error with the original post and your script was not uploaded. Can you attach the file and reupload your .sp8 script again? Thanks, Jia Wang
  24. Hi Kaizen, Thanks for attaching the file and the additional Rxn screenshot. The Log K value in reaction balancing using Rxn should match the resulting Log K for the mineral in TEdit. I see that the Log K value from reaction balancing using Rxn is -21.1 at 25C, which does not match the initial Log K value of -24.3 in your original post above. Using the database attached, I tried adding the kozoite into the database with the Log K value of -24.3 for the reaction LaOHCO3 = La+++ + OH- + CO3—and got 0.0289 as the new resulting Log K value for the reaction Kozoite + 2H+ = La+++ + H2O + HCO3-. Perhaps you entered -21.1 for your Log K value accidentally when you were creating the new mineral instead of the intended Log K of -24.3? You can modify your entry by deleting the basis species under ‘species in reaction’ and then re-enter the correct Log K value and select the corresponding aqueous species(CO3—and OH-) and basis species (La+++). You can also simply delete the entry and re-add kozoite as a new mineral. Hope this helps. Best, Jia
  25. Hello Kaizen, The GWB apps expect all reactions to be written in terms of basis species, so TEdit performs reaction balancing to swap out the aqueous species to do so. Please see 9.2.7 Basis swapping in the GWB Essentials Guide for a description and example. I used the thermo.com.V8.R6+.tdat dataset and tested out the procedures you described and I got a different result. But that can be due to different Log K values for the carbonate and hydroxyl reactions that you might have entered in your database different from the default values? You can check your entry using Rxn, by swapping CO3—and OH- for HCO3- and H2O respectively, to see if you get the original Log K value when you balance the equation. See section 4.1 in the GWB Essentials User's guide for more information on Balancing reactions in Rxn. Please attach your database if you need further assistance. Best, Jia
×
×
  • Create New...