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
P. Jane Brown
Institut Laue Langevin,
Grenoble, FRANCE