MSEL, NIST Center for Neutron Research Materials Science and Engineering Laboratory NIST Center for Neutron Research National Institute of Standards and Technology
Home XTAL BT1 Instruments Search SiteMap

The Portable LOGIC program

LOGIC a program for searching the JCPDS/ICDD database for entries matching constrants such as: chemistry, element count, peaks in particular locations. It requires the Tcl/Tk package. It has been tested on SGI, LINUX, and HP UNIX computers and under Windows-95. It should run on any platform where Tcl/Tk runs, but may require minor tweaking. (Click here to volunteer.)

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.


Windows-95 Installation Instructions

Some out-of-date instructions can be found in file ftp://ftp.ncnr.nist.gov/pub/cryst/powdersuite/INSTWin95.

UNIX Installation Instructions

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.

Makefile Symbols

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)

COMPILATION SYMBOLS

There are differences the naming conventions by different FORTRAN and C compilers. To allow the code to be used on different platforms, two C macros must be defined account for this a header file (encode/logicmap.h) defines three different methods for remapping preprocessor options. These options are normally controlled by setting the NAMEOPTION variable.
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.


Neither the author nor the U.S. Government makes any warranty, expressed or implied, or assumes any liability or responsibility for the use of this information or the software described here. Brand names cited here are used for identification purposes and do not consitute an endorsement by NIST.

Comments, corrections or questions: [email protected]
Last modified 12-April-2002