news 2026/6/10 14:37:21

一个脚本使用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/6/10 13:35:35

              【Java毕设全套源码+文档】基于springboot的剧本杀服务平台设计与实现(丰富项目+远程调试+讲解+定制)

              博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

              作者头像 李华
              网站建设 2026/6/10 13:34:18

              周边商品设计:T恤、马克杯印上模型架构图

              周边商品设计&#xff1a;T恤、马克杯印上模型架构图 在AI圈子里&#xff0c;我们见过太多“大而全”的模型宣传——千亿参数、万卡集群、动辄百万美元的训练账单。但最近&#xff0c;一款名为 VibeThinker-1.5B-APP 的小模型却悄悄走红&#xff1a;它只有15亿参数&#xff0c;…

              作者头像 李华
              网站建设 2026/6/10 14:09:13

              用户协议更新:明确禁止用于非法用途

              用户协议更新&#xff1a;明确禁止用于非法用途 在当前AI技术加速落地的背景下&#xff0c;一个有趣的现象正在发生&#xff1a;我们不再一味追求“更大”的模型&#xff0c;而是开始思考——更小的模型能否解决更大的问题&#xff1f; 微博开源的 VibeThinker-1.5B-APP 正是这…

              作者头像 李华
              网站建设 2026/6/9 22:02:03

              危机公关预案:若出现重大bug该如何应对

              VibeThinker-1.5B-APP&#xff1a;小模型如何实现高强度推理突破 在大模型军备竞赛愈演愈烈的今天&#xff0c;一个仅15亿参数的AI模型却悄然在数学与编程领域掀起波澜。它不是通用对话系统&#xff0c;也不擅长写诗讲故事&#xff0c;但它能在AIME这种顶尖数学竞赛题上击败参数…

              作者头像 李华
              网站建设 2026/6/10 12:56:04

              可解释性研究:追踪VibeThinker注意力权重变化

              可解释性研究&#xff1a;追踪VibeThinker注意力权重变化 在当前大语言模型&#xff08;LLM&#xff09;日益主导自然语言处理、代码生成与数学推理任务的背景下&#xff0c;一个核心矛盾愈发凸显&#xff1a;模型性能不断提升&#xff0c;但其“黑箱”特性却让人类难以理解其决…

              作者头像 李华
              网站建设 2026/6/8 19:35:43

              容器化时代如何监控?Prometheus+Grafana组合深度解析,90%的人都用错了

              第一章&#xff1a;容器化监控的挑战与现状随着微服务架构和云原生技术的普及&#xff0c;容器化应用已成为现代软件部署的主流方式。然而&#xff0c;动态性强、生命周期短暂、拓扑结构频繁变化等特点&#xff0c;给系统的可观测性带来了前所未有的挑战。传统监控工具基于静态…

              作者头像 李华