Jump to content
RockWare Support Forum


  • Posts

  • Joined

  • Last visited

Everything posted by rockwebmaster

  1. From: Tom Meuzelaar Subject: reacting microcline I'm attaching a React script and two corresponding Gtplot images (EPS format). In this system, I am gradually adding Microcline to an aqueous solution with an initial pH at 2. I then diagram 'pH' vs. 'Microcline reacted' in Gtplot. If I make the x-axis scale linear, the reaction trace correctly starts at pH=3D2 on the y-axis. However, if I make the x-axis scale logarithmic, the reaction trace begins at pH=3D3 (it is not a scaling issue..). Any idea why? Also, in an attempt to include each reaction path iteration in my output file, I've set the value for 'dxprint' equal to the value for 'delxi'. In the subsequent output file (also attached), iterations 12-112 are all included, but among the first 12 iterations, only 0, 1, 3 and 12 are included. Am I going about this the right way? From: Tom Meuzelaar Subject: RE: reacting microcline After the initial speciation, the pH at step #1 is 3.052. No mass transfer occurs during step #0 and #1, and given the x-scale is log mass reacted, log zero is undefined. I'm still trying to figure out how to print all reaction iterations to the React output file.... From: Craig Bethke Subject: RE: reacting microcline To write the results of each reaction step to the plot file, set variable dxplot (Config -> Variables) to zero.
  2. From: Biniam Zerai Subject: Converegence problem I am trying to model using GWB version 3.2 a possible reaction for on going experimental work. My main input are swapped CO2(g), mineral Chrysotile, and a brine composed of 0.5 kg H2O, Oxalic_acid(aq), H3PO4(aq), HPO4. When I run in REACT it won't converge. I tried different amount of the brine main composition but still won't converge. Am I missing something? Anybody with suggestion would be greatly appreciated. I include the input with this email. INPUT time start = 0 days, end = 100 days temperature = 80 swap Oxalic_acid(aq) for O2(aq) swap H3PO4(aq) for H+ swap CO2(g) for HCO3- swap NaCl(aq) for Cl- total kg H2O = .5 total g/kg Oxalic_acid(aq) = 8.87 total g/kg H3PO4(aq) = 14.24 fugacity CO2(g) = 68 total g/kg NaCl(aq) = 1 balance on HPO4-- total g/kg HPO4-- = 1 total g/kg SiO2(aq) = 1 total g/kg Mg++ = 1 total g/kg Na+ = 1 react 25 gram of Chrysotile kinetic Chrysotile rate_con = 4e-17 surface = 46000 From: Craig Bethke Subject: Re: Converegence problem It's hard to know exactly what you're trying to do, but the root of the convergence problem is the way you are constraining pH. In this input file, you are effectively fixing pH by ionic charge balance. This is theoretically possible, but you must be very careful to set precise concentrations for each of the basis entries. The reason for this is that you are fixing a small number (the concentration of H+) in terms of the imbalance among a series of large numbers (the concentrations of the major components). The fact that you have set a number of components to a concentration of 1 g/kg suggests to me that you do not have constraints accurate enough to set pH in this fashion. Also, I note that you swapped the NaCl ion pair for Cl-. In your input, then, you specify a larger mole number of Na+ than Cl-. (And remember that the mole weights of Na+, Cl-, and NaCl(aq) differ, so 1 g/kg of each is a different mole number.).
  3. From: Brian Gibney Subject: Modeling with microbes I am a microbiologist with limited geochemistry modeling experience. I would like to model sorption of arsenic during the reduction of insoluble iron hydroxides by microbes under anaerobic conditions, but I have stumbled at the following hurdles: 1) REACT does not allow me to model without O2 in the system 2) I can't seem to enter the right equation for reduction of FeOOH in the "kinetic redox" box under the REACTANTS tab 3) I don't know all parameters to enter into the "kinetic redox" box under the REACTANTS tab--only the rate constant of FeOOH reduction. Will it function with only that rate constant? 4) I have data for "biomass," "growth yield" and "decay constant" values within the the "kinetic microbe" box under the REACTANTS tab, but don't know values for reaction, rate constant, pKa, etc. From: Craig Bethke Subject: Re: Modeling with microbes (1) If you must add O2(aq) to complete the chemical system, you probably haven't decoupled all of the necessary redox reactions. (2) You will, of course, need a complete set of kinetic parameters to trace a kinetic model. But it's not clear to me that you need to define two kinetic reactions, one for FeOOH reduction and another for microbial activity. Since the reduction is driven by the microbes, it seems to me that a single kinetic reaction would do. (3) You should ask yourself if you need a kinetic model at all. Could your purposes be served by tracing a parametric model in terms of the amount of FeOOH reduced, without specifically accounting for time? If so, simply write a balanced chemical reaction for FeOOH reduction, titrate in the reactions products (Fe++, etc.) while you remove (titrate out) the reactants (FeOOH, etc.).
  4. From: Andy Wilde Subject: Question regarding flush option I am attempting to simulate the interaction of fluid with rock using the flush option. As I understand it the flush option takes an increment of input fluid and displaces an equal mass of "pore" fluid. It would seem logical to me that when you plot calculated porosity versus reaction progress it should remain more or less constant (with minor changes due to wall-rock reaction) and that if you plot total fluid mass in the system as a function of reaction progress it too should remain more or less constant (providing that massive hydration of the rock is not occurring etc). Yet when I plot these parameters it would seem that the total mass of fluid including that "displaced" during flushing is plotted. The related porosity value is therefore totally meaningless. See attached plots. I would like confirmation that this is indeed the case, but more to the point the logic for doing it this way! From: Craig Bethke Subject: Re: Question regarding flush option I ran the input file you provide with several versions of React (please remember to specify the version you are running when posting an inquiry), and the program seems to be working correctly: both porosity and solution mass remain approximately constant, as they should. The plots you attach, however, don't seem to be of the results of running this input file. Perhaps you are plotting the results of a different run, looking at an old React_plot.gtp file, or modeling and plotting in a different working directories?
  5. From: Steven Cucolo Subject: Rate constant data for Illite? I am looking for rate constant values to use in REACT. Does anyone know of any references where I could find estimates for the dissolution rate of Illite under various pH and temperature conditions? I have been searching with GeoRef, but no luck.
  6. From: Brian A. Powell Subject: surface modification Could someone please explain what this error message refers to. React stop: set_bascomp: lost element -- Hit any key to quit React. I am attempting to modify FeOH.dat with other minerals. After only adding a protonation/dissociation reaction for Gibbsite this message is received. Could this be a problem of balancing the number of OH groups? However, I have experienced the same problem for other minerals. Thank you in advance for any help and I am sorry if this is a mundane question.
  7. From: Michael C. Adams Subject: Phosphate Data Dear GWB Users, I am using React to design a pH buffer for some high-temperature experiments. The pH that I get at 75 to 275 C are quite different depending on whether I use the Thermo.dat or the V8.r6+ (LLNL) database. The reactions and their constants vary quite a bit, especially at the 200-300 C. Does anyone have opinions on which is the database to use for this model? The input data follows: swap H2PO4- for H+ balance on Na+ K+=0.005489 molal Na+=0.002688 molal H2PO4-=0.005489 molal HPO4--=0.001344 molal SiO2(aq)=1.0e-7 molal react 100 moles Quartz, cuttoff = 1 kg T initial = 20, final = 300
  8. From: James Cleverley Subject: Total element activities Can anyone tell me if there is a method for getting an output into the react_output block of the total element activities (e.g. total S, total As etc)? I know you can sum the individual species activities but didn't know if I was missing something.
  9. From: Henry Kerfoot Subject: Surface data issue I have tried to load in some surface data and the React program keeps finding unrecognizable species in the file. It seems that he React program does not recognize As(OH)3 as a species... Has anyone else had this problem, or been able to find a different surface data set?
  10. From: Henry Kerfoot Subject: temperature change I am trying to evaluate the potential temperature change in unsaturated materials due to reactions. I have a system I wish to model, but I cannot seem to get a temperature increase from reactions that I think should give one. I have tried modeling the oxidation of pyrite and failed. I have been able to get a temperature increase when I use T initial = 15, reactants and have a large amount of reactants present (i.e., kg of silica) with a heat capacity of 0.2. My question is this: There is an 'isothermal' command, implying that computed temperature variations from chemical reactions are possible. What command is used to allow temperature changes from reactions? Just the default T = x? From: Craig Bethke Subject: RE: temperature change Almost all geochemical calculations are formulated in terms of the Gibb's free energy, assuming that temperature and pressure are controlled by the environment of the system of interest. The equilibrium constants in the various GWB databases are transformations of the Gibb's free energy. As such, in tracing a reaction path with React, you are assuming that whatever heat energy is liberated by the enthalpy change of reaction is simply conducted into the environment. To model your situation, I suggest you perform the following steps: 1) Use React to discover the overall chemical reaction occurring in the system. 2) Calculate from standard tables the enthalpy change of reaction corresponding to the overall reaction. 3) Multiply this value by the number of moles of reaction progress observed to find the number of joules of heat energy added to the system, then divide this number by the system's overall heat capacity to get the temperature increase expected. 4) Rerun React as a polythermal simulation in which the final temperature is the initial temperature plus the predicted temperature increase.
  11. From: Henry Kerfoot Subject: negative concentrations When I use the following parameters for reaction of feldspars with groundwater, I get results with [H+] 0. Is this an indication of instability due to use of too large a reaction step, or some other type of effect? I also occasionally get [O2] 0, which I assume is a reflection of the same thing.... Has anyone had experience with these types of issues? Here is the input and system information .... Basis is: H2O 1 kg solvent NO3- (swapped for NH3(aq)) total mg/l = .4 Na+ total mg/l = 8.4 K+ total mg/l = 3.5 Ca++ total mg/l = 13 Mg++ total mg/l = 4.3 Fe++ total mg/l = .18 HCO3- total mg/l = 72 SO4-- total mg/l = 6.9 Cl- total mg/l = 3.8 ( F- total mg/l = .2 SiO2(aq) total mg/l = 35 H+ pH = 7 O2(aq) total mg/l = 4 Al+++ total mg/l = .1 Mn++ activity = 1e-12 Zn++ total mg/l = .09 HPO4-- total mg/l = .1 show reactants Reactants: React .05 mol of K-Feldspar React .05 mol of Albite show variables Variables set by user: cpw = 1 cal/g C cpr = .2 cal/g C delxi = .01 density = 1 g/cm3 dxplot = .005 dxprint = .1 epsilon = 5e-11 inert = 0 cm3 itmax = 400 iterations itmax0 = 999 iterations nswap = 30 iterations nswap0 = 200 iterations simax = 3 molal TDS = 148 mg/kg theta = .6 timax = 3 molal From: Craig Bethke Subject: RE: negative concentrations I think you are confusing the concentration of a species in solution with that of a component. Whereas the concentration of a species is invariably a positive number, a component's concentration may be positive or negative. There's a section in the green book titled “Components with Negative Masses�, on page 38. If you read this (and perhaps the preceding pages, starting on page 30), I think this point will be clear.
  12. From: Michael Lim Subject: density of evaporated seawater Could anyone please help me with finding a table containing details of partial Molal Volume of the various salt find in common seawater? From: Michael Lim Subject: density of evaporated seawater The reason why I asked all these questions started with our calculation using seawater as our benchmark. The seawater Specific Gravity reported by Modelling Halite Formation and Brine Densities: Comparison of Non-Marine and Seawater Brines L.A. Chambers, M.W. Wadsley and G.J. Brereton Seventh Symposium on Salts Vol I, 533-538 (1993) was 1.23 (figure 5) at the point when Halite precipitates. But using the same set of inputs and crunched through Geochemists Workbench, we got 1.177. The ionic strength is the same in both cases, 7.266. Just wonder anyone has any idea what I have done wrong. Your help is much appreciated. Please see our input below. h-m-w TDS 35080 swap CO2(g) for H+ log f CO2(g) = -3.5 Cl- = 19350 mg/kg Ca++ = 411 mg/kg Mg++ = 1290 mg/kg Na+ = 10760 mg/kg K+ = 399 mg/kg SO4-- = 2710 mg/kg HCO3- = 142 mg/kg fix fugacity of CO2(g) react -996 grams of H2O From: Craig Bethke Subject: Re: density of evaporated seawater Fluid density as reported by React is what we call a “secondary variable�, i.e., one not used internally in the calculations, but reported for the user's convenience. The calculation method is described by Phillips et al. (1981): Phillips, S. L., A. Igbene, J. A. Fair and H. Ozbek, 1981, A technical databook for geothermal energy utilization. Lawrence Berkeley Laboratory Report LBL-12810, 46 p. The method is a correlation function that gives the density of a NaCl solution from temperature and concentration. (For more info and a corrected coefficient, see the Basin2 Users' Guide, available for download from our web site.) Of necessity, React must treat the general case. But in working with a specific solution (e.g., evaporated seawater) or at a known temperature, it is sometimes possible to calculate density more precisely. Since the reference you cite considers just such a specific case, it likely gives a better estimate of fluid density than the Phillips et al. correlation. My guess is that this is the source of the discrepancy you cite.
  13. From: Joel Brugger Subject: Dynamic modelling I am trying to repeat the calculations of Sverjensky D. A. (1987) [The role of migrating oil field brines in the formation of sediment-hosted Cu-rich deposits. Econ. Geol. 82, 1130-1141.]. The first step involves titration of an evaporite (hematite+quartz+anhydrite) into an oil field brine. My problem is that many things happen when you add the first 1% of the evaporite. This is due mainly to the increased in reduced sulphur that causes precipitation of sulphides. These sulphides quickly redissolve as the fluid gets more oxidised. 100% evaporite addition corresponds to the point where the brine becomes saturated with anhydrite. Problem: Looking at minerals precipitation/dissolution is best done on a log-log plot. If I don't want to miss a phase, I have to calculate about 100,000 steps (delxi =3D 0.0001, dxplot=3D0). GTPLOT reports an error when trying to read the huge resulting plot file. Is there a way to define non-linear step increments? Even better, is there a way to have REACT choose the right number of steps for me? For example, REACT could perform additional steps if some variables change more than a certain amount between two steps. In my case, I would ask REACT to monitor the amounts the pyrite, sphalerite, and galena in the system, as well as Eh. As a cheaper option, it would be good if REACT could choose the calculations exported to the plot file according to such rules. Or may be I just missed a point somewhere (I am using version 3.0.3a) ? From: Craig Bethke Subject: Re: Dynamic modelling The easiest way to make this plot is to react the first 1% of the reactants, pick up the results of the run, set a new suffix (so you don't write over the results of the first part of the run), and then run the rest of the path. Then run two instances of Gtplot using log-log coordinates, one for each part of the run, and combine the resulting plots using PowerPoint. Alternatively, save the x-y points from the Gtplot plots to spreadsheet files, import them to Excel, and render them in a plot. A more expensive option to to increase the memory on your computer, so Gtplot can run on your large output file.
  14. From: Craig Bethke Subject: Ion exchange model in React We have discovered a flaw in the ion exchange calculation within React 3.1 that causes the program to give incorrect results for certain exchange reactions. We are in the process of resolving this issue and will shortly post a patch for correcting the program executable. We apologize for any inconvenience this problem has caused.
  15. From: T.C. Onstott Subject: carbon isotopes I'm trying to model heterotrophic sulfate reduction and would also like to validate using the shifts in del13C in the inorganic carbon we have detected. How does one go about entering the del13C of acetate, as an example, to that during kinetic reaction it is converted to 2*HCO3- and its del13C incorported into the bulk 13C of the system? Also, how can I interrogate the GWB program to find out the equivalent del13C for the pCO2? Finally, I noticed in the GWB isotope database that no fractionation coefficients are included for CO2(aq) and CO3--? Is this because these equations are hardwired in the program? If not, do I just modify the data base? From: Craig Bethke Subject: Re: carbon isotopes React doesn't allow for isotopic disequilibrium within the equilibrium system. It does, however, allow not only for disequilibrium between aqueous species and minerals, as we discussed, but disequilibrium between aqueous species and reactants. I suggest, therefore, that instead of building isotopic fractionation into your kinetic model, you set up a simple titration model in which you add acetate to a fluid containing an oxidant. You can set the 13C of the acetate and initial fluid separately, and the program will predict the isotopic effects. You can then link the isotopic calculation to the kinetic model in terms of the amount of acetate consumed. Remember that you can output data from Gtplot as input files for a spreadsheet program like Excel, using the “Save as ...� option, which lets combine results from two runs onto a single plot. In response to your other questions, you can find the isotopic composition of CO2(g) in equilibrium with the system in the React_isotope.txt output dataset, written in your working directory. The fractionation factor for CO2(aq) is zero because this is the reference species. And the fractionation factor for CO3-- in the dataset is the same as that for HCO3- (remember that a blank line in isotope.dat means that the data for the previous line is to be used). And, finally, yes, you can modify the isotope.dat database. But be sure to work on a copy of the file, not the original file itself.
  16. From: Paul Foellbach Subject: how set a free mineral phase I attempt to work with data of a hydrothermal fluid, that was sampled at the North Fiji Basin. I assume, that this fluid was affected by precipitation of Pyrite while sampling. Now I like to correct this fluid composition in respect to Fe and S. I would like to saturate this fluid with Pyrite. I swapped Pyrite for Fe and set a certain value of Pyrite (not free), that gives the saturation of Pyrite in this fluid. I have to set this Pyrite as a free Species. When I do this, it happens the following: 1. script with not free Pyrite: > decouple HS- > swap Pyrite for Fe++ > 1.00000317 kg free H2O > free molality O2(aq) = 4.2236754e-32 > total mol H+ = .0159720092 > total mol HS- = .002 > total mol HCO3- = .0144 > total mol Na+ = .21 > total mol K+ = .0105 > total mol Ca++ = .0065 > total mol Ba++ = 5.9e-6 > total mol Mn++ = 1.2e-5 > total molality Pyrite = 4.067e-7 > total mol Li+ = 2e-4 > free molality Al+++ = 1.76591595e-19 > total mol SiO2(aq) = .014 > total mol Cl- = .233045809 > total mol Br- = .000306 > total mol B(OH)3(aq) = .000465 > total mol SO4-- = 1e-40 > precip = off > printout species = long React> go Solving for initial system. Loaded: 348 aqueous species, 177 minerals, 14 gases, 0 surface species, 16 elements, 14 oxides. -- Warning: expected a free constraint for mineral Pyrite N-R converged in 199 its., resmax = 7.49e-013, Xi = 0.0000 Charge balance: Cl- molality adjusted from .233 to .233 36 supersaturated phases, most = Clinoptilolite-Ca No reaction path specified. 2. script with free Pyrite: React> free Pyrite = 4.067e-7 molal React> go Solving for initial system. Loaded: 348 aqueous species, 177 minerals, 14 gases, 0 surface species, 16 elements, 14 oxides. *N-R didn't converge after 999 its., resmax = 0.000247, Xi = 0.0000 Largest residual(s): Resid Resid/Totmol Cbasis -------------------------------------------------------- SO4-- 1.325e-010 0.0002468 1.809e-011 -------------------------------------------------------- React> I set exactly the value of free Pyrite to saturate this solution, but the calculation can't converge. I don't know how to set the free Pyrite for saturation. From: Craig Bethke Subject: Re: how set a free mineral phase My guess is that the second run didn't work because the program couldn't achieve charge balance. (It actually converged to within a small tolerance.) Neither approach, however, is the correct solution to the problem of correcting the fluid composition for pyrite precipitation. To do this, take the fluid as analyzed and titrate more that enough pyrite into it (use the “react� command) to saturate the fluid. Then, after this step is complete, do a “pickup fluid� to eliminate the excess pyrite.
  17. From: Henry Kerfoot Subject: pH Neutralization of high-CO3-- high-pH I am trying to use Geochemists Workbench to simulate pH neutralization of pH 12.9 groundwater using CO2(g) to evaluate the potential for effects such as precipitation. The groundwater has 12.7 mmolal CO3--. I cannot figure out how I can specify the initial pH and [CO3--] and then add CO2(g), since I have already swapped CO3-- for HCO3-. I tried to input data on the groundwater in React, enter "Go", then 'pickup' the fluid (liquid), and then react with CO2(g), but could not get that to work. Any ways to accomplish what I am trying to do, or is it just that I can't react a high-pH high-carbonate system with carbonic acid using GWB because of basis limitations? From: Craig Bethke Subject: Re: pH Neutralization of high-CO3-- high-pH Of course you can do this calculation! But you don't provide an example of a script that doesn't work as expected, so it's hard to give you specific advice. In general, constrain your initial system at its alkaline pH, and then use either the "react" command to titrate CO2 into it, or the "slide" command to increase in the system the fugacity of CO2(g). (You can use the "dump" command to eliminate any mineral mass that precipitates when you equilibrate the initial system; this is a little easier than the "pickup" command.) There are several examples of similar runs in the User's Guide, as well as the green book (see Chapters 12 and 13). From: D.C. "Bear" McPhail G'day Henry and everyone else, The problem is interesting, and intrigues me because I am having trouble with basis species with sulphur. I made a successful calculation for a simplified version of Henry's problem using the following input: Cl- 1 molal Na+ 1 molal swap CO3-- for HCO3- CO3- 12.7 mmolal pH 12.9 Ca++ 1e-5 react 0.1 mol CO2(g) I used the NaCl to help with charge balance and the calcium to include simple carbonate minerals. I didn't bother picking up the fluid, as I set the calcium concentration to be undersaturated with respect to minerals. The results made sense, with calcite precipitating roughly half way through the reaction with CO2(g) and the pH dropping to approximately 10 at the end of the run. I don't know if that helps Henry, but my simple example worked OK. Now to my problem. I am trying to simulate reactions with thiosulphate and other sulphur species. I'm using a database of thermodynamic properties where SO4-- is the basis species, there are several redox couples with other sulphur species (not thiosulphate, though) and thiosulphate and other sulphur species in the aqueous species block. I've been trying to plot thiosulphate, polythionate and other sulphur species on activity-activity diagrams, but they are metastable with respect to sulphate species, as I think it should be. I'd like to suppress SO4--, but Act2 won't let me because it's a basis species, even after I swap a redox couple species (e.g., S4O6--) for SO4--. Unless I've missed something obvious, it seems my best bet is to rewrite the database in terms of S2O3-- as the basis species for sulphur. I'm not keen to do this because I wish to use a large database and it would take longer than I have to rewrite it. My main purpose is to simulate thiosulphate reactions in react, but I like to see activity-activity diagrams first. So here's my list of questions. Have others confronted similar problems with trying to suppress basis species, and found simple ways around them, using GWB? Have others had some experience in calculating equilibria with thiosulphate and other sulphur complexes? I would be very interested in incorporating kinetics of reactions involving aqueous (and mineral and gas) sulphur species, too, and would appreciate comments people might have on this. I'm glad to see people using the group list for questions. It's quite valuable to see the comments and questions, and as long as we're not inundated with gazillions of e-mails, this will be a good venue/format for all of us! Cheers, Bear From: Craig Bethke Hi Bear, Regarding the sulfur diagram question, I think you are confusing two concepts. If you make a redox-pH diagram for S2O3-- by swapping it for SO4--, it will look the same as the diagram for SO4--. The reason is that in both instances you are pulling in all of the sulfur-bearing species that can be formed by redox, (de)protonation, and (de)hydration reactions. (Of course, you need to be using a thermo dataset such as thermo.com.v8.r6+.dat that contains thiosulfate.) To look at thiosulfate species alone, you want to decouple S2O3--. In this case, you simply diagram S2O3-- on redox/pH axes, without specifying an activity for SO4--. To carry this a little further, you might want to make a diagram containing all sulfur species (HS-, H2S, S2O3--, etc., etc.) except the sulfate species. To do this, you would like to decouple SO4-- from the other sulfur species and then omit it from the diagram. The complication is that in the thermo dataset SO4-- is a basis species, not a redox species. To get around this problem, simply reverse the entries for SO4-- and HS-. HS- becomes a basis species, SO4-- becomes a redox species, and the redox coupling reaction for SO4-- is simply the reverse of the old coupling reaction for HS-. Now you diagram HS-, decouple SO4--, and you're set. Hope this helps, Craig
  18. From: Charles F. Weber Subject: GWB questions Can anyone answer the following questions concerning the REACT program: 1) It appears that an inventory of 0 for Cl- produces an error. I am simply trying to calculate the solubilities of minerals in Cl free systems. Am I missing something? 2) The solubility of NaCl at 25 C is calculated to be > 9 molal. Did I do the calculation right? Is the discrepancy due to inadequacy of the activity coefficient model at higher ionic strengths? From: James Cleverley Subject: Re: GWB questions "1) It appears that an inventory of 0 for Cl- produces an error. I am simply trying to calculate the solubilities of minerals in Cl free systems. Am I missing something?" REACT is set to default charge balance on Cl- - if you do not want Cl- in the system choose another charge balance species: Balance on X where x is the species. Also you can not set a concentration to 0 - either leave it out or put the concentration to a negligible amount (1e-10?). "2) The solubility of NaCl at 25 C is calculated to be > 9 molal. Did I do the calculation right? Is the discrepancy due to inadequacy of the activity coefficient model at higher ionic strengths?" How did you calculate this???
  19. From: Barry R. Bickmore Subject: swapping problems I'm having a little trouble getting the hang of this "swapping" business. Here's my problem. I need to calculate the solubility of gibbsite at high pH, high ionic strength, and at various temperatures. At high pH the solubility is controlled by Al(OH)4-. I need to fix the pH, but I believe I also need to swap in OH- for H+ to work at high pH (up to 14). However, if I fix the pH, the program automatically swaps H+ back into the basis. I can fix the pOH just fine, and the calculation converges, but the problem is that at the higher temperatures -log Kw goes well below 14. Furthermore, at the high ionic strengths I'm using, the activity of water drops significantly, and it changes over the course of the reaction. So anyway, is it possible to fix the pH when OH- is in the basis? Here's a script I used for pOH = 0, T=90. It converged, but the pH was around 12.3, whereas I wanted to fix it at 14. data = thermo_myphrqpitz.dat verify temperature = 90 swap OH- for H+ swap Al(OH)4- for Al+++ log a OH- = 0 fix a OH- 1 kg free H2O Al(OH)4- = 0.00000001 molal balance on Na+ Na+ = 2 molal NO3- = 2 molal react 500 g Gibbsite From: Craig Bethke Subject: Re: swapping problems It's not completely clear to me what you're trying to do, but I can offer these suggestions: swap Gibbsite into the basis in place of Al+++ set an arbitrary free mass of this mineral (remember the “free�) set “precip = off� so that no other mineral precipitates set either pH or a OH- as you wish you should not have to “fix� any variable since you are not running a reaction path.
  20. From: Steven Cucolo Subject: changing the system in React Does anyone know if it is possible to chnage the default system setings when modeling in REACT? I want to change the default solvent setting from 1 kg to 100 mL or some equivalent of that. Is there some way to alter that setting while working in the MS-Windows mode of REACT? From: Craig Bethke Subject: Re: changing the system in React You just set the solvent mass directly from the command line, like any constraint. For example, to set 100 g of solvent, you enter the command 0.1 kg free H2O. By the way, the distinction between "free" and "total" H2O is minor, except (perhaps) for brines, but "free" is most correct.
  21. From: Ross McCartney Subject: Flash calculations (two supersaturated fluids) I want to undertake flash calculations involving two supersaturated fluids and I'm interested in the amount of precipitate that forms when they are mixed. I can add a supersaturated reactant {A} to my second fluid {B} by setting precip=off when generating the reactant {A} pickup file. However, when I undertake the flash calculations, with precip=on and dump=off, the solids precipitated from B at X=0 are kept in the system as solids throughout the flash simulation. They are not removed in proportion with the removal of fluid B as reactant A is added. As a result, when X=1, the system contains all the reactant plus the original B solids. This means that the simulation overestimates the amount of precipitate forming from all mixtures of A and B and from A itself. If I set dump=on, the simulation underestimates the precipitate forming from all mixtures of A and B and B itself. Am I trying to undertake calculations that GWB cannot handle or are there alternatives for modeling deposition resulting from the mixing of two supersaturated fluids from X=0 to X=1? From: Craig Bethke Subject: Re: Flash calculations (two supersaturated fluids) To run the path you envision, I suggest using the "react" command. For example, suppose that equilibrating fluid B produces 100 mg of gypsum. Then the command react -100 mg Gypsum will remove ("titrate out") the mineral along with the fluid. (Please note the negative sign in the command). By the way, instead of toggling the "precip" setting, you can do the command "pickup reactants = entire" instead of "pickup reactants = fluid". This might save a little effort.
  22. From: Megan Elwood Madden Subject: Charge Balancing I'm just getting started using GWB and I'm a bit confused about the "balance" command in React. I'm trying to model the reaction of basalt with a dilute water solution with a fixed CO2 fugacity. The input i've used is below. If I simply set the initial pH, charge balance with Cl-, and fix the CO2 fugacity I get a charge balance warning from the model and indeed when I check the charge equivalents from the resulting fluid, I have a negatively charged fluid. However if I fix the pH along with all the other factors above, the resulting fluid is charge balanced. In natural systems though, it doesn't make sense to me to fix the pH, it should change over the course of the reaction. What does the "balance" command actually do if the resulting fluid is not charge balanced? Is there a way to get a charge balanced fluid without fixing the pH? Here's my input variables: Basalt-Dilute Cl Brine fix CO2 itmax0 5000 itmax 5000 chdir “e:Program FilesGwbGtdata� T=25 balance Cl- Na+= 10e-12 molal Cl-= 10e-12 molal K+= 10e-12 molal Ca++= 10e-12 molal Al+++= 10e-12 molal SiO2(aq)= 10e-12 molal Fe++= 10e-12 molal Mg++= 10e-12 molal O2(aq)= 10e-12 molal pH=5.0 react .1295 mole Diopside react .00136 mole K-feldspar react .04816 mole Albite react .11586 mole Anorthite react .02851 mole Enstatite react .08565 mole Ferrosilite react .01738 mole Magnetite react 0.02215 mole Fayalite react 0.02215 mole Forsterite HCO3-= 10e-12 molal swap CO2(g) for HCO3- f CO2(g)=.006 suppress Annite, Tremolite, Diopside, Andradite, Hedenbergite, Wollastonite, Antigorite, suppress Greenalite, Albite, K-feldspar, “Albite low“, “Maximum Microcline� suppress Minnesotaite, Phengite, Phlogopite, Epidote, Epidote-ord, Muscovite fix f CO2(g) From: Craig Bethke Subject: Re: Charge Balancing Unless you set "balance = off", React should enforce charge balance on your chemical system initially and over the course of any reaction path. It does this by adjusting the concentration of the basis entry you specify (Cl-, by default). The adjustment is necessary only for the initial system, unless you have fixed the activity ofa charged species, or the pH. When I ran your script using the latest release, I received no warnings and found no problems with charge balance. Could you please be more specific about what release you are running, and what warnings you get? From: Megan Elwood Madden Subject: RE: Charge Balancing Here's a bit more information: I'm running Release 3.0 . I just copied and pasted directly from my email into react and got this statement after the completed reaction path: "Warning, system has a charge imbalance of 1.047e-008 faradays". When I examined the charge equivalent concentrations of the equilibrium solutes, there was a significant imbalance in charged species, with about half of the anions (Cl- and HCO3-) unbalanced. It seems a bit odd that I am having the opposite symptoms Dr. Bethke described, where it is charge balancing only when the pH is fixed and not when the pH is allowed to vary. From: Craig Bethke Subject: RE: Charge Balancing First of all, I wouldn't worry about that warning message. A Faraday is a mole of electrical charge. The message is set to appear whenever the charge imbalance is 10^-8 Faradays. In your case, it's 1.018^-8, which is still a very small number. You are getting this message because the solute concentrations in your initial solution are very small (have you thought of using the average composition of rainwater for your initial system?). Second, I believe that your system is charge balanced. Here're the predominant species from your output: Aqueous species molality mg/kg sol'n act. coef. log act. CO2(aq) 0.0002117 9.317 1.0000 -3.6742 H+ 1.004e-005 0.01012 0.9963 -5.0000 HCO3- 9.149e-006 0.5582 0.9963 -5.0402 Cl- 8.872e-007 0.03145 0.9963 -6.0536 OH- 1.035e-009 1.760e-005 0.9963 -8.9868 Note that the negative charge of the anions (HCO3-, Cl-, OH-) is compensated by the positive charge of the hydrogen ions (H+). And remember that you can't figure charge balance by adding concentrations in mg/kg – you have to use molal units.
  23. From: Michael C. Adams Subject: gas distribution between phases I m using React for geothermal work and I have a general question about the distribution of gases between phases. 1) If I boil (remove water), do I lose gases as would occur with actual boiling? 2) I notice that when I add methane (see input file below), and then heat up the fluid, the molality of Methane(aq) changes. Where does it go? “c:Program FilesGwbGtdatathermo.com.v8.r6+.dat� print species = Long decouple all couple S couple H TDS=1616 mg/kg swap H2S(aq) for O2(aq) swap NH4+ for NH3(aq) swap Methane(aq) for HCO3- SiO2(aq)=509.2 mg/kg B(OH)3(aq)=7.5 mg/kg Na+=368.5 mg/kg K+=57.3 mg/kg Li+=1.82 mg/kg Ca++=6.32 mg/kg Sr++=0.319 mg/kg Cl-=395.1 mg/kg F-=14.05 mg/kg HCO3-=61.9 mg/kg SO4--=180.4 mg/kg H2S(aq)=15 mg/kg NH4+=1.65 mg/kg Methane(aq)=0.00001 mg/kg pH=9.45 react 112 moles H2O cuttoff=11.2 react 861.85 mmoles CO2(g) cutoff = 86.185 react 6.45 mmoles CH4(g) cuttoff = 0.645 react .347 mmoles H2(g) cuttoff = 0.0347 react 8.02 mmoles H2S(g) cuttoff = 0.802 react 1.2 mmoles NH3(aq) cuttoff = 0.120 react 23.36 mmoles N2(g) cuttoff = 2.336 T initial = 25, final = 244 precip = off From: Craig Bethke Subject: Re: gas distribution between phases (1) To model boiling in an open system, you need to fix the fugacities of the gases in your fluid to those in the surrounding atmosphere. There are examples of doing this in the chapter on evaporation, in the green book. (2) In a polythermal reaction path, mass will be redistributed among the species in solution to reflect the species' changing relative stabilities. In your case, methane reacts to form CO2 and H2. If you don't want this reaction to occur, you need to disenable the CH4/HCO3 redox couple.
  24. From: Elias Rosen Subject: Adding basis species (Redox) I am trying to use GWB to investigate carbon dioxide sequestration via mineral carbonation. In the process under consideration, two organic acids (citrate and edta) are employed to dissolve chrysotile. I have added these species to the thermo.com.v8.r6+ data set, using Citrate 3- and EDTA 4- as basis species, and including the various protonations and complexations of these species within the aqueous complexes section of the database. The lines added to the database are attached to this message. React will read the database, and I can use this altered database to model systems that include EDTA, but as soon as I specify a concentration for citrate I receive the following error message: React stop: def_basis: add_basis failed -- Hit any key to quit React Being a new user of GWB, I am not familiar with this error and I have been unable to locate it within the manual or online help. It appears that both acids have been included using the same formatting, and without knowing what this error refers to I have been unable to resolve this problem. Does this look familiar to anyone? From: Craig Bethke Subject: Re: Adding basis species (Redux) Thanks for supplying me with the exact thermo dataset you are using. When I load this file, I see React data thermo.com.v8.r6+.citrate.dat Reading thermodynamic data from: C:Usersbethkethermo.com.v8.r6+.citrate.dat Warning: Expected “H2O� as first basis entry. Read data for 1796 aqueous species, 1122 minerals, and 93 gases. As the warning message suggests, H2O needs to be the first basis entry in the dataset (see p. 201 in the User's Guide). After I moved your citrate and EDTA entries to after the entry for H2O, the program seems to work fine.
  25. From: James Laurinat Subject: Gibbsite and Diaspore solubility calculations I have been using REACT, with the default thermo.dat database, to calculate gibbsite and diaspore solubilities in strong basic solutions (NaOH = 1 to 15 molal). The calculated solubilities do not closely match measured solubilities reported by A.S. Russell, J.D. Edwards, and C.S. Taylor, "Solubility and Density of Hydrated Aluminas in NaOH Solutions," J. of Metals, p.1123-1128 (October, 1955). Moreover, when I use a modified database to input log K's to match calculated and measured solubilities, the resulting log K's are not constant but vary with composition. These problems make it difficult to use GWB to predict aluminum solubilities. Does anyone have suggestions as to why I am having these difficulties? My input to REACT consists of: Temperature (deg C) Na+ (molal) Al+++ (molal) balance on H+ suppress all (mineral formation) Is the problem that I am trying to use the database beyond its intended pH or ionic strength range? Should I specify the solution's ionic strength using either the simax or timax command? I have been using the default of 3 molal. The manual states that extrapolation beyond this value is dangerous. Also, does anyone know the specific data source on which the thermo.dat gibbsite and diaspore solubility correlations are based?
  • Create New...