Jump to content
Geochemist's Workbench Support Forum


  • Content Count

  • Joined

  • Last visited

Community Reputation

0 Neutral

About Helge

  • Rank

Profile Information

  • Location
  • Interests
    thermodynamic database, geochemical modeling

Recent Profile Visitors

2,597 profile views
  1. Hello everybody, is it possible to place comment lines in *.rea files, which are not processed by GWB? Best regards, Helge
  2. Hello everybody, in the attached test case I can retrieve all concentrations with species = myGWB.results("species") conc = myGWB.results("concentration aqueous", "mol/kg") print "\nThere are" , len(species) , "aqueous species.\n" for i in range(len(species)): print "%-4s = %10.4g mol/kg" % (species[i], conc[i]) However, if I export the results to file with ResultFile = Testcase + '_mod.out' fobj_ResultFile = open(ResultFile,'w') fobj_ResultFile.write(Testcase + '\t' + 'pcH' + '\t' + str(-(math.log10(myGWB.results('concentration aqueous H+', 'molal')[0]))) + '\n') fobj_ResultFile.write(Testcase + '\t' + 'conc_element(Nd)' + '\t' + str(myGWB.results('concentration Neodymium', 'molal')[0]) + '\n') fobj_ResultFile.write(Testcase + '\t' + 'conc_solute(Nd(OH)2<+>)' + '\t' + str(myGWB.results('concentration aqueous Nd(OH)2+', 'molal')[0]) + '\n') fobj_ResultFile.write(Testcase + '\t' + 'conc_solute(Nd(OH)<2+>)' + '\t' + str(myGWB.results('concentration aqueous Nd(OH)++', 'molal')[0]) + '\n') fobj_ResultFile.write(Testcase + '\t' + 'conc_solute(Nd<3+>)' + '\t' + str(myGWB.results('concentration aqueous Nd+++', 'molal')[0]) + '\n') fobj_ResultFile.write(Testcase + '\t' + 'conc_solute(Nd(OH)3<0>)' + '\t' + str(myGWB.results('concentration aqueous Nd(OH)3', 'molal')[0]) + '\n') fobj_ResultFile.write(Testcase + '\t' + 'conc_solute(Nd(OH)4<->)' + '\t' + str(myGWB.results('concentration aqueous Nd(OH)4-', 'molal')[0]) + '\n') fobj_ResultFile.write(Testcase + '\t' + 'conc_solute(NdCl<2+>)' + '\t' + str(myGWB.results('concentration aqueous NdCl++', 'molal')[0]) + '\n') fobj_ResultFile.write(Testcase + '\t' + 'conc_solute(NdCl2<+>)' + '\t' + str(myGWB.results('concentration aqueous NdCl2+', 'molal')[0]) + '\n') fobj_ResultFile.write(Testcase + '\t' + 'conc_solute(Ca[Nd(OH)3]<2+>)' + '\t' + str(myGWB.results('concentration aqueous Ca[Nd(OH)3]++', 'molal')[0]) + '\n') fobj_ResultFile.write(Testcase + '\t' + 'conc_solute(Ca2[Nd(OH)4]<3+>)' + '\t' + str(myGWB.results('concentration aqueous Ca2[Nd(OH)4]+++', 'molal')[0]) + '\n') fobj_ResultFile.write(Testcase + '\t' + 'conc_solute(Ca3[Nd(OH)6]<3+>)' + '\t' + str(myGWB.results('concentration aqueous Ca3[Nd(OH)6]+++', 'molal')[0]) + '\n') fobj_ResultFile.close() concentrations for species whose name contains [ and ] are exported as -999999.0. I fail to locate my mistake. Best regards, Helge Helge 0043.rea Nd.dat 0043_mod.py 0043_mod.out
  3. Taken the case I look at the transition of Tc(+VII) to Tc(+IV) by inreasing pH: is there any means to retrieve the proportion of the two different oxidation states of Tc in solution? Helge
  4. Means: if I want to retrieve the total molality of Tc(+IV) in solution, and TcO(OH)2 is the secondary master for the formation of all Tc(+IV)-species, I use myGWB.results('concentration TcO(OH)2', 'molal')[0] ? Helge
  5. Hello everybody, I can't retrieve the molal H+ concentration. With ####### species = myGWB.results("species") conc = myGWB.results("concentration aqueous", "molal") print "\nThere are" , len(species) , "aqueous species.\n" for i in range(len(species)): print "%-4s = %10.4g mol/kg" % (species, conc) print "concentration H+ = ", myGWB.results('concentration H+', 'molal')[0] ####### I get Y:\Rechnungen\gwb>0001_test.py There are 9 aqueous species. H+ = 3.027e-07 mol/kg HSO4- = 3.231e-06 mol/kg K+ = 0.7233 mol/kg KMg(SO4)+ = 6.463e-05 mol/kg Mg(OH)+ = 3.447e-06 mol/kg Mg++ = 3.114 mol/kg Mg3(OH)4++ = 8.826e-15 mol/kg OH- = 8.746e-08 mol/kg SO4-- = 3.475 mol/kg concentration H+ = -3.47366172108e-10 It seems that with myGWB.results('concentration H+', 'molal')[0] I retrieve something else (charge balance?) but not the H+ molality. Of course I could work around the problem and get the H+ molality from the aqueous species list, but this wouldn't be elegant. Helge
  6. Perfect! Thank you very much 🙂 Helge
  7. Hello everybody, I have a problem getting started with the GWB Python plugin. On running the example script I get: ############################### Y:\THEREDA\Arbeitsergebnisse\Testrechnungen\meinGWB>GWBplugin_Python_example2.py Starting program SpecE8 Traceback (most recent call last): File "Y:\THEREDA\Arbeitsergebnisse\Testrechnungen\meinGWB\GWBplugin_Python_example2.py", line 20, in <module> -s \"c:/program files/gwb/gtdata/feoh.dat\""): File "Y:\THEREDA\Arbeitsergebnisse\Testrechnungen\meinGWB\GWBplugin.py", line 11, in initialize return cdll.gwbplugin.c_initialize(byref(self.plugin), c_char_p(app_name), c_char_p(file_name), c_char_p(cmds)) File "C:\Python27-x64\lib\ctypes\__init__.py", line 436, in __getattr__ dll = self._dlltype(name) File "C:\Python27-x64\lib\ctypes\__init__.py", line 366, in __init__ self._handle = _dlopen(self._name, mode) WindowsError: [Error 126] Das angegebene Modul wurde nicht gefunden ############################### I get the same result with Python 3.7.x and also when calling module react (in a different script). To me it appears that GWB is having trouble with my Python installation. The requested file C:\Python27-x64\lib\ctypes\__init__.py exists. I use GWB 12 Professional. Thanks for help. Helge
  8. In the meantime more data packages were release from THEREDA which are available also for GWB: R-04: System Na, Cl, Np(V) - H2O R-05: System Cs - Na, Mg, Ca, K - Cl, SO4 - HCO3/CO2(g) - H2O R-06: System (Si, Al) - Na, Mg, Ca, K - Cl, SO4, CO3, HCO3 - H2O R-07: System Na, K, Ca, Cl, Th(IV), Np(IV), Pu(IV), HCO3/CO2(g) - H2O All parameter files are valid for 298.15 K only. Please visit www.thereda.de >> THEREDA Data Query >> Tailored Databases. Any feedback is welcome. Enjoy! Helge
  9. Hi Brian, I will be glad to provide you with a polythermal parameter file for GWB, may be next week. Please note that this file will be untested (of course), but you can compare with the results from the benchmark documents when you validate your code for the new temperature function. Regards, Helge
  10. I would like to announce that in the mean time two packages of data were released from the Thermodynamic Reference Database project in Germany (THEREDA). Each package comes with ready-to-use parameter files and with benchmark documents which contain representative test cases including scripts and input files for the tested codes. The data are available free of charge at www.thereda.de. The second release of data from the THEREDA database (R-02) was issued just before last christmas (2011-12-23) and came with parameter files for the system Na,Mg,Ca,Cl - Am(III), Nd(III), Cm(III) - H2O. Valid range of temperature: 298.15 K Supported codes: CHEMAPP, PHREEQC, Geochemist's Workbench The data have been rigorously tested for simple, ternary subsystems only: [NaCl or MgCl2 or CaCl2] - [Am(III) or Nd(III) or Cm(III)] - H2O. This implies that for calculations in higher component systems no quantitative measure for the description quality can be given and no warranty can be accepted for computational results. As to interactions between Am, Cm, and Nd (R-02) and SO4 or carbonate, data are available but still subject of internal control in the THEREDA-team and can therefore not be released yet. The responsibility of the data for Am(III), Nd(III), and Cm(III) lies with C. Marquardt from KIT-INE. On the 21st of February new data were released. This release was denoted as third release (R-03). The new release of data from the THEREDA database came with parameter files for the system Na, Mg, Ca, K - Cl, SO4 - HCO3/CO2(g) - H2O. Valid range of temperature: 298.15 K Supported codes: CHEMAPP, PHREEQC, Geochemist's Workbench, EQ3/6 (Version 8.0a) The data have been rigorously tested for simple, ternary subsystems only, as described in the respective benchmark document. This implies that for calculations in higher component systems no quantitative measure for the description quality can be given and no warranty can be accepted for computational results. Although no example is given in the benchmark document which contains MgCl2 or MgSO4, agreement between our results and those obtained with the HMW84 database was verified for the solubility of CO2(g) or Nesquehonite in MgCl2 and MgSO4 solutions. The responsibility of the data in R-03 lies with W. Voigt from TUBAF. Consistency with earlier releases: the released data are consistent with those for the system of oceanic salts (R-01), calculated for 298.15 K. Thus, with the new parameter files, calculations from the first release (R-01) for 298.15 K can be reproduced. The first release (R-01) covered the system of oceanic salts (excluding carbonate/CO2) for temperatures between 273.15 and 393.15 K, depending on the particular system. However, this release has not been opened for Geochemist's Workbench yet. For the temperature dependence of equilibrium constants THEREDA uses the expression: log10(K) = A1 + A2T + A3/T + A4log10(T) + A5/T^2 + A6T^2 For the temperature dependence of Pitzer interaction coefficients THEREDA uses the expression P = A0 + A1*(1/TK - 1/TR) + A2log(TK/TR) + A3*(TK-TR) + A4*(TK*TK - TR*TR) + A5*(1/(TK*TK) - 1/(TR*TR)) The terms A6T^2 and A5*(1/(TK*TK) - 1/(TR*TR)) are not available with Geochemist's Workbench. The THEREDA team intends to downgrade the first release for GWB users to calculations for 298.15 K only. However, calculations for other temperatures can only be performed with the other supported codes (PHREEQC, CHEMAPP, EQ3/6). This issue had been discussed with Tom who forwarded our request to the developers of GWB about 2010-06-01. If any questions arise as to the new data, please don't hesitate to initiate a thread in our discussion forum: http://www.thereda.de > Forum On behalf of the THEREDA management board Helge C. Moog
  11. There is something strange about your diagram. In the medium pH-range, moving from reduced to oxidized conditions, you calculate the predominance of Uranite (UO2, U+IV), then UO2.25 and UO2.333 (both of which are questionable in aqueous equilibrium systems anyway and which represent more oxidized forms of uranium), and then again Soddyite, which is (UO2)2(SiO4)•2 H2O(cr): that is again U+IV phase! This seems to me a hint for a serious bug in your database. Apart from that you should avoid calculating with uranium phases which contain mole numbers of oxygen which cannot be summed to whole numbers. Depending on the intial boundary conditions issued to GWB, you force the program to introduce charge inbalances by violating the mass balance. Thus, UO2.333 should be transformed to U3O7 (while three times UO2.333 gives U3O6.999 !). Cheers, Helge
  12. Pitzer parameters for iron may be obtained from (x) Moog, H. C.; Hagemann, S.; Rumyantsev, A. (2004): Isopiestic Investigation of the Systems FeCl2 - (Na, K, Mg, Ca) - Cl - H2O at 298.15 K, Z. Physikal. Chemie 218, 1063-1087. (x) Rumyantsev, A.;Hagemann, S.; Moog, H. C. (2004): Isopiestic Investigation of the Systems Fe2(SO4)3 - H2SO4 - H2O, FeCl3 - H2O, and Fe(III) - (Na, K, Mg, Ca)Cln – H2O at 298.15 K, Z. Physikal. Chemie 218, 1089-1127. (x) Moog, H. C.; Hagemann, S. (2004): Thermodynamische Modellierung hochsalinarer Lösungen: Gewinnung von Daten für Fe(II), Fe(III) und S(-II) und Entwicklung eines Programms zur Modellierung des reaktiven Stofftransports im Nahfeld eines Endlagers, GRS-195, Abschlußbericht zu einem aus Mitteln des Bundesministeriums für Wirtschaft und Technologie (BMWA) geförderten Vorhaben, Fördernummer 02 E 9138 4, ISBN 3-931995-63-1, 224 Seiten. The last one contains a comprehensive set for the whole system of oceanic salts, while the first two refer to chloride systems only. A publication in a peer-reviewed journal is in preparation. Implementation in THEREDA is envisaged. Regards, Helge
  13. To my best knowledge: No. However, if you are interested in Pitzer databases formatted for GWB, look out for www.thereda.de Regards, Helge
  14. If not, the parameter file is inconsistent. To us it means that we have to enter precisely the same data in both sections, even though GWB doesn't require this. Thank you for having made this clear. Regards, Helge
  • Create New...