news 2026/4/15 22:46:14

一个脚本使用VASPBERRY计算所有能带BERRY曲率和陈数

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一个脚本使用VASPBERRY计算所有能带BERRY曲率和陈数

VASPBERRY程序可以使用VASP计算得到的WAVECAR,计算体系在布里渊区的贝里曲率,使用方法非常简单,参数很少,

使用方法和绘图代码参考:

vaspberry,拓扑以及谷电子学神器!

准备工作

软件下载

    https://github.com/Infant83/VASPBERRY

    编译

      Serial version :ifort -fpp -assume byterecl -mkl -o vaspberry vaspberry.fMulticore version :mpif90 -DMPI_USE -mkl -fpp -assume byterecl -o vaspberry vaspberry.fNote for gfortran: For gfortran, please use vaspberry_gfortran_serial.f for the compilation. This only support non-parallel calculations. For the compilation, for examplegfortran -L/usr/local/lib/lapack/ -l lapack -o vaspberry vaspberry_gfortran_serial.f

      完成后写环境变量

      VASP计算,INCAR内必须加SOC

        Global ParametersISTART = 1 (Read existing wavefunction, if there)ISPIN = 1 (Non-Spin polarised DFT)# ICHARG = 11 (Non-self-consistent: GGA/LDA band structures)LREAL = .FALSE. (Projection operators: automatic)ENCUT = 400 (Cut-off energy for plane wave basis set, in eV)# PREC = Accurate (Precision level: Normal or Accurate, set Accurate when perform structure lattice relaxation calculation)LWAVE = .TRUE. (Write WAVECAR ornot)LCHARG = .TRUE. (Write CHGCAR ornot)ADDGRID= .TRUE. (Increase grid, helps GGA convergence)LASPH = .TRUE. (Give more accurate total energies and band structure calculations)PREC = Accurate (Accurate strictly avoids any aliasing or wrap around errors)Static CalculationISMEAR = 0 (gaussian smearing method)SIGMA = 0.05 (please check the width of the smearing)LORBIT = 11 (PAW radii for projected DOS)NEDOS = 2001 (DOSCAR points)NELM = 60 (Max electronic SCF steps)EDIFF = 1E-08 (SCF energy convergence, in eV)Spin-Orbit Coupling CalculationLSORBIT = .TRUE. (Activate SOC)GGA_COMPAT = .FALSE. (Apply spherical cutoff on gradient field)VOSKOWN = 1 (Enhances the magnetic moments and the magnetic energies)LMAXMIX = 4 (For d elements increase LMAXMIX to 4, f: LMAXMIX = 6)ISYM = -1 (Switch symmetry off)# SAXIS = 001 (Direction of the magnetic field)# MAGMOM = 003 (Set this parameters manually, Local magnetic moment parallel to SAXIS, 3*NIONS*1.0for non-collinear magnetic systems)# NBANDS = (Set this parameters manually, 2 * number of bands of collinear-run)

        注:SOC要根据体系增加NABDS(脚本会自动读取)

        KPOINTS根据体系设定(脚本会自动读取)

        K-Spacing Value to Generate K-Mesh: 0.0400Gamma15 15 10.0 0.0 0.0

        数据处理脚本

          #!/bin/bash#========= 0. 环境 =========set -e # 遇错即停module purge 2>/dev/null # 如用集群,自行加 module 加载行#========= 1. 读 NBANDS ======NBANDS=$(grep -m1 NBANDS OUTCAR | awk '{print $NF}')[[ -z "$NBANDS" ]] && { echo " 找不到 NBANDS"; exit1; }echo " NBANDS = $NBANDS"#========= 2. 读 K 网格 ======#read kx ky kz < <(awk 'NR==4{print $1,$2,$3}' KPOINTS)#echo " k-grid = $kx $ky $kz"# 改成兼容写法kx=$(awk 'NR==4{print $1}' KPOINTS)ky=$(awk 'NR==4{print $2}' KPOINTS)kz=$(awk 'NR==4{print $3}' KPOINTS)echo "k-grid = $kx $ky $kz"#========= 3. 生成画图脚本 ==cat > BC.py <<'EOF'#!/usr/bin/env pythonimport numpy as npimport matplotlib.pyplot as pltfrom scipy.interpolate import griddataimport osfilein = 'BERRYCURV.dat'fileou = 'BERRYCURV.pdf'data = np.loadtxt(filein)x, y, z = data[:,0], data[:,1], data[:,3]nx = ny = 600xi = np.linspace(x.min(), x.max(), nx)yi = np.linspace(y.min(), y.max(), ny)zi = griddata((x, y), z, (xi[None,:], yi[:,None]))levels = np.linspace(z.min(), z.max(), 51)plt.contourf(xi, yi, zi, levels=levels, cmap='coolwarm', alpha=0.75)plt.colorbar(format='%4.3f')plt.axis('equal')plt.axis('off')plt.savefig(fileou, bbox_inches='tight', pad_inches=0, transparent=True)plt.close()EOFecho bands Chern Number >>Chern_Number.dat#========= 4. 主循环 ========for i in $(seq 1 $NBANDS); doecho ">>> 计算 band $i ..."mkdir -p band-$i# 单带 Berry 曲率vaspberry -kx $kx -ky $ky -is $i >& log# 画图python BC.py# 归档mv BERRYCURV.pdf BERRYCURV.dat log band-$iC=$(grep "Chern Number =" band-$i/BERRYCURV.dat | awk -F'=' '{printf"%12.6f\n", $2}')echo band-$i $C >>Chern_Number.datdone

          保存脚本重命名为vaspberry.sh

          然后运行

            sh vaspberry.sh

              $ cat Chern_Number.datbands Chern Numberband-1-1.000000band-21.000000band-33.000000band-4-3.000000band-5-1.000000band-61.000000band-7-2.000000band-82.000000band-9-3.000000band-103.000000band-111.000000band-12-1.000000band-134.000000band-14-4.000000band-15-2.000000band-162.000000band-170.000000band-18-0.000000band-192.000000band-20-0.000000band-21-2.000000band-224.000000band-23-2.000000band-24-1.000000

              绘图效果

              版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
              网站建设 2026/4/15 9:13:02

              BeyondCompare4对比代码太麻烦?让VibeThinker先做逻辑预处理

              BeyondCompare4对比代码太麻烦&#xff1f;让VibeThinker先做逻辑预处理 在日常开发中&#xff0c;你是否曾为两段“功能相同但写法迥异”的代码而头疼&#xff1f;明明知道它们都在实现快速排序&#xff0c;可BeyondCompare4却标出几十处红色差异——变量名不同、循环结构不一…

              作者头像 李华
              网站建设 2026/4/7 13:51:56

              蓝绿部署实践:确保线上服务无缝升级

              蓝绿部署实践&#xff1a;确保线上服务无缝升级 在今天的AI服务生态中&#xff0c;模型上线早已不再是“打包上传、重启服务”那么简单。尤其当面对像 VibeThinker-1.5B-APP 这类专精于高强度推理任务的语言模型时&#xff0c;任何一次发布失误都可能直接影响用户的解题准确率、…

              作者头像 李华
              网站建设 2026/4/9 13:45:43

              心理咨询管理系统|基于springboot 心理咨询管理系统(源码+数据库+文档)

              心理咨询管理系统 目录 基于springboot vue心理咨询管理系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 基于springboot vue心理咨询管理系统 一、前言 博主介绍&…

              作者头像 李华
              网站建设 2026/4/15 20:29:12

              高校学生选课系统|基于springboot 高校学生选课系统(源码+数据库+文档)

              高校学生选课系统 目录 基于springboot vue高校学生选课系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 基于springboot vue高校学生选课系统 一、前言 博主介绍&…

              作者头像 李华
              网站建设 2026/4/14 15:36:04

              Docker镜像构建加速秘籍(资深架构师十年经验总结)

              第一章&#xff1a;Docker镜像构建加速的核心价值在现代软件交付流程中&#xff0c;Docker镜像的构建效率直接影响开发迭代速度与持续集成&#xff08;CI&#xff09;流水线的响应能力。构建加速不仅能缩短本地调试周期&#xff0c;还能显著降低CI/CD环境中的资源消耗和等待时间…

              作者头像 李华
              网站建设 2026/4/14 8:59:57

              云端服务与本地授权混合的Kisssoft许可证模式

              云端服务与本地授权混合的Kisssoft许可证模式&#xff1a;企业和个人用户的新选择在当今数字化转型加速的时代&#xff0c;软件许可模式正经历着一场深刻的变革。许多用户在使用软件时&#xff0c;常常面临一个困扰&#xff1a;是否应该完全依赖云端订阅&#xff0c;还是继续保…

              作者头像 李华