To use this program in any useful manner, you will need to license a copy of the ICDD-JCPDS database from the International Centre for Diffraction Data. So that you can get an idea of how the program works, a small amount of [ficticious] sample database entries have been included in the distribution so that people who have not purchased the database can get a feel for how this software works. The ICDD-JCPDS database is required in PDF-2 (also known as NIST*AIDS-83) format. This is normally provided as a file on CDROM, but the file can exist on any device. Note that is a "80 character fixed-record-length" file, which means it has no new-line characters. Thus it is a somewhat non-standard ASCII file. However, if the ICDD CDROM is mounted as a standard ISO9660 device, the file can be read using direct-access read statements.
mkdir logic cd logic
or latest version: ftp://ftp.ncnr.nist.gov/pub/cryst/powdersuite/powder_suite_alpha.tar.gz.
gunzip < powder_suite.tar.gz | tar xvf -
make sgior
make linuxor
make hpCheck to see that make does not stop due to compiler or linker errors.
If you have problems, you may need to edit file Make.inc. and then use make all. See below for more information.
Change file "files.loc" The three lines in this file are:
the location for output files the location of file pdf2.dat (on the CDROM) (for future use) the location of a local database fileBuild the PDF database. Use command:
make installNote that this starts a script in background (encode.unix) that may take several hours to complete.
Review file "encode/encode.out" to see that the three programs ran correctly. See file encode-testdata.out for a sample of how the file should appear.
If you want to test the software but do not have a copy of the JCPDS database you can use command
make testdataNote that this starts a script that will take at most a few minutes to complete.
Review file "encode/encode.out" to see that the three programs ran correctly. See file encode-output-testdata for a sample of how the file should appear.
logic
Note: you may want to edit the contents of file copynotice to customize any details of licensing for your site. Users will see the contents of this file only once. (The message will appear whenever file ~/icdd.not is not present).
If you have problems, you may need to edit file Make.inc. and then use make all. Below are the symbols used in this file.
FC | FORTRAN compiler |
CC | C compiler |
F2CLIB | libraries needed by FORTRAN programs |
FFLAGS | FORTRAN compiler command-line options |
CFLAGS | C compiler command-line options |
TCLLIBS | defines libraries needed for linking the Tcl shell |
TKLIBS | defines libraries needed for linking the Tk shell |
SHARECMD | command used to build shared (loadable) libraries |
SHARELIB | extra libraries needed to build shared libraries |
SHSUFFIX | suffix assigned for shared libraries |
LIB | name of logic subroutine library |
TCL_CFLAGS | defines locations for TCL include files |
TK_CFLAGS | defines a command line option needed to compile the Tk shell |
NAMEOPTION | Compiler flags that determine the naming conventions used in C for FORTRAN subroutines. (See below) |
ONESCORE | where one _ is appended The SGI f77 compilier adds an underscore (_) to the names of FORTRAN subroutines. |
TWOSCORE | where one or two _ are appended The GNU g77 compilier adds an underscore to the names of FORTRAN subroutines except in the case of names that already contain an underscore, g77 adds two. |
NOSCORE | where no _ are appended The HP fort77 compilier does not add any underscores. |
BIT16 | used for 16 bit operating systems (are there any?) |
BIT32 | used for 32 bit operating systems |
BIT64 | used for 64 bit operating systems (none have been tested) |
-D is assumed as command line option used by the C compiliers to set preprocessor options from the command line.
In file encode/logicmap.h one of three preprocessor options is used to determine how to remap the names of subroutines.
If you see error messages of with undefined references to subroutines named ps_* or psl_* you have likely selected the wrong option here.
Brian Toby (Brian.Toby@NIST.GOV)
1/2000