Jump to content
Geochemist's Workbench Support Forum

Jia Wang

Admin
  • Posts

    724
  • Joined

  • Last visited

  • Days Won

    28

Everything posted by Jia Wang

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
  21. Dear GWB users, We are pleased to announce our latest maintenance release, GWB 12.0.5. The 12.0.5 update features an important update to Flexera license manager, better user and administrator support for network floating licenses, Python 3 support for the GWB Plugin feature (ChemPlugin already supported Python 3), better ability of the time marching apps to back up and recover convergence failure, tracking and reporting of the number of pore volumes displaced in React, fixes for tab-completion feature in Command pane, and resolution of all known issues arising since the GWB 12.0.4 release. Update from 12.0.0-12.0.4 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 Help menu of any GWB app. Regards, Jia Wang Aqueous Solutions
  22. Dear Usman, The Durov diagram currently cannot be modified to include alternate axes variables, such as Fe concentration. You can alternatively try to use one of the other diagrams such as Ternary, Stiff, or Bar graph. In these types of diagrams, you can select the species on each axis. Please refer to section 3.6 of the Essential Guide for information on plotting your data. To create diagrams with activity ratios as the axis variable, you would simply swap an activity ratio into the basis as described in section 5.1-5.2 in the GWB Essentials Guide. The procedure is essentially the same for K+/H+, Ca++/H+^2, and Mg++/H+^2. You can overlay your data points in GSS data sheet to the Activity diagram. Go to 'File' --> 'Open' --> 'Scatter Data' and select the GSS file with your data. Act2 diagrams are plotted in terms of species’ activities and fugacities, not chemical concentrations. You can calculate activities of your species in GSS directly or supply values as user defined analytes. Please refer for section 5.6 of the GWB Essentials Guide for more information on Scatter Data and section 3.3.4 for Calculated values. Hope this helps. Best, Jia
  23. Dear Misato, I would recommend using the ‘script’ or ‘script file’ option for setting the nucleus density rather than an ‘equation’. Using a script or script file would allow you to set 10 [cm2/cm3] if Time is less than 3000000 seconds and after that, the equation desired. It would look something like this: IF Time < 3000000 THEN 20 ELSE 40 20: nucleus = 10 GOTO 60 40: nucleus = 10*(1/2)^((Time-3e6)/150000) 60: RETURN nucleus As you’ve done, you need to check the “transient” option to evaluate the variable at each time step. Please refer to section 5.2 of the GWB Reaction Modeling Guide and the Heterogeneity Appendix to the GWB Reactive Transport Modeling Guide for more information. Please note that the nucleus density option prescribes a minimum value for a supersaturated mineral’s surface area over the calculation. The program calculates the actual surface area from the mineral’s current mass and specific surface area and uses this whenever it exceeds the nucleus density. Best, Jia Wang
  24. Hello Jeonghwan, Thank you for attaching your script. Suppress is a very useful feature to allow for less thermodynamically favorable minerals or species to form in your system by suppressing the more stable minerals from forming. React consider all minerals available from the database when making calculations unless otherwise specified. You can refer to the GWB Command Guide and the Reaction Modeling guide to learn more about this feature. With regards to your first question, you can certainly suppress AlO2- in your model but does this make sense in the context of the system you’re modeling and your field observations? I am not sure what your system is so it is difficult to determine what would be the most appropriate to suppress. Perhaps your field data will help to give you some suggestions with regards to what is appropriate for suppressing? I also noticed that you have unchecked precipitation in REACT0928.rea. This restricts minerals from precipitating even when they are supersaturated. Is this a constraint you meant to set? As for your second question, I think you mean to ask if your model has a pH of 8.3 at equilibrium? In simple reaction paths, where one or more reactants are gradually added to the system is called a “titration path”. The system’s equilibrium state is calculated as it steps forward in reaction progress. So React actually calculates the equilibrium state of your reaction at every time step. You can refer to chapter 3.1 “Titration paths” for more information. Hope this helps. Best Regards, Jia Wang
  25. Hello Jeonghwan, Thank you for attaching your script. I have looked at your script and noticed a couple of things that might help explain why the pH decreases initially. If you look at the primary dissolution of Montmor-Ca with its default species using Rxn, then you do indeed expect the reaction to consume H+ and consequently for the pH to increase. However, in your React model, the output text file shows that the pre-dominant Al species is AlO2-. When you swap the Al+++ species with AlO2- and recalculate the reaction for Montmor-Ca dissolution in Rxn, you will see H+ is on the right hand side of the equation and thus indicating the production of H+ in your system. Additionally, other minerals precipitating in your React model might also influence the consumption or the production of H+ in your system. For example, you can see that the initial system is saturated with respect to Talc and precipitates in React’s calculation. (For more information about React’s treatment of the initial system , please refer to section 2.3 in the GWB Reaction Modeling Guide.) If you return to the Rxn application, you can balance the reaction with Talc using the predominant species in fluid and see that the precipitation of Talc will increase H+ in solution. Your model subsequently precipitates other minerals such as Diaspore, Saponite-Ca, Stilbite, etc with the addition of Montmor-Ca. I would suggest you check whether the precipitation of these minerals is consuming or producing H+ using Rxn as mentioned above. This will most definitely influence the pH of your system. Lastly, it is rare to constrain the initial H+ concentration in mg/kg. Did you get this from a calculation? Perhaps check if the pH of your field measurements matches with what you entered for the H+ constraint? Hope this helps. Best regards, Jia Wang
×
×
  • Create New...