General Utility for crystals

Periodica performs a collection of different tasks for crystals.

Here we provide some of the basic functionality for periodica. A crystal structure file must be provided on the command line, either as a filename or as standard input. The crystal structure is simply output if no other commands are provided. Let us use pm-prototype to look at some examles.

# start with perovskite
pm-prototype-xtal --perovskite > xtal.yaml
pm-periodica xtal.yaml

# or we can simply do this
pm-prototype-xtal --perovskite  | pm-periodica

In both cases, the output will be:

# Crystal
vec:
  [[ 3.91300000,  0.00000000,  0.00000000],
   [ 0.00000000,  3.91300000,  0.00000000],
   [ 0.00000000,  0.00000000,  3.91300000]]
atoms:
  - Sr: 
      [[ 0.50000000,  0.50000000,  0.50000000]]
  - Ti: 
      [[ 0.00000000,  0.00000000,  0.00000000]]
  - O: 
      [[ 0.50000000,  0.00000000,  0.00000000],
       [ 0.00000000,  0.50000000,  0.00000000],
       [ 0.00000000,  0.00000000,  0.50000000]]

Basic manipulations of the unit cell can be peformed, like shifting or permuting the atoms.

pm-periodica xtal.yaml --shift-origin 0.5,0.5,0.5 --shift-into-cell --permute-atoms 0,1,3,4,2
# Crystal
vec:
  [[ 3.91300000,  0.00000000,  0.00000000],
   [ 0.00000000,  3.91300000,  0.00000000],
   [ 0.00000000,  0.00000000,  3.91300000]]
atoms:
  - Sr: 
      [[ 0.00000000,  0.00000000,  0.00000000]]
  - Ti: 
      [[ 0.50000000,  0.50000000,  0.50000000]]
  - O: 
      [[ 0.50000000,  0.00000000,  0.50000000],
       [ 0.50000000,  0.50000000,  0.00000000],
       [ 0.00000000,  0.50000000,  0.50000000]]

Basic information about the lattice can be printed.