Frank Bok Posted April 17, 2023 Share Posted April 17, 2023 Dear Jia, dear Brian, my knowledge in kinetic modelling is still limited. So maybe this is a trivial question but I cannot solve it on my own: I want to model the (calcite buffered) pyrite oxidation with ferrihydrite precipitation including the dissolution kinetics of ferrihydrite and the following formation of goethite. My colleaques have come up with the function for the kinetic rate constant of the form log10(k) = a·T + b·pH² + c·pH + d with T is the temperature in °C. Can you help me setting up this equation in React?! Attached is my current status of the calculation, the kinetics data inside are only dummy data to make the script executable so far. Many thanks in advance and best regards, Frank Pyrite-oxidation.rea Quote Link to comment Share on other sites More sharing options...
Jia Wang Posted April 17, 2023 Share Posted April 17, 2023 Hello Frank, The program by default asks users to provide a rate constant for kinetic reactions. In cases where a constant value does not fit your model, there are several options to set a custom rate constant. One of these options is to supply React with an equation in the form of a character string to compute the rate constant. Table 5.1 lists the parameters, such as pH and temperature, that you can use to set your rate constant equation. Additionally, Table 5.2 summarizes a list of helper functions that can be called to return a numeric value for certain variables in the system. By default, the program will evaluate your rate constant equation at the start of your simulation and hold the value steady throughout the run. To have the program evaluate the variable throughout the simulation, you can specify transient behavior by checking the "transient box" in the GUI or in the command line with the keyword transient. Other options to define a custom rate constant is to provide a basic script using the built-in script editor, a basic script file, or a rate law function. To access these options (and the equation option) in the GUI, you can go to the kinetic mineral on the Reactant pane and click on "+" button next to rate constant to show a field for variable type. Click on "constant" or the dropdown arrow to see all options. In general, specifying an equation or script for a rate constant is very similar to how you will specify a custom rate law. You can see the format for setting these up in section 5 of the GWB Reaction Modeling User's Guide. For more information regarding transient variables, please see the Heterogeneity Appendix in the RTM Guide and section 1.2 Field variables in the Command Reference. Hope this helps, Jia Wang Aqueous Solutions LLC Quote Link to comment Share on other sites More sharing options...
Frank Bok Posted April 18, 2023 Author Share Posted April 18, 2023 Dear Jia, many thanks for the helpful information. I managed to include the rate law via a .bas file. So I am even more curios on the kinetic woekshop in June! Many thanks and best regards, Frank Quote Link to comment Share on other sites More sharing options...
Jia Wang Posted April 19, 2023 Share Posted April 19, 2023 Hello Frank, You're welcome. I am glad you found the information helpful. With regards to the files you sent, I noticed that you seem to have set up the rate law described in the basic file and not just the equation for the rate constant. Currently, the script files provided are being used to calculate the pre-exponential factor, which is then used in conjunction with the activation energy to calculate the rate constant. The rate constant is then used in the reaction's kinetic rate with the GWB built-in rate law. It seems like some properties, such as surface and Q/K, are being double counted since they appear in the calculation for the rate constant and then again in the built-in rate law. You can split out the rate constant part in your basic file, set that as a transient field variable and use in conjunction with the built-in rate law. Alternatively, if you would like to set the rate to zero when the mineral is supersaturated, as shown in your basic script, you can instead specify a custom rate law directly. To do so, you should move the basic script to where the built-in rate law is set instead of where the rate constant is set. In doing so, you would want to make sure that the rate law is correctly set up. If you would like to use pre-exponential factor and activation energy as part of your rate law, you would have to include them in your script as well. Hope this helps, Jia Quote Link to comment Share on other sites More sharing options...
Frank Bok Posted April 20, 2023 Author Share Posted April 20, 2023 Hello Jia, thanks for explaining me where I am wrong! I am looking forward for the Kinetic workshop. I have reduced my calculation by precalculating the rate constant in Excel and directly adding the rate constant for Fe(OH)3(ppd) in the input file. Even then, at lower temperatures and lower rate constants (K = 2.0875E-8 mol/cm s @ T = 20 °C vs. K = 8.4319E-9 mol/cm s @ T = 10 °C) the reaction is calculated to be faster at lower temperatures. This should not be the case?! Many thanks, Frank Pyrite-oxidation_10C.rea Pyrite-oxidation_20C.rea Quote Link to comment Share on other sites More sharing options...
Jia Wang Posted April 21, 2023 Share Posted April 21, 2023 Hi Frank, Thank you for attaching your input files. To investigate this, I picked one of your input files and kept the rate constant the same then performed two runs at 10C and 25C, respectively. When I did this, I got results similar to the plots that you attached. When I tried keeping the temperature the same and altering the rate constant, I observed a much smaller difference. So along this line of thinking, I think results probably have a lot to do with the change in the equilibrium constants with the shift in temperature more so than the values of the rate constants set. This reminds of the Ostwald example with the silica polymorphs, the steps for the eventual more stable polymorphs dependent on the reactivity (based on the surface area and the kinetic rate constant) and the thermodynamic stability. If I go to the Ostwald's step example (it should be installed with your GWB installation under either of the GBRM folders) and run the example at lower temperature, I also observe a similar shift. Hope this helps, Jia Quote Link to comment Share on other sites More sharing options...
Frank Bok Posted April 24, 2023 Author Share Posted April 24, 2023 Dear Jia, Thank you for explaining this phenomenon, which was unusual to me! Best wishes, Frank Quote Link to comment Share on other sites More sharing options...
Jia Wang Posted April 24, 2023 Share Posted April 24, 2023 Dear Frank, You're welcome. Hope the rest of your project goes smoothly. Best regards, Jia 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.