how to set up initial chemical conditions?


I've just started using Toughreact, and I am wondering how to set up the chemical initial condition.

Should I run a simulation to let TR calculate the brine chemical composition at equilibrium, or should I define the brine composition in the 'chemical' input file?

I tried the first approach. First, i ran a TH simulation to obtain a pressure and temperature gradient, and used it for a THC simulation to obtain the file 'savechem' based on the parameters defined in the 'chemical' file. But the simulation failed to converge after the first time step: "More than 50 chemistry convergence failures in one time step". 

Ideally, I wanted to change the Mineral composition until I reproduce the in-situ brine composition.


Or should I directly input the chemical brine composition?


If somebody could tell me what i am doing wrong and/or what is the best approach to obtain the distribution of the species based on PT and Mx I will appreciate it!


4 replies

    • TOUGHREACT Developer
    • Eric_Sonnenthal
    • 2 mths ago
    • Reported - view

    Hi Pierre,

    For reactions with a brine, you should start with an initial measured composition from the field, and enter in chemical.inp. That will provide many of the necessary components, but usually not all. We usually do this with a single grid block batch model. Some components may need to be determined through equilibration with a mineral. For example, Al+3 is usually not measured or is inaccurate. In that case you should determine Al+3 through equilibration with a mineral that is thought to be in equilibrium in the reservoir. Fe+2 and Fe+3 will often need to be determined this way. This could be albite, a clay mineral, pyrite, etc. Similar things can be done to determine HCO3-, if one knows calcite is in the reservoir. If there is a gas phase (e.g., atmosphere), one can also use CO2(g) to equilibrate with the solution to determine HCO3-. There are also components that may be calculated by charge balance. Then a mineral assemblage is needed reflecting some which may be in the rock and some potentially as secondary minerals. Probably most should be treated as kinetic minerals except for a few known to be in equilibrium, for example quartz, calcite, k-feldspar, etc. Then a long-term simulation can be run to see if the thermodynamic and kinetic data, and mineral assemblage provide a brine composition that is roughly similar to what you started with over long time periods and is not changing significantly ("pseudo-steady-state"). The main goal is for the model to predict a secondary mineral assemblage and reaction rates that are consistent with that observed in the field, knowing something about the temporal evolution of alteration of the rock, pressure, and temperature. This is often an iterative process of testing and adjustment. If the chemistry doesn't converge, it is usually that the chemical system or the guesses given for the species concentrations (not the total concentrations) are too far off. 


      • Merson
      • 2 mths ago
      • Reported - view

       Hi, Eric

      Could you explain what is the batch model further?

      As for this single grid, could I need set it as a infinite volume?

      • Ben_Ross
      • 2 mths ago
      • Reported - view

       Batch reaction models, are models where there is no transport happening. It mimics the batch experiments in the lab where you put rocks/soil in a reactor and expose it to fluids, temperature, pressure etc for some period of time and monitor the changes. It is the simplest and usually the first experiment that you would run on your samples. That is why in RTM it is usually modeled in a single grid block, the single grid block represents your reactor. Depending on your problem you may give it a finite or infinite (i.e. very large) volume. TBH, I can't think of scenario with "infinite" volume unless it is a grid block adjacent to your grid block and acts as BC and you want it the stay the same all the time.

    • Pierre_Jeanne
    • 2 mths ago
    • Reported - view

    Hello Eric,

    thank you very much for your reply. It is very helpful.

    Indeed, i saw on the forum several discussions about how to set up a batch model in a single grid block (e.g https://tough.forumbee.com/t/x2hc4pa/how-do-i-conduct-a-batch-modeling-of-nacl-water-with-primary-minerals), but i was wondering how to use the batch result obtained at a given pressure and temperature with a fixed mineral assembly to a larger model with a pressure and temperature gradient or potentially different rock type (e.g. tilted sedimentary layers).

Content aside

  • 2 mths agoLast active
  • 4Replies
  • 47Views
  • 4 Following