[ previous ] [ contents ] [ next ]


Accessing saved results

Using main part «files», ar-HRT-1 always saves results in its special format, relying on one of several low-level modules for defining the file. In order to reliably access the data, you need a program sharing that same main part «files» and - for the NonPortable format - compiled with the same compiler on the same platform. One suitable such program is provided as the arfg application «iso2ascii» (file util.arfg/iso2ascii.arfg).


Usually you will compile the program as the last step of the installation process. Compilation is analogous to the usual compilation process of ar-HRT-1 but somewhat simpler due to the lack of alternative main part implementations. Change to directory util.arfg, and make sure that .compile-time-parameters does not define `__quiet__'; issuing, e. g.,

make program

should build the following files:

Compiled Fortran 90 program for reading results saved using ar-HRT-1's module StructuredIO and writing selected fields in human-readable form.
Compiled Fortran 90 program for converting between low-level file formats; obviously, this can only work for the NonPortable format if the same compiler is used on the same architecture that the data was written at.
Wrapper script for util.arfg/.f90/hrt.iso2ascii.
Conversion of the results of util.arfg/hrt.ascii into Mathematica-compatible form.
Wrapper script for util.arfg/.f90/hrt.iso2ascii, using util.arfg/hrt.ascii2mma to convert the ASCII output into Mathematica-compatible form.
Wrapper script for util.arfg/.f90/hrt.iso2iso, for converting between different encodings.


Due to the lack of support for command line arguments in the current Fortran standard [35] it is more convenient to use the wrapper scripts util.arfg/hrt.ascii and util.arfg/hrt.mma instead; also, these will generally try to guess the low-level file format and hand the appropriate information to the Fortran program.

Isotherm-reading scripts

Calling these scripts with the option --help prints a short summary of the available options and syntax. Otherwise, the first command line argument must be the name of the file to be read; if you want to access the general (i. e., density-independent) informaton stored in the file, use option --head next; the remaining arguments are interpreted as patterns for the documentation strings of the stored data. These patterns match if the given string is a substring of the documentation string, with a caret (^) and a dollar sign ($) additionally matching the beginning and end, respectively, of the documentation string.

Thus, e. g.,

util.arfg/hrt.ascii file --head ^rho kapp

will dump the general information (--head) stored in file, followed by a list of the densities and inverse compressibilities for all the densities where a solution was generated and saved. Note that substituting rho for ^rho yields a list of all fields the documentation strings of which contain the string rho. For the NonPortable file format, the standard Unix command strings is likely to allow finding any embedded strings.

Semi-automated determination of phase diagrams

util.arfg/ar-Phase is a Perl script for repeatedly calling ar-HRT-1 to calculate a set of isotherms and report on the results so obtained; use util.arfg/ar-Phase --help to get a short summary of all the options provided.

This script is particularly useful for looking for the critical temperature of a system (option --locate) or for calculating several isotherms in a given β = 1/kB T interval (options --cover, --sub, and --super). Note, however, that there is no built-in heuristics for determining whether a given isotherm is to be considered converged; instead, any isotherm that does not contain negative compressibilities is taken to be converged. For the criterion for locating the binodal see [17, 19]. Also, the criterion for locating the binodal may be inadequate for very fine density grids.

The script util.arfg/hrt.ascii is looked for in the same directory where ar-Phase itself is stored; using links is thus likely to break the script.

Also note that the script expects the options files to be set up as shown in the installation instructions.

Importing phase coexistence data into Mathematica

util.arfg/hrt.phase-mma can be used to generate Mathematica expressions summarizing phase coexistence data. Note that the script ar-Phase is looked for in the same directory where util.arfg/hrt.phase-mma itself is stored; using links is thus likely to break the script.

[ previous ] [ contents ] [ next ]

Copyright © 2002-2003 by Albert REINER. All rights reserved.

URL: http://purl.oclc.org/NET/ar-hrt-1/current/utils.html

URL: http://purl.oclc.org/NET/ar-hrt-1/5.20030128a/utils.html

2003-01-28 18:25:58