Program Library

- Provenance of code.
- Purpose of code.
- Specification.
- Description of subroutine's operation.
- References.
- Parameter descriptions.
- Error indicators.
- Accuracy estimate.
- Any additional information.
- Example of code
- Auxiliary subroutines required.
- Keywords.
- Download source code.
- Links.

H.K.D.H. Bhadeshia,

Phase Transformations Group,

Department of Materials Science and Metallurgy,

University of Cambridge,

Cambridge, U.K.

To calculate the angle between two reciprocal lattice vectors, and the magnitude of those vectors.

Language: | FORTRAN |

Product form: | Source code |

SUBROUTINE MAP_CRYSTAL_TEST2(ACCU, F, RR, AA, H, K, L,

& HH, KK, LL, JTYPE, AD, BD, U1, V1, W1, AX, PI)

REAL ACCU, F(9), RR, AA, H, K, L, HH, KK, LL, AD, BD, U1,

& V1, W1, AX

INTEGER JTYPE

MAP_CRYSTAL_TEST2 calculates the angle between two reciprocal lattice vectors, and also the magnitudes of these vectors, for a given pair of Miller indices, and given lattice type and systematic absences.

- H.K.D.H. Bhadeshia, Worked Examples in the Geometry of Crystals, Institute of Materials, London, 1987.
- H.K.D.H. Bhadeshia, Chapter on crystallography in Microstructural Characterisation of High Temperature Materials, ed. E. Metcalfe, Institute of Metals, London, 1988.

**ACCU**- real- ACCU is the specified fractional accuracy (typically about 0.03).
**F**- real array of dimension 9- F is the metric tensor for converting from reciprocal to real space.
**RR**- real- RR is the ratio of the d-spacings.
**AA**- real- AA is the angle (in radians) between the two vectors.
**H, K, L**- reals- H, K, L are the components of the first vector [H,K,L].
**HH, KK, LL**- reals- HH, KK, LL are the components of the second vector [HH,KK,LL].
**JTYPE**- integer- JTYPE is the lattice type:-
- JTYPE = 1 for a cubic system.
- JTYPE = 2 for a tetragonal system.
- JTYPE = 3 for an orthorhombic system.
- JTYPE = 4 for an hexagonal system.
- JTYPE = 5 for a monoclinic system.
- JTYPE = 6 for a triclinic system.

**AD**- real- AD is the calculated d-spacing for [H,K,L].
**BD**- real- BD is the calculated d-spacing for [HH,KK,LL].
**U1, V1, Z1**- reals- U1, V1, W1 are the normalised components of the zone axis.
**AX**- real- AX is the angle between the lattice vectors.

None.

No information provided.

None.

REAL F(9), ACCU, RR, AA, H, K, L, HH, KK, LL REAL AD, BD, U1, V1, W1, AX, PI INTEGER JTYPE, I INCLUDE 'map_constants_pi.f' READ (5,*) (F(I), I=1,9) READ (5,*) ACCU, RR, AA READ (5,*) H, K, L READ (5,*) HH, KK, LL READ (5,*) JTYPE CALL MAP_CRYSTAL_TEST2(ACCU, F, RR, AA, H, K, L, & HH, KK, LL, JTYPE, AD, BD, U1, V1, W1, AX, PI) WRITE (6,10) AD WRITE (6,20) BD WRITE (6,30) U1, V1, W1 WRITE (6,40) AX 10 FORMAT('Calculated d-spacing for [H,K,L] is ',F8.4,' A') 20 FORMAT('Calculated d-spacing for [HH,KK,LL] is 'F8.4, ' A') 30 FORMAT('Normalised components of zone axis ',3F8.4) 40 FORMAT('Angle between lattice vectors ',F8.4,' degrees') STOP END

1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.25 0.03

None supplied.

**Utility Subroutines**:

MAP_UTIL_NORM

MAP_UTIL_TRANS

d-spacing, Miller index, angle, reciprocal

**
MAP originated from a joint project of the National Physical Laboratory and the University of Cambridge.
**