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