Bulk Builder

Table of Contents

The Bulk Builder tool is designed for building and editing bulk structures. You can use the tool to

In this chapter, we will give a detailed account of the functionality available in the Bulk Builder tool.

When you have finished building your bulk structure you can either

Starting the Bulk Builder

In order to start using the Bulk Builder tool, double-click the icon

on the VNL Toolbar. A Bulk Builder window should now be available on your desktop as shown in Figure 21. The panel on the right is the 3D-View which is used for displaying a 3D rendering of the bulk structure you are building, while the panel to the left is the Lattice Parameters dialog.

The Bulk Builder tool: Lattice Parameters dialog panel (left), 3D-View (right).

Figure 21: The Bulk Builder tool: Lattice Parameters dialog panel (left), 3D-View (right).


Setting coordinate types

Positions can be entered for new bulk structures using either fractional or Cartesian coordinates. Use the radio buttons under Coordinate type to choose among the two coordinate types. For Cartesian coordinates, you specify the position of the atom in units of Ångström. For fractional coordinates, you specify the position of the atom in units of the three primitive vectors A, B, and C.

[Important] Important

Making the right chose between Cartesian or fractional coordinates is essential when setting up your bulk structures:

  • Fractional: The position of the basis atoms scale with the lattice as the lattice geometry change, i.e. the Cartesian coordinates are modified.

  • Cartesian: The position of the basis atoms are kept fixed when the lattice geometry change, i.e. the Cartesian coordinates are not modified.

Defining the Lattice

In order to define a lattice and its associated lattice parameters, click on the Lattice tab . You should now have the Bulk Builder tool with the Lattice Parameters dialog panel on the left, and the 3D-View on the right. This is also the default on start-up of the Bulk Builder.

Selecting lattice type

Start by selecting the type of Bravais lattice, by using the drop-down menu Type from the Lattice Parameters panel. From this drop-down menu, all 14 possible Bravais lattices, plus a so-called Periodic Atom Configuration are available. A separate description of the Periodic Atom Configuration lattice, is given in the section Periodic Atom Configurations. A list of all the available lattices is shown in Table 3.

Table 3: The 14 Bravais and the Periodic Atom Configuration lattices. Each Bravais lattice is grouped in one of seven Bravais lattice classes. Each bullet indicates the editable lattice parameters for the respective lattices.

Bravais lattice class Lattice a b c α β γ
Cubic SimpleCubic          
FaceCenteredCubic          
BodyCenteredCubic          
Hexagonal Hexagonal        
Rhombohedral Rhombohedral        
Tetragonal SimpleTetragonal        
BodyCenteredTetragonal        
Orthorhombic SimpleOrthorhombic      
BodyCenteredOrthorhombic      
FaceCenteredOrthorhombic      
BaseCenteredOrthorhombic      
Monoclinic SimpleMonoclinic    
BaseCenteredMonoclinic    
Triclinic Triclinic
PeriodicAtomConfiguration PeriodicAtomConfiguration            

For a graphical representation of all 14 Bravais lattices, see the Bravais Lattice Wikipedia page.

To show the current lattice in the 3D-View panel, press the Show button at the bottom of the Lattice Parameters dialog panel. Note, that for non-primitive lattices, the displayed unit-cell is always the primitive unit-cell and not the conventional unit-cell. The difference between a primitive and a conventional unit-cell is illustrated for the FaceCenteredCubic lattice in Figure 22(a).

In the lower part of the Lattice Parameters dialog panel, see Figure 21, the vectors A, B, and C corresponding to the primitive unit-cell, are displayed. The labeling of the axes (A,B,C) is also used in the 3D-View panel, see Figure 21.

The volume of the primitive unit-cell is displayed below the vectors.

The conventional and primitive unit-cell for (a) the FaceCenteredCubic lattice and (b) for the Triclinic lattice. The three unit-cell axis (a, b, and c), together with the three angles α, β, and γ are illustrated for the two lattices.

Figure 22: The conventional and primitive unit-cell for (a) the FaceCenteredCubic lattice and (b) for the Triclinic lattice. The three unit-cell axis (a, b, and c), together with the three angles α, β, and γ are illustrated for the two lattices.


Editing lattice parameters

After the lattice has been selected, we now turn to defining the parameters for the specific lattice.

In the Lattice Parameters dialog panel (see Figure 21), the parameters for the lattice can be specified. The most general set of parameters are the three lattice constants a, b, and c, corresponding to the three crystal axes a, b, and c, respectively. In addition to these three lattice constants, the angles between the crystal axes α, β, and γ can be specified. Note, that the axes a, b, and c correspond to the conventional unit-cell. These 6 parameters are illustrated for the FaceCenteredCubic lattice and for the Triclinic lattice in Figure 22(a) and Figure 22(b), respectively.

