Jump to content
Geochemist's Workbench Support Forum
MSZ

Error: Didn't wake up, abandoning path

Recommended Posts

Hi,

 

In my modeling for different situations, I almost see the same error:

 

N-R didn't converge after 999 its., maximum residual = 4.44e+22, Xi = 0.0000

-- Didn't wake up, abandoning path

 

I have attached my .rea file along with a .txt file which shows how did I make my reaction model. Could you please tell me which problem makes this type of error?

 

Thanks

02 - 6020.rea

02 - 6020.txt

Share this post


Link to post
Share on other sites

Hello,

 

Your scripts appear to run, at least on my copy of the GWB. Which version are you using?

 

A few things seem a little strange, however. Why are you adding both CO2(aq) and HCO3- to your system? In the first part of the example, you swap CO2(aq) in for HCO3-, then you constrain the CO2(aq) - this is normal. By adding HCO3-, you undo the basis swap and replace your original constraint for CO2(aq) with one for HCO3-. Keep in mind that you are adding in total components here, not the free CO2(aq) or HCO3- species. GWB will take that HCO3- component (total amount of carbon) and use it to form each possible species (CO2, HCO3-, CO3--, NaHCO3, etc.).

 

Is there a reason you divide the calculation into so many separate steps? It seems that you have just one fluid composition and one mineral assemblage, and that they could be added together in one step at 150 C.

 

Regards,

 

Brian Farrell

Aqueous Solutions LLC

Share this post


Link to post
Share on other sites

Hello

 

Thank you for your reply. I'm using GWB Professional 9.0 (Build 4830) and it doesn't run this script.

 

This is the overall procedure that I'm trying to do: I have one fluid composition and one mineral assemblage. First, I want to model the reaction between these fluid and mineral, and see the results. Then, I want to pick up the resulted minerals and model its reaction with the same fluid and I want to repeat this procedure several times. That is why it is separated to many steps. I wanted to make something like a package for fluid composition and mineral assemblage and simply enter one item instead of whole composition, but I couldn't do that. If there is a way to make it easier, please let me know.

 

About CO2(aq) and HCO3-; I have both CO2(aq) and HCO3- in my basis, but I can not simply add CO2(aq) to the system and I have to swap it for something. That is why I swapped it for HCO3-.

 

About whole the species with 1 mg/kg amount; actually, I don't have any species with 1 mg/kg amount, but the software forces me to have those species in my system to complete the reaction, so I had to add them with lowest possible amount.

 

Thank you

Share this post


Link to post
Share on other sites

Hi,

 

We recommend that you update to version 9.0.3, available from our website. You can also check for updates from the Help menu of any GWB application.

 

You can use the "reactants times" option to continuously add your reactant fluid into an initial system. You might also be interested in the "flush" configuration built into the GWB. With this option, your (unreacted) reactant fluid enters the equilibrium system, which contains a unit volume of an aquifer and its pore fluid, and displaces the reacted fluid (rather than simply accumulating). I would check Section 2.2 of Craig Bethke's Geochemical and Biogeochemical Reaction Modeling textbook, as well as some of the examples in the Sediment Diagenesis and Petroleum Reservoirs chapters.

 

Since you generally specify total component concentrations in the Basis pane, you don't need to add both CO2 and HCO3-. In fact, by specifying both, you simply overwrite the first input constraint. Try taking a look at Section 2 and Section 7 in the GWB Essentials Modeling Guide. If you take a look at the output from some of the examples, you'll see that the HCO3- component that you specify actually goes into forming all of the various possible carbonate species, including the free HCO3- and CO3-- ions and CO2(aq).

 

If you look at Seawater example in Chapter 6 of the GBRM, you may ask why CO2 and HCO3- can both be in the Basis. In this case, CO2(g) is swapped in for the H+ component (not HCO3-). The reaction H+ + HCO3- = CO2(g) + H2O is used to fix pH (rather, the negative log activity of H+ ion), since the CO2(g) fugacity is known, and the activities of H2O and free HCO3- ion are calculated. This is different from what you appear to be trying.

 

Simply assuming 1 mg/kg for all of your analytes is not typically the best thing to do. If you're considering Al in a dilute fluid, for example, you might want to specify a smaller concentration. Keep in mind too that the concentration of the oxygen component that you specify can have a large effect on your results - while 1 mg/kg O2(aq) may seem like a trivial value it actually denotes a specific redox state. Do you have any estimate of the redox state of your system? Is it open to the atmosphere? Any mineral buffer perhaps?

 

Hope this helps,

Brian

Share this post


Link to post
Share on other sites

Hi,

 

Thank you for your useful information. What is the value of default pressure in reaction modeling using REACT? How can I set the pressure in REACT and X1t?

 

Thanks

Masoud

 

 

 

 

Hi,

 

