jamie@erdw.ethz.ch fax:1-632-1088 phone:1-632-7804 Dear Perplexed User: A list of the most recent changes to perplex follows. If a bug is indicated for a program that you do not use, then you need not concern yourself with the bug, i.e., the programs are independent. NOTE: when bugs are found, the PC (zip) and SUN (tar) binaries and fortran sources are updated immediately, Mac versions are only updated as indicated. =========================================================== VERTEX/WERAMI/PSVDRAW/POLYGON BUGS FIXED, NOV 16, 1999 VERTEX - Vertex's dimensioning has been increased. This may cause memory problems on computers with limited RAM. WERAMI - Werami now permits recovery of properties from a phase diagram section along a non-linear profile. The profile must be described by a polynomial of the form y = sum(c(i)*x^(i),i=0..n). PSVDRAW - Psvdraw did not recognize pseudosection assemblages consisting entirely of compounds, resulting in the "assemblage not found" errors. POLYGON - Polygon crashed for certain special cases in which the stability field of an assemblage spanned two corners of the diagram. =========================================================== BUILD/VERTEX/POLYGON BUGS FIXED, OCT 18, 1999 BUILD - Build was not writing the default plot file name if the user entered in response to the file name prompt. The missing file name then caused Vertex to crash. VERTEX - i) For constrained bulk composition calculations with fluid components, Vertex was not writing the output correctly to the bulk composition plot file used by programs WERAMI and POLYGON, as a result the modes and other numerical information were printed as "NaN"s or "Inf"s. ii) Vertex was not writing the bulk composition plot file for assemblages consisting entrirely of true compound phases, as a result these assemblages were listed as "not found" by psvdraw, and the corresponding phase fields appeared as "holes" in pseudosections. POLYGON - An incorrect type specification may have been causing various cryptic problems on SGI/SUN compilers. Several special computational cases have also been accounted for, which should reduce the number of pseudosection "holes". Affected programs: VERTEX, BUILD, POLYGON Affected file: vertex.f, polygon.f90, build.f, rlib.f, psvdraw.f, plib.f, polyf77.f IBM and Tar Archives updated, Mac Archives have NOT been updated. =========================================================== BUILD BUG FIXED, SEPT 14, 1999 A bug, recently introduced into BUILD, that caused the program to give incorrect prompts if potential saturated phase components were chosen as mobile components has been eliminated. Default file names have also been added to the program. Affected programs: BUILD Affected file: build.f IBM and Tar Archives updated, Mac Archives have NOT been updated. =========================================================== WERAMI and VERTEX BUGS FIXED, AUG 9, 1999: * WERAMI - the bug caused werami to crash if a property profile was computed parallel to a psedosection axis. * VERTEX - in fixed bulk composition calculations treating fluid components as thermodynamic components, vertex output incorrect properties for the "solids only" component of the system phase assemblage. In some cases this bug may have caused vertex to generate a corrupt plot file that in turn caused psvdraw to crash (divide by zero). Affected programs: WERAMI, VERTEX. Affected file: werami.f, vertex.f, rlib.f IBM and Tar Archives updated, Mac Archives have NOT been updated. =========================================================== MAJOR REVISION, May 25, 1999. * The new version of Perplex faciltates the computation and analysis of pseudosections. The new capacity is demonstrated in the on-line tutorial at: http://www.erdw.ethz.ch/~jamie/perplex_pseudosection.html * Input and output files from previous versions of Perplex are incompatible with the current version. * The program documentation (file vdoc.ps) has not been updated. * For calculations other than pseudosections, Perplex is largely as before; however, some bugs have been removed from the code and the solution model files have been revised. All archives have been updated, but the MacIntosh archives do not yet contain the programs POLYGON and WERAMI or the revised version frendly. =========================================================== ARCHIVES RESTRUCTURED AND UPDATED, Jan 7, 1999. Archives for macintosh computers are now in zip format. Mac, PC, and Sun archives updated =========================================================== SOLUT.DAT UPDATE, Dec 7, 1998. * The biotite "Bio" solution model in the solution model file "solut.dat" was for Fe-Mg-Al mixing on two octahedral sites per formula unit and Fe-Mg mixing on the remaining site. This is inconsistent with Holland and Powell's model (JMG, 1998), which assumes Fe-Mg-Al mixing on one site and Fe-Mg on the two remaining octahedral sites. Holland and Powell's formulation has been adopted in the current version of solut.dat, this leads to a slight increase in the biotite stability field for typical pelitic bulk compositions. * Rough models for K-Na-Phengite ("KN-Phen", "MuCel", "PaCel") for have been added to "solut.dat". =========================================================== SOLUTION MODELS and modifications to the dimensioning and formatting in BUILD, VERTEX, and PSVDRAW. Dec 1, 1998. * The solution model file solut.dat has been updated. The new file contains a large number of models that are consistent with the new Holland and Powell (JMG, 1998) data base. Some solution models formerly included in solut.dat and consistent with earlier formulations of holland and powell's data base have been eliminated from solut.dat but are preserved in the file old_solut.dat. It is wise to read the comments in solut.dat before using a particular solution model. * Several new linearly dependent endmembers have been added to hp98ver.dat (see comments in the file) * The dimensioning and formatting of PSVDRAW, VERTEX, and BUILD has been modified to permit calculations with up to 3000 equilibria, 30 solution phases, and 5000 pseudocompounds. =========================================================== ZIP and TAR archives updated. Nov 24, 1998. =========================================================== VERTEX/PSVDRAW bugs and modifications. Nov 24, 1998. * Two bugs that caused psvdraw to plot some chemographic and mixed variable diagrams incorrectly have been removed from vertex. The bugs caused plot file format errors, but not errors in the reported phase equilibria (as recorded in the print file). * Psvdraw, the default plot format for chemographic diagrams has been improved (to test this try running vertex with the example input file in5.dat, an AFM diagram calculation). * Vertex/Vertexview, the present version of vertex outputs a new plot file format for chemographic and mixed-variable diagrams that CANNOT be read by vertexview. Vertexview will be updated in the near future. * Old chemographic and mixed variable diagram plot files cannot be plotted with the new version of Psvdraw. * Pseudo-sections, if you compute a pseudo-section, i.e., a phase diagram section with constrained bulk composition as a function of two environmental variables (e.g., P, T, XCO2), then Vertex creates two plot files: a normal plot file that contains the phase field boundaries; plus a new plot file with the name of the normal file prefixed by a "b". This second file can be plotted with psvdraw to show the high variance assemblages as a function of the environmental variables. By modifying the default assemblage labelling in psvdraw (i.e., a drafting option), plots from this file can be made to show rock density, volatile contents, or mineral modes. Affected files: psvdraw.f, vertex.f, rlib.f, frendly.f, build.f, in5.dat, solut.dat Affected programs: psvdraw, vertex, vertexview =========================================================== HP98VER.DAT, Nov 12, 1998. Some linearly dependent solution end-members added to permit use of solution models in solut.dat. Most of the solution models in solut.dat do not presently include the non-ideal contributions suggested by Holland and Powell (JMG, 1998). =========================================================== ZIP and TAR archives updated. Nov 6, 1998. =========================================================== VERTEX/FRENDLY/PSVDRAW bugs, Oct 22-Nov 6, 1998. During at least a portion of the time period Oct 22-Nov 6 incorrectly compiled versions of Vertex, Frendly, and Psvdraw were present in the ZIP and TAR archive files. The compilation error may cause the programs to crash with run-time errors or, in the case of vertex, to cause the program to terminate before completion of a calculation without internal or system diagnostics. The versions of VERTEX, FRENDLY, and PSVDRAW available as of Nov 6 eliminate this problem as well as several long-standing bugs. Affected files: vertex.f, frendly.f, rlib.f, tlib.f, psvdraw.f, pslib.f Affected programs: vertex, frendly, psvdraw. =========================================================== ZIP and TAR archives updated. Oct 22, 1998. =========================================================== PSVDRAW BUG, Oct 22, 1998. The version of psvdraw created on Oct 18 used an incorrect degree to radian conversion, as a result labels and ternary composition diagrams were drawn incorrectly. The error has been corrected. Affected files: psvdraw.f, pslib.f Affected programs: psvdraw. =========================================================== PSVDRAW POSTSCRIPT in ADOBE and COREL, Oct 18, 1998. Many users have complained that they sometimes have difficulties importing PSVDRAW POSTSCRIPT output into ADOBE or COREL graphics programs. Typically in COREL the y-axis label is not drawn, while in ADOBE only a small portion of the plot may be preserved. It appears that the origin of this problem is that the "bounding box" defined on the fourth line of the pro.ps file (used by PSVDRAW): %%BoundingBox: 57 230 495 728 does not normally include all the graphics plotted by PSVDRAW. The bounding box is specified in units of points from the lower left corner of the page, the four numbers are, respectively, the minimum x and y and maximum x and y coordinates. The bounding box now specified in "pro.ps" is: %%BoundingBox: 0 0 572 791 which is the area of overlap between European A4 page format and US Letter format. This definition should solve the problem for most plots generated by psvdraw. ADOBE and COREL users should recopy the file "pro.ps" and place it in any directory where PSVDRAW is executed. For unusual plots where text or data is drawn beyond the limits of the bounding box ADOBE and COREL users should modify the bounding box accordingly. Affected files: pro.ps =========================================================== PSVDRAW under LINUX, Oct 18, 1998. GNU Fortran does not support the intrinsic fortran functions COSD and SIND called from pslib.f and gives an error during linking. The problem has been resolved by replacing the calls with COS and SIN. The sources have been updated. Affected files: psvdraw.f, pslib.f Affected programs: psvdraw. =========================================================== VERTEX BUGS, Oct 9, 1998. Two problems in calculations for one component, or highly degenerate systems, have been repaired. Tar and Zip archives have been updated. The problems were: 1) The new version of vertex gave a run-time error for any calculations with only one thermodynamic component. 2) In highly degenerate systems, new and previous versions of vertex could fail to locate stable univariant equilibria in Schreinemaker's diagrams if a univariant equilibrium intersected two edges of the diagram. Although errors of omission are still possible (usually indicated by warnings from vertex), this particular error is not. Affected files: vertex.f Affected programs: vertex. =========================================================== EXECUTABLE PROGRAMS IN IBMPC_NO_OPT.ZIP ARCHIVE, Sept 25, 1998. Despite the name of this archive, the executable programs were compiled with what Microsoft Fortran calls full optimization. This optimization appears to cause an error in a routine (chkphi in rlib.f) used by the new versions of build, frendly and vertex compiled after Sept 10, 1998. The executable programs have been recompiled with the optimization options /Op and /Ob2 and tested without error. The IBMPC_NO_OPT.ZIP archive has been updated. =========================================================== HP98VER.DAT COMMENT, Sept 10, 1998 - Several users have reported problems with the HP98VER.DAT data base. These are the stability of molten silica at low temperature, and the unrealistically large stability field of laumontite is. These problems, which R. Powell is aware of, appear to be intrinsic to the data (Holland and Powell, JMG, 1998). A temporary solution to these problems is to exclude the phases in question from computations. =========================================================== PERPLEX '98 REVISION, Sept 10, 1998: Tar and Zip archives updated. The Mac version of PERPLEX has not been updated. CHANGES IN THE NEW VERSION OF PERPLEX INCLUDE: 1) The affected programs are: VERTEX BUILD FRENDLY PSVDRAW The affected files are: vertex.f build.f frendly.f psvdraw.f actcor.f rlib.f flib.f tlib.f The affected documents are: vdoc.ps README.PERPLEX makefile The file vlib.f is obsolete. Be sure to eliminate this file reference from compilation scripts. 2) The earlier version of FRENDLY did not allow users to make linear combinations of phases described by nonlinear volumetric equations of state (e.g., the Murghnahan EoS). This restriction is generally valid, but in the data bases published by Holland and Powell (JMG, 1998; hp96ver.dat and hp98ver.dat), the pressure derivative of the bulk modulus is assumed to be equal and constant for all phases. With this assumption, it is permittable to make linear combinations. Accordingly, FRENDLY has been modified to allow this. 3) The structure of all input and output files is unchanged. However, ealier versions of BUILD wrote comments after the component names in the "computational option" file. These comments will cause the new version of VERTEX to crash. Either re-make the computational option files with the new BUILD program, or remove the comments by editing. 4) A simpler algorithm for the computation of phases as a function of composition. The algorithm is slightly less efficient than the previous algorithm, but has the advantage that it is easily generalized to any number of thermodynamic components. the maximum number of thermodynamic components is specified by the parameter K5, currently set to 12. 5) The simplified algorithm eliminates about 3000 lines of code, requires an order of magnitude less memory, and allows for a much simpler parameter structure. For most purposes the critical parameters are (current values in parenthesis): k1 (2000 ) maximum number of phases (or pseudocompounds) k2 (3000 ) maximum number of high variance (p>c) equilibria k10 (200 ) maximum number of stoichiometric compounds j9 (40000) maximum number of low variance (p5 thermodynamic components (not very likely). To correct the error recopy file vertex.f and recompile, or in your copy of vertex.f, replace the following line in subroutine simpl6 (line 3495): call dgdegn (zpot,id6(j,l)) with: call dgdegn (zpot,id6(l,j)) =========================================================== VERTEX/TERTEX BUG. Dec 6, 1996. VERTEX/TERTEX Bug for fixed bulk composition calculations, this bug resulted in incomplete diagrams under certain conditions (degeneracy). The only effected file is vlib.f (subroutines bulkun and sfol2). =========================================================== Unix tar_gzip archives updated. Nov 26, 1996. =========================================================== IBM Zip archives updated. Nov 26, 1996. =========================================================== VERTEX/TERTEX BUG. Nov 26, 1996. VERTEX/TERTEX Bug, the correction for these programs made on Sept 12 introduced new problems that causes the programs to fail to compute complete diagrams. I believe the code should now work properly, but I haven't tested it on a wide range of problems. The only effected file is vlib.f and the only effected routine is wway. If you do not want to recopy PERPLEX you can (usually) avoid the bug by reducing the default variable increments in the computational option file created by build. Mac/IBM/tar archive files have not been updated. =========================================================== PC-Windows 95/NT PERPLEX programs are now available (from me) for windows 95/NT systems. Nov 18, 1996. In directory /home/jamie/www/perplex/ibmpc. =========================================================== TWQ DATA BASE ADDED. Nov 18, 1996. A new TWQ data base revision by Berman and Aranovich has been formatted for PERPLEX in file ba96ver.dat. Mac/IBM/tar archive files have not been updated. =========================================================== TWQ DATA BASE ERROR. Nov 18, 1996. The species H2O in file b92ver.dat was for the liquid reference state, not, as expected by the PERPLEX programs, for an ideal gas reference state. The error has probably been in the file for at least one year, and possibly since late 1994. Mac/IBM/tar archive files have not been updated. =========================================================== VERTEX, FRENDLY, BUILD, COHSRK. Sept 20, 1996. Mac applications updated in the following archives: PeRpLeX.68000.sit.Hqx PeRpLeX.68030.sit.Hqx PowerPC versions have not been updated. =========================================================== BUILD, FRENDLY, VERTEX and any programs that use, or identify, fluid equations of state. Sept 18, 1996. Some high-pressure fluid equations of state have been added. affected files: flib.f IBM/Mac versions have not been updated. =========================================================== BUILD UPDATED. Sept 17, 1996. Bulk composition options improved. affected files: build.f IBM/Mac versions have not been updated. =========================================================== VERTEX/TERTEX BUG. Sept 17, 1996. The "correction" for the Mar 24, 1996 bug listed below, introduces a new problem, namely, that the chemical potential of a saturated phase component may have a finite value when the amount of the component is zero (e.g., the chemical potential of CO2 in an H2O-CO2 fluid is not zero when X(CO2) = 0, thus vertex may allow carbonates to be stable with a pure water fluid). You can avoid this bug by setting the limits for X(CO2) to values slightly different than 0 and 1, e.g., 0.000001 and 0.999999. Alternatively recopy the following files and recompile tertex and vertex: vertex.f, tertex.f, vlib.f IBM/Mac versions have not been updated. =========================================================== VERTEX, TERTEX, Sept 12, 1996. VERTEX/TERTEX frequently issue warnings (**warning ver045**) that more than one equilibrium occurs withing the minimum search increment, this problem may result in incomplete phase diagrams, particularly in mixed-variable type phase diagram calculations. In old versions of these programs the problem can be corrected by reducing the default variable increments (assigned in the computational option file, normally by BUILD). The problem has now also been corrected in the fortran code. The effected code is that of subroutine SEARCH in the file vlib.f. IBM/Mac versions have not been updated. =========================================================== SPECIES. July 5, 1996. Species has been made a little more user freindly, the only affected source file is species.f. Mac versions have not been updated. =========================================================== CORK BUG. June 28, 1996. Perplex programs running with Holland & Powell's CORK equation of state (CMP 109:265) crash at high-T. This occurs because at high-T CORK can yield three roots (strange but true), and Perplex automatically chooses the lowest density, which in this case turns out to be negative. To correct this bug replace the following lines in file flib.f (subroutine crkh2o), this correction is sort of ad hoc, since I don't know if the false roots are always negative, but it's a good bet, otherwise CORK has a serious problem: if (p.lt.psat) then vol = xmax else vol = xmin end if end if cc = a/b/rt/t12 with: if (p.lt.psat) then vol = xmax else if (t.lt.700.) then vol = xmin else do 1 i = 1, 3 if (x(i).gt.0.d0) then vol = x(i) goto 2 end if 1 continue end if end if 2 cc = a/b/rt/t12 =========================================================== Mac PowerPC Applications. June 26, 1996. Thanks to Lukas Baumgartner, there are now PowerPC applications available in the macapps directory. =========================================================== ANONYMOUS FTP. June 21, 1996. We (at last) have anonymous ftp, to copy perplex using this utility log on to eurasia.ethz.ch and change directory to /pub/perplex. =========================================================== DATAFILE BUG. May 29, 1996. Some data files contain fictive entries (composants, e.g., k2o, al2o3). To prevent these fictive composants from destabilizing real phase relations I have generally assigned them large positive standard state Gibbs enrgies (1d12). However these values are so large that round-off may cause a computational error that vertex reports as error 917. To correct this error reduce the standard state Gibbs energies of fictive composants (values 6 orders of magnitude above those of real phases should be a safe bet). =========================================================== VERTEX/TERTEX/SWASH BUG. May 22, 1996. These programs may not compute the properties of solutions involving endmembers which have lambda-type transitions or temperature dependent disorder as treated by Holland & Powell. I have yet to verify this, but if this is true, the effect is to destabilize intermediate compositions of the solution in question. A simple, temporary, solution to this problem is to avoid the use of such solutions, e.g., use a high feldspar model (Kf(h)) instead of one that involves the endmembers with variable order (Kf), the difference is in any case minor. =========================================================== LIAM BORN. Mar 29, 1996. =========================================================== TERTEX BUG. MAR 28, 1996. When the user opts to specify the initial assemblage, if this assemblage is metastable or compositionally degenerate TERTEX does not inform the user, but rather prints a message that no stable equilibria have been identified. To correct this error copy files tertex.f and tlib.f and recompile tertex. (The new version of TERTEX also prints better progress diagnostics). =========================================================== VERTEX/TERTEX/FRENDLY BUG. MAR 24, 1996. This bug occurs when a saturated phase is specified and one of the possible components of the saturated phase is specified as a mobile component, e.g., when a water fluid is specified as being saturated and the chemical potential of CO2 is taken as mobile. The bug may cause the chemical potential of the mobile component to be set to an arbitrarily low, constant, value and leads to an obviously incorrect diagram. To correct this bug replace the following line in files tertex.f and vertex.f (subroutine ufluid): uf(i) = -9.9d09 with: uf(i) = 0.d0 =========================================================== POSTSCRIPT CONVERTER PROGRAM FOR UNIX. MAR 19, 1996. I had sworn to stop reporting these things, but here is one last converter, AIMAKER. AIMAKER converts generic postscript, such as that generated by PSVDRAW, to something which can be edited ADOBE or CorelDraw editors. AIMAKER is nice because, it is small, self-contained, general, and free. The installation script and instructions are in file aimaker.shar in my graphics directory. Another free graphics editing tool for UNIX users is tgif, in combination with the conversion script pstoedit. For other graphics possibilities read files PERPLEX.UPDATE.OLD and README.PERPLEX. =========================================================== SWASH BUG. MAR 19, 1996. This bug may cause SWASH to output parameters for a "Lambda" transition, when none is appropriate. The resulting thermodynamic data file is then inconsistent and cannot be read by PERPLEX programs. To correct this bug, after the lines in file swash.f (subroutine soldme): if (ilam.ne.0) then c determine number of transitions from to: if (ltyp(iphct).ne.0) then c determine number of transitions from =========================================================== COHSRK BUG. MAR 13, 1996. For calculations with the H2O-CO2 equations of state, COHSRK prints the volume computed with the MRK equation of state. The correct volume can be computed with FRENDLY or RK. To correct this bug, after the lines in file cohsrk.f: c output results: igo = 1 add the lines: xfh = fh2o xfc = fco2 and replace the lines: c as written many of the c binary H2O-CO2 routines do c not calculate volume. The c volume of the fluid from these c routines can be calculated by c evaluating (dg/dp) by finite c differences, this is done in c the PERPLEX program RK, but I c was to lazy to do it here. if (ifug.lt.2) write (*,1300) vol with: c increment pressure for c finite difference estimate of c volume: p = p + 1. call cfluid (fo2, fs2) write (*,1300) 83.14*t*((1.-xo)*(fh2o-xfh)+xo*(fco2-xfc)) =========================================================== SEE PERPLEX.UPDATE.OLD FOR AN UPDATE FILE CONTAINING NOTICES FROM 8/94-4/95.