Jump to content
Geochemist's Workbench Support Forum

Brian Farrell

Admin
  • Posts

    1,060
  • Joined

  • Last visited

  • Days Won

    11

Everything posted by Brian Farrell

  1. Hi Jay, Can you post your example script? Just save it as a .x1t file. Thanks, Brian Farrell Aqueous Solutions LLC
  2. Hi Jay, Permeability is not currently calculated or used in React. Porosity, if the command is enabled, is calculated from the system's fluid and mineral volumes. It's not really used in any way by React, but you can plot how this porosity changes during a reaction path due to mineral precipitation or dissolution, for example. You can start with some simple configurations in React before you construct a more complicated reactive transport model accounting for flow through a porous medium. Depending on what exactly it is you're interested in, you might use a flow-through path or a flush model. In the flow-through case, you follow a packet of fluid which reacts with an aquifer as it migrates. Any minerals that form as reaction products are left behind and isolated from further reaction. A flush model, on the other hand, tracks the evolution of a system (rock grains and pore fluid) through which the fluid migrates. At each step in the model, an increment of unreacted fluid is added to the system, displacing the existing pore fluid. The flow-through and flush configurations in React are basically simplifications of what can be done with reactive transport models. A reactive transport model, since it predicts the distribution in space and time of the chemical reactions that occur along a flowpath, will give a more detailed representation of your system, though it is of course more difficult to set up. Chapter 2 in the Geochemical and Biogeochemical Reaction Modeling textbook discusses these various classes of models further. Hope this helps, Brian Farrell Aqueous Solutions LLC
  3. Dear GWB users, We are pleased to announce our latest maintenance release, GWB 9.0.5. The 9.0.5 update includes the following changes: GSS spreadsheets are now saved in a portable XML format. Technical symbols appear correctly on various international Windows versions. Improved functioning of pickup feature in React. Rxn reports delta-Gr when reaction is out of equilibrium. Many improvements to GSS. Generalize the Pitzer models to accept species of any charge. Adjustable limit to the buffer size in the Results panes. Fixes for all known issues. Update from 9.0 through 9.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 pulldown on any GWB app. Regards, Brian Farrell Aqueous Solutions LLC
  4. Hi jnabiyar, From the GWB Reactive Transport Modeling Guide: There is no general relationship by which the permeability of actual sediments or rocks varies with porosity and mineralogic composition. For a specific suite of sediments or rocks, however, it is commonly possible to establish a statistical correlation among these variables. The programs use a correlation of the form log k = (A x porosity) + B + Sum over m of (Am x Xm) where A, B, and Am are empirical constants and Xm are the volume fraction of an arbitrary set of minerals indexed by m. By default, the values for A and B in the correlation are set to 15 and -5, respectively, and no minerals are carried. The default describes a trend that has been observed in sandstone. The default settings, of course, are of no general significance. In constructing a model, it is important to remember that all such correlations are empirical, not functional constraints. To set a permeability of 0.01 darcys (log permeability = -2) at any porosity, you could set A to 0 and B to -2. Thus, log 0.01 = -2 = (0 x porosity) + -2 If you would like permeability to change with porosity, you can enter a value for the A term (be sure you are calculating the porosity as a volume fraction instead of a percentage). If porosity is 50% (0.5 volume fraction), you could get the same permeability by setting A to 2, and B to -3. Thus, log 0.01 = -2 = (2 x 0.5) + -3 Does this make sense? You should read section 2.13 (Permeability correlation) in the Reactive Transport Modeling Guide for more information on setting permeability. Regards, Brian Farrell Aqueous Solutions LLC P.S. I moved your topic from the archive of old posts to the front GWB forum page.
  5. Hi Clint, The reported water-type appears to be working just fine. It comes from the most abundant cation and anion in a particular sample. Keep in mind this is calculated after the sample is speciated. It is very possible to have a low pH sample with a lot of total carbon, which would cause CO2(aq), an uncharged species, to be predominant. In this case, CO2(aq) would not be reported in the water type, even if it were the predominant species. In your case, the HCO3- is not reported in the water type simply because there is more Cl- than HCO3- in all of your samples. Try launching SpecE8 for any of your samples to see for yourself. GWB will take into account your carbonate alkalinity (or HCO3- component if alkalinity is not present), but it is not as predominant as the Cl- ion so you get an Na-Cl watery. Delete the Cl- component and you'll get an Na-HCO3 water. Currently, there is no "longer water typing function." If you'd like to see the species listed in order of abundance, you can launch SpecE8 to do so. Hope this helps, Brian Farrell Aqueous Solutions LLC P.S. I've moved your post from the archive of old topics to be front GWB forum page.
  6. Hi Steve, It might be that you are saving the file to a folder which is different from your working directory. I think changing either your working directory or the location where you save the scripts to the same folder should take care of your problem. Including the complete path to your saved scripts might work as well. Generally, it's not best to save your work to the GWB scripts folder within Program files. Depending on your version of Windows, you might not even have write access to that folder. Most people create their own folder for their work, perhaps in their user profile, or on the desktop. Hope this helps, Brian Farrell Aqueous Solutions LLC
  7. Hi Vivek, Could you post an example which demonstrates the pickup problem? As for considering Hematite in your model, you have a few options. You can consider a redox equilibrium model, in which you add Fe++ and O2(aq) (or some other indicator of the "master" redox state such as Eh, pe, O2(g), etc.) to the Basis. The value you specify for O2(aq) determines the relative proportions of ferric and ferrous iron. The other case is a redox disequilibrium model. By decoupling the Fe+++/Fe++ redox pair, you can consider ferric iron separately from ferrous iron. You might have analyses (or assumptions) about both redox states, and use a kinetic rate law for Fe++ oxidation. Or, you could consider only Fe+++ to look at the precipitation of Hematite from Fe+++, with no consideration of reduced iron). Try taking a look at Chapter 7 in the Geochemical and Biogeochemical Reaction Modeling text, or section 4.6 (Kinetics of redox reactions) in the Reaction Modeling Guide. Hope this helps, Brian
  8. Hi Aku, I think there are a couple solutions to this problem. The first, and most straightforward approach, is to remove the two outer nodes which are supposed to be identical in composition to the inlet fluid (and not in equilibrium with the minerals in the rest of the domain). For the second option, you wouldn't swap your equilibrium minerals into the system. Rather, you would specify concentrations (or activities) for your components such that the desired minerals would be in equilibrium. For example, if you wanted a domain to be partially in equilibrium with quartz, and partially undersaturated, you wouldn't swap quartz into the domain, then set its mass to 0 where you don't want it to exist - this won't work. Instead, you could make the initial concentration of SiO2(aq) a heterogeneous value. As an example, try figuring out the concentration of SiO2(aq) in equilibrium with quartz. Using SpecE8, add SiO2(aq) to the Basis, then swap in Quartz and set its mass. Run the model and you'll find the equilibrium concentration at 25 C is ~ 6 mg/kg. Now instead of swapping Quartz in for SiO2(aq) in X1t, you can specify a concentration of 6 mg/kg where Quartz should be in equilibrium, and a smaller value where it should not be in equilibrium. You can always incorporate kinetics from the Reactants pane if you'd like. Hope this helps, Brian
  9. Hi Vivek, There are a few things I notice about your model. The first is that having 18 kinetic rate laws in one script is bound to cause trouble. Since the rate constants for the carbonate minerals are so much larger than for the others, I would start by removing the kinetic rate laws for all of the carbonates. In fact, I would start by deleting all the kinetic rate laws, then adding them in one at a time for the non-carbonates. When you set a reactant and a cutoff, keep in mind they must have the same exact unit, otherwise the unit for the cutoff (which is specified second) will be applied to both. Your original script reads "react 1 kg/year of CO2(g), cutoff = 50 kg" but this is interpreted as "react 1 kg of CO2(g), cutoff = 50 kg" which actually results in only 1 kg CO2(g) being reacted. Since your simulation lasts 1000 years, you might instead try "react 1000 kg of CO2(g), cutoff = 50 kg" to get the desired effect. Do you need O2(aq) in your example? The rate laws for Hematite and Magnetite as you've added them do not involve redox reactions. Is your system best conceptualized as a closed system (in which all of the CO2 accumulates, for example) or as a flow-through system? Hope his helps, Brian Farrell Aqueous Solutions LLC
  10. Dear GWB users, Just a gentle reminder: April 12 is the last day to early register for the Reactive Transport Modeling short course to be held May 23-24 in Stockholm, Sweden. Register early and save $100! Can’t make it? Consider our pre-Goldschmidt workshop in Florence, Italy on August 24-25. Regards, Brian Farrell Aqueous Solutions LLC
  11. Hi Aku, Sorry to be slightly misleading - I didn't realize that you were using an older version of GWB. GWB 9 has expanded the options for medium heterogeneity, including the exchange capacity, which as a field variable can be set to heterogeneous values. This is not possible in version 8, however. I think when you swap a mineral into the Basis it has to be in equilibrium everywhere in the domain (at least to begin the run). So, although you've set the mass of Montmorillonite, Calcite, and Gypsum to 0 in the two outer nodes, those nodes are still in equilibrium with those minerals everywhere in the domain. The chemistry is different, however, because you've specified different fugacities/ concentrations for the other Basis species. Regards, Brian
  12. Hi Maki, Are you using the vertical separators (|) in your in-line tables? For a 3x3 grid, you would enter a command like this: CH3COO- = {1 1 1 | 2 0 2 | 2 0 2} We hope to come out with the fix in the next couple weeks. Regards, Brian
  13. Hi Maki, We hope to come out with the fix in the next couple weeks. Regards, Brian
  14. Hi Akul, Exchange capacity is a field variable, so you can in fact set it to be heterogeneous. You need to go to the Sorbing surfaces dialog to do so. In X1t, go to File - Open - Sorbing surfaces, then click the "+" button next to exchange capacity for your ion exchange surface, then choose from the various options. You can also just add an in-line table from the command pane as you've done for your other heterogeneous values. Depending on the version of GWB you're using, there might be a problem reading the node-by-node editor (as described here), but the tables should work fine. As for the clay minerals, when I run your script I don't see any mineral mass in either of the two outer nodes. Can you clarify your question? Also, do you have any particular reason for setting up the outer nodes as you have? If they are the same composition as the inlet fluid, I'm not sure they even need to exist. Regards, Brian Farrell Aqueous Solutions LLC
  15. Dear GWB users, We invite you to visit our revamped website, GWB.com. We've kept the extensive galleries of diagrams, movies, and step-by-step tutorials you love while giving the site a clean new appearance and crisp navigation. Have you seen our YouTube channel yet? You’ll find dozens of videos showing you how to use the GWB to its fullest. And be sure to follow us on Facebook and Google+ for the latest news and announcements. Let us know what you think and keep those likes rolling in! Regards, Brian Farrell Geochemist Aqueous Solutions LLC Makers of The Geochemist's Workbench
  16. Hi Masoud, The GWB programs operate within the temperature and pressure range of the thermo dataset currently loaded. The default thermodynamic dataset thermo.dat contains log K entries compiled along the steam saturation curve from 0 °C to 300 °C. You can use a thermo dataset compiled at the pressure of interest, but geochemists not uncommonly assume the effects of confining pressure are small compared to the uncertainty in determining log Ks and activity coefficients. Note, however, that gas partial pressures are almost invariably significant. You account for the partial pressure of a coexisting gas by setting its fugacity. Hope this helps, Brian Farrell Aqueous Solutions LLC
  17. Hi maki, I don't think the problem is with your input, but with the importing flow field option. We'll have this fixed in the next maintenance release. As for your second question, the User's Guides should read "flow moves diagonally from the lower left to upper right of the domain. Regards, Brian Farrell Aqueous Solutions LLC P.S. I've moved your post from the archive of old posts to the front page of the GWB forum.
  18. Hi maki, It looks like there is currently a problem reading the node-by-node editor. As an alternative, you could use a table file (.txt file) or an in-line table to set values for your heterogeneous fields. The Heterogeneity Appendix to the Reactive Transport Modeling Guide covers these two topics. Please note that the tables must be inverted with respect to the domain because of the way the nodes are indexed. Regards, Brian Farrell Aqueous Solutions LLC P.S. I've moved your post from the archive of old posts to the front page of the GWB forum.
  19. Hi Kevin, You might check the concentration of the fluid components in your initial system. Right now everything is in mass units (meq here), but I'm guessing you want these in concentration units (meq/kg, meq/l, etc.). Not sure if that's causing a problem in any way, but at the very least making sure they're in concentration units will make understanding your system a little easier. Regards, Brian
  20. Hello, Do you have a simplified, homogeneous version of this script that you tested before moving on to the heterogeneous version? If so, that would help a lot with understanding your problem and troubleshooting. Thanks, Brian Farrell Aqueous Solutions LLC
  21. Hi Frank, After messing around with your dataset, I found I could get your React script to run once I set a value for the c H2O-1 coefficient at 25 C. This is the first term used in the water activity calculation (see the Geochemical and Biogeochemical Reaction Modeling text, equation 8.8). I just took the value of 1.45397 from thermo.dat. Regards, Brian Farrell Aqueous Solutions LLC
  22. Hi Natasha, The default thermodynamic dataset included with GWB, thermo.dat, spans temperatures from 0 to 300 C. The log Ks for all the reactions span this range, as do the Debye-Huckel parameters. Do you have a reason to alter the coefficients? Are you looking to work outside of this temperature range? If not, then you can just add components for each of your analyses to the Basis pane, perform any swaps if necessary, then set the constraints (bulk/ total concentrations, or concentrations for free species) and the temperature. See Section 7 "Using SpecE8" in the GWB Essentials Guide for more info on how this is done. A on our YouTube channel shows how this is done. As for using the B-dot equation to calculate activity coefficients, I don't think you'll need to alter the log Ks unless you're working outside the temperature and pressure range of the thermodynamic dataset. Craig Bethke's Geochemical and Biogeochemical Reaction Modeling text discusses what goes into the Debye-Huckel equation (this applies as well to the B-dot equation), saying "Equation 8.2 is notable in that it predicts a species' activity coefficient using only two numbers (zi, the species' charge, and ai, the ion size parameter) to account for the species' properties and a single value I (the true ionic strength) to represent the solution." Hope this helps, Brian Farrell Aqueous Solutions LLC P.S. I moved your topic from the archive of old posts to the front page.
  23. Hi Maki, Promoting and inhibiting species in general have the same effect whether you use the Built-in rate law or you write a Custom rate law. Since you're a microbiologist, I'll try to explain this in terms of the Michaelis-Menten equation: dC/dt = r = k(mD/KD+mD) where C is the concentration (molality) of a product species, k is the rate constant, mD is the molality of the substrate, and KD is the half-saturation constant. for mD << KD, the rate looks like it's first order (r = k(mD/KD), or r = k mD) for mD >> KD, the rate looks like it's zero order (r = k(mD/mD), or r = k) With a first-order rate law, the rate is proportional to mD, the molality of substrate. This is what it means to have a promoting species with a power of 1. As the substrate is used up, the rate of reaction will decrease, since the rate is proportional to concentration. With a zero-order rate law, the rate does not depend on mD. Thus, there are no promoting or inhibiting species. If you'd like, you could think of mD as having a power of 0. Remember, anything raised to the power of 0 is equal to 1 - thus not affecting the rate. Try adding a promoting/ inhibiting species using the GUI (where it says power, click "add"), then setting the power to 0. It will be removed automatically. To set a rate law of the form r = k (mD)(mD), or r = k(mD)^2, you would add the promoting species mD and set the power to 2. If the rate took the form r = k (1/mD), you would set the power of the substrate to -1. That is an inhibiting species. The difference between mpower and apower is whether the molality or activity of a promoting or inhibiting species is carried in the rate law, raised to whatever power you specify. I think concentration is used more than activity in rate laws (especially by non-geochemists), but activity is sometimes used instead of molality for H+ and OH-. For your question about pH, yes, adding H+ as a promoting or inhibiting species will make the reaction pH dependent, since pH = -log[activityH+]. I think the powers are commonly integers in practice but they don't need to be. The promoting and inhibiting species (and their powers) aren't really chosen arbitrarily; they make the most sense when you think about elementary reactions and collisions of individual molecules. For an overall reaction, the relationships can be less clear. In most cases ω and Ω are set to 1. If you want to read more about nonlinear rate laws, you can see Section 4.2.2 in the GWB Reaction Modeling Guide, or Appendix 4 in the Geochemical and Biogeochemical Reaction Modeling text. Hope this helps, Brian
  24. Hi Kirk, It would help to see how your spreadsheet is set up. Can you please post your GSS file that demonstrates this problem? Thanks, Brian
×
×
  • Create New...