Source code for scftocif

#!/usr/bin/env python
#"""Writen by Niraj K. Nepal, Ph.D."""
"""Module to extract structures"""
import sys
import warnings
from ase.io import cif,espresso,vasp
from cif_to_gsinput import pymatgen_cif
warnings.filterwarnings('ignore')
[docs] def scf_tocif(filename): """ Function to convert QE scf.in file to .cif prameters --------- filename : QE input file """ if filename == "scf.in": filename = espresso.read_espresso_in(filename) elif filename == "POSCAR": filename = vasp.read_vasp(filename) else: print("Either scf.in or POSCAR expected\n") cif.write_cif('relax.cif',filename) pymatgen_cif('relax.cif') return filename
[docs] def cellpar(filename): """ Function to compute lattice parameters parameters ------------ filename : QE scf input file """ alat,blat,clat,alp,bet,gam = filename.get_cell_lengths_and_angles() with open("cellpar.in", "w") as cell_par: cell_par.write("{} {} {} ".format(round(alat,5),round(blat,5),round(clat,5))) cell_par.write("{} {} {}".format(round(alp,5),round(bet,5),round(gam,5))) return alat,blat,clat,alp,bet,gam
[docs] def main(): """ main function """ if len(sys.argv) > 1: filename = sys.argv[1] else: filename = "scf.in" filename=scf_tocif(filename) cellpar(filename)
if __name__ == "__main__": main()