next up previous
Next: Explanation of the Example Up: INTRODUCTION TO CCSL Previous: Content of the Manual

An introductory example

CCSL is a Library of FORTRAN routines intended to be used for standard crystallographic calculations. The routines may be thought of as tools with which the crystallographer can make his own programs to do exactly the computations he wants.

It has been written with the needs of the non-standard crystallographer (or the solid state physicist working with crystalline materials) in mind. It is not intended simply for the solution or refinement of ordinary crystal structures, for which other systems may be more suitable.

Let us first take a simple but realistic small example. The main program:

      LOGICAL NOMORE
      DIMENSION H(3),K(3)
      COMMON /IOUNIT/LPT,ITI,ITO,IPLO,LUNI,IOUT
      CALL PREFIN('SIMPLE')
      CALL SYMOP
      CALL OPSYM(1)
      CALL SYMUNI
      CALL RECIP
      CALL SETGEN(0.2)
      NSUM=0
      WRITE (LPT,2000)
2000  FORMAT (//'   h     k    l  Multiplicity')
C
   1  CALL GETGEN(H,NOMORE)
      IF (NOMORE) GO TO 2
      MULT=MULBOX(H)
      NSUM=NSUM+MULT
      CALL INDFIX(H,K)
      IF (MULT .NE. 0) WRITE (LPT,2001) K,MULT
 2001 FORMAT(3I5,I8)
      GO TO 1
C
   2  WRITE (LPT,2002)  NSUM
2002  FORMAT (/' Number of reflections inside sphere =',I5)
      STOP
      END
if supplied with a Crystal Data File named SAMPLE.CRY which says:
C 7.07107   7.07107   8.66025
S     Y,     Y-X,  1/6+Z
S    -Y,     -X,   1/6-Z

and run as a FORTRAN job, given CCSL as a Library, produces the output.



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