您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > Analyze-and-plot-band-structures
ThisnotebookshowssomeexamplesofmethodsonaBandStructureSymmLineobject(getttingbandgaps,vbm,etc...)andbasicplotting.WrittenbyGeoffroyHautier(geoffroy.hautier@uclouvain.be)WestartbyqueryingtheMPdatabaseforabandstructureobject.Pleasenotethatyoucouldgetsuchanobjectfromarun(VASP,ABINIT,...)usingthemethodsinpymatgen.ioIn[8]:frompymatgen.matproj.restimportMPResterfrompymatgen.electronic_structure.coreimportSpin#ThisinitiliazestheRestconnectiontotheMaterialsProjectdb.PutyourownAPIkey.a=MPRester(YOUR_API_KEY)#loadthebandstructurefrommp-3748,CuAlO2fromtheMPdbbs=a.get_bandstructure_by_material_id(mp-3748)WeprintsomeinformationaboutthebandstructureIn[9]:#isthematerialametal(i.e.,thefermilevelcrossaband)printbs.is_metal()#printinformationonthebandgapprintbs.get_band_gap()#printtheenergyofthe20thbandand10thkpointprintbs.bands[Spin.up][20][10]#printenergyofdirectbandgapprintbs.get_direct_band_gap()#printinformationonthevbmprintbs.get_vbm()False{'energy':1.7978000000000005,'transition':u'(0.591,0.409,0.000)-\\Gamma','direct':False}18.02012.6904{u'kpoint':pymatgen.electronic_structure.bandstructure.Kpointobjectat0x5192610,u'kpoint_index':[123],u'energy':6.1023,u'band_index':{1:[15]},u'projections':{}}Here,weplotthebsobject.Bydefaultforaninsulatorwehaveenenergylimitofcbm+4eVandvbm-4eVIn[7]:%matplotlibinlinefrompymatgen.electronic_structure.plotterimportBSPlotterplotter=BSPlotter(bs)plotter.get_plot().show()WeplottheBrillouinzonewiththepathwhichwasusedforthebandstructureIn[6]:plotter.plot_brillouin()In[]:
本文标题:Analyze-and-plot-band-structures
链接地址:https://www.777doc.com/doc-2106071 .html