dirk Posted January 16, 2023 Share Posted January 16, 2023 I have some column experiments where, based on the evolving water chemistry, some minerals are precipitating essentially at equilibrium (as calcite dissolves). Later in the experiment those same minerals dissolve but not at equilibrium, rather at a rate that I hope to match with a 1D flow through model. Is it possible to set precipitation at equilibrium and assign a rate for dissolution? Quote Link to comment Share on other sites More sharing options...
Jia Wang Posted January 19, 2023 Share Posted January 19, 2023 Hello Dirk, There's not really a way to force the program to enforce kinetics only for dissolution. It sounds like there are really two parts you are trying to simulate. The first part being dissolution of precipitation based on simple thermodynamic equilibrium and then in a second part you incorporate kinetics. If you are using React, then you can use the pickup command and use the end result of the equilibrium calculation as your starting point. You can then add kinetic rate laws for the second simulation. If you are doing this in X1t, it is a bit more complicated. You can run the first equilibrium simulation and build a second X1t model in which you can specify the minerals that you wish to constrain kinetically under the "Reactants" tab. You can set up kinetic minerals to vary node-by-node so that the quantity set matches the end result of your first simulation. To get to this setting for a kinetic mineral, you would select the "+" button next to the field for the amount of mineral and then select node-by-node. For more information on this please see the Appendix chapter on Heterogeneity in the Reactive Transport Modeling Guide. Hope this helps, Jia Wang Aqueous Solutions LLC Quote Link to comment Share on other sites More sharing options...
Jia Wang Posted January 21, 2023 Share Posted January 21, 2023 Hi Dirk, I just want to follow up with another strategy that may be easier to implement, depending on how complicated your model may be. If the dissolution rate of your minerals can be described with a kinetic rate law, you can try using a custom rate law script to include an "If" statement for dissolution when the mineral is undersaturated. For when the mineral is supersaturated, the rate equation should be set up so that precipitation occurs at a rate fast enough to maintain equilibrium with the fluid but not so fast that it forces the program to take really small time-step. For example, the precipitation rate constant could be gradually increased relative to the dissolution condition. You can play around with the rate you set and check the saturation indices to see how close your fluid is in equilibrium with the fluid. For more information on custom rate law script, please see section 5.2 in the GWB Reaction Modeling Guide. Best regards, Jia Quote Link to comment Share on other sites More sharing options...
dirk Posted January 21, 2023 Author Share Posted January 21, 2023 Hi Jia, thanks for the advice! I am using custom rate law scripts with transition state theory dissolution and nucleation and crystal growth terms for precipitation that I can easily change by throwing a scalar in. It seems to work in most cases but i do run into some convergence problems but I have not yet put the scalar in so that might get me through. The models are in X1t as cation exchange is important and we are trying to simulate what is happening in the columns so that we can upscale to field sites. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.