Contents Prev Manual

PROGRAM BONDS

Calculation of bond lengths and angles. Can also write cards for
geometric slack constraints

Description:

The program will calculate bond lengths, with optional standard deviations, and requested bond angles. The results of its calculations can be written in a form suitable for imposing slack constraints in least squares refinements.
To determine whether slack constraints are wanted the program looks first for a B SLAK card (with, at present, nothing else on it).
If there is no such card, it behaves as a conventional bond length program, i.e. it reads B cards which define what bonds and angles are required
An I BMAX or B BMAX card to define the maximum bond to consider (default 2)
An I BMIN or B BMIN card defines the minimum bond to consider (default 0)
B BOND cards define the atoms whose bonds are required
B ANGL cards define which angles are required
B BOTH cards say that both bonds and angles are required.
A B BESD card must be inluded if the standard deviations of the bond lengths are required
A B AESD card must be inluded if the standard deviations of the bond angles are required

All atoms are referred to by their labels, in (1X,A4) groups, B BOND and B BOTH cards have similar formats:
a list of more than 2 labels indicates that all combinations of pairs of atoms are to be considered for bonds (and angles). two labels request the bonds between these two atoms only.
A single label indicates that all bonds originating from that one atom are required.

B ANGL cards are different. Labels should occur only in threes, and the
angle is calculated at the second atom in the list.

If there is a B SLAK card , the program reads sets of B BOND and/or B ANGL cards, but interprets these slightly differently.
B BOND is followed by a source atom name, a destination atom name, length1, sd1, length2, sd2. Both the atom names may be general.
For these BMAX is set to length1+sd1, BMIN to length1-sd1.
The source atom name, if general, is decoded in the main program. The destination atom name is decoded within routine bndlst. Bonds are found in the usual way, but in this option they are also considered for output to a file (default extension .slk which can be concatenated with a CDF, to be used to give such bonds as slack constraints in a least squares program.
This use of the program may generate both L ATOM cards and L BOND cards, as the destination atoms only possess labels if they are within the original, central unit cell. The program must generate its own names for atoms on such cards. It uses ato<n> for a new atom, where n is the serial number of the atom in its list, and bon<n> for a new bond.

A B ANGL card causes L ANGL cards to be written for later use in slack constraints.
It has the format:
name1, name2, name3, angle1, sd1, angle2, sd2, optional (bmax, sdmax)

All names are general; the angles are at name2, between bonds going to name1 and name3, or any of their related equivalents. If bmax and sdmax are given, such bonds must be of length bmax+-sdmax.
In order to be considered, an angle must be of magnitude angle1+-sd1. The L ANGL card which is written contains angle2 and sd2. An L ANGL card also needs a name, which is generated as ang<n>.

Input:

The crystal data file (CDF) must contain:
S cards giving the symmetry a C card with the cell dimensions and if bond esd's are required a C SD card giving the esd's in the cell parameters
A cards defining the atom names and positions and if bond esd's are required
A SD cards giving the esd's in the atomic parameters
B cards as described above and in the Users' manual

Output:

The usual listing file reporting data read from the CDF. It also contains lists of the bond lengths and angles which were requested.
If a B SLAK card is read a file, default extension .slk, which can be concatenated with a CDF in order to impose the slack constraints requested on B cards (see description above) in a least squares refinement.
If a B FILE card is read a machine readable list of bonds and angles is generated. If the word following FILE on the card looks like a file name the list is written to this file. If not the user is asked for a file name.

Running the program:

The only intervention needed on the part of the user is to give the name of the CDF and, if a B SLAK card is present, to choose a name for the file (default extension .slk) in which to write the L BOND,
L ATOM and L ANGL cards gnerated.

Calls:

ANGLST ATOPOS BNDLST BONDA CENTRE ERRATM ERRMES FINDCD GENNAM IATOM MESS NEWLIN NOPFIL NPACK ONCARD OPSYM PREFIN RDREAL RDWORD RDWRDS RECIP RELCL6 SYMOP

Common blocks used:

/ATNAM/ to use ATNAME
/ATNMPK/ to use all members
/BANERR/ to use BNDESD ANGESD
/BONDLA/ to use I1LAST BMAX BMIN BBMAX SDMAX ANG1 ANG2 BON2 SD1 SD2 BONOUT LSK SLK LBOND
/CELPAR/ to use CELL SDCELL
/IOUNIT/ to use LPT ITO
/POSNS/ to use NATOM ATESDS
/SCRACH/ to use all members

*** BONDS updated by PJB C123 Apr 2003 ***

Classification:

Crystal Geometry . . . . . . . Main Program


Contents Manual

P. Jane Brown e-mail: brown@ill.fr
Institut Laue Langevin,
Grenoble, FRANCE