Jump to content
Geochemist's Workbench Support Forum
Coralie

X1t; how to set up Initial Fluids and Reactants

Recommended Posts

Hi,

I am trying to model the flow of a brine into a basalt using x1t.

I have read the documentations in React and x1t but must be doing something wrong.

I thought I had to enter all the elements in Initial as well as Fluids tab.

In the Initial, I added the fluid composition and the mineralogy of the basalt the fluid will flow through.

In the fluid pane I copied the initial pane, but unswap the mineralogy and reduced their concentration as I only want the fluid composition here.

In the reactants pane I added the composition of the basalt as oxide (wt%).

Well not surprisingly, it doesn't converge. When I look at the command pane, I have many "???' for values I added for the minerals, and also for the fluid composition. Why is that?

Do I need to equilibrate the fluid and the rock in the initial pane first in react then import the results?

Any help with setting this up would be much appreciated.

Attached is the file.

Kind regards

Coralie

Tholeiitic-basalt-simple-brine.x1t

Share this post


Link to post
Share on other sites

Hi Coralie,

Do the minerals swapped into the Initial system represent the complete mineralogy of the basalt? Are they all in equilibrium with the initial porewater? Usually you include minerals in equilibrium with the porewater in the Initial pane. Minerals that are present but not in equilibrium can be set with kinetic rate laws on the Reactants pane. Then the infiltrating boundary fluids can react with those equilibrium and kinetic minerals. Adding the oxide components of the rock as simple reactants, as you've done, is much less common. And if you're just duplicating the composition of rocks in the Initial pane, you probably don't need to do it.

I'm not sure what you mean with the ??? for minerals. I don't see that in your script anywhere. 

If you'd like to work on this script a little more and have someone take another look, please attach your custom thermo dataset as well.

Regards,

Brian Farrell
Aqueous Solutions LLC

  • Like 1

Share this post


Link to post
Share on other sites

Hi Brian,

Thank you for this. It helps.

I have now removed the reactants and tried several runs modifying the Initial (volume % of mineralogies relative to fluid, thus porosity, fluid composition, charge balance), but none of them are converging.

The residual is, if I understand properly, too high for Na+. I tried the charge balance on Na and K instead of Cl. But I'm having the same issue.

I manage to do the model with react though. So I am not sure what I am not doing right in x1t.

I attached both the x1t and react scripts.

I have changed the thermodynamic dataset so that it won't be an issue for you to open.

In the initial pane, I entered a simple fluid composition and host-rock composition (basalt). Do I need to run react first to get those two at equilibrium and use the results in the initial pane of x1t?  Just like I would have to do it for a flush model in react, using the "pick up" command? For the sake of simplicity here, I am assuming the mineralogy is in equilibrium with the fluid, and I am not using kinetic reactants.

Any help would be much appreciated

Regards

Coralie

Tholeiitic-basalt-simple-brine-2.x1t

Simple-fluid-tholeiitic-basalt.rea

Share this post


Link to post
Share on other sites

Hi Coralie,

Thanks for changing the thermo dataset. I think part of the problem is that one or more of the minerals swapped into the basis of the Initial pane are not in equilibrium with the fluid. I think a good strategy would be to focus on setting up the starting point for your model, using SpecE8 or React, then moving onto a transport once that’s working. The Initial pane (or Basis pane in SpecE8 and React) is where you specify your initial equilibrium system. If a mineral is present in the field but not in equilibrium with the fluid, it shouldn’t be swapped into the basis. It could be left out, to start, or it could be set as a reactant on the Reactants pane. Try working on the initial system in this way (you can use the Run > Go Initial option in React) to try to find a plausible equilibrium assemblage. If you have more data about the porewater chemistry, you could try calculating the saturation indices of the various minerals observed in the field. 

Hope this helps,
Brian
 

  • Like 1

Share this post


Link to post
Share on other sites

Hi Brian,

Thank you for this, that helps a lot.

Is there a possibility to import the result of the plausible equilibrium assemblage ("Go initial" in React) from React into the initial pane of x1t? Just like you can do it with the "pick up" command in React?

Regards

Coralie

 

Share this post


Link to post
Share on other sites

Hi Coralie,

You’re welcome. You can drag and drop compositions from one app to another. Right-drag (right-click and hold) from the Basis pane of React to the Initial pane of X1t to transfer the initial settings. If you’d like to transfer the results of a React calculation (perhaps a supersaturated mineral precipitated) you can right-drag from the Results pane of React into the Initial pane of X1t. For more on drag and drop, please see 1.7 Drag and drop feature in the GWB Essentials Guide.

Regards,
Brian
 

Share this post


Link to post
Share on other sites

