Jump to content
Geochemist's Workbench Support Forum

React in GWB 8.0: Kinetics crashing the simulation?


Recommended Posts

Hi Brian and all,

 

I am trying to do this particular simulation to study kinetic water-rock interactions in presence of CO2. Please find my .rea file attached. I used GWB 8.0.

 

In my simulation I first define my initial equilibrium by swapping the rock minerals into the basis. Then I react 50 kg of CO2(g) over 50 years. After 50 yrs the CO2 feed is stopped and reactions are traced till 1000 yrs. I suppress all the minerals except primary minerals and those secondary minerals that I except to form along the reaction path. My simulation completes when I define all the minerals at equilibrium. However, it does not even start when I define kinetics for them. I am not able to figure out why so.

 

Notice that I wanted some minerals that were not in the GWB database. I made a new database by adding 5 minerals to the original database. Please find attached my database here.

 

Please suggest if you think there is a better way to frame this problem.

 

Thanks and looking forward to your suggestions.

 

Vivek Patil

thermo_vvp.dat

trial.rea

Link to comment
Share on other sites

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

Link to comment
Share on other sites

Hi Brian,

 

Thanks for a very prompt and helpful reply. I will try as you suggested by putting one kinetic rate law at a time with carbonates going in the last. I have considered a flow through system, however I wanted to do a stagnant system as a preceding step to it. Indeed a flow system might be more realistic. As for O2(aq), I was expecting small amount of Hematite and the model didn't allow me to precipitate Hematite without O2 in the basis.

 

One more issue that I sometimes face in GWB (not in this particular simulation): When I try to pick up the entire system (after a reaction path), the software changes the minerals in the system on its own. For example, in one of my models I tried to react CO2(g) in a stagnant system for 50 yrs. Then I picked the entire system and tried to react a brine using the flush model to mimic a flow-through system. But my original primary minerals were swapped out of the basis and new minerals were replaced. Do you know a way to get around this?

 

Many thanks for great suggestions.

 

Regards,

Vivek

 

 

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

  • 4 weeks later...

Hi Brian,

 

Thanks for your replies. I tried and made changes to my models according to your suggestions. Also my group purchased two new licenses for GWB 9.0 so I am now working on it.

 

I realise that GWB 9 can handle more kinetic laws than 8. Some of my models having a lot of kinetic reactions run on 9 while crash on 8. Am I right? Can you tell me the maximum number of kinetic rate laws that gwb 9 can handle for a system similar to one in my previous posts?

 

Also I want to specify different rate constants for precipitation and dissolution of a single mineral. Do I need to put two entries for the same mineral? Or will I need a custom script for that?

 

Thanks for your help!

 

Vivek

 

 

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

Link to comment
Share on other sites

Hi Vivek,

 

Besides the new kinetic reaction types available in GWB 9 (formation/ dissociation of aqueous and surface complexes, gas transfer), a number of improvements were made to the manner in which time steps are taken when kinetics are involved. As you mentioned, this helps with the solution of many difficult problems. In general, however, there is no way to say how many kinetic reactions are allowed in any given example.

 

Keep in mind, adding complexity to a model will require a greater computing effort and could introduce difficulties in the numerical solution. You'll need to start with a simple model that makes sense, and then gradually refine it if necessary to accomplish your modeling goals. You shouldn't set kinetic rate laws for reactions of widely differing rates. Reactions that will proceed quickly over the time span of the calculation should assume equilibrium. Those which will proceed negligibly over the calculation should be suppressed. Only for the reactions which fit into neither category should you use kinetics - those which will proceed slowly but measurably over the time span of interest.

 

If you want to set different rate parameters for a mineral's precipitation and dissolution reactions, you can't just add a second entry using the standard ("Built-in") rate law. You'll need to use a custom rate law in this case: either an equation, a script, or a function that you write and compile. Take a look at the Custom Rate Laws section in the GWB Reaction Modeling Guide. In section 5.2 you'll find a simple rate law script that is similar to the problem you describe.

 

Regards,

Brian

Link to comment
Share on other sites

Thanks a lot Brian!

 

I greatly appreciate your help!

 

Best,

Vivek

 

Hi Vivek,

 

Besides the new kinetic reaction types available in GWB 9 (formation/ dissociation of aqueous and surface complexes, gas transfer), a number of improvements were made to the manner in which time steps are taken when kinetics are involved. As you mentioned, this helps with the solution of many difficult problems. In general, however, there is no way to say how many kinetic reactions are allowed in any given example.

 

Keep in mind, adding complexity to a model will require a greater computing effort and could introduce difficulties in the numerical solution. You'll need to start with a simple model that makes sense, and then gradually refine it if necessary to accomplish your modeling goals. You shouldn't set kinetic rate laws for reactions of widely differing rates. Reactions that will proceed quickly over the time span of the calculation should assume equilibrium. Those which will proceed negligibly over the calculation should be suppressed. Only for the reactions which fit into neither category should you use kinetics - those which will proceed slowly but measurably over the time span of interest.

 

If you want to set different rate parameters for a mineral's precipitation and dissolution reactions, you can't just add a second entry using the standard ("Built-in") rate law. You'll need to use a custom rate law in this case: either an equation, a script, or a function that you write and compile. Take a look at the Custom Rate Laws section in the GWB Reaction Modeling Guide. In section 5.2 you'll find a simple rate law script that is similar to the problem you describe.

 

Regards,

Brian

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...