We recommend that you update to version 9.0.3, available from our website. You can also check for updates from the Help menu of any GWB application.

 

You can use the "reactants times" option to continuously add your reactant fluid into an initial system. You might also be interested in the "flush" configuration built into the GWB. With this option, your (unreacted) reactant fluid enters the equilibrium system, which contains a unit volume of an aquifer and its pore fluid, and displaces the reacted fluid (rather than simply accumulating). I would check Section 2.2 of Craig Bethke's Geochemical and Biogeochemical Reaction Modeling textbook, as well as some of the examples in the Sediment Diagenesis and Petroleum Reservoirs chapters.

 

Since you generally specify total component concentrations in the Basis pane, you don't need to add both CO2 and HCO3-. In fact, by specifying both, you simply overwrite the first input constraint. Try taking a look at Section 2 and Section 7 in the GWB Essentials Modeling Guide. If you take a look at the output from some of the examples, you'll see that the HCO3- component that you specify actually goes into forming all of the various possible carbonate species, including the free HCO3- and CO3-- ions and CO2(aq).

 

If you look at Seawater example in Chapter 6 of the GBRM, you may ask why CO2 and HCO3- can both be in the Basis. In this case, CO2(g) is swapped in for the H+ component (not HCO3-). The reaction H+ + HCO3- = CO2(g) + H2O is used to fix pH (rather, the negative log activity of H+ ion), since the CO2(g) fugacity is known, and the activities of H2O and free HCO3- ion are calculated. This is different from what you appear to be trying.

 

Simply assuming 1 mg/kg for all of your analytes is not typically the best thing to do. If you're considering Al in a dilute fluid, for example, you might want to specify a smaller concentration. Keep in mind too that the concentration of the oxygen component that you specify can have a large effect on your results - while 1 mg/kg O2(aq) may seem like a trivial value it actually denotes a specific redox state. Do you have any estimate of the redox state of your system? Is it open to the atmosphere? Any mineral buffer perhaps?

 

Hope this helps,

Brian

Share this post


Link to post
Share on other sites

Hi Masoud,

 

The GWB programs operate within the temperature and pressure range of the thermo dataset currently loaded. The default thermodynamic dataset thermo.dat contains log K entries compiled along the steam saturation curve from 0 °C to 300 °C.

 

You can use a thermo dataset compiled at the pressure of interest, but geochemists not uncommonly assume the effects of confining pressure are small compared to the uncertainty in determining log Ks and activity coefficients. Note, however, that gas partial pressures are almost invariably significant. You account for the partial pressure of a coexisting gas by setting its fugacity.

 

Hope this helps,

 

Brian Farrell

Aqueous Solutions LLC

Share this post


Link to post
Share on other sites

Hi,

 

I'm trying to model a one dimensional flow through a reservoir using X1t. I have quartz, calcite, pyrite, k-feldspar and smectite as reservoir rock and using command bar I swapped them to initial scope for SiO2(aq), Ca++, H+, K+ and Na+, respectively. After running the model, using output file, I realized that only quartz has been entered as a initial rock and other minerals have not been included in the reaction. How can I enter other minerals to the initial scope?

 

Thank you

Masoud

Share this post


Link to post
Share on other sites

Hi Masoud,

 

The procedure you've described sounds correct. Could you please attach your script so that I can take a look?

 

Thanks,

Brian

Share this post


Link to post
Share on other sites

Brian,

 

I have attached .x1t and .txt files. In the text file you can see the commands that I used. For example, I have 40 percent calcite in the initial system, but when I check the output file of GWB there is no calcite among minerals in node 0, step 0, time 0.

 

Thanks

Masoud

59 - 6020.x1t

59 - 6020.txt

Share this post


Link to post
Share on other sites

Hi Masoud,

 

The problem is that you swap minerals into the Basis, then unswap them for the original Basis entries a few lines down. Although you're not using the "unswap" command, by setting the concentration of the original Basis entries this is implied. The input below is for the Initial system.

 

scope = initial

swap Quartz for SiO2(aq)

swap Calcite for Ca++

swap Pyrite for H+

swap K-feldspar for K+

swap Smectite-high-Fe-Mg for Na+

27 vol% Quartz

2 vol% K-feldspar

2 vol% Pyrite

40 vol% Calcite

2 vol% Smectite-high-Fe-Mg

pH = 6.35

HCO3- = 976 mg/kg

Ca++ = 208 mg/kg

Mg++ = 53 mg/kg

Na+ = 82394 mg/kg

K+ = 832 mg/kg

Cl- = 128488 mg/kg

SO4-- = 39 mg/kg

Fe++ = 3 mg/kg

 

Quartz is preserved in your initial system because you specify its mass, but do not specify the concentration of SiO2(aq) later on in the Initial system. Calcite, which you swap in for Ca++, is a different story. First you specify the mass of Calcite, then a few lines down the concentration of dissolved Ca++, which overrides your previous entry for Calcite.

 

