Crystallographic Information Framework

Release Name: xtal-3.7.2


Xtal 3.7.2 is the first release of The Gnu Xtal System.
Xtal is distributed under the GNU general public License.
See the license for details.
Whats Gnu you may ask? Well, see the change log for that!

3.7.2 is the latest offering in unofficial unsupported Xtal software.

NOTE: Use fix2 for Win32, which apparently didnt shutdown the
dynamically loaded dll tcllib.dll cleanly, as became manifest under Win98.
Also post-last minute changes to OUTSRC to dump Friedels then
trashed the .hkl file when no Friedels were present. Now fixed and
correct ZERR value inserted in SHELX .ins value. Foobah humbug.


Xtal should work well/identically under both linux and MS Windows.
Windows support was implemented using the Cygwin build environment,
(thanks guys!) but the xtal binary itself does not maintain any
Cygwin dependencies i.e. you should not need Cygwin installed to
run Xtal 3.7.2 in a MS Windows environment.

On the other hand the linux binary version is suffering from
transitional C-library dependencies. So if the run time loader
complains about missing libs, you now know why.
Grab the sources and build it yourself!

Xtal also maintains a dependency on Tcl/Tk, and with the inclusion
of a grossly experimental SURFIN program, on OpenGL libraries also.
However, the Tcl/Tk dependence is now customizable to a great extent.
By setting the XTALTCLLIB and XTALTKLIB environment variables you
should be able to select the specific dynamically loaded link library
you wish to use at execution time. In principle any version of
Tcl/Tk>=8.2 should be perfect. However, having built the xtal binaries
against tcl/tk 8.4, one glitch has manifested when linked against
tcl8.2 (dll and so). Specifically, the second invokation of an
Xtal windowing program fails to create a new Tcl interpreter and subsequently
terminates the xtal process. This doesn't occur when linked against
tcl8.3 or tcl8.4 (dlls and .so), to the best of my limited knowledge.
So I recommend upgrading whatever tcl distribution you have to 8.3 or
greater ...

Xtal is also dependent on ciftbx2.6.3
Xtal is also dependent on the Togl Tcl/Tk OpenGL interface
Xtal is also dependent on the atomic scattering data of Prof. S. Sasaki

Thanks to those authors and software's developers for permitting such
useful data and programs to be included with this distribution.


It has only really been tested under linux and MS windows, and even there
somewhat sparingly ...

On other platforms, you will inevitable have to edit the makefiles to
accomodate recent changes.

