计算化学公社

标题: 关于LDA与GGA的问题。【纯新手求助】 [打印本页]

作者
Author:
didi_dudu    时间: 2015-6-19 14:20
标题: 关于LDA与GGA的问题。【纯新手求助】
本帖最后由 didi_dudu 于 2015-6-19 15:01 编辑

  读文献时候发现文章计算时候一般就提及用LDA或者GGA赝势,而VASP中的POT里面确实LDA和GGA只有一个对应元素的赝势。
  我尝试学的软件是quantum-espresso。这里面调用的赝势是这样的。 (, 下载次数 Times of downloads: 148) ,目前知道pbe的都是GGA,而pz都是LDA

我想问下这里面哪个是对应VASP里面POT中的LDA和GGA的呢?  
=================================
ps: 有人用xcrysden么?xcrysden显示espresso输入文件的时候怎么实现多周期显示呢?
pps:multiwfn可以显示espresso输入输出文件么?

作者
Author:
卡开发发    时间: 2015-6-19 19:40
本帖最后由 卡开发发 于 2015-6-19 19:43 编辑

vasp里面芯电子处理也有两种,一种是超软一种是PAW,rrkjus应该对应的是超软,kjpaw应该是PAW的,其他的还得查,不过这些在PWSCF的主页有个赝势下载的页面都能找到点信息http://www.quantum-espresso.org/pseudopotentials/,缺哪个下载哪个。不过糟糕的是可能会遇到凑不齐一套赝势的情况,但支持赝势混合使用。。具体是那种可以从对应泛函的名称来了解,比如pz、pw、vwn应该就是LDA的,而pbe、p91、blyp就是gga的,这些泛函标识一般而言指的应该是赝势是针对各自的泛函全电子计算的结果进行优化的。

PS:Xcrysden太难编译以至于我一直没有去使用PWscf
PPS:multiwfn目前应该还不行吧,据说Sob前辈们可能准备研发
作者
Author:
万里云    时间: 2015-6-19 22:14
执行菜单"Modify" -> "Number of Units Drawn"
作者
Author:
sobereva    时间: 2015-6-19 23:48
如今太忙,暂时还抽不出时间让multiwfn支持第一性程序。
有可能先尝试让Multiwfn支持Crystal,毕竟都是高斯函数,弄起来相对容易。
作者
Author:
didi_dudu    时间: 2015-6-20 22:07
万里云 发表于 2015-6-19 22:14
执行菜单"Modify" -> "Number of Units Drawn"

太感谢了!
作者
Author:
didi_dudu    时间: 2015-6-20 22:11
本帖最后由 didi_dudu 于 2015-6-20 22:15 编辑
卡开发发 发表于 2015-6-19 19:40
vasp里面芯电子处理也有两种,一种是超软一种是PAW,rrkjus应该对应的是超软,kjpaw应该是PAW的,其他的还 ...

谢谢!又有一个问题想请教您一下。我在看espresso中算Si能带的例子,里面指定k点的这部分是什么意思呢?
ATOMIC_POSITIONS
Si 0.00 0.00 0.00
Si 0.25 0.25 0.25
K_POINTS tpiba_b
  5
   L 20
   gG 20
X 0
   1.0 1.0 0.0 30
   gG  1
==================
我的理解是X 代表特殊对称点X点,30是在周围取30个点的意思?gG是什么意思我就实在是没头绪了。而前面的
5
  L 20 也很迷茫不知到是什么意思。用Si的输入文件可以直接算出Si的能带。然而我想将类似方法应用到AlN上就不知该怎么弄了。。。。。。。
谢谢!
=========================
PS, xcrysden我尝试在windows下安装没有成功。。不过在linux系统下按照手册很轻松就全搞定了。

作者
Author:
didi_dudu    时间: 2015-6-20 22:12
sobereva 发表于 2015-6-19 23:48
如今太忙,暂时还抽不出时间让multiwfn支持第一性程序。
有可能先尝试让Multiwfn支持Crystal,毕竟都是高 ...

