Jump to content
Geochemist's Workbench Support Forum

How to add both fixed atmospheric CO2 and HCO3- in the system .

Recommended Posts

I have to build an X1t model in which rainwater in contact with atmospheric CO2 is coming into the system. But at the same time HCO3- is also our ion of interest so we don't want to swap it for CO2. How can we specify both CO2 and HCO3- in fluids tab?

Also after making CO2 fixed in reactant tab on what value it is fixed, and does specifying the amount of CO2 in fluids tab and then fixing the value in reactants tab, fixes it to the specified value?

It throws multiple charge balance errors when we specify CO2(g) in fluid stream, is there any quick fix to that?

Link to comment
Share on other sites

  • Aditya-Puru changed the title to How to add both fixed atmospheric CO2 and HCO3- in the system .


You can't use two parameters, in this case the CO2(g) fugacity and a bulk dissolve concentration,  to constrain one component. If you want to use the CO2(g) fugacity to set the concentration of your dissolved carbonate component, then you would want to swap it in. I would suggest that you double check whether or not that assumption reflects the equilibrium state of your situation. If you have a measured bulk concentration for the carbon component (like in a lab analysis), then it is completely valid to just use your measured value. You have to decide what describes the condition of your system accurately.

Just to clarify, when you add a concentration like mg/kg for a component, like HCO3-, this reflects the total concentration of the dissolved carbonate component. This includes the mass in HCO3-, CO2(aq), CO3--, NaCO3-. NaHCO3, etc. You can specify the free concentration of a specific species, like CO2(aq) or HCO3-, by setting the unit to 'free'. The program calculates an additional amount dissolved in equilibrium with the species concentration. For more information on free vs. bulk concentrations, please see section

Fixing gas in the Reactants pane will hold the value you supplied in the Initial pane, not in the Fluids pane. The Fluids pane is used to constrain the fluid at the boundary, to enter your system.

In terms of charge balancing errors, they are difficult to narrow down without knowing what your system looks like. It could be that you need to choose a different charge balancing ion. You typically want to choose the ion with the least certainty and the highest concentration. Other reasons can also be whether your choice of constraints accurately reflect your fluid. If you know which fluid composition is giving you errors, I would suggest that you start troubleshooting in React and see if it calculates the equilibrium state successfully. Once that is working, go back to your reactive transport modeling.

Hope this helps,
Jia Wang
Aqueous Solutions LLC

Link to comment
Share on other sites

Thanks for the response,

In that case what could be the best way to introduce CO2 into the system, I want to study the effect of weathering when rainwater forms carbonic acid with CO2 in atmosphere.
Thanks again.


Link to comment
Share on other sites


You're welcome. It sounds like you should set up a boundary fluid that has the CO2(g) fugacity swapped in. In this case, if you want to set the carbonate component in equilibrium with the CO2(g) in the atmosphere, then this is what you should do for the inlet fluid that you are allowing to enter into your system.

In your Initial pane, you should set the composition of the fluid in your domain. You can see an example of weathering in the Reactive Transport Modeling guide in section 3.8 of the Reactive Transport Modeling Guide. Your case isn't going to be exactly the same as this model, you can see that the CO2(g) is swapped into rainwater in the Fluids pane to set the atmospheric CO2 condition. In this example, CO2(g) fugacity is swapped into the basis and set to a higher partial pressure value to represent a fluid in equilibrium with a soil gas. I recommend playing with the example and parameters to see how the results change.

There are a plethora of other examples of reactive transport models, showing various types of reactions can be set up. In general, you set the initial fluid composition in your domain in the Initial pane. The Fluids pane is where you define the composition of your fluid entering your system and the Interval pane is where you assign them to the inlet.

If you want to troubleshoot the chemistry of the fluid composition, I would recommend doing that in React, a single node system application, before trying to put it in a full reactive transport model. Try to always start simple and build up the complexity in your model.

Hope this helps,

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.

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.

  • Create New...