If you try to build it on an Alpha True64 Unix platform, watch out for
mx30.r. It needs special compiler options to reverse the endianness
of the file reading, considered optimal by the Wien2k folks ...
(Most people needn't bother about this!).


Probably the primary rationale for this Xtal release was to provide an
interface to WinGX and its vast array of other supported softwares
within the MS windows environment. Louis Farrugia very kindly helped
out with advice, examples and code. Installation works pretty much
like this:

Xtal must be installed first. Especially, Xtal must be installed with the
XTALHOME/XTALTCLLIB etc variables set globally via the MS windows menu
Start->Control Panel->System->...
After Xtal is installed WinGX should be installed/re-installed.
If WinGX is re-installed, it does not rescan the file system for new supported
programs unless the original wingx.ini file is deleted, by you.
So you should definitely do that.

WinGX operates assuming that a common parent folder (directory) exists
containing separate folders for every jobname/experiment/compound being studied.
Each "jobname" folder is a WinGX "working directory" for that job.
To run an Xtal job from within WinGX, a subfolder called "xtal" will be created
within each WinGX "job" folder (as the need arises, and if you haven't already
created it yourself) and all Xtal processes invoked from WinGX are run there.
All WinGX xtal jobs are invoked with the default compid, i.e. "compid xtal",
so if you start mixing different Xtal studies in the same directory, you're
headed for trouble!

WinGX comes with slots for 20 customizable Xtal commands. You can control their
functionality by editing the C:\wingx\files\xtalcom.dat file.
Unfortunately the biggest hurdle for existing Xtal users will be
migrating their xtal data to WinGX .ins format initialy, in order to
activate the WinGX Refine->Xtal command functionality.

The new Xtal program OUTSRC should be useful in this respect. It exports Xtal
data into SHELX format .ins and .hkl files. You will however need to copy it
back up to the WinGX "job" folder, and no doubt rename the files to job.ins and
job.hkl before exporting back to xtal to activate the
WinGX Refine->xtal functionality.

And remember, in any graphics modes, check the NUM-LOCK key because its an
X11 mouse click modifier and nothing works when the lock is engaged!


The Gnu Xtal System, 3.7.2, is covered under the Gnu General Public License.
It may not work at all. If it doesn't, please fix it and submit patches
using the resources at


Thanks also to you the potential users, for testing this software.
It would be gratifying to to know that it was being used and that the effort
wasn't entirely wasted. It's hoped also that some folk might even
be inclined to actively participate in the ongoing development of Xtal.
It could use some new, dedicated, management ...

Best regards,

the team.

This is the CVS changelog since 3.7.1

In a nutshell:

The new DocBook manual has been added to the distribution.
Now there is a PDF version as well as HTML.
A few new programs were added, mostly irrelevant to existing users.
The exceptions are:
ADDREF now culls fractional indices which arise in transformations.
PLOTX can write to a specific filename
OUTSRC and SHELIN were added/modified for WinGX/SHELX compatability.
DIFDAT now supports the SHELX format .hkl file and Rigaku RAPID f2plus
(stored as f^2 and not irel)
EXPAND was added to aid in symmetry transformations
SURFIN may be useful for quick and dirty difference density checks.
POWGEN calculates powder patterns from frel and fcal
STARTX now finds absorption and dispersion factors automatically
(Dummy atom types can be entered with Z=0 and void weight.)
CIFIO cifout has been fiddled a bit to improve cifreq file support
Hopefuly in conjunction with ADDREF and SORTRF some CIF file problems
with absolute structure have been circumvented.

2003-03-11 22:00 doobs

* os.r: fix SHELX ZERR and recently fluffed Friedel refln .hkl

2003-03-10 21:38 doobs

* tkxtal.h: Damn! forgot to commit!

2003-03-04 01:00 doobs

* os.r: modify shonky code for no atoms in lratom:

2003-03-04 00:39 doobs

* Makefile.cyg: include local lnblnk.c for path names with blanks
in cygwin

2003-03-03 21:47 doobs

* fs.r: nothing significant

2003-03-03 21:45 doobs

* po.r: Fix bdf file IO bug. After POWGEN FOURR died opening BDF 3

2003-03-03 21:43 doobs

* tklib.c: fix fixed dll fix for cygwin %0&!

2003-03-03 21:41 doobs

* os.r: ensure Friedels get dumped from packed lrrefl: data

2003-03-02 00:11 doobs

* tklib.c, xmacro.r: avoid multi dlload, dlclose on multi windowing
prog program runs

2003-02-28 21:28 doobs

* bitws.c, datim.c, lnblnk.c, sf.r: last minute updates before

2003-02-27 23:32 doobs

* Makefile.alf: update for the Wien2k endian-ness problem + ...
Quite likely it doesnt work

2003-02-27 23:15 doobs

* sh.r: parse SHELX .ins file Q-type atom sites into an xtal .pek
file for PIG

2003-02-27 02:24 doobs

* man/sgml/images/: Make.images (1.1), ax-e12.png (1.1), ax-e13.png
(1.1), ozy.jpg (1.1), surfin.png (1.1): Add new figures for
xtal3.7.2 Docbook manual

2003-02-27 02:18 doobs

* man/sgml/images/: book.gif (1.2), constrct.gif (1.2),
questionbook.gif (1.2), rainbow.gif (1.2): remove irrelevent images

2003-02-27 02:09 doobs

* man/sgml/docbook/tex/: Makefile (1.1), (1.1),
jadetex.cfg.pre (1.1): Add sources required to generate PDF output
from tex, via jadetex.

2003-02-27 02:04 doobs

* man/sgml/docbook/: Makefile (1.1), htmlsymbols.ent (1.1),
tablestyles.ent (1.1), xtal.dsl (1.1), xtal.sgml (1.1),
xtalbook.sgml (1.1), xtalweb.sgml (1.1): Add revised DocBook
sources and dsssl transformation code for the xtal3.7.2 manual

2003-02-26 01:37 doobs

* src/mx.r (1.2): fix atom label from wien2k and rename density
file .3dmap

2003-02-26 01:34 doobs

* src/ad.r (1.3): pass dummy atoms with voidflg:/0.0 weight and z=0

2003-02-26 01:32 doobs

* src/surfin.c (1.2): SOLARIS specific compile flags

2003-02-15 22:57 doobs

* src/os.r (1.4): REM DISP added for SHELXS, which apparently
doesnt like the DISP lines needed by SHELXL

2003-02-15 00:07 doobs

* src/sx.r (1.4): fix dummy atom types (Z=0) and f',f'' input flags

2003-02-14 23:53 doobs

* bin/ (1.2): remove redundant relic script from xtal 3.5

2003-02-14 23:51 doobs

* bin/xtal (1.2): Using Tcl/Tk stubs we need to specify the Tcl/Tk
libraries to load at runtime

2003-02-14 22:34 doobs

* lib/: powgen.tcl (1.3), surfin.tcl (1.2): erase puts from tcl.
cant use with no console under windows

2003-02-14 22:32 doobs

* lib/xtalpov (1.3): fix for povray 3.5

2003-02-13 00:37 doobs

* bin/xtal.bat (1.1): add driver batch command file for MS windows

2003-02-13 00:31 doobs

* src/Makefile.cyg (1.3): update makefile for SURFIN under cygwin

2003-02-12 23:02 doobs

* src/pa.r (1.2): a few modifications. hopefully nothing is more
broken now than it was

2003-02-12 22:53 doobs

* src/ax.r (1.2): short circuit non-integral hkl twin contributions
to fcal

2003-02-12 22:46 doobs

* src/ed.r (1.3): add tolerance param to smooth transition from low
to high symm

2003-02-12 22:23 doobs

* src/os.r (1.3): fix wrong sigma in .hkl file

2003-02-12 22:20 doobs

* src/dd.r (1.3): fix RAP file format bug

2003-02-12 02:01 doobs

* src/Makefile.lnx (1.4): Updated for SURFIN

2003-02-12 01:53 doobs

* src/XMACRO (1.3): Remove redundant

2003-02-12 01:46 doobs

* lib/surfin.tcl (1.1), src/aa.r (1.6), src/sf.r (1.1),
src/surfin.c (1.1), src/tklib.c (1.3), src/tklib.h (1.3),
src/togl.LICENSE (1.1), src/togl.c (1.1), src/togl.h (1.1): Add new
Tcl/Tk/Togl/OpenGL based program - SURFIN - for 3D isosurface

2003-02-12 01:26 doobs

* src/xmacro.r (1.2): minor mod prior to 3.7.2 release

2003-02-12 01:19 doobs

* src/sx.r (1.3): added an extra check for atomtype.cif use

2003-01-29 01:01 doobs

* src/: ar.r (1.4), sr.r (1.2): Store crystal class unique
reflections, even when packed, and not Laue unique reflection
numbers, i.e. number of refln packets. Needed for correct
reflection numbers for xabs on CIF.

2003-01-29 00:53 doobs

* lib/atomtype.cif (1.1): S. Sasaki's multiwavlength data, along
with other atomic info in CIF format for STARTX/sx.r

2003-01-29 00:49 doobs

* src/sx.r (1.2): Externalised all builtin data tables in
atomtype.cif along with Sasaki's multiwavelength support. Now its
somewhat slower to initialize.

2003-01-29 00:43 doobs

* src/: Makefile.lnx (1.3), XMACRO (1.2), pg.f (1.2): deleted
redundant file

2003-01-08 01:15 doobs

* src/Makefile.cyg (1.2): missed dm.r from source list

2003-01-07 23:16 doobs

* dev/: (1.1), (1.1): man pages might be useful!

2003-01-07 22:38 doobs

* src/: makefile (1.2), makefile.cra (1.2), makefile.cvx (1.2),
makefile.dec (1.2), makefile.hp (1.2), (1.2),
makefile.lnx (1.2), makefile.sgi (1.2), makefile.sny (1.2),
makefile.sun (1.2): Removed redundant ancient original 3.4
makefiles which keep conflicting with newer ones.

2003-01-03 01:15 doobs

* dev/readme (1.1): A few stray ends that need tying eventually.

2003-01-03 01:12 doobs

* dev/xtal_arc.dic (1.1): thinking about an xtal-archive CIF

2003-01-03 01:10 doobs

* dev/xtal.h (1.1): just thinking about a persistent in mem data

2003-01-03 01:08 doobs

* dev/pa-II.r (1.1): unfinished second attempt at stereographic

2003-01-03 01:07 doobs

* dev/: pa-I.dat (1.1), pa-I.r (1.1): added multi-stereoscopic
crystal reconstruction prog and data

2003-01-03 01:04 doobs

* dev/: rigby.r (1.1), rigby.dat (1.1): added RIGBY rigid body TSL
vibration analysis program and data

2003-01-03 01:01 doobs

* dev/: ed.pow (1.1), ed.dat (1.1): add example data for testing

2003-01-03 01:00 doobs

* dev/: rt.r (1.1), pw.r (1.1): Add RIETVD and PLTPAT sources of G.
Kruger et al.

2003-01-03 00:42 doobs

* lib/ciftbx (1.2): removed redundant

2003-01-03 00:40 doobs

* lib/xtalps (1.2): modified the default font encoding to manually
add Angstrom \342 symbol

2003-01-03 00:38 doobs

* lib/xtalpov (1.2): moved overhead lighting offcentre to avoid
unit cell reflections

2003-01-03 00:36 doobs

* lib/xerror (1.2): add error lists for DYNAMO

2003-01-03 00:35 doobs

* lib/powgen.tcl (1.2): bug fix

2003-01-03 00:27 doobs

* src/Makefile.lnx (1.2): updated makefile for new progs and tcl/tk

2003-01-03 00:17 doobs

* src/: Makefile (1.2), Makefile.cyg (1.1), xtal.rc (1.1):
additions for cygwin build environ for MS windows

2003-01-02 23:53 doobs

* src/: ciftbx.f (1.2), ciftbx.sys (1.2), hashfunc.f (1.2): Upgrade
to ciftbx 2.6.3

2003-01-02 23:43 doobs

* src/: tklib.c (1.2), tklib.h (1.2): tcl link library version
independence -use stubs + capture stdout

2003-01-02 23:34 doobs

* src/fs.r (1.2): modification to use DYNAMO Fmd phase set

2003-01-02 23:26 doobs

* src/: aa.r (1.5), mx.r (1.1): Added new program MAPXCH to read in
Wien2k and ABINIT density maps.

2003-01-02 23:15 doobs

* src/: aa.r (1.4), cm.r (1.1): Added new program SCATOM to
deconvolute the atomic form factor from structure factor info

2003-01-02 23:10 doobs

* src/: aa.r (1.3), dm.r (1.1): Added new program DYNAMO to
calculate average molecular dynamics structure factors

2003-01-02 22:53 doobs

* src/sh.r (1.3): fixed another bug - absent FVAR lines in .ins
file, trigger on MOLE also

2003-01-02 22:50 doobs

* src/pp.r (1.2): print shortest harker-origin vector distance

2003-01-02 22:41 doobs

* src/po.r (1.3): crude scaling and fixed calculated Frel pattern
(single crystal)

2003-01-02 22:37 doobs

* src/os.r (1.2): bug fixed macros

2003-01-02 22:35 doobs

* src/fd.r (1.2): stripped redundant empty comments

2003-01-02 22:35 doobs

* src/fc.r (1.2): added dubious (optional) functionality

2003-01-02 22:30 doobs

* src/ed.r (1.2): added site match distance tolerance

2003-01-02 22:27 doobs

* src/ar.r (1.3): revised treatment of fractional hkl
transformation indices

2003-01-02 22:26 doobs

* src/ap.r (1.2): read another obscure powder file format

2002-11-20 01:28 doobs

* src/aa.r (1.2): Nucleus calls EXPAND/OUTSRC. modified printfile

2002-11-20 01:20 doobs

* src/os.r (1.1): OUTSRC new program to export refln and atom info

2002-11-20 01:16 doobs

* src/ed.r (1.1): EXPAND new program to expand/contract lratom: for
dependent sites

2002-11-20 00:22 doobs

* src/cn.r (1.2): optionaly draw atomic bonds and partial fix for
divergent contours.

2002-11-19 23:46 doobs

* src/sh.r (1.2): enabled new SHELX file access logic

2002-11-19 23:44 doobs

* src/dd.r (1.2): .tsu file smoothing for hardware glitch + read
SHELX .hkl files

2002-11-19 23:26 doobs

* src/ad.r (1.2): rewrote lratom: archive transfer logic

2002-11-19 23:23 doobs

* src/cf.r (1.2): modified cifreq template useage

2002-11-19 23:22 doobs

* src/pg.r (1.2): optimization bug fix

2002-11-19 23:20 doobs

* src/px.r (1.2): write to specified file besides

2002-11-19 23:13 doobs

* src/pv.r (1.2): bug fix reentrant streaming

2002-11-19 23:11 doobs

* src/rv.r (1.2): expand possible plot fields

2002-11-19 23:09 doobs

* src/po.r (1.2): calculate pattern from measured frel

2002-11-19 23:07 doobs

* src/xt.r (1.2): print synch radiation, bug fix

2002-11-19 23:06 doobs

* src/ge.r (1.2): strip redundant comments

2002-11-19 23:04 doobs

* src/fb.r (1.2): rfourr archive writing bug fix

2002-11-19 23:02 doobs

* src/cp.r (1.2): bugfix for voidflg: evals - kills fourier calcn

2002-11-19 23:00 doobs

* src/cb.r (1.2): add calculated diffractometer angles to archive

2002-11-19 22:58 doobs

* src/ar.r (1.2): added print dval lattice spacing option

2002-11-19 22:56 doobs

* src/Makefile.dec (1.2): fixed broken makefile