Sob大神加油!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
作者
Author:
卡开发发    时间: 2015-6-21 01:36
didi_dudu 发表于 2015-6-20 22:11
谢谢!又有一个问题想请教您一下。我在看espresso中算Si能带的例子,里面指定k点的这部分是什么意思呢?
...

这种设置方法我也没见过,PWscf我是不怎么用的,具体细节@万里云 兄台应该比我清楚。个人认为不妨就按照一般的设置方法,给出BZ高对称点坐标即可,最多在给出每个高对称点周围需要插几个点,这些例子很容易搜到。
作者
Author:
万里云    时间: 2015-6-21 09:43
didi_dudu 发表于 2015-6-20 22:11
谢谢!又有一个问题想请教您一下。我在看espresso中算Si能带的例子,里面指定k点的这部分是什么意思呢?
...

K_POINTS {tpi_b}中的tpi表示原子坐标是笛卡尔坐标,单位长度是2*pi/alat,后缀b表示在高对称点间插入K点,等价于VASP KPOINTS里的line mode。

其实tpi_b用的不多,更多的是crystal_b,也就是分数坐标+插值。

K_POINTS下面的5表示高对称点有5个。你给的这个例子中直接用高对称点标识代替了坐标,更一般的形式是这样的:

K_POINTS {crystal_b}
   6
   0.000000000   0.000000000   0.000000000  20 ! gamma
   0.500000000   0.000000000   0.000000000  20 ! X
   0.619775910   0.380643680   0.000000000  20 ! M
   0.500000000   0.500000000   0.000000000  20 ! N
   0.000000000   0.000000000   0.000000000  20 ! gamma
   0.619775910   0.380643680   0.000000000  20 ! M

前三列是高对称点分数坐标,后一列是插入的K点数,最后那个!后面的是注释。

0.000000000   0.000000000   0.000000000  20 ! gamma 表示在gamma点和下一个点(X点)间插入19个K点,加上开头的gamma点,正好20个。
作者
Author:
didi_dudu    时间: 2015-6-24 09:30
万里云 发表于 2015-6-21 09:43
K_POINTS {tpi_b}中的tpi表示原子坐标是笛卡尔坐标,单位长度是2*pi/alat,后缀b表示在高对称点间插入K点 ...
(, 下载次数 Times of downloads: 122)
您好,我还有个问题想问下。我用espresso优化出的输出结果,用xcrysden显示不了全周期,xcrysden中有没有可以将坐标转换成类似输入文件那种,gamma点为坐标原点。 的转换功能呢?  我自己找了一下,,又没有找到。。。或者还有没有其他类似软件可以有这种功能的?谢谢!
作者
Author:
万里云    时间: 2015-6-24 10:55
本帖最后由 万里云 于 2015-6-24 11:55 编辑
didi_dudu 发表于 2015-6-24 09:30
您好,我还有个问题想问下。我用espresso优化出的输出结果,用xcrysden显示不了全周期,xcrysden中有没有 ...
据我所知,XCrySDen没有这个功能,我自己写了两个python脚本来准备输入文件和处理计算结果。
(, 下载次数 Times of downloads: 21)
(, 下载次数 Times of downloads: 15)

cif2cfg.py这个脚本读取cif文件,计算基矢坐标,平移几何中心并转换原子坐标。使用方法文件内有注释,一个例子是cif2cfg.py mos.cif mos.cfg 2 0.5,其中mos.cif是输入文件名,mos.cfg是输出文件名,2表明体系维度是2维,0.5表明将这个2维体系的几何中心z分量平移到超胞c轴中心(分数坐标等于0.5)。这个脚本现在还不能使用对称性,因此在用MS导出cif文件时必须先Make P1。

这个文件的输出是这样的
==================================================================================================
lattice constants:
      a  29.5000  55.7469
      b  25.9000  48.9439
      c  10.0000  18.8973
  alpha  90.0000   1.5708
   beta  90.0000   1.5708
  gamma  90.0000   1.5708

