def xrd(self, ): import os os.chdir(r"D:\Desktop\VASP practical\workdir") from pymatgen import Lattice, Structure from pymatgen.analysis.diffraction.xrd import XRDCalculator from IPython.display import Image, display from pymatgen.ext.matproj import MPRester mpr = MPRester() mp_id = self.mp_id structure = mpr.get_structure_by_material_id(mp_id) c = XRDCalculator() print(c) c.show_plot(structure) print(os.getcwd())
def xrd(self, ): import os from pymatgen import Lattice, Structure from pymatgen.analysis.diffraction.xrd import XRDCalculator from IPython.display import Image, display from pymatgen import Structure, Lattice, MPRester, Molecule ass = self.cif_route print(ass) # os.chdir(r"D:\Desktop\VASP practical\Input") # print (os.getcwd()) # Note that you must provide your own API Key, which can # be accessed via the Dashboard at materialsproject.org #mpr = MPRester()#密钥 molecule = Molecule.from_file(ass) structure = molecule.get_boxed_structure(self.a, self.b, self.c) print(structure) os.chdir(r"D:\Desktop\VASP practical\Input") print(os.getcwd()) c = XRDCalculator() c.show_plot(structure) print(os.getcwd())
def xrd(self, ): import os from pymatgen import Lattice, Structure from pymatgen.analysis.diffraction.xrd import XRDCalculator from IPython.display import Image, display from pymatgen.io.cif import CifParser ass = self.cif_route print(ass) # os.chdir(r"E:\VASP practical\Input") # print (os.getcwd()) # Note that you must provide your own API Key, which can # be accessed via the Dashboard at materialsproject.org #mpr = MPRester()#密钥 struct = CifParser(ass) structure = struct.get_structures()[0] print(structure) os.chdir(r"E:\VASP practical\Input") print(os.getcwd()) c = XRDCalculator() c.show_plot(structure) print(os.getcwd())
#%% import os from pymatgen.analysis.diffraction.xrd import XRDCalculator from pymatgen import Structure os.chdir('/home/jinho93/arsnide/ZnAs/15700/opti/dos') calc = XRDCalculator(symprec=1e-1) s = Structure.from_file('POSCAR') pat = calc.get_pattern(s, two_theta_range=(0, 90)) calc.show_plot(s) # %% import numpy as np import matplotlib.pyplot as plt from scipy.interpolate import interp1d from scipy.ndimage import gaussian_filter1d f = interp1d(pat.x, pat.y, kind='linear') xnew = np.linspace(20, 70, 1000) plt.plot(xnew, f(xnew)) ynew = gaussian_filter1d(f(xnew), 10) plt.plot(xnew, ynew) plt.xlim(20, 70) np.savetxt('/home/jinho93/xrd.dat', np.transpose([pat.x, pat.y])) # %%