Zhidi Wu Posted April 23 Share Posted April 23 Hello, I encountered a convergence error (see screenshot below) while running a reactive transport model with two boundary fluids in X1t. The model was running fine with Fluid_1 but requires “suppress all” (disable new mineral to form) to be able to run. The convergence error occurred during Fluid_2, where a significant amount of CO2(aq) was added. I also attached the X1t model file and the thermo database for your information. I look forward to hearing your feedback. Thanks, Zhidi Test_1_04232024.x1t AGI_20e_4-11-2024_debug.tdat Quote Link to comment Share on other sites More sharing options...
Jia Wang Posted April 25 Share Posted April 25 Hello Zhidi, Thank you for attaching your script. To troubleshoot, I checked "Follow Output" in the Results pane and "explain on" in the Stepping dialog before running your model to get a better idea what is limiting the size of the time step in the simulation. Doing so, I noticed that the rate limiting constraint right before the model runs into the newton-raphson iteration error is due to the change in Q/K for reactant Illite. To test, I simplified your model by setting Illite to a reaction rate of 0 and was able to run your simulation to completion. I also noticed that the reaction rates for various minerals do vary quite a lot be Could you provide a bit of context regarding your fluids and simulation? I noticed that a lot of component concentrations are the same but with a few differences. Are these fluids you have created or measured? I noticed that you have added all minerals as a kinetic reaction except Halite as a simple mineral. In general, kinetic reactions are useful for reactions that are proceeding slowly but measurable over the time period of interest. I noticed that Quartz is dissolving so slowly that it's not really doing anything. If the mineral barely reacts then perhaps you do not need to consider it in your model. This can help to simplify things in terms of the kinetic reactions running through your system. We don't typically see simple minerals, which are incrementally added to the domain over the course of the simulation in a reactive transport simulation. If a mineral is in equilibrium with the initial fluid in the system, you should consider swapping it in for a component in your Initial pane. In general, it is good to check that the log Ks in the thermo database are suitable for the type of reactions occurring in your system. Hope this helps, Jia Wang Aqueous Solutions LLC 1 Quote Link to comment Share on other sites More sharing options...
Zhidi Wu Posted April 29 Author Share Posted April 29 Hi Jia, To provide you with a context of our fluid system, the chemistry of the initial fluid and injection (boundary) fluid are the same for the first 59 hours of the simulation, then CO2 was added into the injection water for the next 23 hours. You can tell this from the difference between fluid_1 and fluid_2 in the Fluids tab. Does this help with your further troubleshooting? Also, does it mean that the illite becomes non-reactive when you set the reaction rate of illite to zero? We know that the reaction rate of illite cannot be zero in reality. So, it would make sense to me not to set the reaction rate of illite as zero. Thanks, Zhidi Quote Link to comment Share on other sites More sharing options...
Zhidi Wu Posted April 30 Author Share Posted April 30 Hi Jia, An update: we tried to delete quartz and k-feldspar from the reactant system, change halite to kinetic mineral, and even lower the reaction rate of illite by two orders of magnitude, but that still didn’t solve the convergence issue. So far, only excluding illite (by setting the reaction rate to zero) can solve the convergence issue. However, we would like to keep illite in the system, since it's a main component of our sample. Any insight on that? Thanks, Zhidi Quote Link to comment Share on other sites More sharing options...
Jia Wang Posted May 6 Share Posted May 6 Hello Zhidi, Setting the rate constant to zero and using the built-in equation for kinetic reaction does render Illite non-reactive. In a reactive transport model, there are many components that come together and can be quite complex to troubleshoot. Setting kinetic reactions to zero helps to simplify your model to help inform us what can possibly be the issue. With your original setup, I noticed that the Q/K for illite is very close to 1 throughout the simulation until the point that it stops. It looks to me that you don't need to use a kinetic constraint for illite but rather set it in equilibrium with the fluid in your system. I set your fluid to be in equilibrium with illite by swapping it for Al+++ in your Initial pane and removed the kinetic mineral from the Reactants pane. This fixes the component concentration of Al+++ to be in equilibrium to illite. Running the simulation, I see very similar results between the two simulations and there's no issues with running the model to completion. Please see more information about swapping in section 2 Configuring the Programs of the GWB Essentials User Guide. Hope this helps, Jia Quote Link to comment Share on other sites More sharing options...
Zhidi Wu Posted May 7 Author Share Posted May 7 Hi Jia, When you set the initial fluid to be in equilibrium with illite by swapping the illite for Al+++, what's the amount of illite? Did you use the weight of illite originally in the Reactants pane? Thanks, Zhidi Quote Link to comment Share on other sites More sharing options...
Jia Wang Posted May 7 Share Posted May 7 Hello Zhidi, I tested with the mass of illite specified in your Reactants pane. Best regards, Jia Wang 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.