number of types:   2
number of atoms:  63
number of atoms for each type:
   C  43
   H  20

begin_vectors_ang
  29.500000000   0.000000000   0.000000000
   0.000000000  25.900000000   0.000000000
   0.000000000   0.000000000  10.000000000
end_vectors_ang

begin_vectors_bohr
    55.746920676     0.000000000     0.000000000
     0.000000000    48.943906627     0.000000000
     0.000000000     0.000000000    18.897261246
end_vectors_bohr

begin_coordinates_frac
..................................................
end_coordinates_ang

begin_coordinates_bohr
....................................................
end_coordinates_bohr

am-1/am11.cif
am-1/am11.cfg
0   
0.5000   
======================================================================================
lattice constants是晶格常数。如果是a,b,c,第一列单位是angstrom,第二列是bohr。如果是夹角,第一列是角度,第二列是弧度。
接下来是原子种类和个数,用于指定输入文件中的nat和ntyp。

begin_vectors_ang和begin_vectors_bohr分别是单位长度为angstrom和bohr时基矢的坐标。基矢有很多种摆法,这里的方法是让a轴与x轴重合,b轴位于xOy平面内。这里的坐标对应输入文件中的CELL_PARAMETERS。

begin_coordinates_frac,begin_coordinates_ang和begin_coordinates_bohr下面分别是平移后原子的分数坐标和两组直角坐标,对应输入文件中的ATOMIC_POSITIONS。

最后四行是命令行参数回显,专为强迫症患者设计

out2pd.py这个脚本较为简单,负责读取优化之后的输入文件以提取坐标。用例是out2pd.py relax.in relax.out relax.pd,relax.in是优化计算输入文件,relax.out是优化计算输出文件,relax.pd是提取出的坐标文件。这个脚本暂时不支持vc-relax计算。


作者
Author:
didi_dudu    时间: 2015-6-25 06:53
万里云 发表于 2015-6-24 10:55
据我所知,XCrySDen没有这个功能,我自己写了两个python脚本来准备输入文件和处理计算结果。

大神我又来问问题了。
  我想得到AlN的应力-弹性常数曲线。
  我的理解是先计算应力-应变曲线,然后在对应的应变下计算弹性常数  
  quantum-espresso中有没有可以给体系施加应力以计算应变呢?
  还是应该手动给体系施加一系列应变,然后反过来计算应力?
  求指导!谢谢!
作者
Author:
万里云    时间: 2015-6-25 09:13
didi_dudu 发表于 2015-6-25 06:53
大神我又来问问题了。
  我想得到AlN的应力-弹性常数曲线。
  我的理解是先计算应力-应变曲线,然后在 ...

应该是手动改变晶格常数,在此晶格常数下优化原子坐标,再计算总能。

我力学已经忘得差不多了,应力是不是总能对应变一阶导数,弹性常数是二阶导数?
作者
Author:
didi_dudu    时间: 2015-6-25 17:15
本帖最后由 didi_dudu 于 2015-6-25 17:17 编辑
万里云 发表于 2015-6-25 09:13
应该是手动改变晶格常数,在此晶格常数下优化原子坐标,再计算总能。

我力学已经忘得差不多了,应 ...

我也忘得差不多了。。。。。。弹性常数好像可以分为二阶弹性常数和三阶弹性常数。我正在用Elastic来计算AlN的弹性常数。 注意到输入输出里面都有个 stress关键词 。。。。但是不知道是不是这个。。。
作者
Author:
万里云    时间: 2015-6-26 10:48
didi_dudu 发表于 2015-6-25 17:15
我也忘得差不多了。。。。。。弹性常数好像可以分为二阶弹性常数和三阶弹性常数。我正在用Elastic来计算A ...

输入里有个tstress,指定输出应力。

