Ian Hutcheon Posted February 12, 2013 Posted February 12, 2013 Hi Tom I have a REACT file that runs at equilibrium. The problem is to honour W-R ratios and add CO2 to a mineral system until CO2 saturation is reached. When I add rates for K-spar, albite, kaolinite and dawsonite (Palandri and Kharaka for silicates, Hellevang for dawsonite), the file can't converge. I suspect this is because the rate for dawsonite is much faster (10-7) and the step size gets too small (run is very slow). I'm unsure how to fix this. I will send files under a separate email. Thanks Ian
Brian Farrell Posted February 13, 2013 Posted February 13, 2013 Hi Ian, You are correct - the much faster rate for Dawsonite precipitation forces React to take very small timesteps. In taking a look at your original script, I see that Q/K for Dawsonite quickly reaches 1. Shortly afterward (around 200 years into the simulation), the program crashes. Since Dawsonite precipitates so much faster than the silicate minerals, you should allow Dawsonite to precipitate as an equilibrium mineral. In doing so, I get results that look exactly the same. If you were only running this model for a few days, on the other hand, you might use a kinetic rate law for Dawsonite, but suppress the silicate minerals. In general, it's a good idea to divide chemical reactions into three groups: 1) Reactions that proceed quickly over the time span of the calculation, use an equilibrium model. 2) Reactions that proceed negligibly over the time span of the calculation, suppress the reaction. 3) Reactions that proceed slowly, but measurably, use a kinetic rate law. For more information, please see Chapter 16 of the Geochemical and Biogeochemical Reaction Modeling text. Hope this helps, Brian Farrell Aqueous Solutions LLC
Ian Hutcheon Posted February 14, 2013 Author Posted February 14, 2013 Hi Ian, You are correct - the much faster rate for Dawsonite precipitation forces React to take very small timesteps. In taking a look at your original script, I see that Q/K for Dawsonite quickly reaches 1. Shortly afterward (around 200 years into the simulation), the program crashes. Since Dawsonite precipitates so much faster than the silicate minerals, you should allow Dawsonite to precipitate as an equilibrium mineral. In doing so, I get results that look exactly the same. If you were only running this model for a few days, on the other hand, you might use a kinetic rate law for Dawsonite, but suppress the silicate minerals. In general, it's a good idea to divide chemical reactions into three groups: 1) Reactions that proceed quickly over the time span of the calculation, use an equilibrium model. 2) Reactions that proceed negligibly over the time span of the calculation, suppress the reaction. 3) Reactions that proceed slowly, but measurably, use a kinetic rate law. For more information, please see Chapter 16 of the Geochemical and Biogeochemical Reaction Modeling text. Hope this helps, Brian Farrell Aqueous Solutions LLC
Ian Hutcheon Posted February 14, 2013 Author Posted February 14, 2013 Thanks Brian I was hoping to get dawsonite and the silicates in the same run, but I can see that the big difference in reaction rates makes this difficult. I had read the chapters you refer to and was resigned to treating Dawsonite as an equilibrium mineral. To summarize the problem I'm trying to simulate (in case anyone else is trying the same thing): 1. Minerals, porosity W/R ratio are to be defined in a simulation that injects CO2 into water of known composition until CO2 saturation is reached in the water (this is a relatively saline water). The equilibrium model works well and requires trial and error to get the amount of CO2 addition allows CO2 to be consumed in mineral reactions and ends at CO2 saturation for a particular water composition (MCO2 from Duan et al). 2. I want to do this same calculation, but in a kinetic simulation - time span 1000 years.The Q/K vs time plot that I sent to you shows dawsonite is in equilibrium at 75 years. My plan now is to run the simulation for 75 years, pickup the results and start a new run that has the silicates as kinetic minerals. Then, set dawsonite as an equilibrium mineral and leave the silicates as kinetic minerals. Do you think this the best way to manage this, or could I simply leave Dawsonite as an equilibrium mineral from the start? I'm running both cases as we "speak". This process is a bit of work as there are eight rock units, each with distinct mineralogy and porosity, and widely varying water compositions (and therefore CO2 solubility). At a minimum, the result is about 24 simulations. Is there a way of setting the amount of CO2 dissolved in the brine (MCO2) as the termination of the run? This would speed things up. Thanks for your rapid reply to my first query. Regards, Ian
Brian Farrell Posted February 14, 2013 Posted February 14, 2013 Hi Ian, I think Dawsonite precipitates so quickly that it is effectively at equilibrium, so I would probably do it all in one reaction path. You could break it up into distinct stages and pick up your results, but this would be more work. Since you're running it both ways, you should be able to check how good of an assumption that is. Do you mean something similar to setting a target pH in a sliding pH path (or activity, fugacity, etc.)? I don't believe there is any way to make the run stop when a certain molality is reached. Just figuring out how much to titrate it by trial and error. Regards, Brian
Ian Hutcheon Posted February 15, 2013 Author Posted February 15, 2013 Hi Ian, I think Dawsonite precipitates so quickly that it is effectively at equilibrium, so I would probably do it all in one reaction path. You could break it up into distinct stages and pick up your results, but this would be more work. Since you're running it both ways, you should be able to check how good of an assumption that is. Do you mean something similar to setting a target pH in a sliding pH path (or activity, fugacity, etc.)? I don't believe there is any way to make the run stop when a certain molality is reached. Just figuring out how much to titrate it by trial and error. Regards, Brian
Ian Hutcheon Posted February 15, 2013 Author Posted February 15, 2013 Thanks Brian I guess it is run time... Ian
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now