干货代码分享 干货详情

【代码分享】费米面嵌套(Fermi surface nesting)函数计算

张阳小号1651
第一性原理紧束缚模型Wannier90能带计算电声耦合计算声子谱费米面嵌套凝聚态物理电荷密度波Migdal-Eliashberg理论Cu2Si计算材料学

我们知道费米面嵌套(Fermi surface nesting(FSN))与电荷密度波材料的计算有一定的相关性。

之前我们发了两篇相关文章在讲这个事情。(点击可查看,或者查看今日第二篇发文)

《电荷密度波和费米面嵌套:CDW and Fermi surface Nesting》

《电荷密度波(CDW)分类》


那么这个费米面嵌套可不可以计算呢?

当然是可以的。

以下是Cu2Si中的计算结果。(看起来挺好看是吧)



图1. Cu2Si的费米面嵌套,[J. Mater. Chem. C, 7, 10926 (2019)]

那么费米面嵌套函数怎么计算呢?


理论


在讲费米面嵌套函数计算之前,

我们看两个公式(来自[J. Mater. Chem. C, 7, 10926 (2019)])。

根据Migdal–Eliashberg理论,电声耦合常数可以通过如下方程计算,


其中gqn 是声子线宽,wqn 是声子频率,N(EF) 是电子DOS在费米面处的值。gqn 可以表示为,


两个竖线中间的部分代表电声耦合矩阵元,而后面的两个δ函数乘积就是费米面嵌套函数。


这个函数是费米能级,能带本征值以及声子波矢q相关的函数。

所以它其实可以在知道能带的情况下单独计算得到。

代码


老王在github找了一圈,真找到一个代码。

该代码是杭州师范大学曹超教授开发,在这里我们感谢曹超教授。该代码采用从紧束缚模型wanner90_hr.dat中获得能带信息的方式计算费米面嵌套函数。

代码地址:https://github.com/ccao/fsnest

编译


make.sys文件配置如下:

.SUFFIXES :


.SUFFIXES : .o .f90

.f90.o:

       $(F90) $(F90FLAGS) -fpp -c -I$(MKLINCLUDE) -I../modules $<

F90=mpiifort

F90FLAGS=-D__MPI -O3 -msse3 -axSSE4.2

MKLINCLUDE=$(MKLROOT)/include

MKLLIBS=-L$(MKLROOT)/lib/intel64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core

LAPACK95LIBS=$(MKLROOT)/lib/intel64/libmkl_lapack95_lp64.a

AR             = ar

ARFLAGS        = ruv

RANLIB         = ranlib


然后在分别依次在modules和src文件夹下make,得到执行文件fsnest.x。

使用


建立wannchi.inp文件,写入如下内容:

wannier90       #

4.7802

200 200 1

300.00

0.2

0.01

3

#200 200

含义:

!************ INPUT FILE *************

 !** file name: wannchi.inp

 !line 1: seed name

 !line 2: fermi level

 !line 3: nqx nqy nqz

 !line 4: temperature

 !line 5: omega

 !line 6: epsilon

 !line 7: mode

 !line 8: ...

 !*************************************

注意,其中mode这个参数,作者写了三种计算模式,分别为线模式,正交散点面模式和按照基矢散点面模式。具体设置请看src文件夹下的input.f90文件。


提交


mpirun –n 4 fsnest.x

特别声明:本文由“天玑算”用户上传、授权发布,以上内容(含文字、图片、视频)不代表本网站观点或立场;如其他媒体、网站或个人从本网站转载使用,须保留本网站注明的“来源”,并自负版权等法律责任;作者如果不希望被转载或者联系转载稿费等事宜,可以在文未添加注释。

评论

0/1000发布评论
全部评论

脏羊

关注
TA的主页

干货推荐