还是先找篇文章,看看别人怎么算的吧。
作者
Author:
didi_dudu    时间: 2015-6-26 13:31
万里云 发表于 2015-6-26 10:48
输入里有个tstress,指定输出应力。

还是先找篇文章,看看别人怎么算的吧。

好的谢谢大神!我正在找这方面的东西看,还有个问题。现在quantum-espresso有没有这种功能呢,“固定晶胞参数中的某一部分,然后优化其他的部分参数”。
作者
Author:
万里云    时间: 2015-6-26 16:23
didi_dudu 发表于 2015-6-26 13:31
好的谢谢大神!我正在找这方面的东西看,还有个问题。现在quantum-espresso有没有这种功能呢,“固定晶胞 ...

有。设置calculation = 'vc-relax',然后在CELL下面有个cell_dofree参数,详细看帮助文档。
作者
Author:
didi_dudu    时间: 2015-6-29 11:28
万里云 发表于 2015-6-26 16:23
有。设置calculation = 'vc-relax',然后在CELL下面有个cell_dofree参数,详细看帮助文档。

太感谢了!!!!大神让我给你充点话费或者神马会员之类的表示下感谢吧
作者
Author:
万里云    时间: 2015-6-29 14:21
didi_dudu 发表于 2015-6-29 11:28
太感谢了!!!!大神让我给你充点话费或者神马会员之类的表示下感谢吧

这个就不必了。
作者
Author:
didi_dudu    时间: 2015-6-30 14:54
万里云 发表于 2015-6-29 14:21
这个就不必了。

那我就捐给论坛啦
作者
Author:
didi_dudu    时间: 2015-7-1 09:17
万里云 发表于 2015-6-29 14:21
这个就不必了。

大神我又来问问题了,我想算AlN的自旋极化。我尝试用PHonon里面example04中的输入来计算。
=================================
vibrations of ch4
&inputph
  tr2_ph=4.0d-17,
  prefix='ch4',
  outdir='/home/wangzf/software/espresso-5.1.2/tempdir',
  amass(1)=1.d0,
  amass(2)=12.d0,
  asr=.true.,
  zue=.true.,
  epsil=.true.,
  trans=.true.,
  fildyn='ch4.dyn.xml',
/
0.0 0.0 0.0
========================
输出来的数据是polarizability,单位是 Polarizability (a.u.)^3       ,然后我在文献中查到的是polarization,单位是C/m^2。然后我在phonon的Doc中搜索polarization关键词,发现主要出现在developer_man里面。是不是espresso程序还有一个developer版本里面具有更多的可能有点不成熟的计算功能呢?之前在文献中看到的born effective charge也主要出现在developer_man里面。 然后现在的espresso可以计算polarization么?谢谢!!!!!!
============================
PS,能不能给个建议哪本书有讲解polarization和polarizability的区别,以及effective charge和born effective charge的区别? 我知道这种基础问题应该自己解决不过我这方面的知识实在太小白了。
作者
Author:
万里云    时间: 2015-7-1 09:37
didi_dudu 发表于 2015-7-1 09:17
大神我又来问问题了,我想算AlN的自旋极化。我尝试用PHonon里面example04中的输入来计算。
============ ...

developer_man是给写扩展程序的人看的,QE倒没有developer版本。

我没有算过声子,因此不知道这几个术语的区别。

算自旋极化不需要算声子啊。
作者
Author:
didi_dudu    时间: 2015-7-1 10:04
本帖最后由 didi_dudu 于 2015-7-1 11:28 编辑
万里云 发表于 2015-7-1 09:37
developer_man是给写扩展程序的人看的,QE倒没有developer版本。

我没有算过声子,因此不知道这几个术 ...

额 打的时候手误了。想算的是极化。因为我想算AlN的压电系数。看文献是需要算出polarization和stress。spin-polarization和polarization是有区别的吧? ---------------------
ps: 问个小白问题。输出中的 total energy和 totalall-electron energy 指的都是什么呢? 谢谢!!!!!


