Jump to content
Geochemist's Workbench Support Forum

Leaderboard

Popular Content

Showing content with the highest reputation since 05/02/2023 in all areas

  1. 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 point
  2. Hello Zhidi, Thanks for attaching your input file and your thermodynamic dataset. If I render the results in Gtplot and plot Mineral saturation vs. Time from your simulation, I find that Calcite is initially undersaturated with respect to your fluid but very quickly becomes oversaturated, with a Q/K value hovering right above 1. If I plot the amount of calcite (in Gtplot Variable type -> Mineral) available, it shows that there's an initial dip which indicates that calcite dissolved initially and then slowly increases, which means the mineral is precipitating. In this case, Ca is only added to the fluid from calcite in the first instances of the simulation and later removes Ca due to precipitation. Also, note that Dolomite and Anhydrite are both Ca containing minerals. These two minerals remain undersaturated with respect to the fluid and as they dissolve, they release Ca into the solution. In a multi-component system like this, the overall component concentration reflects the total effect of all reactions. The default built-in rate law for kinetic mineral reactions is r = A_s * k * (1-Q/K), where A_s is the surface area, k is the rate constant, Q is the ion activity product, and K is the equilibrium constant. In the GWB, a positive r means dissolution and negative r represents precipitation. When you are adjust the specific surface area or intrinsic rate constant in your rate law, the rate is linearly affected. The term Q/K determines whether the reaction is saturated, undersaturated, or in equilibrium. If your mineral is undersaturated, (Q/K is less than 1), then r is positive and the mineral dissolves. For more information on kinetic reactions, please see section 4 in the GWB Reaction Modeling User Guide. I think it would help you understand how the software handles kinetic reaction. If you make an example with just 1 kinetic mineral and look at how the results change with your simulation, without the effects from other minerals. The question of how to get your concentrations of your simulation to match that of your simulation is rather difficult to say without knowing anything about your system. You want to check that the kinetic constraints you are putting in are reflecting on what is actually occurring in your simulation. Maybe some requires a different rate law for constraining its kinetic reaction. Or maybe some minerals that are dissolved very fast can just be added as simple minerals. I am not really sure what is the most appropriate for your system. Best regards, Jia
    1 point
  3. Hello Rose, I am glad the information regarding the commands helped. Thank you for the additional information on the error. I was able to reproduce this error when I copied the Multiple Analysis script from the pdf to the Command pane of SpecE8. I have reported this to our technical team. With copying and pasting from pdfs, there may be unseen characters that are not recognized in the software. The same input script is provided in the file "Script.sp8" within the Spreadsheet folder. Double-clicking on "Script.sp8" automatically ran and closed the file for me with no issues. You can open any input file from the GWB in a text editor to edit or add commands. Saving with the corresponding extension to the GWB application will automatically run all the commands in the script when opened. For example, saving a file with the extension of ".sp8" will open SpecE8. The extension ".rea" will open the input file in React. Hope this helps, Jia
    1 point
  4. Hello Kush, You can change the output interval of the plot file by adjusting the dxplot parameter in Config -> Output dialog. For more information on dxplot, please see the GWB Command Reference. Best, Jia
    1 point
  5. Hello, It's difficult to say what might be the exact problem here, but here are some information on GSS that might help. The basis species analyte available in GSS contains all primary basis species and redox species in the thermodynamic dataset loaded. If you select a primary basis species for that element and provide the constraints for the oxidation state, such as O2(aq), Eh, or pe, then the program will figure distribution of mass from the total concentration you specified between valence states. Since your units are in elemental concentrations, then selecting the "as element" unit is right. For example, Mn++ is a basis species in thermo.tdat, the default thermo dataset. Adding this analyte to your spreadsheet and providing the constraints for oxidation will automatically prompt the speciation calculation to account for the distribution of mass to other oxidation states, MnO4- and MnO4--. If you select a redox species to be added to the spreadsheet, the redox coupling reaction is disabled. If you know the oxidation state of your element from an analytical measurement, then you can pick that redox species for the spreadsheet and disable the redox couple. You can open and view the thermo dataset loaded into your GSS spreadsheet by going to the File menu -> View -> and select the file that ends with the extension .tdat. Please see section 2.4 Redox couples in the GWB Essentials Guide to see how redox couples are specified in the thermodynamic dataset. I would also suggest looking at section 7.3 Redox disequilibrium for a detailed example on decoupling redox couples. Section 7.2 gives an example for how the software calculates the equilibrium state of a fluid. This is a good starting point for you to learning the software. If you would like further help with troubleshooting, please attach your input file and any custom thermodynamic dataset so we can take a closer look. Hope this helps, Jia Wang Aqueous Solutions LLC
    1 point
  6. Hello Reza, A few suggestions to help you start troubleshooting: Kinetic models are best for modeling reactions that are slow but observable in the time span of your simulation. In X1t, you can perform a "Go initial" run to calculate the initial equilibrium state before any time steps take place. If you do so and plot the Dissolution rates under Reactant Properties for all minerals, you will see that Wollastonite has a very high initial dissolution rate compared to other minerals. Having a much faster rate is going to force the program to take smaller time steps for one but also may make it much more difficult to converge. If you have reactions that are occurring really fast, you might consider just constraining it as an equilibrium reaction instead of using kinetics. Once I removed Wollastonite, X1t failed later in the simulation. I tried decreasing the step size, delxi, in the Stepping dialog to 0.001. Since there are only three nodes in your model, a smaller time step in general seems to have helped. If you want to use the nucleus density for precipitation calculations where there is no mass for kinetic minerals present initially, you would want to include the nucleus density in your rate law scripts. If you don't, the nucleus density won't be considered for calculating a surface area for nucleation. Since you are using a script, you can add a simple IF statement that looks something like: IF surface < nucleus * soln_volume THEN 20 ELSE 40 20: rate = -nucleus * [rest of your equation here] GOTO 60 40: rate = -surface*[rest of your equation here] 60: RETURN rate In general, I would suggest you start by simplifying your simulation. You might want to remove the minerals and start with one reaction interval to see how far you get. You should also double check the values in the rate law to make sure they are correct. Hope this helps, Jia Wang Aqueous Solutions LLC
    1 point
  7. Hey Karen, I was attempting to input the above script into my model, and I stumbled across a "node by node" function in the mineral "mass" box. If you select "node by node", where you select "volume%" as your units, you can change the volume percent of the mineral in each node of your model. Maybe this was part of a recent update. Cheers,
    1 point
  8. Hi, Act2 only displays samples whose temperature is close to that of the diagram you've calculated (+/- 10 C). The samples at 76 C plot because the diagram is drawn at 76 C, but the samples that are 30-40 C will not plot. Regards, Brian Farrell Aqueous Solutions LLC
    1 point
×
×
  • Create New...