def get_wann_phonon(jid="JVASP-1002", factor=15.633302): """Download phonon WTBH if available.""" # Requires phonopy from jarvis.io.phonopy.outputs import get_phonon_tb fls = data("raw_files") for i in fls["FD-ELAST"]: if isinstance(i, dict): if i["name"].split(".zip")[0] == jid: r = requests.get(i["download_url"]) z = zipfile.ZipFile(io.BytesIO(r.content)) vrun_path = z.read("vasprun.xml").decode("utf-8") fd, path = tempfile.mkstemp() with os.fdopen(fd, "w") as tmp: tmp.write(vrun_path) vrun = Vasprun(path) fc = vrun.phonon_data()["force_constants"] atoms = vrun.all_structures[0] # print(atoms) # atoms = Atoms.from_poscar(pos) # print(atoms) fd, path = tempfile.mkstemp() get_phonon_tb(fc=fc, atoms=atoms, out_file=path, factor=factor) # cvn = Spacegroup3D(atoms).conventional_standard_structure w = WannierHam(path) return w, atoms
def test_wann(): a = Atoms.from_poscar(pos) fc = read_fc(fc_file) get_phonon_tb(fc=fc, atoms=a, out_file=wtb) cvn = Spacegroup3D(a).conventional_standard_structure w = WannierHam(wtb) w.get_bandstructure_plot(atoms=cvn, yrange=[0, 550]) cmd = "rm phonopyTB_hr.dat bs.png" os.system(cmd)
def test_download(jid="JVASP-1002"): for i in fls["FD-ELAST"]: if isinstance(i, dict): if i["name"].split(".zip")[0] == jid: print(i) r = requests.get(i["download_url"]) z = zipfile.ZipFile(io.BytesIO(r.content)) vrun_path = z.read("vasprun.xml").decode("utf-8") fd, path = tempfile.mkstemp() with os.fdopen(fd, "w") as tmp: tmp.write(vrun_path) vrun = Vasprun(path) fc = vrun.phonon_data()["force_constants"] atoms = vrun.all_structures[0] print(atoms) # atoms = Atoms.from_poscar(pos) print(atoms) fd, path = tempfile.mkstemp() get_phonon_tb(fc=fc, atoms=atoms, out_file=path) cvn = Spacegroup3D(atoms).conventional_standard_structure w = WannierHam(path) # print ('atoms',atoms) w.get_bandstructure_plot(atoms=atoms, yrange=[0, 550])