作者
Author:
万里云    时间: 2015-7-1 11:39
didi_dudu 发表于 2015-7-1 10:04
额 打的时候手误了。想算的是极化。因为我想算AlN的压电系数。看文献是需要算出polarization和stress。sp ...

spin-polarization是磁相互作用,polarization是电现象,本质上是不同的事物。

total energy是总能,即Kohn-Sham粒子的动能、离子势能、Hartree相互作用能和交换关联能之和。

totall-electron energy没见过。
作者
Author:
didi_dudu    时间: 2015-7-2 07:26
万里云 发表于 2015-7-1 11:39
spin-polarization是磁相互作用,polarization是电现象,本质上是不同的事物。

total energy是总能, ...

大神我又来了。。我发现PWscf中可以用关键词
!#   * lberry (.TRUE. or .FALSE.)                                             #!
!#     Tells PWSCF that a Berry phase calcultion is desired.  
来算polarization。 你有没有用过这个关键词呢? 这个polarization和通常所说的spontaneous polarization是不是一回事?
作者
Author:
万里云    时间: 2015-7-2 09:15
didi_dudu 发表于 2015-7-2 07:26
大神我又来了。。我发现PWscf中可以用关键词
!#   * lberry (.TRUE. or .FALSE.)                       ...

我没算过极化。

可以看安装目录下面的PW/examples/example04,这个就是用Berry相算极化的。
作者
Author:
didi_dudu    时间: 2015-7-22 21:46
万里云 发表于 2015-7-2 09:15
我没算过极化。

可以看安装目录下面的PW/examples/example04,这个就是用Berry相算极化的。

大神我又双叒叕来了,QE计算时候有没有要设置内存什么的?我现在算一个52个原子的晶胞,发现取k点6 6 6 cutoff 60就算不动了。。。
作者
Author:
万里云    时间: 2015-7-22 22:17
didi_dudu 发表于 2015-7-22 21:46
大神我又双叒叕来了,QE计算时候有没有要设置内存什么的?我现在算一个52个原子的晶胞,发现取k点6 6 6 c ...

Electrons下面有个电子对角化方式,将david改成cg,会省点内存。
作者
Author:
didi_dudu    时间: 2015-8-13 14:10
万里云 发表于 2015-7-22 22:17
Electrons下面有个电子对角化方式,将david改成cg,会省点内存。

大神我又双叒叕来了。。请问下QE在计算时候有没有固定某些原子然后优化其他原子的功能呢?你知不知道设置的关键词神马的。谢谢!!
作者
Author:
万里云    时间: 2015-8-13 16:46
didi_dudu 发表于 2015-8-13 14:10
大神我又双叒叕来了。。请问下QE在计算时候有没有固定某些原子然后优化其他原子的功能呢?你知不知道设置 ...

有,不过我现在想不起来了。

你看下input_pw.html这个文件,在CARD部分。
作者
Author:
didi_dudu    时间: 2015-8-17 13:43
万里云 发表于 2015-8-13 16:46
有,不过我现在想不起来了。

你看下input_pw.html这个文件,在CARD部分。

大神我又双叒叕来了。。在Crysden中显示原子标号的时候,有没有选择显示原子序号的功能的,比如Si1 Si2,Si3,Si4这种。有空的话求下提示 谢谢!!!!!!!!!
作者
Author:
万里云    时间: 2015-8-17 14:59
didi_dudu 发表于 2015-8-17 13:43
大神我又双叒叕来了。。在Crysden中显示原子标号的时候,有没有选择显示原子序号的功能的,比如Si1 Si2, ...

左下角"Atoms Info"按钮。
作者
Author:
茶味果冻    时间: 2015-9-1 17:05
didi_dudu 发表于 2015-8-13 14:10
大神我又双叒叕来了。。请问下QE在计算时候有没有固定某些原子然后优化其他原子的功能呢?你知不知道设置 ...

