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 Fern, The GWB doesn’t have a Gibbs diagram default setting. I can’t think of another software off the top of my head that does it by default. However, it is pretty easy to define a user equation in GSS to calculate the component concentration ratio (e.g. (Ca/(Ca+Na)) and plot that value against the measured TDS value in a Cross plot. The cross plot can be exported to Powerpoint or other photo editor and draw in the dominance zones manually for the Gibbs diagram. For more information on how to define user equations in GSS and plotting cross plots, please refer to sections 3.3.5 and 3.6 of the GWB Essentials user guide. Hope this helps, Jia Wang
  2. Hello Kristin, With regards to your first question, I believe the TSS analyte is added as a user defined analyte. When doing so, you would have selected the category, dimension, and the default unit for your analyte. If you do not select a category, dimension, and a unit for TSS, then the default is just a number without any concentration units. For more information on user defined analytes, please refer to section 3.3.5 in the GWB Essential user’s guides. Default units for titration acidity are in equivalent base per volume or kg of fluid. Unfortunately, there is not a way to add mg/kg as CaCO3 as a default unit. Perhaps, you might consider adding a user defined analyte and set the unit to be mg/L as CaCO3. Please note that user defined analyte cannot be used in simulations by GWB apps. Best regards, Jia Wang
  3. Hello Kewei, The thermo.tdat database is compiled by Lawrence Livermore National Laboratory (LLNL). The references for this database are listed at the end of the document. You can see them in the Header section pane if you open the dataset in TEdit or at the end of the text file if you open it with a text editor. If you cannot find reference you need, you might want to look at the original report that was published by LLNL or consider contacting the original authors. Here is the reference for the original report from the GWB Essentials User Guide: Delany, J.M. and S.R. Lundeen, 1990, The LLNL thermochemical database. Lawrence Livermore National Laboratory Report UCRL-21658, 150 p. Best regards, Jia Wang
  4. Hello Karen, My apologies for missing this post last week. You can definitely use a custom rate law script to describe kinetic mineral dissolution/precipitation as well as ion-exchange in X1t. Please see my response to your more recent post here. Hope this helps, Jia Wang
  5. Hello Andrews, I am sorry to hear about your computer troubles. I have reset you license in our system so you can try activating again. Best regards, Jia Wang
  6. Hello Alero, You can certainly edit the thermo dataset you wish to include interaction coefficients for acetate and formate but I would recommend being careful when editing virial datasets. These datasets can be used for modeling solution of high salinity but it can also give misleading results if the fluid composition of your system deviates drastically from the experiments used to derive the virial coefficients. React would not stop you from using a different thermo database for your React calculation than your GSS calculation. However, please note the Phrqpitz.tdat database uses a different activity model than thermo.V8.R6.tdat, the former uses the Harvie-Moller-Weare formalism of the virial equations and the latter uses the Debye-Huckel B-dot activity model. Thus your model results would be very different if you were switch thermo databases. Also, note that the two databases have different aqueous species, minerals, and gas species available as well. If your solution is not particularly high in ionic strength, then I would recommend just using thermo.V8.R6.tdat for both your GSS spreadsheet and your React simulation. Hope this helps, Jia Wang
  7. Hello Alero, You should be able to add acetate and formate to the database. It's difficult to diagnose the issue without seeing your actual database. If you used a text file editor (e.g. Notepad), I would suggest double checking if the entries are formatted correctly. You can find the formatting guide for thermo datasets in chapter 3 of the GWB Reference User Guide. If you had edited in a text editor and still have the original dataset, can you also try modifying the original dataset using the TEdit application to see if you encounter the same error? If you do not see any error in the dataset, please provide screenshots of the error message, the release version of GWB you are using and attach your modified dataset so we can further troubleshoot. Best regards, Jia Wang
  8. Hello Karen, I think you can use the basic script files but I am not sure why X1t is not able to recognize the pseudo-minerals without seeing your database. Perhaps the thermo dataset is not properly loaded? This paper was published before kinetic sorption was integrated into GWB and thus the use of the pseudo minerals for ion exchange surfaces. Starting with Release 9, the GWB has added capabilities to incorporate surface complexation and sorption as a kinetic reaction using the species available in the surface dataset loaded. You can load the ion exchange dataset by going to "File" --> Open --> Sorbing surfaces. Once loaded, you can go to the Reactants pane and add in Kinetic sorbed species. You can set the rate law using the basic file in the screenshot you provided. This way, there wouldn't be a need to add the pseudo minerals for the exchange surfaces. For more information on kinetic complexation and sorption, please see section 4.4 in the GWB Reaction Modeling User Guide. Best regards, Jia Wang
  9. Hi Noam, I think you are referring to the checkbox in the Appearance dialog, when checked shows mineral fields on the ACT2 diagram. Act2 can calculate Eh-pH diagram and show the stability of minerals and the predominance of aqueous species in a chemical system. The range of the stability field for the mineral would depend on the chemical system in which you are making this diagram for. If you uncheck the minerals fields, you are removing all minerals from the diagram calculation and telling Act2 to consider only aqueous and gas species for your diagram. Hope this helps, Jia Wang
  10. Hello Noam, The GWB installation comes with a set of thermodynamic databases. If the species/elements that you need for your model are not readily available in one of these databases, you can edit the database of your choice to add the elements and species for your work. The thermodynamic files with extension .tdat can be edited using GWB's TEdit application. Please see chapter 9 Using TEdit in the GWB Essentials User Guide for editing thermodynamic files. Please note that if you are changing the default thermodynamic database in the Preference dialog in Act2 (or any other GWB applications), the default database will be used in the next instance the application is launched. For the current instance, please go to File --> Thermo Data... and select the thermodynamic database you want to use. You can always check the thermo database loaded by going to File --> View. Best regards, Jia Wang
  11. Hello Chelsea, My apologies for the delay. We looked into the issue that's causing Gtplot to crash when plotting XY plots. It seems like there were issue with some internal calculations for conversion units that was causing the plotting program to crash. I identified those by adding calculating the density of your samples using SpecE8 with 1 kg of solution and removed the samples where the density calculation failed. It seems like that helped with the crashing issue. Please find the modified GSS file attached below and let me know if you can launch XY plots successfully. Alternatively, the best solution to this issue is to actually enter the density for each fluid as an analyte (if available) for your spreadsheet, so that Gtplot doesn't need to calculate it internally when it attempts to plot it. Thank you for alerting us of this issue and your patience. It took a little bit of time to locate the cause of the issue. We will include a fix for this in the next maintenance release. Best regards, Jia Wang Chelsea_WQdata_GWBforum_modified.gss
  12. Hello Karen, I believe in order for the authors to set the effective rate constant as the rate_con parameter in this model, they had to choose both the volume fraction and specific surface areas such that the effective rate constant (k) was set to be equal to the intrinsic rate constant (k_+) in equation 8. In other words, the mineral fraction and specific surface area was to chosen so the product of mineral fraction, specific surface area, and the density is one. The volume fraction of 0.01 is chosen since the mineral fraction is not expected to change in the time scale of interest. In that case, you can solve for the specific surface area which is equal to 1/(0.01*density of mineral). Hope this helps, Jia Wang
  13. Hello Vincent, It is hard to say for sure without being able to test your input file along with your thermo database. It sounds like the precipitation of mineral(s) is affecting the activity of water you see and not the other way around. You can test this by turning off precipitation in your model under the Config in the menu bar and choose Options... Uncheck precipitation and run your model again. Do you still see the same jump without any minerals precipitation? If this issue persists, please attach (or email us) your input file and your thermo file so we can look into it further. Best regards, Jia Wang
  14. Hello Tuan, Act2 makes calculations for analytical solutions to draw equilibrium lines to show predominant species of the highest activity. Therefore, you should be using the activity of the predominant Fe or Mn species in your system for Act2 calculation. If you don't know the activity of your predominant species and you have a chemical analysis for your fluid, you can run a speciation calculation using SpecE8 to calculate it. You can plot the result from SpecE8 using Gtplot and configure the plot to show species activities. FYI, you can filter on the plot dialog to show you Fe related or Mn related species only. For more information, please see section 7 Using SpecE8 and section 8.2 Editing Gtplot appearance in the GWB Essentials User Guide. Hope this helps, Jia Wang
  15. Hello Mukul, I am not familiar with datasets that include NaOCl. If you have existing reactions and equilibrium constant values from literature, you can easily add them into your thermo database using TEdit, the GWB thermo and surface dataset editor, or editing the .tdat as a text file. For more information, please see section 9 Using TEdit in the GWB Essentials User guide or the Appendix for Thermo Datasets in the GWB Reference Guide. Best regards, Jia Wang
  16. Hello Steph, Taking a look at your files, there are a few things that I would suggest you check in your simulations to make sure that you are comparing the same simulations. The default fugacity coefficient model in thermo_hmw.tdat is the Tsonopoulos model. I believe PhreeqC may use the Peng-Robinson model instead. Please check if you are using the same fugacity coefficient model. If not, you can change to use the Peng-Robinson model in React. For more information, please refer to the press_model command in the GWB Command user guide. It seems like you used CO2 fugacity for your GWB model but used partial pressure for PhreeqC. The GWB programs can calculate the fugacity coefficient and use the partial pressure to calculate the fugacity for your fluid. To do that, you can swap CO2(g) into the basis pane and then set the partial pressure instead of the fugacity. You should use either fugacity or partial pressure in both models to make the best comparison. It might be best to start with this to either enter a fugacity or partial pressure into the basis pane and calculate speciation to make sure the results are expected before using sliding fugacity. Please note that gases are unlike minerals, there is not a saturation limit in the GWB apps for gases. I am not sure how PhreeqC differs in this regard but it might be good to check if the buffer you are applying in your PhreeqC model is fixed throughout the whole simulation. Hope this helps, Jia Wang
  17. Hi Sara, I think there are a couple of things to consider when setting up your script. In general, you would need to have two constraints on carbonates to make a calculation for pH. If you don't have that information, you can make assumptions about the constraints on pH, like you have done in your React file, setting the H+ ion in equilibrium with CO2(g) and charge balancing on bicarbonate. However, are you certain that your fluid is in equilibrium with the three sulfate minerals (gypsum, epsomite, and polyhalite) at the same time? You might observe these three minerals in the field but the fluid might not be in equilibrium with the minerals at the same time. The error message you received regarding large residuals mean that the program is having difficulties solving the full solution to your system because the initial guesses are likely leading to large residual values. You can find the details regarding residuals in chapter 4 of the Geochemical and Biogeochemical Modeling Text. If you have a fluid analysis with concentration values for potassium, calcium, and magnesium, I would suggest using those values instead of swapping the minerals in to set them at equilibrium. Lastly, I would try to refrain from using charge balancing to calculate the H+ concentration. The electroneutrality condition is almost always used to set the bulk concentration of the species in abundant concentration for which the greatest analytic uncertainty exists. Since H+ is typically present in small quantities, your calculation may just reflect the rounding error in the lab's precision for the fluid analysis. Hope this helps, Jia Wang
  18. Hello, You can calculate the pH of a fluid if you supply SpecE8 with the proper constraints. For example, you can calculate the pH if you know that your fluid is in equilibrium with the atmosphere or a specific mineral. For example, you can swap the H+ ion for CO2 fugacity and charge balance on HCO3-. The program can calculate the pH in a speciation calculation. For more information, please see section 7.2 Equilibrium Models in the GWB Essentials guide. I think you can set up the same method above to set the pH in equilibrium with an aqueous species as well but it would be something that you need to decide is accurate for your system. I am not sure what your model looks like so it is hard to say for sure if it make sense. If you would like someone to further troubleshoot your issue, please post your input file and your thermo dataset. Hope this helps, Jia Wang
  19. Hello Mojtaba, The bulk volume in the GWB is calculated as the sum of the mineral volume, fluid volume,and inert volume. The GWB calculates the porosity by dividing the fluid volume by bulk volume. Note that this is slightly different from your description stated above. GWB apps are designed to look at the saturated portion of your domain. In other words, you should really think about this as the porosity for the saturated fraction of the porous media. For more information on this, please look at the volume and porosity commands in section 6.116 and 6.71 in the GWB Command Reference guide. If you are using React and your model precipitates a mineral, the porosity reported would decrease as the fraction of mineral volume increases. If you decrease the fluid volume though (i.e. by evaporation), the bulk volume calculated by the program will decrease with the decreasing fluid volume which leads to a decrease in the porosity. If you are trying to simulate scaling with React, you will want to look at the change in mineral volume and not the fluid volume for the results you expect On the other hand, you might consider working in the reactive transport model applications X1t or X2t to model scaling effect. In X1t and X2t, the bulk volume is fixed, because of the size of the nodal blocks specify by the constraints in the domain pane so they should produce results closer to what you are expecting. In particular, the fixed bulk volumes should help with the variation in density due to temperature and salinity. Please note that these are still saturated models. The porosity calculated are the same as described above. If you try to evaporate as you did in React, this might not perform as expected. For more details on how porosity evolves in reactive transport models, please see section 2.12 Porosity Evolution in the Reactive Transport Modeling guide. Hope this helps, Jia Wang
  20. Hello, My apologies for the delay. Please note that when the discharge is set to 0 in a diffusion only model, diffusive fluxes are not carried across the outlet boundary. In this case, solutes are not being carried out of your system at the right boundary. Looking at your diffusion only model results, I think your domain reaches a steady or stationary state at about 20 years. I suspect that when advection and dispersion is allowed, the solutes from the reaction upstream are transported out of the domain and thus keeping calcite and portlandite to be undersaturated, allowing your reaction front to move continuously through the domain. In the diffusion only case, the solutes are kept in the system and thus calcite and portlandite are saturated with respect to the fluid throughout most of your simulation. You can check the saturation profiles in Gtplot to see this, portlandite remains saturated with respect to the fluid at node 3 and calcite at node 2 starting at about twenty years. One thing that you can do is to setup your component concentrations in intensive units (e.g. 50 free volume % for portlandite) so that you can easily change the resolution and domain length of your diffusion model. You can also set your H2O mass to 1 kg if all the other components are set in intensive units relative to that. Hope this helps, Jia Wang
  21. Hello Lian, You can find all the thermodynamic and surface datasets accompanying the latest software installer here. I believe an example of the type of surface dataset that you are looking for is Ferrihydrite_cdmusic.sdat, under surface datasets for the CD-MUSIC model. Hope this helps, Jia Wang
  22. Hello Steph, The React program begins by calculating the system's initial equilibrium state based on the constraints set in the basis pane. Then the program changes the system by adding or removing reactants to the system via a reaction path. I am not sure how your model is set up, but you can constrain the CO2 fugacity in your basis pane and the program will calculate the amount of dissolved CO2 based on the equilibrium constant and the CO2 gas fugacity or partial pressure you have set. In the Reactants pane, you can set up a reaction pathway to alter different aspects of your system, such as changing pH, temperature, or reactants, to see how the dissolved CO2 concentrations changes. If you want to model the system at changing CO2(g) fugacity, you can set up a sliding fugacity reaction path. To see some examples of setting a CO2 fugacity, you can see the Gas solubility example in React on the GWB diagrams webapge. If you are interested in modeling gas solubility by varying two variables, you can check out the Solubility contours example in Phase2. For more information in general regarding React, please see chapter 2 in the GWB Reaction Modeling User Guide. For an example of sliding fugacity, please see section 3.6 Sliding activity and fugacity in the same user guide. If you would like someone to take a closer look at a specific issue in your model, please attach your input file along with the thermo dataset. Hope this helps, Jia Wang
  23. Hello, If you are simply looking to remove H2O from the simulation, you can do so by adding a simple reactant of H2O and then set a negative value over the course of the simulation. If you want to remove solutes, then you would need to know the amount of solutes removed at every 2 ml of fluid and account for the removal of that solute over time in the same way. You can perform a series of pickup reactions. Setup your simulation to run 2 weeks. At the end, pickup the result and use that result as the starting point. You would need to then adjust the absolute concentration of solutes and H2O to account for the amount you remove. You would need to do this until you reach the end of your experiments. For more information on how to do the pick up command, please refer to section 3.10 Picking up the results of a run in the GWB Reaction Modeling User Guide. Best regards, Jia Wang
  24. Hello, Thank you for attaching your input file and databases. A good start is to check the rate limiting factor by checking follow output on the Results pane and explain steps in the stepping dialog (Config --> Stepping). This will help you identify the limiting factor for a small time step in your simulation. You might also want to check if your parameters entered to see if they're what you expect. For example, shorten your simulation so that it completes in a reasonable length of time and plot the reaction rates to see if they are reasonable for your simulation. Perhaps this is different compare to what you are expecting. Perhaps there are additional complexities or factors that do not need to be accounted for in your model. If you notice a reaction barely progresses over the course of your simulation (e.g. a really stable mineral), then you might want to consider not including it in your simulation. If your simulation is still running slowly after the simplification mentioned above, you might want to consider closing other GWB applications if there are multiple open. The reactive transport applications, X1t and X2t, are multithreaded to calculate the transport across nodal blocks and the chemical reactions occurring in each nodal. Since reactions are occurring in one nodal block in React, multithreading is not available. Hope this helps, Jia
  25. Hello Liam, Thank you for posting your Phase2 input file. To troubleshoot your script, I would actually start in the React application to see if the initial system in the basis pane has any issues. You can quickly create a React simulation with your basis by right clicking and dragging the basis pane from your Phase2 input file into the basis pane of a new React instance. If you run the React simulation, you would run into a convergence issue immediately. I think the reason for this is because your starting system is too far outside the range of the stability of water. My guess is that at such a low pe and pH, you are very far outside the range for the stability of water and thus your model is having a very difficult time converging. You can check this actually by constructing a quick activity diagram in Act2. When I increased the pe to -9, the React simulation was able to run to completion. If I plot the mass of solution vs. the H2(aq) species concentration, I see that the value for H2(aq) is extremely large, which shows that you are far outside the stability range of water. Please note that unlike the Act2 application, Phase2 is solving a full solution to a multi-component chemical system, much like React. On the other hand Act2, simply solves the equilibrium equations used in assembling an activity diagram. These equilibrium equations can be solved for at any range of pH and Eh. Because Phase2 is essential solving a series of reaction models that include mass balance and activity calculations, it is oftentimes necessary to choose a narrower range for the variable changing in the x and y axis. Hope this helps, Jia Wang
×
×
  • Create New...