You can only provide one constraint for each Basis entry. The constraints for Ca++, pH, K+, and Na+ in the Initial system need to be removed. Once you do this, you'll receive an error message and find that you'll need to add a few species to the Basis. For example, since you're adding Pyrite, you'll need to add O2(aq) to the Basis (you can of course swap it out after) and the K-feldspar will require you to add Al+++. Does this make sense?

 

Regards,

Brian

Share this post


Link to post
Share on other sites

Hi Masoud,

 

Try reading section 7 (Using SpecE8) in the GWB Essentials Guide for info about setting up your equilibrium system and performing Basis swaps. I think using the GUI will be very helpful for you to understand why the additional constraints you supply are unnecessary. Perhaps you could even paste in one line at a time using the command pane, then take a look at the GUI to see the effect of that command.

 

Once you get used to setting up your chemical system in SpecE8, try taking a look at the steam flood example from section 3.11 of the GWB Reactive Transport Modeling Guide. In that example several minerals are swapped into the Basis in the Initial system, but not in the Inlet fluid. Hopefully this helps you to understand the process a little more.

 

Regards,

Brian

Share this post


Link to post
Share on other sites

Hi Brian,

 

Thank you for your response. This is what I want to model; I have a rock (mixture of minerals) and a brine (exists in the rock's pore volume) in the initial scope. So, I introduced rock to the software with volume percentage of minerals (for example, 40 vol% Calcite) and I entered brine with species concentrations (for example, Ca++ = 208 mg/kg). Therefore, I have to have both in the system and constraining Ca++ shouldn't affect Calcite amount in the Basis. Is there any way to do this?

 

Like steam flood example from section 3.11, I didn't want to swap minerals to the inlet but GWB forces me to add some species like SiO2, Al+++, O2, ... to the system which I don't have them in my real system. Even after adding these extra species this is the error that I get:

 

N-R didn't converge after 999 its., maximum residual = 1, Xi = 0.0000

Initial solution is too supersaturated.

 

Is there any way to skip adding extra species to the system?

 

Thanks

Masoud

Share this post


Link to post
Share on other sites

Hi Masoud,

 

In the Basis pane of React/ SpecE8, or the Initial pane of X1t, X2t, you are specifying the composition of a fluid, or optionally a fluid-rock system, at equilibrium. So Calcite and Ca++ will in fact be related. The presence of Calcite, in equilibrium with your fluid, can constrain the Ca++ in your fluid, or perhaps the HCO3- or pH. As for the brine, you can constrain it separately in the Inlet pane. As the model moves forward, the Inlet fluid will displace the original pore fluid. The Inlet fluid will react with the original pore fluid as well as the minerals making up the rock matrix.

 

Furthermore, if your fluid is in equilibrium with a mineral like K-feldspar, an aluminosilicate, then you will in fact have SiO2 and Al+++ in your system (even if it's a very small amount). You may not have measurements, though, and guessing unreasonable numbers might be why your model is not converging.

 

You can always simplify your system, but you cannot leave out the Basis species which must be present in the system you've configured. To illustrate this, try opening up Rxn. Go to the command pane and type "react K-feldspar" (or select K-Feldspar from the balance reaction for section). When you move to the Results pane to balance the reaction, you'll see the Basis species you must have in your system in order for K-feldspar to exist in your system. The same principals apply in React, X1t, and X2t.

 

Hope this helps,

Brian

Share this post


Link to post
Share on other sites

Hi Brian,

 

Is there anyway to see the chemical equations of happened reactions in REACT?

 

Thanks

Masoud

Share this post


Link to post
Share on other sites

Hi Masoud,

 

Sections 13.2 and 15.1 of the Geochemical and Biogeochemical Reaction Modeling text describe the "slopes of the lines" method for determining the overall reaction that occurs in a system.

 

You can also go to Config - Output to set the amount of information that you would like to appear in the text output file. By enabling the reactions loaded, you can view each reaction that is considered in your model, along with its equilibrium constant. Keep in mind this will only tell you the possible reactions, not which are actually occurring to any significant extent.

 

Hope this helps,

 

Brian

Share this post


Link to post
Share on other sites

Hi Brian,

 

Thank you for your response. In section 13.2 of the Geochemical and Biogeochemical Reaction Modeling (Fig. 13.2), it is not clear that what is shown by Y axis. Y axis just has unit and there is no label. In the case that it is species concentrations, how did you choose that which species appear in the graph and which one disappear?

 

Thank you

Masoud

Share this post


Link to post
Share on other sites

Hi Masoud,

 

That plot is not taken directly from Gtplot, but is actually two plots (minerals and aqueous species) overlain together in a program like PowerPoint or Illustrator. The key is to use consistent units (mmoles here) and axes when overlaying one diagram on another. Of course, for the slopes of the lines method, the x and y axes must match each other.

 

The point of the plot is to see what changes over the course of the reaction path. If a particular species is present at very small concentrations, or its concentration does not change at all, it can be removed from the plot since it is not involved in the reaction. If you plot the aqueous species, you'll see that HCO3-, CO2, and K+ are the only species which change concentration appreciably. Sometimes a delta plot can be helpful for figuring out which species or minerals are important in a reaction path.

 

Hope this helps,

Brian

Share this post


Link to post
Share on other sites

Dear Mr. Brian,

 

In my modeling, I'm dealing with pressures much more than atmospheric pressure and as much as I know the pressure default in REACT is atmospheric. How can I change the default pressure? Is it possible to set pressure in commands, like temperature?

 

Thank you

Masoud

Share this post


Link to post
Share on other sites

Hi Masoud,

 

As I mentioned above, thermo datasets are compilations of thermodynamic data at discrete temperatures. Most commonly, data is measured along the steam saturation curve. Act2 and Tact, which create activity diagrams, have a command to set the pressure. This only affects the position of the water stability limits and gas fugacities, not the stability of aqueous species or minerals.

 

Aside from Act2 and Tact, there is no command in the GWB programs to set pressure directly (like you do with temperature), because there is no information at elevated pressures. Keep in mind, you can set the fugacity of gases directly.

 

If you'd like to evaluate your system chemistry at higher pressure, you'll need to create your own thermodynamic dataset. A few third party programs are available to help with this, like K2GWB or DBCreate.

 

Hope this helps,

Brian

Share this post


Link to post
Share on other sites

Hello,

 

What does "needs to be swapped into the basis" mean?

 

I saw this error when I wanted to add HCO3- to the system, using wateq (and also PHREEQC) database. It is also happened for some other species.

Share this post


Link to post
Share on other sites

Hi,

 

In the GWB programs, you can only add Basis species (or decoupled redox species) directly to the Basis pane of React or the Initial, Inlet, or Inject fluids in X1t or X2t. In thermo.dat, HCO3- is a Basis species, so it can be added directly. CO3--, on the other hand, is a secondary aqueous species. You can swap CO3-- into the Basis in place of HCO3- if you'd like.

 

If you're using the PHREEQC database, CO3-- is a basis species and HCO3- is a secondary aqueous species. You need to add CO3-- directly to the Basis, not HCO3-. HCO3- can obly be swapped in.

 

You can view the thermo dataset currenly loaded in a GWB program by going to File - View - thermo.dat. There you'll find the list of basis species, redox species, aqueous species, minerals, and gases.

 

Hope this helps,

Brian Farrell

Share this post


Link to post
Share on other sites

Thank you, Brian for your useful responses.

 

I have a new question; I'm trying to run a kinetic reaction on REACT (script is attached). I have introduced the reaction rate and the specific surface area for reactants. The results show formation and percipitation of new minerals (like Saponite-Ca), which software doesn't have their kinitic parameters. My undrestanding is that the software considers the dissolution of reactants with kinetic path but new minerals don't be formed with kinetic reaction path. How can I set the formation of new minerals (which are not in the system before reaction) wiht kinetic path?

 

Thank you

MasoudKinetics.rea

Share this post


Link to post
Share on other sites

Hi Masoud,

 

You can specify a kinetic rate law for a mineral not initially present just as easily as you can for a mineral already present. The main complication is how to account for the new mineral's nucleation. A supersaturated mineral that has not yet formed will have no surface area, and as a result its precipitation rate would be 0. You can get around this by specifying a very small initial mass or by setting a nucleus density, the surface area available for nucleation per volume of fluid. The value for the nucleus density will be carried in the rate law for the precipitating mineral (meaning the precipitation rate takes on a non-zero value) until the actual surface area exceeds the nucleus density. Section 26.4 (Ostwald's step rule) in the Geochemical and Biogeochemical Reaction Modeling text provides an example of the first approach, while 27.2 (Weathering in a soil) provides an example of the second approach.

 

Alternatively, it might be accurate to let new minerals remain in equilibrium with the fluid if you assume that the rate-limiting step of the whole process is the dissolution of the original minerals.

 

Hope this helps,

Brian

Share this post


Link to post
Share on other sites

Thank you for your response. I have specified the reaction product's kinetic rate by negative sign to set the precipitation kinetic, but REACT still considers it as dissolution; in the result file all kinetic rates are considered as dissolution. Is there any way to specifically introduce the precipitation rate to the software?

 

Thank you

Masoud

Share this post


Link to post
Share on other sites

Hi,

 

I want to model a precipitation kinetic, but software's calculation is so slow and after several days it can't finish the modeling. Is the any way to make the modeling faster?

 

Thanks

Masoud

Share this post


Link to post
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...