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