Jump to content
Geochemist's Workbench Support Forum

ats5482

Members
  • Posts

    19
  • Joined

  • Last visited

Recent Profile Visitors

121 profile views

ats5482's Achievements

Apprentice

Apprentice (3/14)

  • Dedicated Rare
  • Collaborator Rare
  • One Month Later Rare
  • Week One Done Rare
  • First Post Rare

Recent Badges

0

Reputation

  1. Hi, It's my understand that (in addition to the thermo data), you need two constraints (e.g., pCO2, CO2(aq), HCO3-, CO3--, pH, Alk) to solve the carbonate system. If I give React CO2(aq) and HCO3-, it works as expected. But I want to constrain the carbonate system with CO2(aq) and Alk (~ carbonate alkalinity). However, I get the error, "pH must be set to use alkalinity as a constraint" when I run the below model. Why do I need to set pH for this to work? Thanks! -- Adam 1 kg free H2O T = 25 C Na+ = 100e-3 mol/L Cl- = 100e-3 mol/L Mg++ = 1e-12 mol/L Ca++ = 1e-12 mol/L K+ = 1e-12 mol/L Fe++ = 1e-12 mol/L SO4-- = 1e-12 mol/L SiO2(aq) = 1e-12 mol/L Al+++ = 1e-12 mol/L HPO4-- = 1e-12 mol/L F- = 0.07 mmol/L fix F- swap CO2(aq) for H+ CO2(aq) = 1e-4 mol/L fix activity CO2(aq) HCO3- = 10 mg/l_as_CaCO3 react 60 g An10 react 25 g En50 react 15 g Fo unsuppress all suppress Dawsonite
  2. Hi Jia, That clears everything up, thanks! I'll go back and verify how PyGCC is generating the CO2 activity coefficients. Best, Adam
  3. Hi Jia, I think I figured out the ion size part. In TEdit, I was looking at CO2(g), which doesn't have an a0 parameter. However, CO2(aq) does. This is the a0 that I should change, correct? Thanks for checking out the paper; I didn't realize the Pitzer model is different. When I made this database, I verified that I did it correctly with one of the authors of PyGCC. He recommended I use the Duan Sun method (because I'm doing high-P models), and to set a0 to -0.5. Given that Duan & Sun (2003) use the Pitzer model, I'm now not sure where the CO2 activity coefficient terms in the database I made come from. I will ask him for clarification. Thanks, Adam
  4. Hi, How do I tell React to use a different CO2(g) activity model? I created a high-pressure (1 kbar) SUPCRTBL database (attached) using a Python package called PyGCC. It uses the Duan & Sun (2003) CO2 activity method. According to Section 3.4.2 of the Reference manual, I need to set the relevant ion size, a0, values to -0.5. CO2(g) is of course not an ion, so I'm not sure what I'm supposed to change. HCO3- and CO3--? Thanks! -- Adam 1kbar_db_test_2.tdat
  5. Hi Jia, Thank you for such a detailed explanation. I ran those two simple dissolution experiments, which were helpful. I read Ch. 2 of Craig's book a while ago, but perhaps I should re-read it now that I have more experience with the software. One last question regarding the first comment in this post: How low of a water-to-An ratio were you able to get to work? I ran the attached script (which allows precipitation) and I can't get it to go below w/r ~ 0.14 (i.e., 1 kg H2O, 7 kg An). Ideally I'd like to be able to go down to 0.1 because there are hydrothermal alteration papers that report and model w/r that low. Edit: I should note that the convergence error I get is: -- Can't converge, abandoning path. -- Xi step is too small I tried increasing delXi to no avail. Best, Adam An_diss.txt
  6. Hi Jia, I did intend to suppress all secondary minerals just because I'm doing sensitivity tests and adding complexity as I learn how each parameter affects the system. It makes sense now why this would create an unstable system at low w-r ratios, so thank you for your explanation. Re my other post: My confusion is more so whether React requires that all of the primary mineral be consumed to work. So if 100 g of Anorthite is "reacted", does that mean it is necessarily gone, or simply that all of it has been titrated into the system? In reality, if you have a tub of salty water and place some relatively large mass of An into it, only a finite amount of An can dissolve before it is saturated. Or would it be more correct to say that, given enough time, it would indeed all react and turn into whatever secondary minerals are stable and this is the equilibrium that React is reporting? Apologies if this isn't a well-posed question. I just want to make sure I'm interpreting the results correctly. Thanks again! -- Adam
  7. Hi, I'm using React to run dissolution experiments of minerals under Archean seawater conditions. In Gtplot, I noticed that for all of my model runs, plotting "mass reacted" (of the primary mineral) vs Rxn Progress shows a straight line that ends when the y-coordinate reaches the input mass. For example, if I run react 100 g Anorthite and plot "Mass reacted, Anorthite (g)" vs Rxn progress, the line goes from 0 to 100 g (see attached plot). Does this mean all 100 g have been dissolved and are now in solution with no primary mineral remaining? Or can React model a dynamic equilibrium where, for example, you have seawater sitting on top of a crust (made of feldspar, olivine, etc) and the crust dissolves until it reaches saturation?
  8. Hi Christine, I know this is an old thread, but I just wanted to say that I was having a similar issue and this worked for me. I'm using native 64-bit Windows 10 with Anaconda on Python 3.10.6. The difference for me is that the "add_dll_directory" step is still necessary if I try to run it from a terminal. My guess is this isn't an issue with you using a VM version of Windows 7, rather the plugin needs to be updated to work on newer versions of Python. In the meantime, I think they should updated the webpage to point to this forum post, because it took me a bit to find a fix. Thank you for posting your solution! Best, Adam
  9. Hi, I'm trying to model anorthite dissolution in Archean-like seawater under a wide range of w/r (kg:kg) conditions. I would like to run models for w/r = 0.001 - 10,000 (expecting to see a dilution curve at high w/r). However, I can't get the model to converge below w/r ~ 0.33 (i.e., An = 0.033 kg, H2O = 0.1 kg). I attached a copy of my input script. Can I get some advice on what I'm doing incorrectly? Thanks in advance! -- Adam input_script_An_archean_var_wr_allsupp.txt
  10. Hi Jia, Re your second message: Yes, I was confused by the option in output settings that lets you print "basis composition" in addition to "original basis composition" (the one turned on by default). I wasn't sure which of those two tables I should use if I want to re-create a "components in fluid" plot in Python. Based on your explanation, I will use the original basis composition table. Also, yes, I think the discrepancy in what I calculated by hand vs what Gtplot showed me was due to the different significant figures between the XML and React_output files. Thank you for your help! -- Adam
  11. Hi, I'm writing a Python script to parse React_output.txt files to speed up the process of plotting the results of multiple experiments at once on the same figure. To start, I'm trying to recreate a figure you can already make in Gtplot: components in fluid (mol/L) vs Rxn progress. To calculate the concentration of the components in the fluid, does Gtplot use the "Basis components" or "Original basis" table from the React output file? The reported moles differ slightly and I'm not sure why. Also, to go from mol to mol/L, is it dividing by the bulk volume in the corresponding Step #? Thanks! -- Adam
  12. Hi Jia, I just had a meeting with two of the authors, but unfortunately, we weren't able to figure it out. However, they pointed out some mistakes that got me a bit closer. They agreed I should get rid of the "swap Quartz for SiO2(aq)" line (but keep quartz as a reactant), and they also said I shouldn't unsuppress quartz because it precipitates too slowly for this type of system. The w/r mass ratio and starting amount of quartz affect the equilibrium concentration of bicarbonate substantially, and we're pretty confident the rest of the setup is correct, so it's probably something to do with that. Since this was just an exercise to learn how to set up dissolution reactions, I'm going to shelve this for now. Thanks again for your help! -- Adam
  13. Hi Jia, Thank you for the detailed reply. I've read the GWB textbook and documentation, but I'm still having trouble understanding basis swapping. I'm trying to dissolve quartz in a system that already contains a small amount of SiO2(aq). Should I swap Qtz for SiO2(aq) after I define its concentration? Why does defining the concentration afterwards undo the swap? The authors provided me some Excel data that they used for the paper, but they don't have access to the React files, and are also unsure why my results are different. Here's what I know for sure from the paper and the data they sent: 1) 100% albite vs An20Al80 makes little difference, based on their sensitivity test in Fig 3C. I did, however, try the database that they used which includes halloysite, and it was effectively the same in terms of HCO3- concentration. 2) They used 10 g of plag feldspar and 30 g of quartz as the the two minerals that dissolved (that's why I titrated quartz), and a water/rock ratio of 100. 3) Their P-T conditions are: 5, 15, and 25 C, and 200 - 10,000 ppm CO2(g). The fugacity of CO2(g) was fixed. 4) The composition of the initial fluid is dilute rainwater. Thanks, Adam
  14. Hi, I'm trying to reproduce Fig. 3 from Ibarra et al. (2019; attached). However, I'm getting a component bicarbonate concentration that is too high. In the text, they describe how they model the weathering of soil containing the primary mineral Plagioclase Feldspar (An20Al80), which forms secondary minerals such as Halloysite and Kaolinite. The system is in equilibrium with atmospheric CO2 at a fixed fugacity and the initial fluid composition is dilute rainwater. For simplicity, I am using 100% Albite as the primary mineral, and Kaolinite as the secondary mineral with GWB's default thermo database (i.e., I am trying to approximate the orange line from panel B). My React script is as follows: 4 kg free H2O T = 25 swap Quartz for SiO2(aq) swap CO2(g) for HCO3- P CO2(g) = 0.0002 bar fix fugacity CO2(g) # rainwater SiO2(aq) = 9e-7 molal Al+++ = 2e-7 molal Ca++ = 9e-5 molal K+ = 1.6e-5 molal Mg++ = 6.8e-5 molal Na+ = 4.2e-4 molal Cl- = 1e-7 molal NO3- = 5.1e-7 molal SO4-- = 4.6e-4 molal balance H+ react 10 g Albite react 30 g Quartz suppress all unsuppress Kaolinite unsuppress Quartz This script gives an HCO3- concentration of ~8,000 umol/L (attached), but it should be ~1,200 umol/L (for pCO2 of 200 ppm and T of 25 C). How can I decrease the concentration of bicarbonate? I am also confused about why Quartz and Kaolinite seemingly become saturated instantaneously (attached). Note: the amount of water, Qtz, and Al are to give a water/rock ratio of 100 Thanks! -- Adam
×
×
  • Create New...