Jump to content
RockWare Support Forum


  • Posts

  • Joined

  • Last visited

thomasw's Achievements


Member (2/3)



  1. DEar BRian, I have tried that command out, but unfortunately I receive an error message: Act2> activity Gold = 0.4 -- Error: Gold needs to be swapped into the basis -- Error: Can't set activity of Gold I attach for you the act2 script that I am using. The stup is such that Au+ is the diagram species, and pH and O2(g) are the species on axes. I can then set up activities of other aqueous species (in the presence of), in my example that of Cl-, H2O and H2S(aq). However, I CANNOT set up the activity of Gold (solid phase), neither through the GUI nor on the command pane (I receive that error above). I simply do not understand why this is not possible. Gold(s) is a participant of the solubility reactions in my system (and reaction system of equations) in exactly the same way as for example H2O (water solvent) or H2S(aq), but yet the program does not allow me to set up its activtiy. Hence I am left with having to modify the equilibrium constants for every single change in solid phase activity, a very time-consuming and annoying way to accomplish this. There are many more similar cases, for example the solubility of any Fe-bearing aluminosilicate minerals (annite in biotite etc.) at given activity of Fe2+ in the aqueous solution, and non-unity activity of the solid phase (which would we the endmember activity of annite in biotite solid solution). However, the program does not let me do this in a straightforward and interactive way (recalculating equilibrium constants for every single case is really not the way forward, I can as well then calculate the diagrams by hand). I must say that it would be really desirable if the option I outline above would be supported. Best regards, Thomas practical2a.ac2
  2. Dear Brian, thanks for pointing this out. Unfortunately the script that you attached to your posting does not contain any command that would set the activity of quartz to a non-unity value. Could you please add the example that contains the syntax of that command that one would need to enter into the act2 script? Does this approach also work for the diagram species? If I calculate the solubility of gold as function of pH and log(fO2), then I set up Au+ or Au+++ as my diagram species, and then swap in Au(s) for the selected aqueous species. Then I would need to enter a command in the act2 script that would set up the non-unity activity of Au(s) for example. The same principle can then be used for modeling activity-activity diagrams that involve non-unity activity of several minerals that are involved into the reactions. Ffor examples one can calculate stability of K-feldspar andf muscovity in an aK+/aH+ vs. aSiO2 diagram and set up activities of the minerals calculated from an external solid-solution model. Cheers, Thomas
  3. Dear all, I typically deal with solubility contours exactly the way Brian described it, and it works well because act2 produces vector graphics output. Having the possibility to use isotopic reactions in activity diagrams would be very helpful I must say, but I understand that implementing this feature just for few potential users that would need is might not be feasible. The most troublesome issue with act2 at the moment IMHO is that one cannot set activities for any solid phases, they are just assumed to be 1. If one wants to display for example the solubility of solid gold, where the activity of Au(s) is non-unity (beacause its not pure Au, but an alloy with Ag), then this simply is not possible in act2 (at least not in a reasonable and time-efficient way). OK one can theoretically calculate a RTLn(a) term for the Au and then lump that into the reaction equilibrium constant and then modify the database. This, however, becomes very time-consuming and cumbersome. I notice that one can change the activity of H2O, so theoretically it should be possible to do the same thing for any other reactant or product that is involved. Best regards, Thomas
  4. Dear all, The importance of pressure on hydrothermal reaction equilibria would certainly depend on the magnitude of pressure and the P-T region that you are dealing with. For example, at 250 °C, the dissociation constant of water (H2O = H+ + OH-), admittedly the most fundamental aqueous reaction, will be 11.2, 10.9 and 10.7 at Psat, 500 bar and 1000 bar. At 350°C, the values will be 11.8, 11.1 and 10.6 for the same presures. The difference of 1.2 log units translates into 0.6 pH units, certainly not negligible. The statement that pressure does not matter in hydrothermal systems appears to be not valid IMHO. The route via converting data from HCh/Unitherm via UT2K certainly works well, I have tested it and except a bit of manual editing that needs to be done on the final datafile the procedure is straightforward. A general advantage of software packages that are based on Gibbs energy minimization is that they use internally continuous equation of state functions rather than a grid of discrete log K values, resulting in more smooth behavior of calculated results. Also, one can model systems with nonideal phases such as nonideal gas mixtures or solid solution. As an alternative to HCh/UT2K you can use the following free package: http://gems.web.psi.ch/ The GEMS package can do essentially all reaction path and batch equilibria calculations that GWB can do. The only drawback is that at present it does not plot activity diagrams. Best regards, Thomas
  5. Dear all, I have created an activity diagram for Fe-S-O minerals using Act2, and it was based on the default database file thermo.dat. Now I would like to update the diagram by loading a customized thermodynamic database file. It loads the file successfully, but when trying to plot the diagram, the following error is displayed: Error: Cant swap H2S(aq) for SO4-- Then it offers to press OK or Quit, and tyring both commonly results in program crash When I use the same thermodynamic data file for plotting a gold solubility diagram, it works no problem. A suspicion I have is that it might not like a non-stoichiometric pyrrhotite phase (Fe0.875S) that I have in my new thermodynamic database file, this more realistic pyrrhotite (closer to natural phases) I would like to use instead of the troilite that is in the default database. Note that originally the database file had species names as e.g. Fe+2 etc., but I manually edited them back to Fe++ etc. The same I did for dissolved gases that were originally formatted as H2S,aq, but I edited them back into H2S(aq) etc. This caused me some errors in the first place, but after editing the thermo file as outlined above, these errors disappeared. I attach both the Act2 script and the new database file that I created for testing. Any suggestion concerning this error and possible fixes would be appreciated. Best regards, Thomas pyrite1_.ac2 ThermoGWB_22_1_2011.dat
  6. Hello, it looks like the suggestion to check out the Theredata website for Pitzer database files is not very useful. I checked this website and there is a lot of stuff like political statements, news, plans, reports from meetings, but actually NO DATA. All links that appear to point to actual data conclude with the statement that this is under construction. Maybe it is worth to check back again in five years or so, eventually they might upload some database files. A more useful thing to do would be to contact Luigi Marini who mentions a modified version of the data0.YPF file in a recent publication: Accornero, M., Marini, L. (2009) Empirical prediction of the Pitzers interaction parameters for cationic Al species with both SiO2(aq) and CO2(aq): Implications for geochemical modeling of very saline solutions. Appl. Geochem., 24, 747-759. Best regards, Thomas
  7. Hello, when reading the request to add such a complicated 7-term temperature dependence for Pitzer coefficients, I started to wonder whether this is justified in view of the availability of experimental data (measurements of mean acitivities etc.) that could constrain such parameters. In particular, some terms such as the high T powers (this is already a potential issue with T2 terms) might behave very unreasonably outside the calibrated T range where constrained by experiments. There could be inflection points and strong divergence appearing at temperatures well above the calibrated interval. Conversely, when terms with high temperature powers are avoided the extrapolation behavior is generally expected to be better. Finally, the more parameters are used in the fit procedure, the more they are highly correlated and are merely fit coefficients rather than robust values that have at least some physical meaning. These considerations should be taken into account when selecting an equation to fit Pitzer parameters to experimental data. Personally I would be very careful in using a function with so many fit coeficients, and rather settle for a more simple expression. Technically, I cannot see yet why it would be so difficult to add a different expression for the temperature dependence in GWB. If this is programmed in a modular way with derivatives of the original T function propagating into activity coefficient (and osmotic coefficient) expressions, replacing the original T dependence and its derivatives by a new one should be no big deal actually. Admittedly reading the data in from database file and converting it to the right format might be more tricky (and could pose a compatibility problem with old database files, but perhaps one can just append the new coefficients after the existing ones and just read treat missing coefficients as zeroes). Best regards, Thomas Thomas
  8. Hello Tom, yes ideally I would like a 3D diagram with pH, log(fO2) and log(aS) as the three axes. Because 3D diagrams are generally difficult to read for people in publications, I am also happy with 2D sections through that 3D space. Two such sections will usually be sufficient to illustrate the effect the three variables have relative to each other. The only point I wanted to make is that if a(H2S,aq) is selected as independent variable along with f(O2,g), then it appears to me that H2S,aq cannnot be speciated. But if you look at the pyrite example scripts that I posted, you will see that beyond a certain value of f(O2,g) the species H2S,aq is not predominant, because for eaxmple at a pH of 6 we cross the predominance boundary between H2S,aq and HSO4- at a log(fO2,g) at about -34.5. The projection of the that reaction between H2S,aq and HSO4- is a simple horizontal line in the log(fO2) versus log(aS) diagram. Hence, any reactions between Fe minerals that involve the predominant aqueous sulfur species should change slope at this predominance boundary. Currently, the only way to construct a diagram that to my opinion considers the true stable reactions is to plot two diagrams, one of them in terms of f(O2) versus a(H2S,aq) and the second one in terms of f(O2) versus a(HSO4-) and then superpose them in a graphics package. Doing so is not too big a problem, but of course it would be more convenient and efficient if total activities could be used as independent variables and then speciation taken into account. The S example is rather simple and straightforward, but there are systems with multiple predominance boundaries where tracking the change in speciation by hand can become more difficult. Best regards, Thomas
  9. Hello Tom, thanks for the suggestion of that workaround, which makes it at least in principle possible to calculate activity diagrams for mineral activities that are different from unity. But you would certainly agree that having to calculate the log k increments manually from the activity of the mineral every time time, especially when for example you want to contour the mineral activity (e.g. for Au activity in Au-Ag alloy to look at the effect of electrum composition and similar), this is pretty inconvenient and time-consuming. Speaking frankly, my intention in purchasing Gwb was actually a substantial speedup effect in terms of producing different sorts of activity diagrams compared to calculations using SUPCRT92, spreadsheet and paper and pencil. Now it looks like quite a number of advanced calculations that I would like to do actually require much more manual preparation work than I thought. I do not see a theoretical reason why for example one cannot implement that the activity of minerals involved in reaction could be set directly to a value different from unity. It is by default possible for solvent H2O, so it should be possible for minerals involved in reactions as well. I strongly encourage the Gwb development team to consider this option as a feature request for the future. This would also partly address the general issues that some people raised about dealing with solid-solutions in Gwb. Best regards, Thomas
  10. Hello Tom, thanks for your response, and especially for taking into account to add the feature of plotting several solubility contours into one diagram. As said, this task can of course be accomplished by creating several diagrams for different values of the diagram species, and then assembling them in a graphics package. But of course this is much less convenient than doing this right away in act2 before exporting to the graphics package. Regarding my question number (2), I am adding some act2 scripts to illustrate this point. Diagram pyrite1 is a log(fO2) versus pH diagram that shows stability of Fe sulfides and oxides. In order to contruct that diagram, I have to fix the activity of aqueous sulfur, set for example as activity of H2S(aq) and then allow to speciate over x and y. You would certainly agree that the stability of Fe phases in the Fe-S-O-H system will not only depend on log(fO2) and pH, but will change substatially with changing the preset value for a(H2S). For example, the pyrite stability field will enlarge when increasing a(H2S) and get smaller when decreasing a(H2S). To illustrate the combined effect of log(fO2), pH and a(sulfur), it is pretty useful to complement a diagram with log(fO2) versus pH with one that shows the stability of Fe minerals as function of sulfur activity in the fluid. Consider for example a section at a pH value of 6 in the log(fO2) vs. pH diagram, and then construct a diagram of log(fO2) versus log(aH2S). Now in this diagram at a log(fO2) value of about -35.5 (at pH of 6) the sulfur speciation will change from H2S(aq) to HSO4-, consequently the pyrite-hematite reaction will change slope at this point. The continuation of the pyrite-hematite reaction that involves H2S(aq) beyond that point is in effect a metastable reaction, because H2S(aq) is not stable any more (because the reaction between H2S and HSO4- has been crossed). This you can see clearly when looking at the two act2 scripts pyrite2a and pyrite2b that I attach (just superpose them). I hope that it becomes clear now what my question was trying to address. As said before, I have not found a direct way of doing the composite calculation that allows for change in speciation of sulfur when using H2S(aq) as axis variable. A workaround will of course be to calculate two diagrams for the two different species that are stable at pH of 6 and then mount them together in a graphics package. This is somehwat inconvenient, and it would be preferebale to account for the change in speciation directly in one diagram. Best regards, Thomas pyrite1.ac2 pyrite2a.ac2 pyrite2b.ac2
  11. Dear all, in some calculations of activity-activity and activity-temperature diagrams it is pretty useful to set the activity of minerals involved into the set of reactions to a value that is different from 1.0. For example, consider that you work on fluid-rock interaction and want to look at the controls on mineral stability in an hydrothermally altered rock. Now you have analyzed for example the chlorite in this rock by electron microprobe and used some composition-activity model (in the simplest case just configurational energy arising from ideal mixing) to calculate the activity of one end-member that you consider in the activity-activity diagram (e.g., clinochlore in the chlorite). Then in principle it is possible to calculate and plot an activity-activity diagram for exactly this activity (usually a value smaller than unity). I have done this many times with the help of SUPCRT92, a spreadsheet and paper and pencil. Unfortunately, I have not found if and how this could be done in act2 and tact. In principle, this would be a rather simple and straightforward extension of the set of additional constraints that can be set at the bottom of the Basis pane of act2 (the section labelled with: in the presence of ...). Any suggestions? Best regards, Thomas
  12. Dear all, I have been calculating activity diagrams by hand for many years, and now I have started to work with act2 (and also in tact) to save time. The basic stuff is straightforward and clear, but in addition I would need some special calculation types and plot options and I am not sure where to find them or if this can be done at all with the programs. These would be the following: 1) Solubility contours Is it possible to plot simultaneously (i.e., in one diagram) aqueous species - mineral boundaries (e.g. some metal solubility) for different values of this metal (i.e., the diagram species)? I know that one can easily change the value of the diagram species and this way contour the solubility using a series of different individual diagrams and then combine this in a graphics package like Adobe Illustrator. But can this also be done directly in act or gtplot? 2) Total activity of an element as independent variable (either x or y axis) For some illustrative purposes it is very useful to show mineral stabilities (or solubility boundaries) as a function of the total activity of an element. Consider for example that one wants to portray the stability of Fe minerals in the Fe-S-O-H system, then the main variables that control the stability are f(O2), pH and the sulfur activity. The latter one can express as activity of a selected species like a(H2S), but alternatively one could also select a(total sulfur). The topology of that system would be best portrayed by two complementary diagrams, one with f(O2) vs. pH and a second one with f(O2) vs. a(total S) or any other combination of the 3 independent variables. For the f(O2) vs. a(total S) the pH would be fixed, but the speciation of aqueous sulfur would need to change at some redox boundary, e.g. at the H2S - SO4-2 boundardy depending on the pH. Can this be set up in act2? So far I have only found that speciation is possible for any variables but not for the linearly independent variables that define the x and y axis of the diagram. 3) Is it possible to define different line colors for boundaries between aqueous species and minerals (solubility lines) and for predominance boundaries between aqueous species? Best regards, Thomas
  13. Hi, as Tom has said, GWB apparently has no provision for solid-solutions. In general, geochemical modeling codes that are based on the law of mass action (LMA) method have difficulties and limitations when dealing with solid-solutions. Some LMA based programs can deal with binary non-ideal solid-solutions, and many can deal with multi-component ideal solid-solutions. There are some workarounds, for example P. Lichtner and coworkers use a so-called disrete composition approach, i.e. they slice each solid-solution into many phases of fixed composition, generate their thermodynamic properties, and then use the LMA code to find those compositions that are stable. If you want to calculate water-mineral equilibria that involve non-ideal solid-solutions of higher order (e.g., ternary feldspars, micas, chlorites etc.), you should use a modeling code based on the Gibbs energy minimization (GEM) approach. This method of solving the equilbrium problem has no problems whatsoever with any highly nonideal phases, including solid-solutions, fluids and gases, melts etc. A code that I can recommend is GEM-Selektor, which can be downloaded for free for academic (research and teaching) puropose: http://gems.web.psi.ch/ This code has already provision for many generic non-ideal phase models (solid-solutions, liquid solutions, aqueous models like extended Debye-Huckel, Pitzer, SIT, four different gas equations of state), but you can also directly write your own activity models in the database (no compiling, no links to dll required) using a simple scripting language. For any minerals, aqueous species and fluids, the code has built-in routines for consistent pressure and temperature corrections (not limited to saturation curve). I hope this information is of use. Best regards, Thomas
  • Create New...