Jump to content
Geochemist's Workbench Support Forum

Unable to coverge the solution composition in X1t


Recommended Posts

Hello,

I'm trying to model the dissolution of half-burned dolomite in column experiment with "X1t". 

However, I can't get the model to converge the solution composition of "Fluids"  .

I tried same composition in "React" calculation and I found that it worked.

I attached a copy of my input script. Can I get some advice to solve this issue?

Thank you very much in advance.

Keishi

 

Half-burned dolomite column.x1t

Link to comment
Share on other sites

Hello Jia,

 

Thank you very much for your reply.

Herein, I attached the custom thermo and surface dataset as per your comment.

Actually, I have already tested and confirmed that these thermo and surface datasets can work properly in "React" calculation.

I hope this helps you to find some mistakes in my script.

 

Best wishes,

Keishi

Brucite_Dolomite_Pb.sdat thermo.com.V8.R6+.+Pb.tdat

Link to comment
Share on other sites

Hello Jia,

 

It has been a while since the last reply.

How is going to solve this issue?

Since this calculation is crucially important for my research, I do appreciate it if you let me know the current status of this issue.

Is this the problem with my input script or with the algorism in GWB?

I am really sorry for your trouble, but I am waiting for hearing from you.

 

Sincerely,

Keishi 

Link to comment
Share on other sites

Hello Keishi,

I apologize for the delay. We are still investigating further into the issue that you're running into. We think there may be an issue with the volume adjustment and setting the pH directly. For the time being, you can change your pH entry to a total concentration, H+ in molal (0.00446297), then X1t should converge without issues for your initial system. I did a simple "go initial" with your fluid composition in React (with precipitation off) and then looked at the results for H+ total concentration.

Aside from the convergence issue, I would also suggest that you double check your kinetic rate laws to make sure that they are free from typos. I believe aqueous CO2 has the name "CO2(aq)" in your database and not "CO2". There may be other errors like so that you should double check. It is a good idea to verify that your rate laws are producing a reasonable rate in React.

Hope this helps,
Jia

 

Link to comment
Share on other sites

  • 2 weeks later...

Hello Jia,

 

Thank you very much for your reply. I understand that you are still investigating this issue. 

I confirmed that the initial system converged when I input the pH information as an H+ concentration. Thank you again for your kind cooperation.

Regarding the custom rate laws, I also suspect that it causes the calculation error.

Therefore, this was checked by making the other script in React and it was confirmed that the calculation was done without any error.

Please see the attached script, where dolomite dissolution and the formation of the secondary mineral were taken into account.

 

Best regards,

Keishi 

 

Dolomite dissolution.rea

Link to comment
Share on other sites

Hello Keishi,

You're welcome. I am glad to hear that you corrected the typos in your rate laws. The React input file ran to completion for me, but I am not sure what I am looking for here. It seems like you are using some reaction rate constants and rate laws highly dependent on various species activities. Are the rates behaving as you expect them?

In general, I observe that the dissolution rates of your reactions drop really quickly after the start of your run. In particular, the reaction rate for Periclase is especially large at the start and drops close to zero immediately after the simulation begins. Typically, minerals that react very quickly within your system is represented with the equilibrium approach (swapped in equilibrium with your system in your basis). Reactions that proceed slowly but measurable can take advantage of the kinetic approach.

I also noticed that your reactive transport model has slightly different fluid chemistry. Did your kinetic reactions work when your tried with that fluid? If you are still having issues configuring your models, could you provide some additional context for your modeling?

Best,
Jia

Link to comment
Share on other sites

Hello Jia,

Thank you very much for your suggestion. We did the lab-scale experiment, and the rate laws greatly represent the experimental data. So I believed that the rate laws used in the React script have no problems. (We also think that the dissolution of Periclase and Dolomite should be treated as an equilibrium reaction, but the kinetic calculation showed better fitting).

On the other hand, I also confirmed that the dissolution rates of Periclase and Dolomite dropped quickly just after the calculation was initiated. Then I tried to replace the rate laws of Periclase and Dolomite with equilibrium reactions (Please see the attached React script "dolomite dissolution_2"). When I did this, the calculation did not converge again. I made some small modifications to fluid chemistry such as units, but this problem cannot be solved.

I also tried another calculation where a different database was used (thermo_minteq.tdat) to see the effect of the database, but it still did not work well. I attach its script herein as well (Please see "dolomite dissolution_minteq).

I am really sorry for your trouble but could you check if there is any problem with my scripts again? (actually, I start thinking that I need to give up this series of calculations if no radical error is found this time...)

Best wishes,

Keishi

Dolomite dissolution_2.rea Dolomite dissolution_minteq.rea

Link to comment
Share on other sites

  • 4 weeks later...

Hello,

I think I am still not quite clear on the conceptual model here and maybe need to take a step back. It sounds like the goal is to represent a system where you have fluid reacting with a mineral assemblage containing calcite, dolomite, Pb(OH)2, and periclase.

Swapping minerals into the basis allows users to set the fluid in equilibrium, which was suggested because of how fast the kinetic rates were for some minerals in comparison to others. However, that assumption might not be correct for all the minerals swapped in. If I perform a "go initial" run on your last React files, the program fails to solve the equilibrium state as constrained by the input.

While it is not typical to represent minerals as simple reactants in a reactive transport model, you can do so in React to see if the results vary greatly between using simple reactants vs a kinetic constraint. This approach works well for reactions that occur very quickly and may not need a kinetic constraint (e.g. periclase). The mass of simple reactants is set by the user in the Reactants pane and added incrementally over the course of the reaction path.

Additionally, you might also consider if certain minerals can be suppressed if they are not expected to precipitate. The program will still report the mineral saturation with regards to the suppressed mineral but will not consider it in the system for precipitation or dissolution. Typically, this feature is used to prevent more stable minerals that modelers do not expect to form in the simulation and allow less stable minerals to appear. 

I would also like to let you know that we have created a release candidate that fixed the issue with volume adjustment and setting the pH. I have attached it for you below and hope that it helps with your troubleshooting. The fix will be added to the next release.

GWB17.0.2rc1_setup.exe

Best regards,
Jia

 

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...