# Direction Create

- Type
- Scope
- Projection
- View

Set here the atomic structure to include, and the range of directions to create, for a given crystallographic family.

### Structure

It is often useful to recreate in a direction the atomic structure existing in the parent object. A list is first created, with all the atoms closer to the direction than the distance defined by Thickness.

When Structure is set to Copy, listed atoms are copied to the atomic or crystallographic directions just created. When Structure is set to Link, listed atoms are linked to the atomic or crystallographic directions just created. When Structure is set to None, only a line representation of the direction is created, without atoms.

### Filter

After collecting a list of atoms close enough to the direction, a filtering condition may be applied. This can be very useful to avoid atom superposition, resulting for example from atoms copied before to different directions.

When Filter is set to Class, atoms belonging to another directions are ignored. When Filter is set to Child, atoms not belonging directly to the direction parent are ignored. When Filter is set to Identical, atoms closer than a given distance (currently 1.0E-2, as defined in GAMGI_MATH_TOLERANCE_STRUCTURE) to a previous atom are ignored. When Filter is set to None, no filtering condition is applied.

### Thickness

The line representation of the direction is expanded as much as possible, limited by the cell volume, in crystallographic directions, and by the atoms within a Thickness range of the direction defined by the two atoms, in atomic directions.

### Node

A direction can be defined indicating explicitly the coordinates of a node where the direction passes. For each direction family, there is a direction passing through the origin node and as nodes are equivalent, it follows that for any node, there is a direction of any family passing through there.

By default, only the direction passing through the origin is represented, with node coordinates o1, o2, o3, o4, equal to 0, 0, 0 and 000, respectively.

### o1, o2, o3

These entries provide the coordinates of the node in the lower-left corner of the cell where the direction passes, calculated with conventional or primitive cell vectors. When the lattice is primitive or vectors are primitive, this corner node becomes the place where the direction passes.

The vectors used for the node coordinates, Conventional or Primitive, are those used to define the plane indices, in the Type page, of the first dialog.

### o4

When the lattice is centered and vectors are conventional, a fourth coordinate o4 is needed to point the centered node where the direction passes. By default, o4 is 000, so no change is introduced. When the cell lattice is primitive P or the vectors defining the node are primitive, that is the only possible value for o4. For I, C, F, R centered lattices, o4 can also take the values:

    I: 111
    C: 110
    F: 110, 101, 011
    R: 211, 122

corresponding to the numerators of the inner node coordinates, (1/2 1/2 1/2) for I lattices, (1/2 1/2 0) for C lattices, (0 1/2 1/2) (1/2 0 1/2) (1/2 1/2 0) for F lattices and (1/3 2/3 2/3) (2/3 1/3 1/3) for R lattices.

### Range

A set of directions to create can also be defined automatically, with two plane families belonging to the direction zone axis. Defining a range for each plane family, the intersection of the two ranges of planes defines an infinite volume, aligned along the direction orientation. All directions of the family that fall inside this volume should be created. For directions [001], for example, the planes paralel, belonging to the direction axis, can be for example (100) and (010), as determined by the Weiss equation: hu + kv + lw = 0. For a cubic primitive lattice cP, a range (0 to 1) for planes (100) and a range (0 to 2) for planes (010) results in a volume containing 2x3 = 6 crystallographic directions [001]. To select a range of directions, press Range, to open a second level dialog.

### Family

For each plane family, enter the indices h, k, l. Each set of indices must obbey the Weiss zone equation, when combined with the direction indices, otherwise an error is shown.

Each plane of a family (h k l) intersects the lattice in n/h n/k n/l, where n = 0 means the plane passing through the origin and n = 1 is the usual representation of the plane closest to the origin. The range of planes to consider is defined by the values entered near to the buttons Start and End, describing the initial and final values of n. For example, setting Start to -1 and End to 1 defines a range with 3 planes, intersecting the axes in: 1) -1/h -1/k -1/l; 2) 0; 3) 1/h 1/k 1/l.

Pressing the Start button, the entry is disabled and GAMGI considers automatically all the planes from the beginning of the cell volume to the final plane specified. Pressing the End button, the entry is disabled and GAMGI considers automatically all the planes from the end of the cell volume to the first plane specified. When both buttons are pressed, GAMGI considers automatically all the planes from the beginning to the end of the cell volume, so all directions inside the cell volume will be created.

After entering the plane ranges, pressing Ok saves the data, closes the second level dialog, and disables the node information in the first level dialog. Pressing Cancel, the current data in both dialogs is maintained and the second level dialog is closed.

Pressing Node in the first level dialog, removes the second level data, closes the second level dialog, enables and initializes (if empty) the node data.

The vectors used for the node coordinates, Conventional or Primitive, are those used to define the plane indices, in the Type page, of the first dialog.

When adding information in the second level dialog, the direction indices and the cell must have been entered before, so GAMGI can check if the information is correct. For the same reason, when Cell, u, v, w, or Vectors changed in the Type page, all the information in the second level dialog is automatically discarded, as it might be wrong.
Home