Hi Brian,

Thanks for this, very useful.

I have now dragged the results from React into the Initial pane of x1t, but I only get the fluid composition.

Looking at the results from React, I am a bit surprised though that adding 1kg of fluid to 10kg or rocks (and more) that there are no minerals in the system (after run>go initial in React).

Surely, not all the rock is dissolving! Any thoughts?

Is that because the rock is in the reactant pane in React? Should I manually entered the mineral in the Basis pane of X1t.

Adding the react file here.

Regards

Coralie

Simple-fluid-tholeiitic-basalt.rea

Share this post


Link to post
Share on other sites

Hi Coralie,

Go Initial is primarily for testing out your initial chemical system (what you specify on the Basis pane of SpecE8/ React or the Initial pane of X1t). It calculates the initial state before any reactants are added or boundary fluids flow in. It’s a convenient way to understand the starting point for your calculation without having to worry about the complexity that will be added during the reaction path. Since there are no minerals in the Basis pane of the React script you attached, and the fluid isn’t supersaturated with respect to any minerals, doing a Go Initial will leave you with only a fluid. The reactant minerals haven’t been added yet.

There are various ways to conceptualize models like this. If you think that one or more minerals are in equilibrium with the porewater at the very start of your transport model, you should swap those into the Basis. Not all observed minerals are necessarily in equilibrium with the pore fluid, though, so only those that are truly in equilibrium with your fluid should be swapped into the basis. That’s why I suggested trying out different basis configurations and using Go Initial - so you don’t have to worry about the transport or other complexities. You could add the non-equilibrium minerals as reactants later on, after the initial system is sorted out. 

If, on the other hand, you think the starting point for your transport model is the water-rock system resulting from the titration of your basalt minerals into a brine (the React script you attached), then run the React script to completion (Go, not Go Initial). There should be minerals in the resulting equilibrium system, which you might transfer to the Initial pane of X1t as described previously. 

Hope this helps,
Brian
 

  • Like 1

Share this post


Link to post
Share on other sites

Hi Brian,

Thank you for the answer. I have another sets of questions:

1/ How do I know if the minerals are in equilibrium with the fluid composition? Do I just try different combination in the basis until it converge?

2/ If the minerals present in the rocks aren't in equilibrium in the fluid, I add them in the reactant pane but do I need to add kinetic information?

In response to your last comment, It is mostly the fluid that flows through the rock, the titration model I have done is not really what I should have done, but rather the flush or flow-through model is more appropriate. But because I want to use x1t, I didn't think I needed to use React and a flush system first. I guess I may need to do this for that initial step, or maybe the equilibrium is enough.

Regards

Coralie

Share this post


Link to post
Share on other sites

Hi Coralie,

Well, it’s easiest if you have a complete fluid analysis. In that case you’d just run the fluid through SpecE8 or React to calculate saturation indices for every possible mineral. That way you could figure out what you need to swap into your basis. When you’re working with limited data, as you’re doing, it’s much more difficult. You can try different assemblages of minerals you’ve observed, and at least try to rule out unlikely assemblages when you can’t get the initial system to converge. You might also be able to use some experience or consult some stability diagrams to rule out combinations of minerals that aren’t likely to be in equilibrium together under particular conditions.

You can add minerals as simple reactants, in which case they’re continuously “titrated” into the system at a constant rate, or as kinetic reactants, in which case the rate of dissolution is set by a kinetic rate law. Reactant minerals in transport models are probably set as kinetic reactants more commonly, but you should make that decision yourself. For more information, please see sections 3 Tracing Reaction Paths and 3.1 Titration paths, as well as 4 Kinetic Reaction Paths, 4.1 Setting kinetic reactions, and 4.2 Kinetics of precipitation and dissolution in the GWB Reaction Modeling Guide.

Sure, you can approximate reactive transport in a very simplistic way with React’s flush and flow-through configurations. The flush configuration follows the point of view of a section of porous media through which water flows. You might be interested in alteration products as a reactant fluid flows in and reacts with the existing minerals. The flow-through configuration, conversely, follows a packet of fluid as it migrates. Precipitated minerals aren’t allowed to re-dissolve into the fluid because the fluid packet travels downstream, away from the immobile minerals. You might try either of them before moving to X1t. But the very first step should be to find an initial system that you’re happy with, using Go Initial in React.
 
Hope this helps,
Brian
 

  • Like 1

Share this post


Link to post
Share on other sites

Thanks Brian,

I really appreciate all your help.

I'll concentrate on that initial system. Yes, unfortunately I don't have much information on the fluid composition, only restricted info (temperature and salinity) from fluid inclusion analyses.

Regards

Coralie

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×