-
- ABMULT
- Forms transmission (=1/absorption) factors or related integrals.
- ABSCOR
- Applies absorption corrections to groups of equivalent reflections.
- ABSOR
- Forms a transmission (=1/absorption) factor or related integrals.
- ADDANG
- Finds an angle in the tables for geometric constraints, or adds it if absent.
- ADDATM
- Finds an atom in the tables for geometric constraints, or adds it if absent.
- ADDBON
- Finds a bond in the tables for geometric constraints, or adds it if absent.
- ADDCON
- Adds a constraint to the list held in LSQ programs.
- ADDELM
- Adds the element IEL to the subgroup defined by ITAB
- ADDFIX
- Entry to FIXVAR
- ADDFX5
- Entry to FIXVAR
- ADDPLN
- A dummy routine at the moment, called when setting slack constraints
- ADDSPC
- To pad a word with spaces to length lword
- ADDTOR
- Finds a torsion angle in the tables for geometric constraints, or adds it if absent.
- ADDVAR
- Entry to FIXVAR
- ADDVR5
- Entry to FIXVAR
- ADJUST
- Applies a (possibly fudged) shift to a given LSQ parameter.
- AINOUT
- Multiple function routine called by ARRNGE type programs to process sort items.
- ALNINT
- Performs linear interpolation, suitable for profile backgrounds etc.
- ALRPOL
- Calculates the reciprocals of Lorentz and polarisation factors.
- ANGDIR
- Calculates D3 or 4-circle angles from direction cosines.
- ANGERS
- To calculate esd's in bond angles
- ANGLST
- Lists all angles at one source atom made by a given list of bonds.
- ANGRAD
- Calculates the angle in radians between two vectors, in either space.
- ANITF
- Forms the contribution to the anisotropic temperature factor on an atom N from indices H.
- APSHDS
- Applies shifts for during d-spacing refinement.
- APSHFW
- Applies shifts for Forsyth & Wells scattering factor coefficient refinement.
- APSHSF
- Applies shifts to all variables in single crystal structure factor based LSQ, and prints the results.
- APSHT2
- Applies shifts for reciprocal cell quadratic products and zero during 2theta refinement.
- ARCCOS
- Calculates an arc cosine.
- ARPRIN
- A multi-mode routine to produce the output in ARRNGE type main programs.
- ARREAD
- Multiple entry routine to deal with reading items for ARRNGE type programs.
- ARROW
- Writes postscript output to plot an arrow in MAG3D
- ASK
- Writes a message on unit ITO and reads an interactive answer to /SCRACH/.
- ASPHFF
- Calculates an aspherical form factor for a cubic space group.
- ASUNIT
- Produces reflection indices in the asymmetric unit, related to those given.
- ATMPLO
- Plots atom positions on a map.
- ATMPLT
- Plots atom positions on a map.
- ATOGEN
- Generates a set of equivalent positions.
- ATOMS
- Makes a real space unit cell full of related atomic positions.
- ATOPOS
- Reads and interprets all given A cards.
- ATSPEC
- Makes the 16-character specification of a symmetry related atom from its packed specification.
- AXIS
- Finds the axis of a given rotation matrix.
-
- BATCH
- Signals batch running, not interactive.
- BIGCHA
- Writes on unit LPT up to 9 characters in large letters.
- BIGGAM
- Deals with gammas whose value is greater than one, in SORGAM. There is also the entry SETGAM to set up the calculation.
- BINDIG
- Tests for the presence of a given binary digit within an integer.
- BITSET
- Sets or tests a single bit in a word.
- BJ
- Calculates Bessel functions of order 1 or 2.
- BNDLST
- Writes out and saves a list of bonds from one atomic position.
- BONCOS
- Given 3 bonds forming a triangle, calculates the angle opposite the first, its sine and cosine, and its derivatives wrt all 3 bonds.
- BONDA
- Calculates the angle between two bonds.
- BONDER
- Calculate a bond and its derivatives for slack constraints.
- BONERR
- To calculate the esd's in bondlengths
- BONTRI
- Given two bonds with a common atom, completes the triangle and identifies the atom.
- BRILL
- Returns the value of the Brillouin function.
-
- C1MSCA
- Multiplies every element of the REAL matrix A by the COMPLEX scalar SCALE.
- CALCDS
- Calculates d star squared, and its derivatives wrt reciprocal cell quadratic products.
- CALCFR
- Calculates GCALC = the flipping ratio and its derivatives for twinned crystals
- CALCFW
- Calculates the Forsyth & Wells exponential function which approximates to observed scattering factor curves.
- CALCGR
- Gives the calculated function for grouped single crystal Least Squares.
- CALCMG
- Calculates GCALC and its derivatives for structures which may have mixed magnetic and nuclear reflections.
- CALCMP
- Makes the calculated function and derivatives for single crystal LSQ with multipoles.
- CALCSF
- Makes the calculated function and derivatives for single crystal LSQ.
- CALDSM
- Calculates d star squared, and its derivatives wrt reciprocal cell quadratic products and components of propagation vector.
- CALPOL
- Calculates scattered polarisations and their derivatives for structures which may have mixed magnetic and nuclear reflections.
- CARDIN
- Finds the record number IDEN in the DIRECT ACCESS file on unit IO10, which is a copy of the Crystal Data File.
- CDFIN
- Reads in one Crystal Data File and copies it to direct access unit number IO10, starting at record number ID.
- CDSCAN
- Finds the next card which starts with the letter given in CH, and has then a word which is one of the collection given in WORDS.
- CELDER
- From h,k,l calculates d* squared and its derivatives, and sets SSQRD.
- CELLMA
- Makes the matrix to transform the variance/covariance matrix for the quadratic products to that for a,b,c etc
- CELMAT
- Sets up the matrix to convert derivatives wrt A,B,C . . (cell quadratic products in real space) to derivatives wrt A*, B*, C*, . . in reciprocal space.
- CELNEW
- Writes out a new C card after cell parameter refinement.
- CELREL
- Transfers any relations which exist between cell parameters from their own COMMON to the general "contraint/fixing" COMMON.
- CELSDP
- Prints the esds of real cell parameters after a cycle of refinement.
- CELSHF
- Applies a shift to a cell quadratic product.
- CELVAR
- Entry to CELSHF
- CENDIF
- Entry to CENTRO
- CENTRE
- Writes on unit LUNIT the given message, centred & preceded by N empty lines.
- CENTRO
- Executes the action of the centre of symmetry on a term in the magnetic structure factor for helimagnetic structures.
- CGAMMA
- Solves the quadratic equation for gamma in terms of the flipping ratio.
- CGMADD
- Sets COMPLEX matrix C = COMPLEX matrix A + COMPLEX matrix B.
- CGMEQ
- Sets COMPLEX matrix B equal to COMPLEX matrix A.
- CGMPRD
- Multiplies together two COMPLEX matrices.
- CGMREV
- Reverses the signs of the elements of an NI X NJ complex matrix.
- CGMSCA
- Multiplies every element of a COMPLEX matrix by a COMPLEX scale.
- CGMSUB
- Sets COMPLEX matrix C = COMPLEX matrix A - COMPLEX matrix B.
- CGMUNI
- Clears a COMPLEX square matrix to contain the unit matrix.
- CGMZER
- Clears to zero a complex matrix.
- CHGPAR
- Indicates whether two real arrays are the same
- CHOOSF
- Chooses modulus and phase for a particular Fourier.
- CIRCLE
- Draws a circle of given radius and centre, with various options.
- CLOFIL
- Closes the FORTRAN unit LUN and returns the CCSL unit to the pool.
- CMCONJ
- Gives the conjugate of a COMPLEX matrix.
- CMIMAG
- Gives the imaginary parts of a COMPLEX matrix.
- CMREAL
- Gives the real parts of a COMPLEX matrix.
- CMRSCA
- Multiplies every element of a COMPLEX matrix by a REAL scale.
- CONATF
- Produces for a single coefficient of an anisotropic temperature factor, its conversion factor from the internally used betas, in order to communicate with the user.
- CONVMP
- Converts between user values and LSQ parameters for multipoles.
- COSET
- Returns the coset in the full group generated by a given element of one of its sub-grouo
- CRMPRD
- Performs COMPLEX by REAL matrix multiplication.
- CROTO
- Entry to ROTOSM
- CRSCLP
- Finds the COMPLEX scalar product of a COMPLEX with a REAL vector.
-
- DEGREE
- Converts from radians to degrees.
- DEPRIN
- Decodes an integer which describes the frequency of LSQ printing required, and outputs this frequency.
- DETER3
- Forms the determinant of a 3 x 3 matrix.
- DFLTMG
- Called as a substitute for DEFALT via VARMAK, giving default fix/vary for otherwise unspecified parameters for magnetic structures.
- DFLTMP
- Called as a substitute for DEFALT out of VARMAK, giving defaults fix/vary for otherwise unspecified parameters of multipole refinements.
- DFLTSF
- Called as a substitute for DEFALT out of SUBROUTINE VARMAK, giving default fix/vary information for structure parameters.
- DFTRUE
- Called as a substitute for DEFALT out of VARMAK in main programs, to vary an otherwise unspecified parameter.
- DIJROT
- Calculates the matrix D(i,j) for the Euler rotations alpha,beta,gamma of the eigenfunctions of angular momentum l.
- DOCHI1
- Multiple entry subroutine to read and check parameters for paramagnetic structure calculations given on Q cards
- DOMAG
- Multiple entry subroutine to deal with parameters for magnetic structures on Q cards (but not their fixing/varying).
- DOMAG1
- Multiple entry subroutine to deal with parameters for magnetic structures on Q cards.
- DOMAG2
- Multiple entry subroutine to deal with magnetic variables in magnetic structure refinements
- DOMPL2
- Logical multi-purpose function to deal with multipole variables in least squares structure refinements
- DOSIDE
- A specialist routine for contour plotting, to help to decide where a contour crosses the side of a square.
- DOTWN1
- DOTWN2
- Routine to process twin parameters
- DPLOT
- Does plotting in current coordinate system.
- DUMMY
- Does absolutely nothing; used as a default in routine calls.
-
- EA06C
- Harwell routine to Find the eigenvalues and eigenvectors of a real symmetric matrix A
- EA06D
- Harwell routine called by EA06C
- EA08C
- Harwell routine to find the eigenvalues and eigenvector of a symmetric tridiagonal matrix.
- EA09C
- Harwell routine used in solution od eigenvalue problem
- ELEMAT
- Gets a matrix element from the triangular LSQ matrix.
- ENTMAG
- Entry to MAGDIR
- EQOP
- Checks whether a rotation matrix and a translation vector of a symmetry operator are already in a list, and adds them if not. Also finds lattice translations.
- EQPOS
- Checks whether the given atom position already occurs in a given list, and adds the new one if not.
- EQPPOS
- Checks whether the given position vector is related by lattice translation to one already in the given list.
- EQRLV
- Checks whether vectors differ by a reciprocal lattice vector.
- EQVEC
- Finds a given vector in given table of vectors, or adds it as a new one.
- ERFNC
- Calculates the error function accurate to 3E-7, for + and - X.
- ERRATM
- Writes an error message to say that the given name is not an atom name; there is a choice of subsequent action.
- ERRCH2
- Write an error message which involves a given WORD between 2 messages; there is a choice of subsequent action.
- ERRCHK
- (Possibly increases and) checks a value, giving if appropriate an error message; there is a choice of subsequent action.
- ERRIN2
- Writes an error message which involves a given integer INT between 2 messages; there is a choice of subsequent action.
- ERRMAP
- Calculates the standard deviation of the density in a Fourier map.
- ERRMES
- Writes an error message, with choice of action on exit.
- ERRRE2
- Writes an error message which involves a given real X between 2 messages; there is a choice of subsequent action.
- ESDFMT
- Writes X and its esd DX in the form X(DX)
- EULSYM
- Finds the Euler angles correponding to a symmetry rotation.
- EXCLD
- Determines whether a number occurs within any of a set of given ranges.
- EXPAND
- Expands UNIX pathnames by substituting for environment variables
- EXPINT
- Calculates an exponential radial integral.
- EXTIN1
- Entry to EXTINC
- EXTIN3
- Entry to EXTINC
- EXTIN4
- Entry to EXTINC
- EXTIN8
- Entry to EXTINC
- EXTIN9
- Entry to EXTINC
- EXTINC
- Multi-entry routine to deal with all aspects of single crystal extinction corrections.
- EXTPAR
- Calculates the theta dependent extinction parameters for reflection H
-
- F2NEW
- Outputs a new LSQ family 2 (structure parameters) card (for A, T or F cards).
- F2PARP
- Dummy routine to force inclusion of BLOCK DATA F2PARS
- F2RELA
- Collects all structure factor type constraints implied by the symmetry.
- F2SHFT
- Applies a shift to a particular family 2 (structure) parameter.
- F2VAR8
- Records varying information for a particular family 2 (structure) parameter.
- F2VAR9
- Entry to F2VAR8
- FACGRP
- Finds the factor elements which generate a space group from one of its sub-groups.
- FACT
- Calculates factorial K.
- FCALC
- Calculates the COMPLEX nuclear structure factor for the reflection H.
- FCHALC
- Calculates induced magnetic interaction vectors and magnetic structure factors. with anisotropic susceptibilities
- FCTOR
- Finds the highest common factor of a set of indices and reduces them by that factor.
- FETSHF
- Fettles a shift and esd for printing and counts, in the application of shifts in LSQ.
- FETTLE
- Decides field width and fractional part of real number in order to print it.
- FF01A
- Modified Harwell routine for zero order Bessel functions.
- FF02A
- Modified Harwell routine for first order Bessel functions.
- FGAMMA
- Calculates gamma, the ratio of magnetic and nuclear scattering, and its standard deviation.
- FILNOM
- Returns the name of the file on FORTRAN unit LUN.
- FILPRO
- Makes sense of general file names, under VMS AND UNIX.
- FINDCD
- Searches for a card starting with letter CH and with WORD in columns 3-6.
- FIXPAR
- Records an instruction to fix a LSQ parameter.
- FIXREL
- Takes a temporary set of fix/relate information and adds it to the permanent information.
- FIXUNI
- Deals with one potential plane face of asymmetric unit, while the unit is being formed.
- FIXVAR
- Adds a request to fix (or vary) a parameter to the lists held in setting up LSQ environments.
- FLIP
- Exchanges the integers I and J.
- FMCALC
- Calculates magnetic interaction vectors and magnetic structure factors.
- FMMPCA
- Calculates magnetic interaction vectors and magnetic structure factors with multipole form factors.
- FMPCAL
- Calculates the COMPLEX nuclear structure factor for the reflection H, using a multipole expansion of the form factor.
- FORIER
- Controls Fourier calculations.
- FORMFA
- Calculates form or scattering factors.
- FORMFC
- Calculates form factor integrals from radial wave functions.
- FOUINP
- Reads one data item for a given type of Fourier, in a given format.
- FOUR1D
- Calculates a Fourier along a general line.
- FOUR1Z
- Calculates 1 layer of Fourier sum : a section if 3D, a projection if 2D, or a bounded section if "4D".
- FOURGP
- Calculates a Fourier on a general plane.
- FRAC3
- Makes all 3 elements of a vector fractional
- FRACT
- Forms the fractional part of a real number.
- FRAME
- Draws a rectangle in the plotting context.
- FT01A
- Modification of Harwell Fast Fourier Transform.
- FUDGET
- Reads a fudge factor from a card having already read a parameter specification.
- FUDGIN
- Interprets all L FUDG cards.
- FVKPAK
- Entry to FIXVAR
-
- GAMEX
- Calculates an extinction corrected gamma from a flipping ratio.
- GAUSPT
- Sets up Gauss points and weights for use in 3D integration.
- GENELM
- Finds the generators of a subgroup of a space group.
- GENGRP
- Generates the product of two subgroups of the space group in SYMTAB
- GENMAG
- Generates the next set of magnetic h,k,l, scanning the asymmetric unit.
- GENMUL
- Gives next useful set of h,k,l and multiplicity, scanning the asymmetric unit of reciprocal space.
- GENNAM
- Finds all the starting letters of an atom name.
- GEOMCO
- Multiple entry routine for geometric slack constraints.
- GEOMIN
- Reads L cards for bond slack constraints.
- GEOMLS
- Calculates bond lengths and derivatives for geometrical slack constraints.
- GETDC
- Calculates direction cosines of the incident and diffracted beams used by absorption correction type integrals
- GETGEN
- Gives the next useful set of h,k,l scanning the asymmetric unit of reciprocal space.
- GETMAP
- Retrieves 1 Fourier map previously filed using SAVMAP.
- GETSCL
- Chooses a sensible scale for a graph.
- GETSQ
- Works out where a contour crosses the sides of a square of function values.
- GMADD
- Sets matrix C = matrix A plus matrix B.
- GMATCH
- To determine whether the two real matrices A and B are the same
- GMEQ
- Sets matrix B = matrix A.
- GMINV
- Inverts matrix A into matrix B.
- GMNORM
- Normalises the rows of a matrix.
- GMPRD
- Sets matrix C = matrix A times matrix B.
- GMREV
- Reverses the signs of the elements of an NI X NJ matrix.
- GMSAME
- Tells whether one vector is the same as another, to a given tolerance.
- GMSCA
- Multiplies every element of the matrix A by the scalar SCALE.
- GMSUB
- Sets matrix C = matrix A minus matrix B.
- GMTRAN
- Transposes a JJxII matrix A into B.
- GMUNI
- Writes a unit matrix into the square matrix A.
- GMZER
- Clears to zero the matrix A.
-
- IATOM
- Identifies an atom name in a given list.
- ICDFMT
- Interprets I and Q PROP cards for programs reading ARRNGE type data".
- IICD1
- Interprets basic I cards to drive any LSQ.
- IICD3
- Interprets I cards for ARRNGE-type MAIN programs, and sets them up.
- INBOX
- Determines whether the given reflection is inside, on, or outside the reciprocal space asymmetric unit.
- INCELL
- Sets P to be the position in the central cell equivalent to X.
- INCREM
- Increments a file name.
- INDDIV
- Entry to MULIND
- INDFIX
- Converts 3 real items in H to be integers in K.
- INDFLO
- Converts 3 integers in K into floating point reals in H.
- INDMUL
- Entry to MULIND
- INITIL
- Initialises the CCSL system.
- INOBGR
- Performs a preliminary pass of observations for GRLSQ, (group refinement, integrated intensity LSQ).
- INPLSF
- Reads in (nearly) all L cards for the particular LSQ type 'SF', for single crystal work.
- INPUAR
- Reads the data from files made by ARRNGE and other similar programs.
- INPUTA
- Reads an A card and prepares it for further processing.
- INPUTC
- Reads one "C" card.
- INPUTD
- Reads and interprets all D cards, for general diffraction information.
- INPUTE
- Reads and interprets an E card, and sets up extinction calculations.
- INPUTF
- Reads and partially interprets an "F" card.
- INPUTG
- Reads and interprets all "G" cards, for Gaussian integration of various integrals over a crystal defined by its plane faces.
- INPUTI
- Gathers information from a user's interactive instruction card.
- INPUTJ
- Reads individual J cards.
- INPUTM
- Reads and interprets all "M" cards.
- INPUTN
- Deals with the "N" card giving the Crystal Data File title.
- INPUTQ
- Reads individual "Q" cards
- INPUTS
- Reads and interprets one "S" card containing a space group operator. Can also interpret an S GRUP card containing a space group specification.
- INPUTT
- Reads and interprets one "T" card.
- INPUTU
- Reads and interprets a "U" card, giving a typical reflection to define the reciprocal asymmetric unit.
- INPUTW
- To read the "W" card indicated by ID, as far as atom label and word.
- INTCHR
- Converts digits to characters, either left- or right-justified.
- INTDIG
- Unpacks an integer into its individual digits.
- INTIND
- True if the indices H(3) are integer
- INVENT
- Given a plane U and an axis H, produces a direction ANS which is in the plane but not parallel to the axis.
- IPDONE
- Checks whether a the cards labelled CHAR have been read
- IPOPE
- Machine specific routine to interpret error codes during file opening.
- ISCAT
- Searches for a potential scattering factor name in the table.
- ISPABS
- Checks space group absences.
- ITPOS
- Sets ITPOS=a single bit (a one), in position IPOS, counting from the right.
-
- JFIX
- Rounds a real to be an integer.
- JGMADD
- In integers, sets matrix C = matrix A plus matrix B.
- JGMEQ
- Equates an integer matrix to a given integer matrix.
- JGMPRD
- In integers, sets matrix C = matrix A times matrix B.
- JGMREV
- Reverses the signs of the elements of an integer matrix.
- JGMSUB
- In integers, sets matrix C = matrix A minus matrix B.
- JGMZER
- Clears an integer matrix to zero.
- JMPOL
- Writes to unit NEWIN all J MPOL cards after a multipole refinement.
- JTERMS
- Calculates the terms in the 2D averaged spherically symmetric form factor summation which depend on S,K, and R only.
-
- KANGA1
- Moves plotter pen (or equivalent) to X,Y in current coordinates.
- KANGA2
- Writes on a plot a string of characters, or simulates this in order to measure the length of the string.
- KANGA3
- Plots a special symbol.
- KPAK
- Pack a LSQ parameter specification on to integer.
- KSAME
- Tells if two LSQ parameter specifications are the same, allowing wild card elements.
- KSTAR
- Entry to PROPER
- KSTARS
- Returns the vectors AKSTAR in the star of the propagation vector.
- KUNPAK
- Unpacks a LSQ parameter specification from single integer.
- KWHOLE
- Says if KK is a whole packed parameter specification, or whether there are wild card elements.
-
- LATABS
- Checks h,k,l for being a (nuclear) lattice absence.
- LATGEN
- Generates points on a lattice.
- LATVCS
- Determines whether STEP defines a primitive lattice and if not returns the non-primitive vectors.
- LATVEC
- Tests for the presence of a lattice vector.
- LCOLPG
- Returns the number of color NAME, or 0 if NAME not in PGNAME
- LDUMMY
- A dummy function to be called by APSHSF,VARSSF etc in simple structure factor LSQ
- LENG
- Determines the length of a text string, omitting trailing spaces.
- LENGT
- Determines the length of a character variable, omitting the final spaces.
- LERCHK
- FALSE or TRUE according to whether NVALUE (possibly incremented) is greater than NBOUND
- LETTER
- Determines whether a character is a letter.
- LFCALC
- Calculates a nuclear structure factor and its derivatives.
- LISPEC
- Reads files from the ILL data base
- LLSCAL
- Multiple entry routine which deals with scale factors in Least Squares.
- LLTFAC
- Multiple entry routine which deals with overall isotropic temperature factors in Least Squares.
- LMAGPR
- Gives the fix/vary information for one of the family 2 parameters for magnetic atoms.
- LMATCH
- Matches an A4 item in given table, adding it if it is not there already.
- LMCALC
- Calculates a magnetic structure factor and its derivatives.
- LMMPCA
- Calculates magnetic structure factor and its derivatives using multipole description of the form factors.
- LMPCAL
- Calculates a structure factor and its derivatives using a multipole description of the form factors.
- LOCBIT
- A specialist routine for contour plotting, which finds the "next" bit in the bit-map, removes it, and indicates where on the picture it was.
- LOGAND
- Performs logical "and" on 2 whole integers.
- LOGMAG
- Sets mnemonic logicals from the type of magnetic structure.
- LOGOR
- Performs logical "or" on 2 whole integers.
- LSCAL8
- Entry to LLSCAL
- LSCAL9
- Entry to LLSCAL
- LSETSF
- Sets up vocabulary for a specific LSQ problem involving structure factors.
- LSETUP
- Sets up specific LSQ problem - copies the vocabulary to standard COMMON.
- LSTCTS
- Calculates a dead time correction
- LSYMPG
- Returns the symbol type as defined by KANGA3 for NAME and FILL
- LTFAC8
- Entry to LLTFAC
- LTFAC9
- Entry to LLTFAC
-
- MAGABS
- Tests for systematic absence of magnetic reflections.
- MAGCNC
- To find magnetic constraints in a non-least squares calculation.
- MAGCNL
- Does the fixing associated with constraints found by MAGCON and PSICON.
- MAGCON
- Finds and reports the symmetry constraints on magnetic parameters.
- MAGDIR
- Calculates various geometric corrections for various magnetic states. The ENTRY ENTMAG sets up the COMMON.
- MAGDOM
- In Least Squares refinement with magnetic scattering, forms the matrix needed for derivatives of Q with respect to a spin direction.
- MAGSYM
- Routine with 4 named entry points, MAGSYM, MELIN, NELIN and ROTMAG, to deal generally with magnetic symmetry. MAGSYM sets magnetic symmetry, MELIN puts in an operator for a generator, NELIN puts in non-symmetric rotation and ROTMAG rotates with a magnetic operator.
- MAGVAR
- Records the initial fixing, or subsequent varying of magnetic parameters.
- MAJUST
- A specialist routine used in the input of the Crystal Data File needing previously stored Fourier maps.
- MAKEBM
- A specialist contour plotting routine which makes a bit map to show where the contours are.
- MAKGRP
- Generates the subgroup of a space group from the given generators.
- MAKNAM
- Makes an A4 name from the given character and the digits of the given number.
- MAPCON
- After a Fourier map has been plotted, sends to the plotter the list of contours which were plotted, with a frame.
- MAPDRW
- Draws an unframed contour map, in predetermined place.
- MAPFRA
- Draws a black frame round a potential contoured map, adding the labels X Y and a 1A scale.
- MAPKEY
- Plots a key to the atoms found by ATMPLO.
- MAPTIT
- Writes a title over a plotted map, with a frame.
- MATCEL
- After a cycle of LSQ gives variance-covariance matrix for cell A* B* etc in both real and reciprocal space, and the same for abc, alpha,beta,gamma.
- MATCH
- Checks to see whether two sets of reflection indices match.
- MATCHF
- Checks to see whether two sets of floating point reflection indices match.
- MATCOR
- After a Least Squares cycle, prints correlations from the inverse matrix.
- MATINV
- Inverts the matrix in ALSQ, of which the upper triangle only is held.
- MATSET
- Sets up pointers into a Least Squares matrix, and clears the matrix and the corresponding right hand side vector.
- MATSHF
- From an inverted Least Squares matrix, calculates shifts in basic variables.
- MATTOT
- Add in contributions to LSQ matrix and RHS for one observation.
- MB11A
- Inverts a rectangular matrix whose order is the smaller dimension; used by the Harwell refinement routine VA05A.
- MC04B
- Harwell routine to perform Householder reduction of a symmetric matrix to tri-diagonal form.
- MELIN
- Entry to MAGSYM
- MESS
- Writes on unit LUNIT the given message, preceded by N empty lines.
- MF5ADD
- A specialist routine to deal with the refinement of multipoles. Converts each type of LSQ family 5 (multipoles) addressing to the other.
- MINIM
- Finds the position and value of the minimum in a list of integers.
- MOLORB
- To read molecular orbital wave-functions from "W atom-name FUNC" card.
- MPCON
- Finds the symmetry constraints on multipoles.
- MPFORM
- Finds out which radial form factors to apply to which atom and L value.
- MPOVAR
- Records whether each multipole parameter is fixed or varied.
- MTPROD
- Puts entries into the table of time inversion operators.
- MUCALC
- To calculate induced moments from anisotropic susceptibilities and elipsoid orientation
- MULBOX
- Tests indices for being in the asymmetric unit, and gives multiplicity.
- MULIND
- Used by ARRNGE for data whose indices may be submultiples of integers
-
- NAMPOL
- Creates the label for a given multipole.
- NB01A
- Harwell routine NB01A to find the zero of a function.
- NCFIND
- Searches for a particular word in a table of words.
- NCHINT
- Converts an ASCII character into an integer
- NDIGIT
- Identifies a character as a digit or not.
- NELIN
- Entry to MAGSYM
- NEWCD
- Opens a file on to which to write a new Crystal Data File after a Least Squares refinement.
- NEWCRY
- Writes a new crystal data file in which the "LET" cards are modified
- NEWLIN
- Writes a newline to the output unit LUNIT
- NEWPAG
- Writes a newpage carriage control ('1') to the output unit LUNIT
- NEXCON
- Sets up the "next" contour value to plot for Fouriers.
- NFIND
- Searches for integer N in a table.
- NOPFIL
- Opens a file on a FORTRAN unit for the first time in this job.
- NORDER
- Returns the order of the Jth symmetry operator.
- NPACK
- Deals with the packing and unpacking of up to 10 integers in/out of one integer.
- NSIGFG
- Returns the number of figures to print after the decimal point based on the ESD dx
- NSYMBL
- Finds whether the character I is one of the symbols recognised by the system.
- NTICK
- Advances its argument by 1 and sets the function to that value also.
- NUMA1
- Prepares a number for writing, probably on a plotter.
- NUMDEN
- Converts a real number to the numerator and denominator of a fraction.
- NUMJGM
- Returns the number of non-zero elements in the IxJ integer matrix K
- NWINDS
- Outputs to unit NEWIN a new input dataset at the end of a refinement of cell parameters and propagation vector from d spacing values.
- NWINFW
- Writes out a new Crystal Data File for main program FWLSQ.
- NWINSF
- Outputs a replacement Crystal Data File after single crystal refinement.
- NWINT2
- Writes out a new Crystal Data File for main program T2LSQ.
-
- ONCARD
- Finds a card which starts with the given letter and word, and reads one number from it.
- OPMSYM
- Prints out the magnetic symmetry operations.
- OPNFIL
- Opens file L according to requirements given in M; L may be preset.
- OPSYM
- Prints out the symmetry operators in either real or reciprocal space.
- ORTFUN
- Finds the best set of orthonormal functions compatible with symmetry based on the users input, and hence defines the multipoles to refine.
- ORTHG
- Calculates matrices for the transformation of vectors in real or reciprocal space, between crystallographic and orthogonal axes.
- ORTHO
- Carries out conversions between crystallographic and orthogonal axes.
- OTPUTI
- Outputs a new I card after a LSQ refinement, updating the cycle number.
-
- PARITY
- Finds out whether N is odd or even.
- PARNAM
- Obtains the printing name of a LSQ parameter.
- PARRD
- Reads a LSQ parameter specification from a given card at given point.
- PARRUN
- Controls the cycling over all parameters in LSQ (not for Profile Refinement).
- PARSDS
- Collects together all parameter fixing and varying information for LSQ refinement of cell parameters using d spacings.
- PARSFW
- An older routine to set up variables from parameters for FWLSQ.
- PARSSF
- Collects all parameter fix and vary information for single crystal LSQ.
- PFORMF
- Calculates radial form factors for multipole refinement.
- PFOUT
- Reports the allocation of multipole form factors
- PFSET
- Directs the reading of J and W cards for multipole calculations.
- PICMOV
- If plotting to Tektronix, do nothing; if to plotter, move to next picture.
- PIGLET
- A complete set of device-specific plotting commands.
- PINITL
- Initialises the system in order to make graphical output.
- PLCONV
- Performs the transformation of coordinates between different plotter spaces.
- PLN3AD
- A specialist routine used during the formation of the reciprocal unit cell, to offer up 3 planes as boundaries, in cubic space groups.
- PLOTCT
- Plots a single contour throughout a given array.
- PLOTIT
- Plots the graph of given vector y against x, with esds.
- PLOTO
- A multi-purpose graph-drawing routine.
- PLTRIN
- Defines a new coordinate transformation for plotting.
- PLTTXT
- Plots a block of explanatory text under a plotted Fourier map.
- PMTINV
- Specialist routine to invert a 2x3 matrix, such as those which transform plotting coordinates from one space to another.
- PMTMUL
- Specialist routine to multiply together two 2x3 matrices, such as those which transform plotting coordinates from one space to another.
- POLUNI
- A specialist routine to "polish" the edges of a found asymmetric unit by specifying exactly how its faces and edges should be treated.
- PRBLOK
- Prints a block of shifts in parameters all relating to the same atom in LSQ applications involving structure parameters.
- PREFIN
- Makes the Crystal Data File readable in a random order by writing it to a scratch file.
- PRILIS
- Prints a list of real numbers held in an array, 5 per line.
- PRIPLN
- Given the normal to a plane face in A, prints the equation of the plane.
- PRIVAR
- Prints a list of basic variables, and constraint relations, for LSQ.
- PRIWRD
- Finds the name of the packed (possibly part) LSQ parameter from the built-in table of parameter names.
- PRMBLK
- Applies shifts to multipole parameters, in both program and user units.
- PRMTIV
- A specialist routine for use in generating h,k,l indices where the natural stepping vectors do not define a primitive cell.
- PRNCYC
- Decides whether printing (of various different quantities in LSQ) is needed during the current LSQ cycle.
- PRNTMP
- Prints out a Fourier projection or one layer of a 3D Fourier.
- PROPAG
- Multiple entry subroutine for propagation vector refinement
- PROPDR
- Makes derivatives of d*sqrd with respect to the magnetic propagation vector
- PROPER
- Determines whether the satellites generated by the propagation vector PROP have integer indices, and generates its "star".
- PSFILE
- Generates a name for a postscript file
- PSICON
- Determines which atoms need phase factors in modulated structures.
- PUNPAK
- Unpacks a parameter specification from single integer.
- PUTPAR
- Distributes parameters read by RDNUMS amongst individually named variables.
-
- QARRIN
- In the library, simply a dummy routine. If the user wishes some special new input format for "ARRNGE" type main programs, he provides a new version of QARRIN.
- QFOUIN
- In the library, simply a dummy routine. If the user wishes some special new input format for Fourier routines, he provides a new version of QFOUIN.
- QLSQIN
- In the library, simply a dummy routine. If the user wishes some special new input format for Least Squares routines, he provides a new version QLSQIN.
-
- RADFUN
- Reads coefficients for the expansion of an atomic wave function.
- RADIAN
- Converts from degrees to radians.
- RANGE
- Puts a number into a given range.
- RATFRC
- To make a rational fraction of the form F**2=I/J out of F
- RCMPRD
- Performs the multiplication of a COMPLEX by a REAL matrix.
- RDANGL
- Reads a specification of a bond angle, by reading the names of 2 intersecting bonds; makes the third bond involved.
- RDATOM
- Reads the specification of an atom for slack constraint purposes
- RDBOND
- Reads a specification of a bond, by reading the names of the atoms at each end.
- RDDATA
- Reads in free format h,k,l (possibly floating) and a list of values, allowing for a possible title.
- RDFV
- Reads all the user's L FIX and L VARY cards in sequence.
- RDINTG
- Reads an integer in free format from a character string.
- RDNUMS
- Reads all the numbers on a line in free format.
- RDREAL
- Reads a real number in free format from a character string.
- RDRELA
- Reads and interprets all user-supplied L RELA cards for constraints.
- RDWORD
- Reads the next word from a character string.
- RDWRDS
- Reads all the words on a line from column 3 onwards.
- READMP
- Reads into the array DENS a map previously written to file, unformatted.
- READRT
- Reads whatever follows on a "W atom-name ROTN" card.
- REAORB
- To change the orbital basis from Ylm and Yl-m to (Ylm +- Yl-m).
- REAPOL
- Reads polarisations from the .pol file written by CRYPAD
- RECELL
- Makes real or reciprocal space cell parameters from the others.
- RECIP
- Reads the lattice parameters and forms the reciprocal cell.
- RECISD
- Interprets a "C SD" card and calculates ESD's in both the cell parameters and their quadratic products
- REINDX
- To reindex a set of reflections after a least squares cycle in which the propagation vector changes
- REJECT
- Decides for ARRNGE-type main programs whether the record number of a reflection occurs in a list of those to be rejected.
- RELATE
- In LSQ programs, converts a vector of derivatives wrt variables into the vector of derivatives wrt basic variables.
- RELCL6
- Determines the constraint matrix for the cell quadratic products needed for determining esd's of bond lengths and angles
- RELCON
- Entry to ADDCON
- RELMT3
- Determines symmetry constraints in the calculation of the esd's of bond lengths and angles
- RELMTX
- Makes the matrix relating the coordinates of NA atoms, which may or may not be equivalent to one-another, to a set of basic variables
- RELPAR
- In the setting up of LSQ applications, relates two parameters by a simple linear relationship.
- RELPOS
- Gets the constraints imposed by the symmetry on a set of atomic positions.
- RELSM3
- Forms a complete set of relations imposed by symmetry on the given 3 parameters of a LSQ application.
- RELSM6
- Forms a complete set of relations imposed by symmetry on the given 6 parameters of a LSQ application.
- RESHUF
- Reorders a real array, given a parallel pointer array out of SORTX.
- RESOL
- Calculates a resolution function for use with Fourier inversion.
- RFACS
- A multiple entry routine to deal with all aspects of R Factor calculations and statistics for single crystal observations, and
- RGAUSS
- Returns a value random number with a gaussian distribution.
- ROTMAG
- Entry to MAGSYM
- ROTOSM
- Calculates the effect of the rotation matrix of a symmetry operator, on a vector given on orthogonal axes.
- ROTSYM
- Rotates the vector H into RH by the given symmetry operator.
- RREFSF
- A common interface for reading reflection data in structure factor LSQ
- RSCALP
- Forms the scalar product of two COMPLEX vectors.
-
- SAID
- Decides whether the character variables INCHAR and WANT are the same, ignoring any distinction between upper and lower case.
- SATFND
- Finds the indices HS of the satellite equivalent to H, offset by the propagation vector PROP from a reciprocal lattice point.
- SATGEN
- Generates a set of magnetic satellite reflections.
- SAVMAP
- Writes 1 layer of map to given file, plus information for later retrieval.
- SAYS
- Decides whether the string WANT matches a string of the same length,just read into /SCRACH/ ignoring any distinction between upper and lower case.
- SCALPR
- Forms the scalar product of two orthogonal vectors (or of one from real space with one from reciprocal space).
- SCLCHN
- A specialist routine used during the setting up of constraints on LSQ variables. Scales a chain of connected variables by the given constant.
- SCLPRD
- Forms the scalar product of two vectors referred to crystal axes.
- SERROR
- Called after VA05A to give the standard deviations of the parameters.
- SETABS
- Sets up data for the calculation of absorption (or related) integrals.
- SETANI
- Reads "T" cards to set up for calculation of anisotropic temperature factors.
- SETDC
- Reads D cards to set up crystal orientation and diffraction geometry.
- SETFC
- Calls all the setting up routines needed for nuclear structure factor calculations.
- SETFCM
- Calls the routines needed to set up magnetic structure factor calculations (or non-magnetic also).
- SETFOR
- Sets up data for scattering or form factor calculations.
- SETFOU
- Sets up data for Fourier map calculations.
- SETGAM
- Entry to BIGGAM
- SETGAU
- Sets up the COMMON /GAUSS/ for Gaussian integration (for use in absorption correction type integrals).
- SETGEN
- Sets up the generation of a complete set of reflection indices.
- SETLP
- Prepares to calculate (X-ray) Lorentz and polarisation corrections.
- SETPOL
- Reads the up and down polarisations of a polarised neutron beam.
- SHFESD
- During the application of LSQ shifts, calculates the shift and ESD for a "redundant" variable.
- SID
- Solves a set of simultaneous linear equations.
- SINCOS
- Calculates sin from cos or vice-versa.
- SORTN
- Sorts pointers to an integer array using Heapsort.
- SORTX
- Sorts pointers to a real array using Heapsort.
- SPACE
- Interprets symbols from an S card which are the space group name.
- SPCSET
- Defines the "space" in which coordinates will be given for plotting.
- SPGNAM
- Decodes space group symbol or integer from S GRUP card
- SPHARM
- Calculates spherical harmonics.
- SPHELI
- Imposes perpendicularity on the two components of a helix.
- SPHPOL
- Sets up spherical polar spin directions for magnetic structures.
- SPLINE
- Sets up a cubic spline to fit a curve.
- SPLINT
- Evaluates a cubic spline given spline values and first derivative values at the given knots.
- STATIS
- Calculates means and other statistics for a set of measurements of a single quantity.
- STERMS
- Calculates a term in the spherically symmetric form factor summation, for a 3D averaged form-factor involving Sk and r only.
- STLSFW
- Sets up the main program FWLSQ to perform LSQ on Forsyth & Wells scattering factor coefficients.
- STLSSF
- Sets up any main program which does single crystal structure factor LSQ.
- STPLOT
- Sets up the plotting of maps; fits elements of a picture together.
- SUBCON
- Entry to ADDCON
- SUBSYM
- Replaces all the symmetry parameters by those of a subgroup.
- SUMVEC
- Calculates the sum of elements of a real array
- SYMBAK
- Restores the original symmetry operators after a call to SUBSYM.
- SYMCEN
- A specialist routine used during the input of space group symmetry to discover whether there is a centre of symmetry.
- SYMEQU
- Generates new indices and a phase, in Fourier calculations.
- SYMFIX
- Says whether a LSQ parameter is fixed by symmetry or not.
- SYMFRI
- Reads and interprets an item "FRIE" on an I card.
- SYMGEN
- Produces the generators of a space group which has been read by SYMOP.
- SYMOP
- Reads all the symmetry operators or a space group specification from "S" cards, and generates the space group.
- SYMREF
- Generates a set of equivalent reflections and related phases.
- SYMTID
- Tidies all the arrays connected with the space group symmetry.
- SYMUNI
- Selects a reciprocal space asymmetric unit fitting the symmetry.
-
- TB02A
- Interpolates in non-equal interval table.
- TBLFND
- Looks for an A4 NAME in every table it can find, trying to identify it as part of a LSQ parameter name.
- TBOUND
- A specialist routine used duing the plotting of atomic positions in main program ATMPLO.
- TESTOV
- Tests a floating division for potential overflow.
- TESTP
- Puts a given heading at top of every printer page, counting lines.
- THREEJ
- RETURNS A 3J COEFFICIENT
- TQLI
- Performs the QL algorithm for eigenvalues and vectors of a real symmetric matrix previously reduced to tridiagonal form.
- TRANSC
- Replaces a COMPLEX square matrix by its transposed conjugate.
- TRANSQ
- Replaces a real square matrix by its transpose.
- TRED2
- Performs the Householder reduction of a real symmetric matrix to tridiagonal form.
- TRIAN1
- Applies the cosine formula for the solution of spherical triangles.
- TRIG
- Sets up cos(nx) and sin(nx) for a range of n by recursion.
- TRINV3
- Replaces a 3x3 matrix by the transpose of its inverse.
- TRYUNI
- A specialist routine used in the setting up of the asymmetric unit, to try out a given set of planes as faces of the unit.
-
- UNITID
- A specialist routine called when an asymmetric unit has been found, to tidy the unit, its faces and edges.
- UNIVEC
- Replaces a vector by a parallel unit vector, and gives its length.
- UNUSYM
- Undoes the transformsation of symmetry operators by pre- and post-multiplying them by the inverse of the orientation matrix for a Fourier map.
- UPLOW
- Makes first letter of C upper case, and any subsequent letters lower case.
- UPONE
- Puts character strings into all uppercase or all lower case depending on ISYS
- UPPER
- Replaces any lower case letters in C by upper case
- USYM
- Transforms all the symmetry operators by pre- and post-multiplying them by U, the orientation matrix for a Fourier map.
-
- VA05A
- Minimises the sum of squares of given functions without requiring the explicit calculation of derivatives.
- VARMAK
- Makes variables for a LSQ cycle from given FIX/VARY and CONSTRAINT lists.
- VARSDS
- Makes variables for cell parameters and propagation vector for d-spacing LSQ.
- VARSMG
- Records variable pointers for all variables in magnetic structure-factor LSQ.
- VARSSF
- Records variable pointers for all variables in structure-factor LSQ.
- VARST2
- Makes variables for zero and cell for T2 type LSQ
- VCTMOD
- Calculates the modulus of the vector H, in either space.
- VECOUP
- Calculates Clebsch-Gordon vector coupling coefficient
- VECPRD
- Calculates the vector product of two 1x3 vectors.
- VOCAB
- Adds a given set of vocabulary and meanings to the Least Squares total vocabulary.
- VOIGT
- Calculates normalised Voigt function
-
- WERF
- Weighted error function ???
- WGHTLS
- Performs various operations to do with weights for LSQ, either for PR or simpler applications. applications.
- WGHTSF
- Deals with weights of LSQ observations for single crystal.
- WIYPOS
- Returns \$\exp(y^2){\textrm errf}(y)\$ for positive \$y\$ only
- WTMEAN
- Multiple entry routine for the calculation of weighted averages.
-
- XROOT
- Finds the symmetry operations which take the given source atom into the given coordinates.
- XTRANS
- Transforms a given atomic position by given symmetry operator and lattice and cell translations.
- XYZREL
- Collects all position parameter constraints implied by the symmetry.
P. Jane Brown
e-mail: brown@ill.fr
Institut Laue Langevin,
Grenoble, FRANCE