Jump to content
Geochemist's Workbench Support Forum

Brian Farrell

Admin
  • Posts

    1,056
  • Joined

  • Last visited

  • Days Won

    11

Everything posted by Brian Farrell

  1. Dear GWB Users, Please join us September 10-11 in Melbourne, or September 13-14 in Perth for a training course on reactive transport modeling using the GWB. For more information, please visit the workshop web page. Even if you can’t come, please print and post our flyer for others to see. Regards, Brian Farrell Aqueous Solutions LLC
  2. Hello, Currently it looks like Gtplot and Xtplot are only set up to plot Q/K (on linear or log axes). We will look into this for future releases. Regards, Brian Farrell Aqueous Solutions LLC
  3. Hi Franky, There are a number of example redox-activity diagrams in the GWB Essentials Guide. I think the examples depicted in Figure 5.2b and Figure 5.5 should be especially helpful in creating your diagrams. You should note that the default thermodynamic datasets distributed with GWB cover the temperature range 0 - 300 C. If you have log K data (and estimates for some Debye-Huckel parameters), you should be able to modify your thermo dataset without too much trouble (See the Thermo Data Appendix to the GWB Reference Manual). Hope this helps, Brian Farrell Aqueous Solutions LLC
  4. Hi tco, We don't have a Mac in-house for testing, but I believe people are able to use the multithreading capabilities of GWB8 and GWB9 Pro on their Macs with Parallels. On PCs, GWB will by default use all available computing cores. Is there a setting within Parallels where you can set the number of cores available to the virtual Windows OS? Hopefully someone else can be more helpful here. Regards, Brian Farrell Aqueous Solutions LLC
  5. Hello, According to your script, your entire domain is actually 100cm x 100cm x 2m (The length and width commands are for the entire domain, not individual nodal blocks). Assuming you want your individual cells to be 100cm x 100cm x 2 m, this comes to a volume of 2,000,000 cm3 per cell. With 5% porosity, the volume of water per cell is 100,000 cm3. Since you are pumping water into the domain at a rate of 25 L/s (25,000 cm3/s), the entire fluid volume of the node with the well is replaced every four seconds. Is this realistic? I think the pumping rate you specify might be too high (at least relative to the size of your domain), which creates a very large hydraulic potential gradient and hence large fluid velocities. To remain stable, time steps must be kept very small, so that fluid does not travel farther than the length of a single nodal block in one time step. You should look into the von Neumann and (especially here) the Courant stability criteria, and whether all of your parameters are correct. The large pumping rate and the small domain work together to force very small time steps, and because the simulation lasts a relatively long time, you need many time steps. Hope this helps, Brian Farrell Aqueous Solutions LLC
  6. Hi tco, We have received some requests for a feature like that lately and will consider implementing this in GWB10. Unfortunately it is not as simple of a matter as picking up the results of a React simulations. One thing that you can do is plot your parameters of interest (typically fluid components) in Xtplot as a color map. You can then export this data into Excel or Notepad (Edit - Copy As - Spreadsheet). After you remove the column/ row labels, you can import the data as a table file (from the GUI, add a Basis species, choose unit, click the + button, and select table file). See the Heterogeneity appendix to the GWB Reactive Transport Guide for details. Be sure to have the data in the correct orientation (X2t reads the top line first and fills the bottom row (row 0)). You might try the "Run Initial" command, then plot your starting values to make sure they match the end of your last simulation. Hope this helps, Brian Farrell Aqueous Solutions LLC
  7. Hi, I would recommend you take a look at conductivity.dat (File - View - conductivity.dat from within SpecE8) and the reference mentioned for explanation of calculating electrical conductivity. As it says, GWB uses the free species concentrations (i.e. Na+, Cl-, Ca++, SO4--) and not ion pairs or complexes in its calculation. The calculation is also temperature dependent, and limited to between 20 and 30 degrees C. Compared to other minerals which can be formed from the basis, Gypsum is rather close to being saturated. Do you have a reason to expect it to be more saturated than it is? Perhaps you are ignoring the effects of activity coefficients in calculating saturation indices? Ca++ and SO4-- are both divalent ions, so the effect of activity coefficients can be substantial. The stability of minerals like Gypsum and aqueous species like CaSO4(aq) also depend on the logKs for their reactions with the basis species Ca++ and SO4--. It is possible that the CaSO4 is more stable than it should be in the thermodynamic dataset. Altering the logK for that species, or suppressing it entirely, will give you a slightly higher conductivity (more of the Ca++ and SO4-- components are distributed among the free Ca++ and SO4-- ions) and a higher Gypsum saturation. It is not unreasonable that a neutral CaSO4(aq) species exist, however, especially in solutions of higher ionic strength. Hope this helps, Brian Farrell Aqueous Solutions LLC
  8. Hi Frank, As you say, GWB will alert you to charge/ mass imbalances for reactions written in your thermo datasets. Could you please send me (support@gwb.com) the version of your dataset that was giving you a problem (or a standard dataset, with an example of the little error you mentioned? We'll see what we can do to make finding errors easier users. Thanks, Brian Farrell Aqueous Solutions LLC
  9. Hi Emma, If you send your scripts and database to support@gwb.com, I can take a look. Cheers, Brian Farrell Aqueous Solutions LLC Makers of The Geochemist's Workbench
  10. Hi XC, Larger pressure expands the stability limits of water. In a normal Eh-pH diagram, the top line indicates where the water is so oxidizing that the water is unstable and forms O2(g). Similarly, the bottom line represents where the water is so reducing that H2(g) is formed. Increasing the pressure allows more O2(aq) or H2(aq) to build up in solution before the water decomposes to form gas. To view an Eh-pH diagram assuming water will not decompose to O2(g) or H2(g), simply type water_limits, off or right-click the diagram, click View..., then uncheck water limit. Keep in mind that Act2 will solve for the predominant species at equilibrium in the system considered, which is dependent upon your input. This includes the thermo data and what you type into the Basis pane. When interpreting these diagrams, always consider the possibility that your real life system will not reach chemical equilibrium during your time scale of interest, and may instead be in some metastable state. Brian
  11. Hi Hayley, In your script you have the precip command set to off. This means that no new minerals can form over the course of the reaction path. Only those that are initially present can form. By typing precip = on, minerals will be allowed to form. In your example, however, Dolomite-ord is supersaturated, so titrating in that mineral does nothing to change your system composition. It won't dissolve, it just accumulates at the rate that you add it to your system (like the very end of the water-rock interaction example of the website). Hope this helps, Brian Farrell Aqueous Solutions LLC
  12. Hi, Keep in mind that these are predominance diagrams. Only the most stable species will appear under given chemical conditions. That being said, I am able to produce a diagram on axes pH 0 to 14, Eh -.75 to 1.25 that shows several redox states of Br using thermo.com.v8.r6+.dat, as long as I turn the water stability limits off. The bromate and perbromate ions are extremely oxidized, and much less stable than Br- under normal conditions of interest (especially perbromate). If you're trying to model the actual process of the redox reactions, rather than just the equilibrium state, you might consider suppressing the Br species which you know are unlikely to form. If you know that one of the oxidized Br species can form at pH 6, you might decouple that redox pair and experiment with a kinetic rate law in React relating the two different oxidation states. One more point, you have several additional anions included in the "in the presence of" field (Cl-, F-, SO4--). These will not react with the Br at all, so they are not going to contribute to the diagram. There must be some cation that is in your fluid, which might react with the Br in some way. Hope this helps, Brian Farrell Aqueous Solutions LLC
  13. Hi Nicole, Unfortunately, dealing with trace elements can be difficult, because they often appear as impurities or substitutions within more common minerals rather than as pure minerals. You could, however, assume that the elements you mentioned (As, Pb, Ni, V) do in fact exist as pure minerals in equilibrium with your initial waste rock pile by swapping them into the Basis pane. Perhaps you could create a diagram in Act2 for each particular element of interest, being sure to include your system's chemistry, then choose the mineral that is predominant at your system's pH, Eh, conc., etc. values. You can also force these trace elements to react by adding a proxy mineral to the Reactants pane, or an oxide of that element. Basically as your dilute rainwater reacts with your waste pile, some amount of these oxides would dissolve uniformly over the course of the reaction path. Just a few ideas. Hope this helps, Brian Farrell Aqueous Solutions LLC
  14. Hi, GWB can calculate TDS automatically for your Initial and Inlet fluids (and Inject in X2t). You can also specify TDS in mg/kg for each scope from the GUI (near the bottom) or the command line. TDS is important for converting units internally within the program. You can set carbonate alkalinity to constrain total HCO3- concentration. Add HCO3- to the Initial, Inlet, or Inject pane, then change units to mg/kg_as_CaCO3, or something similar. To set the alkalinity, you must specify pH explicitly. Do you have a reason for wanting to specify electrical conductivity? This is something that can be calculated in GWB based off the free species concentrations of a few major ions (over a limited T and Ionic strength range). You can add new elements (as new basis species) to the drop down menu by modifying the thermodynamic dataset (you'll also want to add new minerals, gases, aqueous and surface species which can be formed from the new basis species). I would check out the User's Guides for more info on each of these. Look for the TDS and alkalinity commands in the X1t section of the GWB Reference Manual. You can also find the Thermo Data Appendix in that same manual. Hope this helps, Brian Farrell Aqueous Solutions LLC
  15. Hi, It appears that on my copy of the GWB only color map data can be copied into Excel or Notepad. This will be looked into. Could you please tell me which version of GWB you are using (8.0.12, 9.0.0, etc.)? Thanks. Brian Farrell Aqueous Solutions LLC
  16. Hi Sanjoy, I looked a little further and there are a few other species which need to be suppressed in order to generate approximately equal output at 25C and 26C. suppress Ca(O-phth) Fe(CH3COO)2+ Fe(CH3COO)3 FeCH3COO+ FeCH3COO++ KOH suppress Mg2CO3++ Mg2OH+++ MgCH3COO+ Na(O-phth)- NaCH3COO I ran a simulation at both temperatures and made note of the number of species, minerals, etc. that were loaded for each run. After suppressing the species you suppressed in your run, there were still 11 more species loaded at 25C than at 26C (meaning 11 species have data available at 25C but not at 60C). I set the printed output to be in alphabetical order, then went through the text file and found the 11 species which differed between the two runs. I then checked the thermo dataset and found that each had data only at 0 and 25C. Remember, these species are input to your simulation, and if they are loaded in one run (25C) where data exists for them, but not at 26C, the output can be different. With all of these species suppressed I get very similar results at 25C and 26C. When I used the extrapolate option (without suppressing any species), I also got consistent results at the different temperature, but different from these runs. You will have to decide whether it is better to completely exclude species for which you do not have data at the appropriate temperatures or to estimate logK values using the extrapolate option. Hope this helps, Brian
  17. Hi Akul, Currently you cannot specify different inlet chemistries for each end of the domain. I think this is something that will be considered for GWB10. As far as I know you always need to specify an inlet fluid. It can of course be the same as the initial fluid. If you want to set a heterogeneous initial system (and look at diffusion within the domain, perhaps), you can just set the inlet fluid to match one of the boundaries. Hope this helps, Brian
  18. Hi Chance, The thermo datasets and surface datasets are used differently by the GWB programs. A thermo dataset is always necessary, but a surface dataset is not (only when you want to model surface reactions). You should not replace the thermo dataset with the surface dataset - you simply open a surface dataset in addition to the thermo dataset. This should be done at the beginning of the run, not the end. As for what goes into the surface dataset, I can't help you with your selectivity coefficients. You do need to change the format of your surface dataset, however. I would recommend following convention and using a monovalent ion as the basis species, so >X:H in your case. The surface species, then, would be something like >X2:Ca (no charge on surface species), made up of the species -2H+, 2>X:H, and Ca++. Where you define the surface species, you need to specify the correct number of species needed to form it (3) and make sure that the coefficients are correct to make a balanced reaction (>X2:Ca + 2H+ = Ca++ + 2>X:H). Hope this helps, Brian
  19. Hi Aku, Could you describe your problem a little more? Is this a pure diffusion problem, with two different chemistries diffusing in from either end? Or do you have two separate inlets on the same end in an advecting system (with diffusion and dispersion, of course)? Thanks, Brian
  20. Hi Anzhelika, One thing I notice right away is that you have zero values entered for some analytes in the Initial and Inlet panes. Because of the way the program solves for the distribution of chemical mass, 0 values cannot be used. You should set a negligibly small concentration for any analyte that has a measured 0 value in either your initial or inlet fluid. What do you hope to use the Fe(OH)3/ Fe2(SO4)3 for? Hope this helps, Brian
  21. Hi Sanjoy, Sorry it took so long to respond to your post. After some investigation, I think the source of your problem is the lack of thermo data for a few important species at your temperature of interest. If you look at the principal temperatures in thermo.dat (temperatures for which thermo data are compiled), you'll see data is listed at 0C, 25, 60, 100, 150, 200, 250, and 300. Some of the species which turn out to be important in your simulation (like MgH2SiO4) only have data at 0 and 25C (the rest say 500.0000). Your runs between 20 and 25C produce similar output because the thermo data is interpolated between 0 and 25C, where the data changes little. When you move to 26C, no data exists for MgH2SiO4 so that species cannot be loaded. This affects your output. To compare output between 20-30C, you want consistent input (consistent species loaded). If you find the other species which are lacking thermo data at higher T and suppress them, you will likely find that your output varies little with T. Since these species appear to be important in your simulation, however, you probably don't want to ignore them. As an alternative, you can use the extrapolate option to estimate thermo data at 30C. Over a short temperature range, this should be fine. The extrapolate option becomes dangerous when people estimate data at 300C based off of two datapoints at 0 and 25C, for example. With the extrapolate option set, you should find your output changes smoothly from 20-30C. Hope this helps, Brian Farrell Aqueous Solutions LLC
  22. Hello Anzhelika, I moved your topic from the archive of old posts to the forum for new queries. Keep in mind that the thermodynamic dataset you choose for your simulations is part of the input to your model. Some thermodynamic data may be incomplete or inaccurate. The databases we do have are a result of experimental work by countless labs and individuals, and the work it took to compile all this data from different sources into a single (hopefully internally consistent) database. I assume you are using the default thermodynamic dataset, thermo.dat, which does not contain Cd. You'll either want to add Cd species and minerals to the dataset (see the GWB Reference Manual - Thermo Data Appendix, or many of the posts on the main forum page or in the database section of the archives) or switch to a dataset that contains Cd species (like thermo.com.V8.R6+.dat). When the program can't converge on a solution, it can be for a number of reasons. Your system may be far from equilibrium, for example, and trying to solve for the equilibrium state might be difficult or impossible. If you post an example script, someone might be able to take a look and make some suggestions. Hope this helps, Brian Farrell Aqueous Solutions LLC
  23. Hi Aku, In X1t and X2t you can model two reaction intervals. You might have an initial chemistry for your domain, then one inlet fluid enters the domain (and optionally an injection fluid in X2t). After some time, a fluid of a different chemistry can enter the domain (through the inlet, or an injection well in X2t). People commonly use these two reaction intervals to simulate the introduction and subsequent remediation of a contaminant. Hope this helps, Brian
  24. Hi, From the Results pane of React, X1t, X2t, etc., there is a button "View Results" that lets you see a text file of printed output for the run. In X1t and X2t this button is grayed out by default (data is not written to a text file, only the plotting dataset). To generate printed output, you need to go to the "Config" menu, then choose "Output..." and select "print dataset." You can choose which parameters to include and how often they should be reported. Printing written results adds time to the solution, so most people have it disabled until they get a run the way they like it. Hope this helps, Brian Farrell Aqueous Solutions LLC
  25. Hi Aku, You can model a pure diffusion type problem with GWB. I might start with a 1D model (linear coordinates) using X1t. You can set discharge to 0 and use the left and right commands (left = inlet, right = inlet) to allow for diffusion into the domain. If the water in your domain is initially dilute, set the inlet fluid to some higher concentration and it will diffuse in from both ends. You can set the permeability to be heterogeneous if you'd like (bentonite and sinter might be different), to more accurately replicate your system. You should check out section 2.9 (release 9.0) of the GWB Reactive Transport Modeling Guide for information about Boundary Conditions in GWB. Hope this helps, Brian
×
×
  • Create New...