PWscf计算实例及说明

更新时间:2024-01-24 10:57:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

PWSCF 程序包(早期的叫法),或称为ESPRESSO程序(改名后的叫法),它包括了多几个计算模块,主要的是电子自洽计算模块pw.x,晶格动力学计算模块 (ph.x, phcg.x, dynmat.x,d3.x等),后续数据处理模块pp.x,电子输运性质计算模块pwcond.x,分子动力学模块cp.x等 一、自洽计算

例子:fcc Cu的自洽计算 &control

calculation='scf'

restart_mode='from_scratch', pseudo_dir = './', outdir='./' prefix='cu' tstress = .true. tprnfor = .true. / &system

ibrav = 2, celldm(1) =6.73, nat= 1, ntyp= 1, ecutwfc = 25.0, ecutrho = 300.0

occupations='smearing', smearing='gaussian', degauss=0.02 /

&electrons

diagonalization='david' conv_thr = 1.0e-8 mixing_beta = 0.7 /

ATOMIC_SPECIES

Cu 63.55 Cu.pz-d-rrkjus.UPF ATOMIC_POSITIONS Cu 0.0 0.0 0.0 K_POINTS (automatic) 8 8 8 0 0 0 解释:

在电子自洽计算中需设置以下几个方面的参数: 1)控制计算的部分,也就是要设置 &control .....

第一个'/'之间的关键词。

关键词calculation赋值为'scf'表示此计算是进行自洽电荷密度计算;

restart_mode表示是否是接着上一次的计算而继续的计算,赋值为'from_scratch'意味着是进行一次全新的计算开始;

pseudo_dir用来设置赝势文件所在的目录,赋值为'./'表示赝势文件放在当前计算目录; outdir用来设置计算过程中输出文件(比如波函数、电荷密度以及势)输出到哪个目录中。赋值为'./'表示这些输出文件将放到当前计算目录中;

prefix用来定义当前计算作业的标题名,它将是一些主要输出文件的文件名。赋值为'cu'用来标记当前计算作业是对Cu进行计算;

tstress 用来设置在自洽计算过程中是否计算体系的应力,设置为 .true.表示在自洽计算过程中要计算体系的应力;

tprnfor 用来设置在自洽计算过程中是否计算体系中原子所受的力,设置为 .true.表示在自洽计算过程中要计算体系中原子所受的力;

2)、 描述所计算的体系(包括它的晶格类型、晶格常数或结构参数、原胞基矢、原胞中原子的类型数目和总的原子数目)、平面波的切断动能(也就是在展开KS轨道或 晶体波函数的平面波切断动能;另外,还包括在计算电荷密度时,展开的平面波的切断动能)、确定电子占有数的方法及相关的参数。也就是由 &system ..........

第二'/'之间的关键词来设置。

ibrav用来归属体系所属的晶格类型,赋值为2表示所计算的体系是fcc结构;

celldm(1)用来设置体系的第一个晶格常数,因为所计算的体系是fcc结构,只需设置celldm(1),相当于指定晶格常数a的值;

nat用来指明体系的原胞中原子的总共数目,赋值为1表示所计算的原胞中只有一个原子; ntyp用来指明体系中原子类型的数目,赋值为1表示所计算的体系只有一种类型的原子; occupations用来设置确定电子占有数的方法,赋值为'smearing'表示采用smearing的方法来确定电子的占有数,随后须设置smearing和degauss关键词;

smearing用来指明确定电子占有数的一种具体的smearing方法,赋值为'gaussian'表示采用Gaussian函数来确定电子占有数;

degauss用来确定smearing方法中有关函数的展宽参数,赋值为0.02表示上面Gaussian函数中的展宽参数为0.02。

3)、设置电子自洽计算中本征矢量(波函数)和本征值的计算算法,自洽收敛的标准。也就是 &electrons ......

和第三个'/'之间的关键词来设置。

diagonalization用来设置在求KS方程的本征矢量和本征值时,采用具体的什么算法,赋值为'david'表示采用Davidson iterative diagonalization with overlap matrix方法; conv_thr用来设置自洽收敛标准,赋值为自洽循环过程总能的变化小于1.0e-8的化,那自洽计算就停止;

mixing_beta用来设置自洽计算过程中前后两次电荷密度混合的参数。

4)、指明体系中原子的元素名,原子量以及所采用的赝势,即ATOMIC_SPECIES 后面的设置,它们的顺序要和后面原子的坐标一一对应起来。 Cu 63.55 Cu.pz-d-rrkjus.UPF

表示所计算的体系中原子是Cu,它的原子量为63.55,它的赝势文件为Cu.pz-d-rrkjus.UPF。

5)、给出体系原胞中原子的坐标位置,也就是ATOMIC_POSITIONS 后面的设置: Cu 0.0 0.0 0.0

表示原胞中第一个原子是Cu,它位于原胞的原点。

6)、k点取样的设置,也就是K_POINTS 后面的设置:

K_POINTS (automatic) 表示由程序采用M-P方法自动确定k点,需给出k点取样网格的大小,以及是否在产生k点后对这些点进行平移。 8 8 8 0 0 0

表示采用8x8x8的网格来确定k点,而且不对k点进行平移。

本文来源:https://www.bwwdw.com/article/xduo.html

Top