Except for triclinic lattices, all Bravais lattices have a higher degree of symmetry. This implies that the lattice parameters discussed above are constrained to certain values. For example, in a simple cubic lattice, a = b = c and α = β = γ = 90°. In the Lattice Parameters dialog panel these relations will automatically be enforced, i.e. when you select the SimpleCubic lattice, only the lattice constant a can be specified. In this case, the parameter fields corresponding to the lattice constants b and c will be output-only fields and follow the selected value for a. The parameter fields corresponding to the angles α = β = γ will also be output-only fields for the SimpleCubic lattice. For a complete list of the free parameters for each lattice, see Table 3.

For convenience, the respective ratios b/a and c/a can be used to specify b and c. Note, that specifying b/a or c/a will always change b or c, leaving a unaffected.

Note the constraints between the angles for the Triclinic lattice:

  • α < β + γ ≤ 360° - α

  • β < α + γ ≤ 360° - β

  • γ < α + β ≤ 360° - γ

Converting between Bravais lattices

You can use the Bulk Builder to convert between lattice types: For example, if you have defined the lattice constant a for a SimpleCubic you can translate this into the equivalent Triclinic lattice, now with b = c = a. The reverse operation is also possible. In this case, however, you may loose information. For example, when converting a unit cell from Triclinic to SimpleCubic, the lattice constant a will be used for defining the latter, whereas b and c are discarded.

For a description of the conversion from a Bravais lattices to a Periodic Atom Configuration and vice versa, see Periodic Atom Configurations.

Periodic Atom Configurations

A Periodic Atom Configuration is a special element introduced in NanoLanguage for setting up periodic structures that cannot be represented by one of the ordinary 14 Bravais lattices. The Periodic Atom Configuration is defined by a set of three general unit cell vectors, which makes importing and exporting of structures to third-party software tools easier. Periodic Atom Configurations include structures such as crystal surfaces, carbon nanotubes, and stacked surfaces (slabs).

For example, if you set up a carbon nanotube using the Nanotube Grower and drag-and-drop the constructed nanotube to the Bulk Builder icon on the VNL Tool Bar, the nanotube will show up as a Periodic Atom Configuration in the Builder Builder dialog.

A carbon nanotube, represented as a Periodic Atom Configuration in the Bulk Builder.

Figure 23: A carbon nanotube, represented as a Periodic Atom Configuration in the Bulk Builder.


When you choose to construct a Periodic Atom Configuration, all lattice parameters, that is the lattice constants a, b, and c, as well as the lattice angles α, β, and γ become read-only parameters. Instead the geometry of the Periodic Atom Configuration is controlled by setting the values of the primitive vectors displayed in the Primitive vectors table. To modify the values of the primitive vectors, double-click any of the values displayed in the 3x3 table, edit the displayed value, and press Return.

When you change a Bravais lattice into a Periodic Atom Configuration, the primitive vectors of the Bravais lattice is used to define the Periodic Atom Configuration. This also means that the values of the lattice constants a, b, and c, as well as the lattice angles α, β, and γ typically will change. Similarly, if you change a Periodic Atom Configuration into a Bravais lattice, the lengths a, b, and c, and the mutual angles α, β, and γ between the three primitive vectors will be used to define the chosen Bravais lattice.

[Important] Important

The above conversion rules imply that the conversion “Bravais lattice → Periodic Atom Configuration → Bravais lattice” is not reversible.

In general, the conversion of a Periodic Atom Configuration (PAC) to a Triclinic lattice is always well-defined, and corresponds to a rotation of the general PAC unit-cell in such a way that the primitive vector A is directed along the x-axis. Note also, that the conversion of any Bravais lattice to a PAC conserves the geometry of the unit cell.

Defining the Basis atoms

In order to define basis atoms for the new lattice, click on the Basis tab . You should now have the Bulk Builder tool with the Basis dialog panel on the left, and the 3D-View on the right (see Figure 24).

The Basis dialog defines a Table View for specifying the element types and positions of the basis atoms. You can define your basis atoms using either

The Bulk Builder tool: Basis dialog panel (left) using Table View for defining a the basis atoms and 3D-View (right).

Figure 24: The Bulk Builder tool: Basis dialog panel (left) using Table View for defining a the basis atoms and 3D-View (right).


The Bulk Builder Table View

This section will describe how to insert, delete, and define basis atoms for a bulk structure by using the Bulk Builder Table View.

Atoms are inserted into the bulk structure by right-clicking the white area on the left part of the Bulk Builder tool and choose Insert Atom from the menu. Hydrogen is the default element for new atoms; to change to another element, simply choose a different element from the drop-down list in the element column of the table.

