pwtools.crys.scell¶
- pwtools.crys.scell(obj, dims, method=1, **kwds)[source]¶
Build supercell based on dims.
Uses coords_frac and cell.
- Parameters:
obj (Structure or Trajectory)
dims (tuple (nx, ny, nz) for a N = nx * ny * nz supercell)
method (int, optional) – Switch between numpy-ish (1) or loop (2) implementation. (2) should always produce correct results but is sublty slower. Only for Structure.
**kwds (see
scell_mask()
)
Notes
The mask for the supercell is created by
scell_mask()
and applied to each atom in obj one after another, i.e. each atom is repeated nx*ny*nz times according to the mask pattern, independently of how the pattern looks like (e.g. the direc parameter inscell_mask()
). So, just as rows in np.repeat(), we have:original: symbols=[A,B,C,D]2 x 1 x 1: symbols=[A,A,B,B,C,C,D,D]nx x ny x nz: symbols=[(nx*ny*nz) x A, (nx*ny*nz) x B, …]- Returns:
scell
- Return type: