Jump to content
Geochemist's Workbench Support Forum

All Activity

This stream auto-updates     

  1. Yesterday
  2. Dear, what database do you recommend for the rare earth elements analysis? I need to make speciation diagrams and plots temperature-activity. Will they have articles with related examples? For your attention and understanding, thank you Yours sincerely, Gustavo.
  3. Last week
  4. Earlier
  5. Brian Farrell

    X2t seems to be running but get stuck

    Hi Yuan, A numerical model isn’t guaranteed to handle everything that’s thrown at it. Your simulation with the built-in rate law runs to completion, but it still struggles quite a bit because the problem isn’t especially well posed. The dolomite reacts orders of magnitude faster than any of the other kinetic minerals. This forces really small time steps. And because the mineral dissolves completely, in a moving front as the model marches through time, you have incredibly high reaction rates adjacent to zero rates. Considering these substantial differences, there’s really no point in using kinetics for the dolomite. An equilibrium model should suffice. Your simulation should run faster, too, because the other kinetic minerals don’t require such small time steps. Or, if you really want to continue using kinetics, you should decrease the rate slightly. Decreasing the pre-exponential factor by even an order of magnitude lets the model run to completion. There’s essentially no difference in the output, considering the current course grid, which can accentuate differences. You could even set in your custom rate law a reasonable maximum reaction rate, and take the minimum of that and your calculated rate. The point is that there’s little difference in the output whether you use an amazingly fast or just a really fast rate for dolomite dissolution, apart from the numerical instabilities you introduce with the amazingly fast rate. It might seem wrong to disregard or tinker with the kinetics here, but keep in mind that there are always a lot of variables that go into reactive transport models. Certain conditions make the models very sensitive to some parameters and insensitive to others. The precise value you set for the diffusion coefficient, for example, won’t change your output compared to using the default value because the term is insignificant wherever groundwater flows at an appreciable rate. Sometimes you need to take a step back and determine what is most important. By the way, the values you’ve set for Courant and Xstable are far too large. Their default values, 1, are the largest they should ever be. You should only set smaller values for these parameters as needed. In this simulation the kinetics of dolomite dissolution end up limiting time steps anyway, but in general you shouldn’t ever increase those values. For more information, please see the GWB Command Reference. Hope this helps, Brian
  6. Hi BryanW, The Piper diagram units cannot be changed. Because they’re percentages, though, it doesn’t matter whether you use meq/kg or meq/l. You can see this for yourself by plotting a ternary diagram (these accommodates any unit choice, such as mg/kg or mmol/l, not just electrical equivalent units) or making a quick Excel calculation. If you’d like, you can edit the text in PowerPoint or Illustrator. Just go to Edit > Copy/Copy As and paste special/paste the .emf or .ai file into your desired program. Can you please attach a plot with the text overlapping the legend border? Or your GSS file? It might be that certain characters in the sample name aren’t being accounted for correctly when the legend border is drawn. For now, you can also edit this in PowerPoint or Illustrator. Thanks, Brian Farrell Aqueous Solutions
  7. iamseanty

    X2t seems to be running but get stuck

    Hi Brian, The built-in rate law doesn't work for our case, because the dissolution rates of the carbonates in our system are dependent on three promoting species with three sets of parameters (pre-exp, Ea and power)... we have to use script (or something similar, like equation or script file) to account for these effects. At 25C, the script works because the carbonates are not fully consumed in the system, and the model finished without any problem. When T was increased to 80C or 100C, sulfides and carbonates react a lot faster, causing carbonates running very low after several days and model crashed soon due to convergence issue during the simulation. The testing x2t input file just provided an example for this. We have to simulate higher temperature for this project, so your help to solve this problem is greatly appreciated. Thanks and regards Yuan
  8. Hello, I am just wondering if it is possible to change the units shown on a piper plot from %meq/kg to %meq/L please? Also, is it possible to change the dimensions of the legend border? It is currently overlapping with some of my text. Thanks in advance, BryanW
  9. To update a database to including additional aluminum phases, would I add the reference state of solid aluminum, reaction written in terms of Al+++, as a mineral species, as a redox couple, or both? From data0 file: Aluminum Al sp.type = solid refstate [ ] V0PrTr = 9.999 cm^3/mol [source: 79rob/hem] **** 1 element(s): 1.0000 Al **** 5 species in reaction: -1.0000 Aluminum -3.0000 H+ -0.7500 O2(g) 1.0000 Al+++ 1.5000 H2O * **** logK grid [0-25-60-100C @1bar; 150-200-250-300C @Psat-H2O]: 162.4309 147.0709 129.3964 113.2275 500.0000 500.0000 500.0000 500.0000
  10. Brian Farrell

    X2t seems to be running but get stuck

    Hi Yuan, I'm looking into it. Thanks for your patience. In the meantime, does the built-in rate law work for your purposes? Regards, Brian
  11. Melika Sharifi

    Activation code, new laptop

    Dear David, I'm sorry to hear about your laptop issues. I've reset your license from our end. You are all set to activate your license again. Bests, Melika Sharifi Aqueous Solutions LLC
  12. I had to install a new hard drive recently to my laptop, luckily all my data was stored in the cloud. So, I need a reset of my code in order to use GWB again. Thank you!
  13. iamseanty

    X2t seems to be running but get stuck

    Hi Brian, if you have time, could you please have a look? The functionality of custom-built kinetics are critical to our project.. and we would like to resolve this problem with your help. Thanks and regards Yuan
  14. iamseanty

    X2t seems to be running but get stuck

    Hi Brian, Thanks for your email. Yes, we used thermo.com.V8.R6+.tdat. We modified test2.x2t input file following your suggestions. And this time the model ends up with convergence issue at 0.095%, this is where dolomite is mostly consumed (~1.67e-62). So this is like a puzzle again why test1 can run without any convergence problem and test2 can't? I attached the modified test2.x2t for your consideration. Test1.x2t is unchanged. Could you please have a check? Thanks Yuan test_2_mod.x2t
  15. Brian Farrell

    X2t seems to be running but get stuck

    Hi Yuan, I don't have your custom thermo dataset, but I was able to check out your script using the installed thermo.com.V8.R6+.tdat. I think the difference between your custom rate law and the buildt-in rate law for Dolomite involves the surface area term. The surface area carried in the built-in rate law is the product of a specific surface area in cm2/g (set with the "surface" keyword) and the current mass in g of the mineral (you have set the "volume%" keyword, and the program converts this to g). In your custom rate law, though, you include only the specific surface area (a value of 530). You need to multiply that by the current mass of the mineral in your custom rate law. You can use the helper functions mw() and mass() to return the mole weight and mass in moles, respectively, of any species, so your rate law might include: *530*mass("Dolomite")*mw("Dolomite")*. Alternatively, you can use the internal parameters mw and mass within a rate law to refer to that specific mineral: *530*mass*mw*. If you want to include the parameter for the specific surface area, it might look like *sparea*mass*mw*. Or, if you want to jump straight to the actual surface area, just use the "surface" internal parameter: *surface*. Unfortunately, "surface" has different meanings in the context of the built-in rate law's keywords and the internal parameters for the custom rate laws. For more information, please see Table 5.1 and Table 5.2 in the GWB Reaction Modeling Guide. Regards, Brian
  16. iamseanty

    X2t seems to be running but get stuck

    Hi Brian, Thanks for your reply. I checked the details as you suggested and I found that this is all because of the carbonates are consumed (very close to zero) at 80C at ~18% of the simulation, which forces the model to constrain time step in response of the change of mass of dolomite. Here I attach two simplified X2t input files for comparison. They are mostly the same except for the way of expression of dolomite dissolution kinetics: test1.x2t uses the default built-in rate law and test2.x2t uses a script, of which the rate formula looks the same as test1 input file. The difference is that: test1 can run till the end of simulation without any issue; however, test2 runs to ~0.09% of the simulation and gets stuck then. That is when dolomite in node1 is close to zero... Do you have any idea of the cause of such discrepancy from the two input files? Thanks Yuan test_1.x2t test_2.x2t
  17. JohanFourie

    number of kinetic minerals in GWB

    Thanks Brian, this worked quite well.
  18. Hi Erik, Yes, a precipitated mineral in X1t or X2t can later dissolve if the system changes and it becomes undersaturated. Regarding removing precipitated minerals, the flow-through configuration in React does this at each step of the calculation so that they don’t dissolve back into the fluid. The conceptual model is that you’re following the vantage point of a single packet of water flowing through an aquifer. It’s a “quasi” reactive transport approach. In X1t or X2t, though, you actually have a spatially discretized domain, so removing minerals isn’t necessary. A single packet of water won’t react with the minerals in an upstream node after it’s been transported away. You have a continuous addition of new packets of water, though, that should be able to react with the minerals they flow though. If you’d like, you can specify a custom rate law that would allow a kinetic mineral to precipitate according to one equation but dissolve according to another (perhaps set the rate to 0). That way the mineral doesn’t react, even though it’s still present. Yes, porosity reflects any changes in mineral volume due to dissolution or precipitation. Hope this helps, Brian Farrell Aqueous Solutions LLC
  19. Hi, When a mineral precipitates in an X2t or X1t node, is it capable of redissolving if the system changes later in the simulation? Is there a way to remove precipitated minerals from the system? From what I understand porosity will reflect any changes in dissolution and precipitation. Thanks, -Erik
  20. Brian Farrell

    X2t seems to be running but get stuck

    Hi Yuan, You can report the factor limiting X2t's time steps by checking "explain steps" in the Config > Stepping dialog, and then "Follow Output" on the Results pane. This might give you a clue about why your run is failing. For more information, please see 9.40 explain_step in the GWB Command Reference. If that doesn't offer any good clues, you can attach your script and we'll try to take a look. Regards, Brian Farrell Aqueous Solutions
  21. Hi there, I am using X2t to do reactive transport modelling. My model runs successfully at 25C, 100% finished. But after I increase temperature to 80C, the model progress stays at 18.32% and won't proceed anymore... It's strange that the model doesn't crash and looks still busy running... Do you have any idea about this issue? Thanks and regards Yuan
  22. p.m.berger

    Optimizing kinetic parameters to fit experimental data

    There should be an example in the documentation of writing a script that solves for a rate constant of quartz. Peter
  23. Brian Farrell

    number of kinetic minerals in GWB

    Hi Johan, We’ve looked into your problem. Unfortunately, there are some limitations imposed by the Windows OS. As I mentioned, you can bypass the GUI using Gwb.exe to include any number of reactants. Alternatively, you can try editing your registry to allow more user objects. The default Windows allows is 10000, but you can increase it to 18000. There’s still ultimately a limit, but you may be able to add almost twice as many reactants. The specific registry entry is: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\USERProcessHandleQuota To edit your registry, type regedit into your Seach bar, then click to Run. Navigate from HKEY_LOCAL_MACHINE down to the various subfolders until you get to Windows, then right-click on USERProcessHandleQuota and select Modify. With the “Base” set to Decimal, enter 18000 for the “Value data:”, then hit OK. You’ll need to reboot your computer. After this, please try working with your script again. You should be able to add some more reactants. There will still ultimately be a limit, though. We’re exploring options to make this work better in future releases. Please let us know if you have any more questions. Regards, Brian
  24. Hmm, hopefully both Thermoddem datasets are equivalent. Perhaps it's only a matter of the Phreeqc dataset using O2(g) in certain places instead of O2(aq), or vice versa. I'm not sure I have more to contribute regarding the Phreeqc dataset, but if you have more questions about Act2 or the GWB in general, let me know.
  25. Hi Brian Actually I work with the same DB in GWB but I took the log K from Phreecq DB which should be the same... I attached the one where I found my data. In the header the BDD date is june 2017 for both: Base de Donnee Thermoddem_MAJ2016_final6d Bizarre... Jerome PHREEQC_ThermoddemV1.10_06Jun2017.dat
  26. Hi Jerome, You're welcome. I just downloaded the dataset from here: http://thermoddem.brgm.fr/databases/geochemists-workbench. The log K values I see don't match what you describe. Are you working with a different version of the dataset? FYI, since this is an older format dataset (the second line of the dataset has the oct94 tag, and it has a .dat extension), it opens up by default in a text editor like Notepad. If you view it there, you'll see it includes the Eh or half-cell reaction in the header tables. That reaction is 2 H2O = 4e- + O2(g) + 4H+. The reaction and more detailed information are included in the Thermo Datasets chapter of the GWB Reference Manual. The more recent dataset formats (oct 13 and jul17) end with .tdat extensions, and they'll open up by default in TEdit, the graphical thermo data editor. With either format, though, you can right-click on the file and open with another program. I say this because newer format dataset don't contain the Eh reaction. Instead, it's rebalanced as the free electron reaction. That reaction can be written in several ways, but the GWB apps including TEdit will take that old Eh reaction and balance it as e- + .25 O2(aq) + H+ = .5 H2O. The log K values from the header table are divided by -4, then. Just want to clear up any confusion there. With that complication out of the way, the dataset I downloaded has (aq) or (g) appended to the names of the aqueous and gaseous O2 and H2 species, respectively. There is a little flexibility in redox coupling reactions, such as using O2(aq), O2(g), or e- when O2(aq) is in the basis species, or H2(aq), H2(g), or e- when H2(aq) is in the basis. But in any case, the reactions should be explicit whether a gaseous or aqueous form is used. If your dataset is different, and you'd like me to take another look at your problem, please attach the dataset along with your Act2 script. Hope this helps, Brian
  27. Hi Brian Thanks for this precise answer. But I have one question and one remark. The question is: how can I know in the database if the O2 or H2 is either gas or aqueous in the proposed reactions (question of newbie but even referring to the master species, I don't find the rule). Second, I did your calculations since I build up my graphs with Excel (😅!). But I have not the same results. Let's take the reactions in Thermoddem: 2H2O = O2(g) + 4H+ + 4e- log K(25) = -85.98 logK(90) -68.43 1.000H2O - 0.500O2(aq) = H2(g) log K(25) =-46.07 logK(90) -37.42 O2 = 1.000O2 log K(25) =-2.893 logK(90) -3.1 0.5*(-85.98)+1*(+46.07)+1*0.5*(-2.89)=1.63 at 25°C and not O. At 90°C the logK is 1.66. Do you see in which step I do the mistake? Thanks again and sorry for this waste of time. Jerome
  1. Load more activity
×