You can change the element type of the any inserted element by using the drop-down lists that are available for each separate element in the table. The element type of several elements can be changed simultaneously by selecting several elements in the element table and then change the element type of one of the selected atoms. Selection works in the following way

  • To select an element, left-click on the row number associated with the element.

  • Selecting a new element will deselect any previously selected elements.

  • If the Ctrl key is pressed while selecting a new element, any previously selected element will remain selected.

  • If the Ctrl-Shift is pressed, any element between the currently selected element and the clicked element will be selected/deselected depending on its current state.

Using the check box below the table, Display selected atoms only, you can limit the number of atoms listed in the table to atom only selected in the view. In this mode, new inserted atoms are automatically selected.

An atom can be deleted by right-clicking the corresponding table-row, and then choose Delete Atom from the menu.

The BulkBuilder 3D-View

In this section we will give an overview of the possibilities for displaying and manipulating the Bulk Structure using the Bulk Builder 3D-View.

Left-clicking an atom in the 3D-View will select or deselect the specific atom. You can also get information on an atom by hovering the mouse over the atom; a small text box will appear, showing the element and position information of the atom.

By using the Right-click in the 3D-View you enter the context menu, see Figure 25.

The context menu for the Bulk Builder 3D-View.

Figure 25: The context menu for the Bulk Builder 3D-View.


From the context menu you have the following possibilities for manipulating the atoms and changing the properties of the 3D plot:

  • Select all. Use this command to select all atoms. Note, that after one or more atoms has been selected, an extra command Delete appears on the context menu. Delete will delete all selected atoms.

  • Plots. This drop-down menu is used for controlling which plots are displayed. For more details, see Controlling which plots are displayed.

  • Camera. This drop-down menu give access to camera settings and export of the current view. For more details, see Changing the appearance of a plot.

  • Properties This menu allows for changing the properties of the current plots. For more details, see Changing the appearance of a plot.

Bulk Repetitions

Repetition of a bulk configuration is useful way of creating a larger configuration used, for example, as a starting point for a defect calculation. By using the Repetition button from the Bulk Builder main window Figure 21, you can repeat the bulk structure currently defined in the Bulk Builder.

After pressing the Repetition button, you should see the Repetition dialog, as shown in Figure 26.

Three spin boxes n(A), n(B), and n(C) will repeat the bulk configuration in the directions given by the three primitive vectors A, B and C, respectively. From the Repetition dialog the new values of the lattice constants A, B and C, and the new number of atoms for a given setting of n(A), n(B), and n(C) are displayed.

[Note] Note

The repetitions you can apply in the Repetition dialog will not break the symmetry of the crystal currently defined in the Lattice Parameters dialog panel, So, for a SimpleCubic crystal, you can only change n(A). If you wish to apply repetitions not allowed by a particular lattice, change the lattice to one with a lower symmetry that permits the desired repetition. The permitted repetitions for each of the 14 Bravais lattices is in shown in Table 4.

Table 4: The respective degrees of freedom permitted in repetitions of the 14 Bravais lattices. For each primitive lattice vector A, B, and C, a bullet indicates if a repetition is permitted along the given lattice vector.

Bravais lattice A B C
SimpleCubic    
FaceCenteredCubic    
BodyCenteredCubic    
Hexagonal  
Rhombohedral    
SimpleTetragonal  
BodyCenteredTetragonal    
SimpleOrthorhombic
BodyCenteredOrthorhombic    
FaceCenteredOrthorhombic    
BaseCenteredOrthorhombic  
SimpleMonoclinic
BaseCenteredMonoclinic  
Triclinic
PeriodicAtomConfiguration

After having defined the repetitions, use the Apply button to apply the repetition. Now, the 3D window and the table view will be updated to show the new structure, and the Repetition dialog will be closed. The operation performed by the Apply button is irreversible, i.e it it will change the lattice and basis already defined. Because of this, it is important to save the configuration before entering the Repetition dialog. Either use Save As or Save or transfer a configuration to another VNL tool using drag-and-drop via the icon at the bottom-right corner of the Bulk Builder window.

The Repetition dialog.

Figure 26: The Repetition dialog.


No changes can be made in the Bulk Builder before the Repetition dialog is closed, either by using the Apply button or the Cancel.

In Figure 27(a) we show a ZnSe crystal in the hexagonal wurtzite structure. This structure has been dropped on the Bulk Builder from the Crystal Cupboard. In Figure 27(b), the structure has been repeated 3x3x2 times, using the Repetition dialog. After the repetition has been done using the Repetition dialog, the Basis dialog has been used to add and position a boron defect in the ZnSe crystal.

(a)   (b)
ZnSe crystal in the wurtzite structure (a) and a repeated 3x3x2 crystal, with an added boron defect (pink atom) (b).   ZnSe crystal in the wurtzite structure (a) and a repeated 3x3x2 crystal, with an added boron defect (pink atom) (b).
     

Figure 27: ZnSe crystal in the wurtzite structure (a) and a repeated 3x3x2 crystal, with an added boron defect (pink atom) (b).