Chthonic乐队:如何绘制乐队结构 (band structure plot)

我正在使用 pyiron 运行 Vasp 计算。我可以通过访问ElectronicStructureDos对象轻松绘制状态的总密度,例如

from pyiron.project import Project 
pr = Project('tmp')
pr.remove_jobs(recursive=True)
vasp = pr.create_job(pr.job_type.Vasp, 'vasp')
vasp.structure = pr.create_ase_bulk('Al')
vasp.run()
dos = vasp.get_electronic_structure().get_dos()
dos.plot_total_dos()

有没有绘制隐藏在某处的带结构的类似方便的方法?

3

虽然没有直接的绘图函数,但可以使用特征值矩阵绘制频带结构

import matplotlib.pylab as plt
plt.plot(vasp.get_electronic_structure().eigenvalue_matrix);
1

或者手动绘制它,你可以使用:

# The trace is system dependent, in this example we use:
trace = np.array([[0, 0, 0], # Gamma
        [1, 0, 0], # X
        [1, 1, 0], # M
        [0, 0, 0], # Gamma
        [0, 0, 1], # Z
        [1, 0, 1], # R
        [1, 1, 1], # A
        [0, 0, 1]]) # Z
label_ticks = ['$\Gamma$', 'X', 'M', '$\Gamma$', 'Z', 'R', 'A', 'Z']
energy = ham['output/electronic_structure/eig_matrix']
E_f = ham_chg['output/electronic_structure/efermi']
energy -= E_f
n_kpoints = len(energy) 
n_trace = int(n_kpoints / (len(trace)-1))
normal_ticks = [i*n_trace for i in range(len(trace))] 
plt.axhline(y=0, ls='--', color='k')
plt.plot(energy, 'r-')
plt.xlim(normal_ticks[0], normal_ticks[-1])
plt.xticks(normal_ticks, label_ticks)
plt.grid(axis='x')
plt.ylabel("Energy - $E_F$ [eV]")
plt.ylim(-1, 1);

这需要两个 VASP 计算,首先计算电荷密度:

ham_1.write_charge_density = True 

执行此作业后,您可以使用电荷密度通过从上一个作业重新启动来计算带结构:

ham_2 = ham.restart_from_charge_density(job_name="job_band", icharg=11)

但据我所知,我们目前没有自动化功能。

-1

如果您使用 VASP 计算波段结构,一个名为 VASPKIT 的友好工具将帮助您轻松绘制它!这是a link!安装完成后,在文件夹中打开 vaspkit,然后键入:21

211) Band-Structure                                              
212) Projected Band-Structure of Only-One-Selected Atom          
213) Projected Band-Structure of Each Element                    
214) Projected Band-Structure of Selected Atoms                  
215) Projected Band-Structure by Element-Weights                 
216) The Sum of Projected Band for Selected Atoms and Orbitals   

然后,您可以按照提示自动绘制能带图。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(998)
安装程序未能初始化:未能初始化中央 HHBC存储库:未能初始化架构
上一篇
用友财务软件t3:ssh隧道上的Weblogict3/t3s
下一篇

相关推荐

  • android 视频编码深入理解MediaCodec API

    Android 视频编码是指将原始视频数据经过压缩编码后,生成新的视频数据,以便减少视频文件的体积,提高传输速度,以及更好地在 Android 设备上播放。…

    2023-01-13 10:58:18
    0 51 15
  • cv小敢:如何利用CV小敢提升职业技能?

    cv小敢(Computer Vision Tiny-YOLO)是一种轻量级的物体检测算法,它可以在资源受限的设备上运行,如嵌入式设备、智能手机等。它是基于YOLO(You Only Look Once)算法的一个变体,由Joseph Redmon和Ali Farhadi开发,旨在提高深度学习模型的性能,同时减少模型的大小和计算复杂度。…

    2023-02-09 13:08:59
    0 81 37
  • coremail论客邮箱Coremail论客邮箱

    Coremail论客邮箱是一款专业的企业邮箱服务,可以满足企业对安全、可靠性和高效性的要求。它拥有强大的安全性能,可以提供多种安全保护,包括防止邮件被窃取、拦截恶意邮件、防止跨站脚本攻击等。此外,它还支持多种企业级功能,如组织架构管理、收发邮件管理、文件共享管理、联系人管理等,可以帮助企业提高工作效率,提升企业形象。…

    2023-02-25 04:36:55
    0 51 30
  • linux 编译静态库:```ar cr libtest.a *.o```4. 完成!

    我们要创建一个源文件,比如:mylib.c,内容如下:#include…

    2023-03-19 08:46:39
    0 98 28
  • canvas下载安装:Unleash the Power of Canvas to Create Amazing Visuals

    Canvas是一种HTML5技术,可以在网页上创建和绘制2D图形。它是一个JavaScript API,可以使用JavaScript代码来绘制图形,并且可以添加各种效果,如阴影,渐变,动画等。…

    2023-03-08 00:48:14
    0 19 70
  • class定位:The Benefits of Using Class Selectors for Element Locati

    示例示例class定位是一种CSS布局技术,用于指定HTML元素的位置,可以使元素放置在页面的任何位置。代码示例:…

    2023-03-06 07:16:44
    0 33 81
  • cvt加速技巧:如何使用CVT加速技巧提升网络性能?

    cvt加速技巧是一种用于提升计算机程序运行性能的技术。它可以帮助程序员更有效地利用处理器的资源,从而提高程序的性能。cvt加速技巧的主要原理是:在程序运行时,将处理器的资源(如内存、寄存器、流水线等)分解成小块,然后将这些小块重新组合,使其可以更有效地执行程序代码。…

    2023-01-21 04:33:16
    0 19 61
  • security code怎么填保护您的数据和隐私

    示例示例code是一种防止自动提交表单的安全措施,通常会在表单中显示一个图片,用户需要输入图片中显示的字符。以下是一个简单的 code代码示例:…

    2023-03-20 09:31:54
    0 22 91

发表评论

登录 后才能评论

评论列表(67条)