Book Reviews in December 197 issue no.63

Book reviews in issue 63



Review of the IUCr Textbook

The Basics of Crystallography and Diffraction
Author: C.Hammomd Publisher: Oxford University Press
( one of the International Union of Crystallography Texts ) date: 1997 249p
Price: paperback �14.99 ISBN 0 19 855945 3 hardback �30. ISBN 0 19 855966 6

This new textbook by Christopher Hammond is aimed at students in solid-state physics, solid-state chemistry, materials, or earth scientists. It is a considerable expansion (127pp to 242pp) of the earlier textbook "Introduction to Crystallography" by the same author. The new book is written along the same lines as the earlier book with updates to the first 6 chapters. However, I think the success of the new book results from expanding the earlier final chapter into four full-length chapters covering the diffraction of light; X-ray diffraction as seen through the contributions of Max von Laue, W. H. and W. L. Bragg, and P. P. Ewald; the diffraction of X-rays and electrons; and, finally, X-ray and electron diffraction of polycrystalline materials. This gives the textbook a better balance of material.

"The Basics of Crystallography and Diffraction" is easy to read with an emphasis on relating some of the difficult concepts involved in crystallography to more common everyday examples. The author also provides a historical background so as to give students a constant reminder of the excitement and personal nature of scientific discoveries.

As with the earlier book, this new textbook starts with a chapter on crystals and crystal structures with a strong bias towards metallic and ionic crystal structures. For the materials scientist, the chapter now includes a section on stacking faults and twins thus reminding the students of typical crystal imperfections seen in the real world.

This naturally progresses onto the subject of symmetry, a concept that many students often find hard to grasp initially and then wonder at its simplicity once they have seen the light. Symmetry is divided into three chapters: Firstly, the student is introduced to the concept of symmetry in 1 and 2 dimensions so as to aid visualisation. A short chapter follows this on the Bravais lattices and the 7 crystal systems. The expansion of the final chapter on space group symmetry is particularly welcome though I suspect that the author is probably aiming at more advanced students in his discussion on symmetry and physical properties.

Chapters 5 and 6 then continue with a discussion of lattice planes, Miller indices, and the reciprocal lattice. This is the only section of the book that I found slightly disappointing: It probably contains more mathematics than today's students are really interested in, and a few precession photographs (preferably taken with filtered radiation) could be used to illustrate the non-abstract nature of the reciprocal lattice and its symmetry.

The extra work in producing the final four chapters was well spent. Students readily relate to the subject of optical diffraction and experiments with light may be readily carried out in any lecture room. From the diffraction of light, the author passes on in chapter 8 to the subject of X-ray diffraction, putting it into a historical context. The extension of the Ewald construction to the case of Laue white-radiation diffraction should be particularly welcome to students using this technique.

Chapter 9 not only deals with the concept of the structure factor and the intensity of the diffracted radiation, but also discusses peak broadening, thus bringing the subject back to everyday materials. The section on the diffraction from multilayers goes slightly beyond basics, but will be of interest to students researching in thin-films. The final chapter shows how the concepts covered in the previous 9 chapters can be applied to the study of polycrystalline materials that are frequently encountered in solid-state research, an area of crystallography that is often neglected in many standard textbooks.

Overall, I can highly recommend this book to students as an introductory textbook to the subject of crystallography and diffraction. The textbook is one in a series sponsored by the International Union of Crystallography and published by Oxford University Press, price £14.99 paperback or £ 30 hardback edition.

Jeremy Karl Cockcroft,
Birkbeck College, London
November 1997

Editor's Note:Click here for a review of the 2nd Edition published in 2001.


Book Review (2) - 'Numerical Recipes in Fortran90'

Numerical Recipes in Fortran 90: The Art of Parallel Scientific Computing
Authors W.H.Press, S.A.Teukolsky, W.T. Vetterling and B.P. Flannery
Publisher Cambridge University Press 1996 544 pages ISBN 0 521 57439 0.
Price (hardback) £29.95 (US $44.95). CD-ROM £99.95 Single licence unix or
CD-ROM for PCs & Macs �59.95, or 3.5" floppy disc �24.95 with f77 and f90

