pymatgen - jspark85/share GitHub Wiki
Basic
import pymatgen as mg
structure = mg.Structure.from_file("POSCAR")
Electronic Band Structure
x = mg.symmetry.bandstructure.HighSymmKpath(structure)
#import pprint
#pprint.pprint(x.kpath)
kpt = x.kpath['path']
kpts = x.kpath['kpoints']
for i in range(len(kpt)):
for j in range(len(kpt[i])-1):
print(kpt[i][j], ' '.join(map(str,kpts[kpt[i][j]])), kpt[i][j+1], ' '.join(map(str,kpts[kpt[i][j+1]])))
Supercell
import pymatgen as mg
structure = mg.Structure.from_file("POSCAR")
structure.make_supercell([1, 2, 1])
structure.to(filename="POSCAR")
Symmetry
import pymatgen as mg
x = mg.Structure.from_file("CONTCAR")
y = mg.symmetry.analyzer.SpacegroupAnalyzer(x)
#z = y.get_symmetrized_structure()
z = y.get_refined_structure()
z.to(filename="CONTCAR_sym",fmt='poscar')
Grain boundary