介绍、学习和使用各种材料模拟软件(基于密度泛函的电子结构计算程序和经验势的分子动力学程序)。
比如要对下面的格式的数据采用gnuplot来画图:
1 2 10
3 1 2
3 2 1
第一列数是x,第二列数是y, 第3列数另一个y值,想对第一、二列数据以点(比如圆圈)来画出,而圆圈的大小随第三列数据的y值而变化。
gnuplot的命令格式:
plot 'dataFile.dat' u 1:2:3 w points lt 1 pt 7 ps variable
更具体的可参考这里:
1. 在采用FLEUR进行能带结构计算时,通常要作的就是:
在布里渊区中选取几组特殊高对称k点,并确定它们的走向,并沿着这些k线产生一些k点。这也可以通过FLEUR来产生这些k点,也可以通过FLEUR提供的脚步程序来产生或者是自己写个程序来产生。
删掉与自洽计算中k点相关的文件(如果是用FLEUR来产生能带计算中的k点,那么kpts文件本身就要被删掉,否则FLEUR不能产生所要的k点)。
产生了k点之后,就像一般的计算一样,计算这些k
现在将介绍如何采用FLEUR进行结构优化。
假设已经得到体系初始结构时的自洽电荷密度,比如,要优化具有3个原子层厚度的Cu薄膜。现在以优化该薄膜最表面原子层的z坐标(根据对称性,将中间原子的位子固定)。进行原子位置优化的步骤:
1. 计算原子所受的力
将输入文件inp中的force=F改为force=T,这表明要对所有的原子,要计算出它们所受的力,并进行位置优化。
将输入文件inp中的l_f=F改为l_f=T,使得程序会计算Pulay力。
&n
TopMod
采用Fortran90编写,可从
http://www.lct.jussieu.fr/suite64.html
上免费下载。
功能:对Gaussian和GAMESS程序计算输出的波函数进行处理来得到电子局域函数(electron localization function),以及提供化学键分析的一些物理量。
如果想画出电荷密度在某个平面上的分布或它在三维空间中的isosurface图,这需要有文件cdn1, inp和sysm.out以及在输入文件中设置iplot=T。接着程序会停下来,并提示它需要一个用于画图处理的输入文件plot_inp并产生一个相应的模板文件。这就需要修改这个模板文件(将在下面介绍如何修改这个模板文件),然后接着运行fleur.x。这样就可以电荷密度的一个二维或三维数组的值,它可以用xcrysden或openDX来进行可视化。
同样,也可以同样的方式来画出势的分布。这是需要设置plpot=T,并把文件pottot, potcoul或nrp拷贝
在进行Heisenberg相互作用参数的计算时,需要进行如下的步骤:
1. 进行共线磁性的计算
这是需要以共线磁性计算的电荷密度作为初始密度。当然你可以从铁磁或反铁磁态开始。在理想的Heisenberg体系中,它并不是很依赖于所选择的哪种态开始,但是可以肯定的是:一般所计算的体系并不是理想的Heisenberg系统。因此从一个比较靠近基态的共线磁性计算开始是比较好的选择。
在此时的共线磁性计算中,需要小心的是不要利用同一类原子的的磁对称性。在输入文件中所有磁性原子都是不等价的。然后再利用除此之外的对称性。
在进行共线计算之后,有几个
在用inpgen.x产生了输如文件之后,当体系中含有Fe, Co或Ni等原子时,可以考虑进行磁性的计算,这时需要在输入文件inp中设置jspins=2以及下面的:
swsp=F 2.20 1.60 0.90
上面表示对第1、2和3种原子的初始磁矩为2.2 , 1.6和0.9波尔磁子。如果想对原子设置不同的初始磁矩,比如反铁磁的计算,可以设置为如下的:
swsp=F 2.20 -2.20 0.00
原子1个2具有反方向的磁矩。当然,产生输入文件inp的程序并不知道这些
inpgen.x的输入文件中应该包括如下的信息,按顺序为:
标题,用来标记体系的名称或注释
可选项,用来控制是按晶格坐标还是卡迪尔坐标来输入原子的坐标;
晶格的信息(包括Bravais晶格的基矢,或晶格的类型,以及晶格常数,单位a.u.),将在下面进行详细的介绍;
原子的信息(原子序号和原子坐标);
可选项,在自旋螺旋计算或自旋耦合的计算中,需要输入Q矢量或自旋量子化的轴,这是为了确定体系的对称性。
标题
标题不能以'&'开始或者包含'!',最多只能写80个字符。
控制的可选项
这一部分的输入应该是以'
FLEUR需要有3个基本的输入文件: kpts,它包含了布里渊区中k点取样的k点,enpara,它包含了在构造LAPW基矢时的能量参数,inp包含了体系的结构信息以及在计算中其他的参数。这里将对inp文件进行详细的介绍。
inp文件可以通过inpgen.x来产生。但是还是需要对它进行详细的介绍,或在计算之前进行修改。
在它的输入中,长度是以Bohr半径为单位的(1.a.u.=0.5291772108 Ang),能量是以Hartree为单位的(1htr=2 Ry=27.2113845 eV)。对体材料或薄膜的计算,能量零点是取为间隙区的平均势或真空区的势能。
采用ifort9.0 ,64bit以及mkl9.1。
编译选项设置:
#ifdef linux_intel
FC= ifort
CPP1= -DCPP_APC -DCPP_DOUBLE
#ifdef debug
FFLAGS= -cm -W0 -g -r8 -assume byterecl
#else
FFLAGS= -cm -W0 -O3 -r8 -assume byterecl
#endif
CFFT= cfft_ws.o erf.o dlamch.o
LDFLAGS= -llapack_ifc8 -l