Working with crystal structures

GTPack contains several functions to work with space groups and crystal structures, which are illustrated within this tutorial. Since different crystal structures cannot be implemented by referring to the space group number, a user defined database has to be created. This database is written to a list called spcgrp. To distinguish the structures, e.g. the Pearson Symbol or Strukturbericht Symbol can be taken into account.

GTInstallStructure[Structure]installs a crystal structure,by appeding it to the list spcgrp.
GTAllStructures[]prints all structures that are currently installed within the list spcgrp.
GTGetStructure[Information]displays an installed crystal structure from a certain information (e.g.Pearson symbol,Strukturbericht designation,name).
GTSaveStructures[File]saves the content of the list spcgrp (list of installed crystal structures) to an arbitrary File.
GTLoadStructures[File]loads the content of the list spcgrp (list of installed crystal structures) from an arbitrary File.
GTPlotStructure[Structure, Min,Max]plots a crystal Structure within a certain plot range,defined by Min and Max.
Loading GTPack.

As a first example the diamond structure is considered. From the Naval Research page (http://cst-www.nrl.navy.mil/lattice/) we get:
# Prototype : C (diamond)
# Pearson Symbol : cF8
# Strukturbericht Designation : A4
# Space Group : Fd3m (Cartesian and lattice coordinate listings available)
# Number : 227
# Other Elements with this Structure : Si, Ge, Sn
# Reference : Ashcroft and Mermin, p.76.
# Primitive Vectors :
A1 = ½ a Y + ½ a Z
A2 = ½ a X + ½ a Z
A3 = ½ a X + ½ a Y
# Basis Vectors :
B1 = -1/8 A1 - 1/8 A2 - 1/8 A3 = -1/8 a X - 1/8 a Y - 1/8 aZ (C) (8 a)
B2 = +1/8 A1 + 1/8 A2 + 1/8 A3 = +1/8 a X + 1/8 a Y + 1/8 aZ (C) (8 a)

The information will be organized as follows in a dataset:
Analogously, the information for the NaCl structure, CaF2 and Wurtzite structure are given as follows.
When GTPack is loaded, SpaceGroups.m contains the empty list spcgrp.
The structures defined above, can be added to spcgrp, using GTInstallStructure.
The content of spcgrp, can be displayed using GTAllStructures.
It is not possible to install a structure twice.
To display a certain structure, GTGetStructure can be used. As argument, a certain information of the structure can be taken into account (e.g. the Pearson symbol, the Strukturbericht symbol or the name).
The implemented structures can be saved to an arbitrary file using GTSaveStructures.
To load structures from a file take GTLoadStructures.
To illustrate the structures, the command GTPlotStructure is implemented. All you have to do is to specify the plot range as well as the structure.