-
-
Notifications
You must be signed in to change notification settings - Fork 64
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
cell3x3 matrix wherecell[i,:]is the _i_th lattice vector. - Pass a
cellvector of length 3 which corresponds to a diagonal Cartesian unit cell with the diagonal elements. - Pass a
cellvector 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).