| 查看: 1495 | 回复: 10 | ||||
| 当前主题已经存档。 | ||||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | ||||
yangjun102银虫 (小有名气)
|
[交流]
【求助】siesta中如何将原子设置成离子?已有3人参与
|
|||
|
比如说Na,我想把他设置成Na离子,让他带一个单位的正点,他的 block PAO.Basis如何设置,价电子在哪如何设置? 请教各位高手了! |
» 收录本帖的淘帖专辑推荐
siesta问题 |
» 猜你喜欢
真诚求助:手里的省社科项目结项要求主持人一篇中文核心,有什么渠道能发核心吗
已经有8人回复
寻求一种能扛住强氧化性腐蚀性的容器密封件
已经有5人回复
论文投稿,期刊推荐
已经有6人回复
请问哪里可以有青B申请的本子可以借鉴一下。
已经有4人回复
孩子确诊有中度注意力缺陷
已经有14人回复
请问下大家为什么这个铃木偶联几乎不反应呢
已经有5人回复
请问有评职称,把科研教学业绩算分排序的高校吗
已经有5人回复
2025冷门绝学什么时候出结果
已经有3人回复
天津工业大学郑柳春团队欢迎化学化工、高分子化学或有机合成方向的博士生和硕士生加入
已经有4人回复
康复大学泰山学者周祺惠团队招收博士研究生
已经有6人回复
zhangguangping
木虫 (著名写手)
- 1ST强帖: 23
- 应助: 71 (初中生)
- 贵宾: 0.031
- 金币: 1973.1
- 散金: 9059
- 红花: 79
- 帖子: 2681
- 在线: 2128.8小时
- 虫号: 529624
- 注册: 2008-03-20
- 性别: GG
- 专业: 原子和分子物理
|
今天上午可能我说的不是很清楚,或者说的有点不着点。后来我在我自己的机器上测试了一下,发现,要想实现你说的,让一个原子变成一个离子参与计算,我认为必须做如下的工作: 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
zhangguangping
木虫 (著名写手)
- 1ST强帖: 23
- 应助: 71 (初中生)
- 贵宾: 0.031
- 金币: 1973.1
- 散金: 9059
- 红花: 79
- 帖子: 2681
- 在线: 2128.8小时
- 虫号: 529624
- 注册: 2008-03-20
- 性别: GG
- 专业: 原子和分子物理

2楼2010-04-21 09:36:54
zhangguangping
木虫 (著名写手)
- 1ST强帖: 23
- 应助: 71 (初中生)
- 贵宾: 0.031
- 金币: 1973.1
- 散金: 9059
- 红花: 79
- 帖子: 2681
- 在线: 2128.8小时
- 虫号: 529624
- 注册: 2008-03-20
- 性别: GG
- 专业: 原子和分子物理
★
gavinliu7390(金币+1):谢谢交流! 2010-04-21 11:29
gavinliu7390(金币+1):谢谢交流! 2010-04-21 11:29
|
楼主,你可以看一下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
yangjun102
银虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 486.5
- 散金: 24
- 帖子: 248
- 在线: 351.2小时
- 虫号: 763027
- 注册: 2009-05-04
- 性别: GG
- 专业: 凝聚态物性I:结构、力学和
4楼2010-04-21 11:19:43













回复此楼