24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1492  |  回复: 10
当前主题已经存档。

yangjun102

银虫 (小有名气)

[交流] 【求助】siesta中如何将原子设置成离子?已有3人参与

比如说Na,我想把他设置成Na离子,让他带一个单位的正点,他的
block PAO.Basis如何设置,价电子在哪如何设置?
  请教各位高手了!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhangguangping

木虫 (著名写手)


hometownlove(金币+1):谢谢交流 2010-04-21 14:15
我也想知道怎么做到!我看了一下说明书,好像没有一个地方这么设置。我估计是不是得给那个不同的原子另做一个赝势,然后把那个Na原子用另一种符号表示,类似于一种人造原子的方式,只不过这种人造原子和Na的的区别就是带点而已!我不知道对不对,希望楼主知道答案后告诉我一声,我也想解决这个问题!
谢谢!
弘德明志博学笃行
2楼2010-04-21 09:36:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhangguangping

木虫 (著名写手)


gavinliu7390(金币+1):谢谢交流! 2010-04-21 11:29
引用回帖:
Originally posted by yangjun102 at 2010-04-20 14:19:34:
比如说Na,我想把他设置成Na离子,让他带一个单位的正点,他的
block PAO.Basis如何设置,价电子在哪如何设置?
  请教各位高手了!

楼主,你可以看一下siesta-3.0-b的手册的第24-25页,这个问题可能能够解决。当时我看手册的时候把这个地方忽略了。
----------------------------
%block PAO.Basis     # Define Basis set                                          
O 2 nodes 1.0        # Label, l_shells, type (opt), ionic_charge (opt)               
n=2 0 2 E 50.0 2.5   # n (opt if not using semicore levels),l,Nzeta,Softconf(opt
3.50 3.50            # rc(izeta=1,Nzeta)(Bohr)                                          
0.95 1.00            # scaleFactor(izeta=1,Nzeta) (opt)                                 
1 1 P 2              # l, Nzeta, PolOrb (opt), NzetaPol(opt)                              
3.50                 # rc(izeta=1,Nzeta)(Bohr)
H 1                  # Label, l_shells, type (opt), ionic_charge (opt)                                               
0 2 S 0.2            # l, Nzeta, Per-shell split norm parameter
5.00 0.00            # rc(izeta=1,Nzeta)(Bohr)                  
%endblock PAO.Basis
-------------------------------------------------------
ionic charge(is): Optional input. Net charge of species is. This is only used for
basis set generation purposes. Default value: 0.0 (neutral atom). Note that if the pseudopotential was generated in an ionic configuration, and no charge is specied in PAO.Basis, the ionic charge setting will be that of pseudopotential generation.
看这个解释,好像直接可以在生成赝势的时候解决这个问题。

[ Last edited by zhangguangping on 2010-4-21 at 05:39 ]
弘德明志博学笃行
3楼2010-04-21 10:10:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yangjun102

银虫 (小有名气)

引用回帖:
Originally posted by zhangguangping at 2010-04-21 09:36:54:
我也想知道怎么做到!我看了一下说明书,好像没有一个地方这么设置。我估计是不是得给那个不同的原子另做一个赝势,然后把那个Na原子用另一种符号表示,类似于一种人造原子的方式,只不过这种人造原子和Na的的区别 ...

在ionic_charge 中设置电荷没有问题,赝势用Na原子的可以算。合理一些的考虑应该把Na3S轨道的电子去掉,在赝势生成前去掉3S上的一个电子,用这个Na离子的赝势再进行运算,输出文件中出现如下的错误:
SPLIT: Basis orbitals for state 3s
EGOFV: ERROR: Too many iterations. Stopping.
Z= 1.  L= 0  NNODE= 1  E=************  DE=         NaN
如何解决这个问题?期待和大家共同讨论!!
4楼2010-04-21 11:19:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhangguangping

木虫 (著名写手)

引用回帖:
Originally posted by yangjun102 at 2010-04-21 04:19:43:



在ionic_charge 中设置电荷没有问题,赝势用Na原子的可以算。合理一些的考虑应该把Na3S轨道的电子去掉,在赝势生成前去掉3S上的一个电子,用这个Na离子的赝势再进行运算,输出文件中出现如下的错误:
SPLI ...

你在生成赝势的时候就把3S的电子去掉,但是保留这个轨道,这个时候2p的6个电子就成为价电子了,3S轨道可以看成是极化轨道。采用这样的赝势之后,为了区别于正常的Na原子,把这个Na离子标记成另一种元素,进行计算,这样不行吗?

[ Last edited by zhangguangping on 2010-4-21 at 06:09 ]
弘德明志博学笃行
5楼2010-04-21 12:42:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fengshiquan

铁杆木虫 (正式写手)

在给Na的赝势的时候用Na离子的赝势
6楼2010-04-21 14:22:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yangjun102

银虫 (小有名气)

引用回帖:
Originally posted by zhangguangping at 2010-04-21 12:42:55:

你在生成赝势的时候就把3S的电子去掉,但是保留这个轨道,这个时候2p的6个电子就成为价电子了,3S轨道可以看成是极化轨道。采用这样的赝势之后,为了区别于正常的Na原子,把这个Na离子标记成另一种元素,进行计 ...

