PeriodicAtomConfiguration — Used to represent a periodic arrangement of atoms which is not a crystal structure (e.g. electrodes, slabs etc.).
The PeriodicAtomConfiguration class is used to create electrodes for two-probe systems. If you would like to create a bulk system you should instead use the BulkConfiguration.
List of arguments
A list, consisting of three vectors with three components (each with unit of length) that define the electrode unit cell.
Default:
None
elements of all atoms contained in the electrode unit cell.
Default:
None
A list containing tuples of Cartesian coordinates, in a desired unit, for each atom in the electrode unit cell. The list should have the same length as the list of elements, and the atoms should be ordered in the same way.
Default:
None
A list containing tuples of coordinates, in units of the lattice vectors, for each atom in the electrode unit cell. The list should have the same length as the list of elements, and the atoms should be ordered in the same way.
Default:
None
Dictionary of pseudopotential parameters.
Default: Pseudo-potentials supplied with atk
A PeriodicAtomConfiguration object has the following query functions:
Array
cartesianCoordinates(): Returns a NumPy array
containing the Cartesian coordinates of the atoms in the PeriodicAtomConfiguration.
List elements(): Returns
the element types of the atoms in the electrode unit cell.
Array superCellVectors():
Returns a NumPy array which contains the super cell vectors that define the
electrode unit cell.
Construct a lithium electrode using Cartesian coordinates:
unit_cell = [ [ 8.7, 0.0, 0.0 ], [ 0.0, 8.7, 0.0 ], [ 0.0, 0.0, 11.6]]*Ang li_electrode = PeriodicAtomConfiguration( unit_cell, 4*[Lithium], [(4.35, 4.35, 0.0)*Ang, (4.35, 4.35, 2.9)*Ang, (4.35, 4.35, 5.8)*Ang, (4.35, 4.35, 8.7)*Ang])
In ATK, the algorithms used to calculate two-probe systems requires the third
super cell vector to be perpendicular to the two other ones. Furthermore, the
third vector should be parallel to the Cartesian
axis.
If both cartesian_coordinates and
fractional_coordinates are specified, an exception is
raised. For constructing crystal structures with a Bravais lattice, use BulkConfiguration.
A PeriodicAtomConfiguration can be saved to a VNL file.