Jump to content
Geochemist's Workbench Support Forum

Brian Farrell

  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by Brian Farrell

  1. Hi Polly, If I follow the benchmark while using thermo_phreeqc.tdat, I get almost the same results as PHREEQC-OGS. The only difference is a slightly wider zone of dolomite stability, and consistent with that, a few shifted characteristic points in the Mg++, Ca++, C, and pH curves. If you can find the PSI-NAGRA database used in the benchmark, your results might be even closer. You might only need to alter the log Ks of calcite and dolomite, or you could convert the entire PSI-NAGRA dataset from phreeqc to GWB format in TEdit if desired. Here are a few comments on your current input file. Calcite should be swapped into the basis on the Initial pane, as you’ve done, since it is in equilibrium with the pore water at the start of the simulation, but its abundance should be set to 2e-4 free mol/l to match the original simulation. Calcite should not additionally be set as a simple reactant. I don’t believe a non-default value for the diffusion coefficient is warranted, although its effect is negligible in this simulation. There is no reason to set an inert volume here. There is no reason to change the convergence criterion “epsilon” variable, as far as I can tell. You can set Nx to 100 to match the original simulation and to speed up program execution. I took care of these issues and didn’t have any convergence issues using thermo_phreeqc.tdat, but if you continue to have difficulty you can attach a revised version. If you want to overlay different results (mineral abundances, fluid composition, pH) in a single plot, you’ll have to do so in Excel, PowerPoint, Adobe Illustrator, or some other graphics program, as you’ve done. Finally, regarding your previously posted custom thermo dataset, you had 3 basis species SiO2(aq), Si(OH)4, and H4SiO4, along with an aqueous species H4SiO4(aq). Those species all represent the same thing, so there should only be one of them. I’d be very careful to clean up those entries and any dependent reactions so that you have a complete, consistent, and non-redundant set of reactions. Hope this helps, Brian Farrell Aqueous Solutions
  2. Hi Demetra, The ionic strength in most modern programs is calculated from and consistent with the distribution of species in solution. There is no way to override it in SpecE8. Please note, ionic strength here is not calculated from the component (bulk) concentrations. It accounts for the presence of ion pairs or complexes like MgCl+ and MgSO4 that cause the solution to have a lower “concentration of charge” than it would if the Mg++, Cl-, and SO4-- ions were fully dissociated. In other words, in ion association theory the activity reflects the activity coefficient as well as the distribution of mass. Hope this helps, Brian Farrell Aqueous Solutions LLC
  3. I have no specific insight about trevorite (perhaps someone else on the forum will), but in calculating equilibrium models it's important to remember that the most thermodynamically stable minerals might not be likely to form, especially within relatively short timeframes. Using your experience to suppress minerals that fall in this category is common in geochemical modeling. Hope this helps, Brian Farrell Aqueous Solutions LLC
  4. I believe that the dissolved Al concentration vs. Kaolinite equilibrium example is intended to demonstrate how alternative conceptual models might be set up in SpecE8, not to indicate a general rule to follow in speciation modeling. For more info, please see section 6.2 Amazon River water in Craig Bethke's Geochemical and Biogeochemical Reaction Modeling text. It's probably a good idea to first launch SpecE8 for a few of your samples and look at the entire set of calculation results, but if you have a large group of samples that are pretty similar, you're probably better off calculating a few analytes of interest from within GSS. So, instead of going to Analysis > Launch..., try going to Analysis > Calculate with Spece8..., then selecting your analytes of interest. In other words, you might look at the complete distribution of species in solution and the saturation indices for a large set of minerals for a few samples at first, but then when you know what you're looking for (e.g. S.I. of calcite) you can pick and choose to calculate just that analyte for all of your samples, and add it directly to your GSS file. Either way, you can specify trailer commands (for example, "swap Kaolinite for Al+++", "1 free g Kaolinite") in GSS that will be used for all samples when you launch SpecE8 or calculate values with SpecE8. Please see 3.3.7 Calculated values and 3.5 Launching SpecE8 and React in the GWB Essentials Guide as well as the SpecE8 chapter in the GWB Command Reference. Regarding convergence, I'd check to make sure your units and constraints are correct, first of all. I'd also check whether settings for the extent of redox equilibrium/disequilibrium to use in the calculation are reasonable (see 7.3 Redox disequilibrium in the GWB Essentials Guide). It can sometimes be helpful to swap in species that are expected to be dominant under the conditions of interest, to help the program converge. Al+++, the default basis species for Al, is likely to be dominant at low pH, but not at high pH values, in which case it might be better to swap in Al(OH)4-, for example. This last option is straightforward in SpecE8, but not GSS, so let us know if you'd like to pursue it further. Hope this helps, Brian Farrell Aqueous Solutions LLC
  5. Hi Erik, A user can specify under File > Preferences… in most apps (or the Settings tab of the GWB dashboard) the default thermo dataset to be something other than thermo.tdat. One can also specify a default dataset using an environment variable (see 2.3 Thermodynamic datasets and 2.8 Environment variables in the GWB Essentials Guide). Yes, a single .tdat file can be loaded at a time. If you incorporate surface chemistry in a calculation, however, you load one or more surface (.sdat) datasets in addition to the thermo dataset. Yes, that's correct. The input at a basic level consists of a description of the temperature and chemical composition of the system. Beyond constraining the original basis entries, you might use basis swaps to prescribe equilibrium with gases of known partial pressure or minerals in equilibrium with the fluid (e.g. swap O2(g) for O2(aq); P O2(g) = .2 bars). The pH setting is just a special constraint for the H+ basis entry. Additional options can be specified as well (constraints for isotopic calculations, suppressing certain species, controlling the extent of redox disequilibrium, and so on). You can find the complete set of input commands in the GWB Command Reference. Each app (e.g. SpecE8, React, ...) has its own chapter. You might also look at the example files included within the Script folder of the software. Each is described in one of the User’s Guides (e.g. SpecE8 in the GWB Essentials Guide, React in the GWB Reaction Modeling Guide). GWB won't be able to do anything with components it doesn't know about. So you could not tell GWB about them, or get an error if you do, I suppose. A user can edit the thermo dataset before a run if additional reactions are needed. The species and components and so on included in the output file will all be defined in the thermo dataset in use. The output also includes a few specially calculated parameters (e.g. total dissolved solids, carbonate alkalinity, fluid density, and so on) that are not defined in the thermo dataset. Hope this helps, Brian Farrell Aqueous Solutions
  6. Hi Geoff, I'm guessing you launched React at some point prior to mixing. GSS passes the "precip off" command to React in this case by default, so that calculations more closely match those you might make within the spreadsheet, which doesn't account for precipitation (SpecE8 does the work within GSS). The command is passed via a "trailer command", which you can see in the Analysis > Launch... or Analysis > Options... dialogs. The trailer commands (you might choose a specific ion for charge balancing, for example) in general are saved for other calculations within GSS, like calculating analytes and mixing, but unfortunately this command is valid only for React. You can go to Analysis > Options... before you begin mixing to remove the "precip off" command. Hope this helps, Brian Farrell Aqueous Solutions
  7. Hello Jerome, I realize this post is quite old, but I happened to come across it and realized some updated information might be useful. In your post from March 1, 2019, you show formation reactions for O2 and H2 and their log Ks, as taken from Thermoddem's phreeqc-format dataset (the first two of three reactions you provide). You claimed these are for formation of the gaseous species, but they are undoubtedly for aqueous species. I couldn't comment on the contents of the phreeqc data at the time, but I am more familiar with phreeqc datasets now. The first two reactions you supplied are within the SOLUTION_SPECIES block and contain the "CO2_llnl_gamma" keyword, which indicates the method to use for calculating activity coefficients of aqueous species. Reactions for gas dissolution appear within a separate PHASES block. Hopefully that clears up the matter. FYI, the TEdit app in GWB 2021 can now read in phreeqc datasets and convert them to GWB format, for use with the rest of the GWB programs. You might wish to compare reactions balanced in Rxn or pe-pH diagrams constructed in Act2 with the native GWB Thermoddem dataset and that converted from phreeqc. Regards, Brian
  8. Dear GWB users, A problem was detected reading in thermo dataset entries that were edited by hand in a text editor when tabs are used in place of spaces in an entry, such as between a mineral's name and its type: Calcite type= carbonate formula= CaCO3 mole vol.= 36.9 cc mole wt.= 100.0892 g The user would receive an error like "Could not suppress Calcite" or "Could not identify reactant species Calcite". The issue has been fixed and a release candidate installer is available to get affected users up and running right away: GWB 15.0.1rc1 installer The fix will eventually be available in an official maintenance release. At that time, users with the release candidate installed will be automatically notified of the update. If you encounter any more issues, please notify us here. We appreciate your patience and hope you enjoy using The Geochemist's Workbench. Sincerely, Brian Farrell Aqueous Solutions LLC
  9. Hi Karen, We've made a fix to the problem you've encountered. Please download and install this "release candidate" and try using your customized thermo dataset. 15.0.1rc1 installer I don't know why X1t would crash for you, but if it happens again you might try reinstalling and restarting your computer. And you can also try recompiling your rate law function after reinstalling 15.0.1rc1. Please let us know if you have any more issues and we'll work to fix them as soon as possible. Regards, Brian
  10. Hi Karen, We put a lot of work into adding flexibility to thermo datasets and improving TEdit, but unfortunately we introduced a problem handling minerals that include tabs, rather than spaces, in their entry. Assuming you're using the same thermo dataset that you had trouble modifying previously, I've gone to your Na2EX2 and CaEX2 additions and simply replaced the tab characters between the name and type fields with spaces. If you have made more modifications, you can make a copy and replace the tabs with spaces by hand, or do it automatically with an editor like Notepad++ (go to Edit > Blank Operations > TAB to Space). That should take care of your problem while we work on a software fix. In the future, we'll be able to diagnose issues like this much more quickly if you actually provide example datasets and input files that demonstrate the problem. And we'll appreciate it if you can limit your comments to a single post, and understand that it takes time to see, read, work through, and respond to queries. We apologize for the inconvenience and appreciate your patience as we work to rectify this issue. Regards, Brian Brian Farrell Aqueous Solutions thermo_ionx_TabsToSpaces.tdat
  11. Dear GWB12 users, We are pleased to announce our latest maintenance release for GWB12, GWB 12.0.7. The 12.0.7 update provides a fix to calculated analytes in GSS when temperature is given in Fahrenheit; fixes a bug saving Pcrit, Tcrit, and omega in TEdit; and provides fixes for all known issues. Update from 12.0.0-12.0.6 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, Brian Farrell Aqueous Solutions
  12. Dear GWB users, We have good news to start the year: GWB 2021 is here! GWB 2021 brings SIT activity coefficients, an all new thermo data editor, the ability to import thermo datasets from PhreeqC, and much more! Your GWB subscription will upgrade automatically within three days, or simply click “Check for updates” on the GWB dashboard. Not subscribing yet? Take advantage of one of our flexible plans or upgrade that old GWB license to a modern subscription. Contact us today for a quote, or go shopping at our online store and you’ll be up and running in minutes. Sincerely, Brian Farrell Aqueous Solutions LLC
  13. Hi DI Xie, Can you please provide a screenshot of the error message that you receive when you try to deactivate? Thanks, Brian Farrell Aqueous Solutions
  14. Dear GWB users, We completed some updates for the forum software earlier this week. If you were not able to post while it was undergoing maintenance, please try again now. Regards, Brian Farrell Aqueous Solutions LLC
  15. Hi, Act2 only displays samples whose temperature is close to that of the diagram you've calculated (+/- 10 C). The samples at 76 C plot because the diagram is drawn at 76 C, but the samples that are 30-40 C will not plot. Regards, Brian Farrell Aqueous Solutions LLC
  16. Hello, Density of electrolyte solutions is not calculated in most geochemical modeling programs. It's secondary in importance to species distributions, saturation indices, and so on, but it's our opinion that a simple calculation is better than nothing. The Phillips correlation described above, which is the default method for GWB12 and older releases, was designed for geothermal applications, so it works best at higher temperatures and salinities. The correlation is known to be valid for NaCl solutions from 10 < T < 350 °C, 0.25 < m < 5 molal, and P < 50 MPa and greater than the fluid’s vapor pressure. Your fluid is outside (below) the range of valid salinities and very close to the lower T limit. GWB14 by default uses the Batzle-Wang method (Batzle, M. and Z. Wang, 1992, Seismic properties of pore fluids. Geophysics 57, 1396–1408) for calculating density. It was fit over the range 20 < T < 350 °C and 0 < m < 8 molal, so it works better over a range of conditions. I checked a NaCl fluid of the same ionic strength and temperature as your fluid in GWB14.0.1 and calculated a density of 0.998 g/cm3. PHREEQC's method is quite new. It requires a large number of parameters, but it looks interesting. Regards, Brian Farrell Aqueous Solutions
  17. Dear GWB users, We are pleased to announce our latest maintenance release for GWB subscribers, GWB 14.0.1. The 14.0.1 update improves appearance of legend box in scatter data plots; fixes an issue when several ChemPlugin instances share an ion exchange dataset, resolves a reliability issue in pause/resume feature in X1t/X2t, updates Rxn's outblock feature, resolves basis swapping issue when using Davis-Leckie polydentate formalism, and provides fixes for all known issues. Update from 14.0.0 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, Brian Farrell Aqueous Solutions
  18. Dear GWB users, We are pleased to announce our latest maintenance release for GWB12, GWB 12.0.6. The 12.0.6 update improves the appearance of the legend box in scatter data plots; fixes an issue when several ChemPlugin instances share an ion exchange dataset, resolves a reliability issue in pause/resume feature in X1t/X2t, updates Rxn's outblock feature, and provides fixes for all known issues. Update from 12.0.0-12.0.5 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, Brian Farrell Aqueous Solutions
  19. Hi again, This issue was previously fixed with the release of GWB 14.0.0 for GWB subscribers. It is now available in the latest maintenance release for GWB12, 12.0.06. Regards, Brian Farrell Aqueous Solutions LLC
  20. Hi Silvain, As long as you don’t specify “free” or choose a unit that implies a free constraint (e.g. activity or pH), your constraint is for the bulk concentration of a component. To test this out, fire up SpecE8 and enter HCO3- = .001 molal pH = 6 Na+ = 1 molal balance on Cl- go You can look in the text output file to see the concentrations of several carbon species: CO2(aq) has the highest concentration at .0005060 molal, then in decreasing abundance HCO3-, NaHCO3, CO3--, and NaCO3-. Add them up and you’ll find the molal concentrations will sum to .001 molal, which is the bulk constraint you supplied. Scroll down to “Original basis total moles” in the text file and you’ll see HCO3- = .001 moles, which matches your bulk constraint. You can of course look in the plot file as well. The “species concentration” variable type refers to all the individual aqueous species, and the “components in fluid” refers to bulk composition. You could alternatively use the input below and you’d get the same results. swap CO2(aq) for HCO3- CO2(aq) = .001 molal pH = 6 Na+ = 1 molal balance on Cl- go Of course, if you use units like mg/kg you’ll have to account for the mole weight of whatever species is in your basis, or use the “as” setting to specify concentration in terms of mg Carbon, mg CO2, etc. Since we calculated the complete distribution of species, we can take our results from before and test out the “free” constraint setting: swap CO2(aq) for HCO3- CO2(aq) = .0005060 free molal pH = 6 Na+ = 1 molal balance on Cl- go Running this latest version should give equivalent results. For your second question: Act2 calculates the simple type of diagram that geochemists have traditionally drawn by hand. By design, a number of simplifications make the calculation straightforward (but still laborious). For example, you can only have logarithmic axes (log activity, pH, pe or Eh, etc.). There’s no mass balance. You have to work in terms of activity, rather than concentration. The diagrams are in many cases fairly similar, though. If you want a general picture of how chemistry of a particular system works, a traditional calculation might be fine. Certain applications might demand a more rigorous solution. Beyond recreating activity or redox-pH diagrams, though, Phase2 calculates other diagrams that Act2 cannot even contemplate. You can include surface complexes in your calculations, for example. Or, you can diagram how various properties (solubilities, saturation indices, gas pressures, and so on) vary across the diagram using color maps or contours. You can account for isotope fractionation or kinetic reactions. You can plot assemblages (combinations) of stable minerals under different geochemical conditions. Basically, it has all the capabilities of React, so it's almost endlessly configurable. Hope this helps, Brian Farrell Aqueous Solutions LLC
  21. Hi Polly, For the two-layer surface complexation dataset, you need to specify a site density or densities for each sorbing mineral. If you don’t, the program can’t account for the existence of the surface. If Ferrihydrite contains both of the sites you defined, >(w1)SOH and >(w2)SOH, your entry might look like this: Ferrihydrite surface area= 600.0000 m2/g 2 sorption sites >(w1)SOH site density= .0050 mol/mol mineral >(w2)SOH site density= .2000 mol/mol mineral You should, of course, supply values appropriate for your sorbing mineral. In GWB14, by the way, you can alternatively specify site density in sites/nm2, as you sometimes see in the literature. You should also remove the entry for >(w) in the surface species section. I’m not sure if it was intentionally put in the dataset like this, or it was a stub of an entry that you didn’t finish, but there’s no reaction, stability, or mole weight and that’s causing a problem. Finally, the surface dataset has a field where the user specifies the thermo dataset to use with it. The aqueous species that are included in the surface reactions, as well as the sorbing minerals, are drawn from the thermo dataset you specify. If you plan to use this surface dataset with your custom thermo dataset, it might be best to specify that custom thermo dataset within the surface dataset. Note that the sorbing mineral you’ve chosen, Ferrihydite, is not in your custom thermo dataset, so you may need to make further modifications to either your thermo or surface dataset. You’ll probably have to make these modifications in a text editor, like Notepad, since TEdit can’t open the unproperly formatted dataset. As for your thermo dataset, I don’t think you should include SiO2, H4SiO4, and Si(OH)4(aq) as separate basis entries. They all represent essentially the same thing. Pick one and write all reactions in terms of that species. Hope this helps, Brian Farrell Aqueous Solutions
  22. Hi Thomas, I hope you're doing well. I happened to come across this old post and thought you might be interested to know about Phase2, an app introduced with GWB12. The program essentially traces a stacked series of reaction paths, as you'd run in React, to traverse two geochemical variables of interest. You can set up a diagram with sliding log f O2(g) and fixed pH along the y axis, then sliding pH with fixed f O2(g) along the x axis. The basis fluid is defined in terms of total concentrations, as in React, and mass is conserved throughout the calculation. You can also titrate a species into a fluid initially devoid of it to consider a range of total concentrations. By titrating SO4-- in log steps you can make a diagram much like you've envisioned, with the sulfur speciation depending on the y axis variable, log f O2(g). You can render the calculation results in various types of 2D diagrams or in horizontal or vertical cross-sections through the diagram. For the 2D diagrams, you can plot "true predominance" for any basis species or element (the species accounting for the most mass predominates, not the species with the highest activity), mineral assemblage diagrams (which show every stable mineral or combinations of minerals), and render any variable as a color map, mask, or contour. In a log f O2-pH diagram, for example, you can diagram the stable iron minerals under various conditions and contour the concentration of dissolved Fe. Please visit GWB.com/phase2.php to learn more. I'm happy to send a demo if you'd like to try it out. Cheers, Brian Farrell Aqueous Solutions LLC
  23. Hi Polly, Thanks for providing the thermo dataset. I'm taking a look to see if I can offer any suggestions. Regards, Brian
  24. Johan, Some time ago you tried to report the pore volumes displaced from a ChemPlugin instance in GWB12. I’m writing to let you know that GWB14 is now available, and ChemPlugin instances now plot pore volumes displaced and have the value available in the report command. Additionally, React now plots pore volumes displaced from flush and flash models. I hope you enjoy using the software. Cheers, Brian
  25. Dear GWB users, GWB14 is here! A new compute engine makes it a surface chemistry powerhouse. Plus, our latest release features user equations in GSS datasheets, high-temperature Pitzer coefficients, cluster computing, and flexible input for thermo data, just to start. Visit our GWB14 page to learn more. GWB subscribers upgrade automatically. Can’t wait another minute? Click “Check for updates” on your GWB dashboard. Not subscribing yet? Take advantage of one of our flexible plans—fixed or floating, 3 months to 3 years! Or, convert that old GWB license to a modern subscription and a free kick-off period is on us. Contact us today for a quote, or go shopping at our online store and you’ll be up and running in minutes. Sincerely, Brian Farrell Aqueous Solutions LLC
  • Create New...