Jump to content
Geochemist's Workbench Support Forum

React: unphysical behavor


Sanjoy

Recommended Posts

Hello,

 

I'm running a water rock reaction at different temperatures, and I see an unexpectedly high jump in H2 concentration (half an order of magnitude) between running the model at 25C and 26C. That seems very odd, because the concentration, say, between 20C and and 25C is more or less the same, and between 26C and 30C also, so I'm having a hard time explaining the jump between 25C and 26C.

 

I am using the thermo.dat database

 

Attached is the script I load into react (File < Open < Read Script).

 

I was hoping someone could help enlighten me?

 

Thanks!

wr1.txt

Link to comment
Share on other sites

Hi Sanjoy,

 

Sorry it took so long to respond to your post. After some investigation, I think the source of your problem is the lack of thermo data for a few important species at your temperature of interest. If you look at the principal temperatures in thermo.dat (temperatures for which thermo data are compiled), you'll see data is listed at 0C, 25, 60, 100, 150, 200, 250, and 300. Some of the species which turn out to be important in your simulation (like MgH2SiO4) only have data at 0 and 25C (the rest say 500.0000). Your runs between 20 and 25C produce similar output because the thermo data is interpolated between 0 and 25C, where the data changes little. When you move to 26C, no data exists for MgH2SiO4 so that species cannot be loaded. This affects your output.

 

To compare output between 20-30C, you want consistent input (consistent species loaded). If you find the other species which are lacking thermo data at higher T and suppress them, you will likely find that your output varies little with T. Since these species appear to be important in your simulation, however, you probably don't want to ignore them. As an alternative, you can use the extrapolate option to estimate thermo data at 30C. Over a short temperature range, this should be fine. The extrapolate option becomes dangerous when people estimate data at 300C based off of two datapoints at 0 and 25C, for example. With the extrapolate option set, you should find your output changes smoothly from 20-30C.

 

Hope this helps,

Brian Farrell

Aqueous Solutions LLC

Link to comment
Share on other sites

Thanks Brian,

 

Sorry for the delay in getting back to you. What you say makes intuitive sense.

 

Because my temperature range of interest is 10C - 150C, the extrapolate option is not entirely wise at this stage, for the reasons you highlighted.

 

What I did do is try to get to the bottom of what causes the unphysical jump based on your response, by suppressing MgH2SiO4, but that didn't do it. I then additionally, and in succession, suppressed NaH3SiO4, CaH2SiO4, Mg(H3SiO4)2, Ca(H3SiO4)2, H4(H2SiO4)4----, H6(H2SiO4)4--, CaH3SiO4+, MgH3SiO4+, but I still get the H2 concentration jump going from 25C to 26C, which baffles me..

 

Any additional insights?

 

Thanks for your time.

wr1.txt

Link to comment
Share on other sites

Hi Sanjoy,

 

I looked a little further and there are a few other species which need to be suppressed in order to generate approximately equal output at 25C and 26C.

 

suppress Ca(O-phth) Fe(CH3COO)2+ Fe(CH3COO)3 FeCH3COO+ FeCH3COO++ KOH

suppress Mg2CO3++ Mg2OH+++ MgCH3COO+ Na(O-phth)- NaCH3COO

 

I ran a simulation at both temperatures and made note of the number of species, minerals, etc. that were loaded for each run. After suppressing the species you suppressed in your run, there were still 11 more species loaded at 25C than at 26C (meaning 11 species have data available at 25C but not at 60C). I set the printed output to be in alphabetical order, then went through the text file and found the 11 species which differed between the two runs. I then checked the thermo dataset and found that each had data only at 0 and 25C. Remember, these species are input to your simulation, and if they are loaded in one run (25C) where data exists for them, but not at 26C, the output can be different.

 

With all of these species suppressed I get very similar results at 25C and 26C. When I used the extrapolate option (without suppressing any species), I also got consistent results at the different temperature, but different from these runs. You will have to decide whether it is better to completely exclude species for which you do not have data at the appropriate temperatures or to estimate logK values using the extrapolate option.

 

Hope this helps,

Brian

Link to comment
Share on other sites

  • 7 years later...

Hi Sanjoy, 

I’m writing to let you know about a new feature in the GWB14 release. You can control species loading in a calculation by specifying a temperature range over which thermodynamic data should be available. In your case, many species have thermo data available at 25 C, but not other temperatures, so your calculations at 25 C and 26 C loaded a different set of species, which caused your results to differ more than expected. By specifying a temperature range, say 10-150 C, you can ensure that any calculations within that range load the same exact set of species. It’s basically like automatically suppressing a set of species with limited thermo data, simply by setting a temperature range. You can read about the span command in the GWB Command Reference. The new release has many more new features as well. Please let us know if you’re interested in trying GWB14. I’m happy to send you a demo.

Cheers,
Brian
 

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