怎么标记成别的元素?Na标记成Ne吗?
7楼2010-04-21 14:33:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhangguangping

木虫 (著名写手)

引用回帖:
Originally posted by yangjun102 at 2010-04-21 07:33:02:



怎么标记成别的元素?Na标记成Ne吗?

今天上午可能我说的不是很清楚,或者说的有点不着点。后来我在我自己的机器上测试了一下,发现,要想实现你说的,让一个原子变成一个离子参与计算,我认为必须做如下的工作:
1.首先准备一个离子的赝势,比如说Na+,一般情况下,我们只计算其中的3s电子,其他的电子认为是核电子。但是要准备Na+的赝势,一般就是指的3s电子走了,我们用2p上的6个电子当做价电子。在做赝势的时候把3s上的电子占据数变成0就可以了,另外加上一个轨道2p,电子占据数是6。生成的赝势要是直接参与计算,会发现,和中性原子的没什么区别,差别仅在于基矢的形式稍有改变,计算中价电子数会变成7,2p上的6个和3s上的1个,虽然赝势的制作时3s上没有电子。
2.要想真正使Na原子变成Na离子,这时候需要在做输入文件的时候加入NetCharge 这个选项。假如引入了3个Na+,这时候就写NetCharge 3,表示整个体系带3个正电荷。不用担心这3个正电荷的分布,程序会根据你的赝势把它定域在Na+上(或者周围)。
3.要是在体系中还有其他中性的Na原子,这个时候就要区分开这两种元素,可以这样写:
%block ChemicalSpeciesLabel
  1   11   Na+
  2   11   Na
  3    1   H
%endblock ChemicalSpeciesLabel
这样就需要两个赝势文件,一个是Na+.psf,另一个是Na.psf,其中Na+.psf表示离子赝势。
4.这样计算的时候,如果基矢用PAO.BasisSize    DZP(SZP)等指定的时候,还是会出错,因为Na+的价电子包含了核电子,所以对Na+的基矢指定必须用
%block PAO.Basis   
Na+   2            
n=2   1   2        
   2.94   2.0      
   1.000  1.000     
n=3   0   2        
   2.94   2.0      
   1.000  1.000     
%endblock PAO.Basis (里面的参数不具有参考价值)
这样的格式指定。
到这里,就可以计算了,你会发现,Na+的价电子这时候就是6个。而不再是7个了,即使在基矢里包含了Na的3s轨道。如果用中性的赝势,在指定基矢的时候避开3s轨道,这时候3s轨道的电子也会不参与计算,但是其他的基矢是中性原子的基矢,而不是离子的基矢,所以我觉得这样做不合适。应该用离子的赝势,然后再指定体系带点量。如果用中性原子的赝势,加指定体系的带电量,会发现这时候出现很奇怪的结果,认为是整个体系有NetCharge个电子。
我认为这样计算就能满足你在计算的时候加入离子的需要。
希望对你有用。
在解答这个问题的时候,我也顺便学习了一些知识。
我把我制作的一个Na离子的赝势放在这儿:
http://www.namipan.com/d/Na%2b.p ... fc72ed8eb82faf50100
这是赝势的输入文件:
   pe      Sodium NLCC rcore=1.50
        tm2      4.0   
n=Na c=pb
       0.0       0.0       0.0       0.0       0.0       0.0
    2    3
    3    0      0.00      0.00
    2    1      6.00      0.00
    3    2      0.00      0.00
      2.95      2.95      2.95      2.95         0      1.50

#23456789012345678901234567890123456789012345678901234567890
里面的参数是采用的siesta源代码中赝势目录下的一个输入文件的Na的参数。
说的不对的地方,希望虫友们批评指正。

[ Last edited by zhangguangping on 2010-4-21 at 09:08 ]
弘德明志博学笃行
8楼2010-04-21 16:01:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yangjun102

银虫 (小有名气)

引用回帖:
Originally posted by fengshiquan at 2010-04-21 14:22:40:
在给Na的赝势的时候用Na离子的赝势

我用Na离子赝势的时候出现如下错误:
SPLIT: Basis orbitals for state 3s
EGOFV: ERROR: Too many iterations. Stopping.
Z= 1.  L= 0  NNODE= 1  E=************  DE=         NaN
9楼2010-04-21 16:05:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yangjun102

银虫 (小有名气)

引用回帖:
Originally posted by zhangguangping at 2010-04-21 16:01:09:

今天上午可能我说的不是很清楚,或者说的有点不着点。后来我在我自己的机器上测试了一下,发现,要想实现你说的,让一个原子变成一个离子参与计算,我认为必须做如下的工作:
1.首先准备一个离子的赝势,比如说 ...

谢谢你!一个体系如果是其中有正电荷离子和负电荷离子,整个体系却是电中性的,NetCharge就不需要设置。那么PAO.Basis选项中的ionic net charge是否应该设置?我看了一个钠原子和一个钠离子的能量相差很大,钠的电离能是5.1eV。其他地方还需要设置吗?
10楼2010-04-21 19:00:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 yangjun102 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见