这个是有的 在原子坐标后边加0表示固定原子 1表示原子不固定
作者
Author:
didi_dudu    时间: 2015-9-2 11:09
茶味果冻 发表于 2015-9-1 17:05
这个是有的 在原子坐标后边加0表示固定原子 1表示原子不固定

谢谢! 你都用QE算什么内容啊?算不算动力学?有问题想请教啊
作者
Author:
茶味果冻    时间: 2015-9-2 14:18
didi_dudu 发表于 2015-9-2 11:09
谢谢! 你都用QE算什么内容啊?算不算动力学?有问题想请教啊

我现在在做简单的cpmd,不过都不顺利
作者
Author:
didi_dudu    时间: 2015-10-9 16:55
茶味果冻 发表于 2015-9-2 14:18
我现在在做简单的cpmd,不过都不顺利

您知道CPMD的计算结果可以用什么图形软件查看么?我发现用xcrysden查看不了。
作者
Author:
茶味果冻    时间: 2015-10-9 17:06
didi_dudu 发表于 2015-10-9 16:55
您知道CPMD的计算结果可以用什么图形软件查看么?我发现用xcrysden查看不了。

有自带的 cppp.x程序 把结果处理,输出xsf文件就能用xcrysden看了 VMD也行
作者
Author:
didi_dudu    时间: 2015-10-14 09:11
本帖最后由 didi_dudu 于 2015-10-14 09:30 编辑
茶味果冻 发表于 2015-10-9 17:06
有自带的 cppp.x程序 把结果处理,输出xsf文件就能用xcrysden看了 VMD也行

您好,用cp.x跑MD,怎么生成那种动态的图呢?我跑了一下QE中自带的examples,发现跑的output里都没有输出像pw.x的MD那样的不同分子坐标来,然后我又搜了一下说不同分子坐标是存在放在outdir里一个‘prefix’.pos的,设置cppp的input中的ldynamics设为TURE就可以看到动态的,但是我设置之后显示“dynamics requested, but only one frame,还是生成不了动态文件,有空的话请指导我一下吧~谢谢!!!!!
作者
Author:
茶味果冻    时间: 2015-10-14 09:58
didi_dudu 发表于 2015-10-14 09:11
您好,用cp.x跑MD,怎么生成那种动态的图呢?我跑了一下QE中自带的examples,发现跑的output里都没有输出 ...

1帧当然没动画了,nframes这参数你看手册设置下就行
作者
Author:
didi_dudu    时间: 2015-10-14 16:50
茶味果冻 发表于 2015-10-14 09:58
1帧当然没动画了,nframes这参数你看手册设置下就行

您用CP跑分子动力学的时候,设置过ATOMIC_VELOCITIES么? 我最近想算H2碰撞分子链的动力学模拟,想给H2设置一个初速度。我看了程序自带的说明,但是一直设置不成功。
作者
Author:
茶味果冻    时间: 2015-10-15 17:17
didi_dudu 发表于 2015-10-14 16:50
您用CP跑分子动力学的时候,设置过ATOMIC_VELOCITIES么? 我最近想算H2碰撞分子链的动力学模拟,想给H2设 ...

这个我就没搞过了,你再看看例子或手册吧 每次看可能会有不同的理解和收获的
作者
Author:
didi_dudu    时间: 2015-10-25 15:58
万里云 发表于 2015-8-17 14:59
左下角"Atoms Info"按钮。

大神,我叕来了,一个很简单的问题,那个espresso中alt单位和crystal单位有什么区别呢?
作者
Author:
万里云    时间: 2015-10-25 16:44
didi_dudu 发表于 2015-10-25 15:58
大神,我叕来了,一个很简单的问题,那个espresso中alt单位和crystal单位有什么区别呢?

crystal就是分数坐标,一般都用这个。
alat是笛卡尔坐标,单位长度是celldm(1)。




欢迎光临 计算化学公社 (http://ccc.keinsci.com/) Powered by Discuz! X3.3