Contents Prev Manual

SUBROUTINE UNITID

A specialist routine called when an asymmetric unit has been
found, to tidy the unit, its faces and edges.

Prerequisite calls:

Must be called from SYMUNI, after calls of TRYUNI have found a satisfactory unit, with NASYM faces in the array ASYM, edges in the array
EDGE and angles in the array ANG, all in /FUNIT/.
TRYUNI has also set MOP2 to point to the symmetry operator which transforms the typical reflection HT into their relative in the asymmetric unit.

Description:

Transforms the asymmetric unit as found back so that it contains
HT, writes out the equations of the final planes, and sets up the edges again.

Output:

Write the equations of the planes bounding the asymmetric unit to unit LPT.

Calls:

FCTOR GMEQ GMREV MESS PRIPLN ROTSYM SCALPR VECPRD

Called by:

SYMUNI

Common blocks used:

/FUNIT/ to use NASYM ASYM EDGE
/IOUNIT/ to use LPT
/SCRAT/ to use all members

*** UNITID by JCM 26 Sep 84 ***

Classification:

Basic Crystallography . . . . . . . Setting Up

SUBROUTINE UNIVEC(X,U)

Replaces a vector by a parallel unit vector, and gives its length.

Arguments:

On entry X is a real 1x3 vector referred to the CCSL orthogonal axes
On exit X is replaced by a parallel unit vector
U is set to the original length of X

Description:

If the length would be very small, X is not changed.

Notes:

Works in double precision

Called by:

ALRPOL ANGDIR BNDLST FCHALC GETDC MAGDIR MAGDOM PFORMF SETDC SPHELI USYM CALQSF LCHALC ANGLD3 MAG3D ARTILT OVERLA MG3DGL MVENTR ARROW LABAX MAKROT PALSQ

*** UNIVEC 1 May 84 by JCM ***

Classification:

Matrices and Vectors . . . . . . . Utility

SUBROUTINE UNUSYM

Undoes the transformsation of symmetry operators by pre- and
post-multiplying them by the inverse of the orientation matrix for a Fourier map.

Arguments:

On entry N=0 if no matrix U has in fact been read.

Description:

Each symmetry matrix R except the first is replaced by:
U * R * (U)**-1
and each translation operator T by (U) * T
The routine also fills in the matrix PMAP(2,2), using the matrix
U expressed on the standard orthogonal axes. This matrix is then used in a "map to picture" conversion during plotting.

Notes:

If the original symmetry matrices are ever needed we can recover the transformations from the first element.

Calls:

GMEQ GMINV GMPRD

Called by:

FOURPL

Common blocks used:

/NSYM/ to use NOPC
/SYMDA/ to use SYM TRANS

*** UNUSYM new by PJB June 2006 ***

Classification:

Fourier Calculations . . . . . . . Setting Up

SUBROUTINE UPLOW(C)

Makes first letter of C upper case, and any subsequent letters
lower case.

Calls:

LENGT LETTER

Common blocks used:

/CHARS/ to use LETUP LETLOW

*** UPLOW by JCM 3 Aug 92 ***

Classification:

CCSL Input/Output Routines . . . . . . . Utility

SUBROUTINE UPONE(CH,IS)

Puts character strings into all uppercase or all lower case
depending on ISYS

Arguments:

CH contains the string for conversion
If IS=1 converts to upper case
IS=2 converts to lower case
IS=3 converts to upper or lower case depending on NSYSTM

All other values of IS convert CH to upper case

Calls:

LENGT

Called by:

ABSCOR FILPRO INCREM INITIL LCOLPG LSYMPG NOPFIL PSFILE D3OP99 NCHECK INFILE GENREF GRAFIC POSOUT COLORS

Common blocks used:

/CHARS/ to use LETUP LETLOW
/GLOBAL/ to use NSYSTM

*** UPONE modified by PJB 7-July-95 ***

Classification:

CCSL Input/Output Routines . . . . . . . Utility

SUBROUTINE UPPER(C)

Replaces any lower case letters in C by upper case

Calls:

LENGT LETTER

Called by:

SPACE D3OP99

Common blocks used:

/CHARS/ to use LETUP

*** UPPER by JCM 3 Aug 92 ***

Classification:

CCSL Input/Output Routines . . . . . . . Utility

SUBROUTINE USYM(N)

Transforms all the symmetry operators by pre- and post-multiplying
them by U, the orientation matrix for a Fourier map.

Arguments:

On entry N=0 if no matrix U has in fact been read.

Prerequisite calls:

Fourier calculations should be set up by SETFOU; in particular the number of dimensions, NDIM, is needed.

Description:

Each symmetry matrix R except the first is replaced by:
(U)**-1 * R * U
and each translation operator T by (U)**-1 * T
The routine also fills in the matrix PMAP(2,2), using the matrix
U expressed on the standard orthogonal axes. This matrix is then used in a "map to picture" conversion during plotting.

Notes:

If the original symmetry matrices are ever needed we can recover the transformations from the first element.

Calls:

ERRMES GMEQ GMPRD ORTHO SCALPR SINCOS TRANSQ TRINV3 UNIVEC VECPRD

Called by:

SETFOU FOURPL

Common blocks used:

/CONTUR/ to use PMAP
/IOUNIT/ to use LPT
/MAPDA/ to use OUTLIM NDIM
/NSYM/ to use NOPC
/PLOMAP/ to use SCALMP
/SCRAT/ to use all members
/SYMDA/ to use SYM TRANS

*** USYM by JCM 19 Mar 83 ***

Classification:

Fourier Calculations . . . . . . . Setting Up


Contents Manual

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