-
-
Notifications
You must be signed in to change notification settings - Fork 60
Python SuperCell
The SuperCell
object handles settings of a unit cell.
Only the lattice vectors and their corresponding super cell
is contained in this object.
The super cell can be understood as a unit cell object with attached auxilliary information about its super cell range.
Super cells are created simply by passing either of 3 cell options:
- Pass a
cell
3x3 matrix wherecell[i,:]
is the _i_th lattice vector. - Pass a
cell
vector of length 3 which corresponds to a diagonal Cartesian unit cell with the diagonal elements. - Pass a
cell
vector of length 6 which corresponds to a skewed unit cell with a, b, c, alpha, beta, gamma as commonly defined.
The object also contains information regarding the size of the auxiliary
super cell. I.e. it knows the number of neighbouring interaction cells.
When creating an object an optional keyword (nsc=[<int>]*3
) is allowed
which describes the total number of interaction cells.
Initialising a SuperCell([5,10,20],[5,3,1])
yields a super cell as shown below.
Note that the integers describe the total number of auxiliary cells and not
only in one direction. This means that nsc
must only contain uneven numbers
(an error is raised if any even integers are used).