The title of this book is misleading: its subtitle ”Volume 2 of Fortran Numerical Recipes• gives a better idea of the contents. The book Numerical Recipes in Fortran77 [NR] (now retitled Volume 1) by Press et al, which is well known in the scientific computing community, contains listings of many routines together with a discussion of the theoretical background, much of which is an excellent text on numerical methods. If you are not familiar with the book, visit your library, or bookshop, or the Numerical Recipes website http://www.nr.com. If you are familiar with the book, visit the website.

NR in F90 updates the routines from volume 1 to Fortran 90 [F90]. For the theoretical background, you are referred to volume 1. The substantive text of NR in F90 consists of three chapters ”Introduction to Fortran 90 Language Features•, ”Introduction to Parallel Programming• and ”Numerical Recipes Utility Functions for Fortran 90•. There are also commentaries on the routines: on issues related to parallelising the algorithms and related to the F90 implementation.

The book is supplemented by a CD-ROM, which contains all the F90 routines (single user licence). For the review the unix version of the CD-ROM was tested, using an Acorn StrongArm computer as a ”terminal•. The CD-ROM provides a virtual website‘ which is accessible with both web browsers tested (Fresco, and the free Arcweb). Transferring the Fortran recipes to the Sun computer on which Fortran 90 was running was straightforward. The text files on the CD-ROM were read with a standard text editor (Zap). The routines are available also on a 3½• disc. If one is to make significant use of NR in F90, access to the CDROM or disc is essential.

In addition to the F90 routines, the CD-ROM contains all the routines of NR in several languages, including F77. It also contains much public domain material, including mathematical libraries. See the website for further details.

The brief introduction to Fortran 90 in the first chapter of this book is not intended to be a programming manual. Some of the features of F90 particularly relevant to scientific programming, such as the enhanced array processing features are highlighted. For example, it is possible to treat a single row or column, or even part of a row or column, of a two-dimensional array as though it were a one-dimensional array.

The second chapter discusses why Fortran 90 appears to be the best language for parallel programming. (Newcomers to parallel programming would be well advised to seek advice from a computing centre running a parallel system: many supercomputer centres have training arrangements for new users.)

The third chapter discusses a set of utility functions for Fortran 90; some of these the authors believe ought really to be intrinsic language features (e.g. swap). Other utilities are intended to make programs run more efficiently on parallel computers (though machine specific alternatives may be available).

Fortran 90 (F90) contains many additions to the previous Fortran standard (F77), including the following:

In F90 a module is a chunk of code which may be included in a program, or in a routine, by the statement ”use <module name>•. F90 uses an explicit interface for a sub program: This is another chunk of code which defines the nature of the arguments, whether they are real, integer etc. An interface may be overloaded so that several routines may have the same generic name. This means that the same generic function name may be used for single and double precision arguments, and for integer and complex arguments too.

As well as updating Numerical Recipes to F90, this book has an appendix (C1) containing two modules, nrtype and nrutil, which may be down loaded from the Numerical Recipes website. Their use is explained on p 1364 thus:

”The purpose of the nrutil utilities is to remove from the Numerical Recipes programs just those programming tasks and idioms‘ whose efficient implementation is most hardware and compiler dependent, so as to allow for specific, efficient implementations on different machines. One should therefore not expect the utmost in efficiency from the general purpose one-size-fits-all, implementations listed here.

”Correspondingly we would encourage the incorporation of of efficient nrutil implementations, and/or comparable capabilities under different names, with as broad as possible a set of overloaded data types, in libraries associated with specific compilers or machines. In support of this goal we have specifically put this Appendix C1 and the files nrtype.f90 and nrutil.f90 into the public domain.•

These files may be down loaded from the Numerical Recipes website.

If you are already programming in F90 you will find this book and CD-ROM (or disc) invaluable. If you are not already programming in F90, the availability of this book (and CD-ROM) should encourage you to think about doing so.

Peter Borcherds
Physics Department, University of Birmingham

[email protected]


Page last updated 12 Dec 1997

BCA Home page WebMaster [email protected]
<-- Click here to return to BCA homepage