24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2115  |  回复: 7

c_chi

木虫 (正式写手)

[求助] siesta基组优化问题已有1人参与

和PW方法相比,LCAO方法有时候的计算准确度确实有所不够,特别是对于过渡金属和贵金属感觉不太容易计算,之前用siesta优化一个Beta相的MnO2,发现结果基本是错的。问了些人,也在论坛里翻了其他人的帖子,说是可以通过优化基组来达到PW的准确度(工具:/Util/Optimizer目录下的simplex),但是还是不怎么明白。
http://muchong.com/bbs/viewthread.php?tid=2486484&fpage=1&target=blank
http://muchong.com/bbs/viewthread.php?tid=2485045&fpage=1&target=self&page=1
http://muchong.com/bbs/viewthread.php?tid=3146982
也看了高手提供的一篇这方面的文章,看了下,没能全看懂。
Optimal strictly localized basis sets for noble metal surfaces.(PHYSICAL REVIEW B79, 075441 2009)

这里希望有人能够解一下疑惑:
1详细.解释下基组,大家经验来看什么情况下使用什么基组可以达到可行的精度?
2.解释下siesta基组优化的具体方法和技巧,或者提供这方面的资料?或者可不可以参考高斯的基组来设置siesta的基组?
3.我在siesta计算过渡金属氧化物时,感觉scf比较难以收敛,如果优化基组后可能更难,计算量更大,我一般的做法是加大DM.NumberPulay并减小DM.MixingWeight,如下。请问我的做法合理吗?还有什么其他方法?
DM.NumberPulay         8
DM.MixingWeight       0.1
4. 最后对于赝势一般是用软件提供的赝势,这里也能够优化来提高准确度?需要怎么做?
先谢谢了!!!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liqizuiyang

木虫 (著名写手)

★ ★ ★
franch: 金币+3, 谢谢回帖交流。。。 2014-09-22 22:29:11
推荐楼主去看下openmx的帮助文档和项目组发的文章,我记得有篇PRB文章专门讲基组优化的。虽然方法不同,但都是LCAO,应该有相通的部分。

LCAO使用原子轨道作为基组,原子轨道可分为径向函数和球谐函数两部分。球谐函数有确定的表达式,径向函数有slater型,gauss型和数值型。数值型就是把径向函数分成一系列格点,存储格点上的函数值,计算时再用插值法还原。基组优化实际上就是调整格点上的值。
2楼2014-09-09 16:01:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

c_chi

木虫 (正式写手)

引用回帖:
2楼: Originally posted by liqizuiyang at 2014-09-09 16:01:22
推荐楼主去看下openmx的帮助文档和项目组发的文章,我记得有篇PRB文章专门讲基组优化的。虽然方法不同,但都是LCAO,应该有相通的部分。

LCAO使用原子轨道作为基组,原子轨道可分为径向函数和球谐函数两部分。球 ...

谢谢,我去研究下opemx的文档和文章。
3楼2014-09-10 08:30:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

c_chi

木虫 (正式写手)

问题还是没解决,我主要是想优化MnO2的基组,我看了下例子不是很明白,优化参数和原子轨道有什么关系吗?能解释下下面的内容:
1.有个如下的VASRS文件,应该是优化的阈值,但是怎么取?有什么规则还不是很明白?为什么要这样取这些轨道?
s_z1_rc_O         2.5  8.0
spl_s_O         0.05  0.5  0.15
p_z1_rc_O         2.5  8.0
spl_p_O         0.05  0.5
d_z1_rc_O         2.5  8.0
s_z1_rc_H         2.0  8.0
spl_s_H         0.05  0.8
p_z1_rc_H         2.0  8.0
2.同时运行的输入文件有个基组的block,这个和上面的优化阈值有什么关系吗?谢谢了!!!
%block PAO.Basis                                   # Define Basis set
O     3     
n=2    0    2  S $spl_s_O
   $s_z1_rc_O   0.0
   1.000   1.000
n=2    1    2  S $spl_p_O
   $p_z1_rc_O   0.0
   1.000   1.000  
n=3    2    1  
   $d_z1_rc_O
   1.000  
H     2      
n=1    0    2  S $spl_s_H
   $s_z1_rc_H  0.0
   1.000   1.000  
n=2    1    1
   $p_z1_rc_H
   1.000  
%endblock PAO.Basis
4楼2014-09-11 14:45:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

c_chi

木虫 (正式写手)

没有虫子对这个有研究啊?
5楼2014-09-17 14:04:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lqh91

木虫 (正式写手)

引用回帖:
4楼: Originally posted by c_chi at 2014-09-11 14:45:11
问题还是没解决,我主要是想优化MnO2的基组,我看了下例子不是很明白,优化参数和原子轨道有什么关系吗?能解释下下面的内容:
1.有个如下的VASRS文件,应该是优化的阈值,但是怎么取?有什么规则还不是很明白?为 ...

请问楼主弄清楚这些值代表的意思了吗?最近我也在用siesta算氧化铁,需要优化基组,但是完全不懂这些值代表的意思,请问楼主可否赐教?
6楼2019-02-28 22:55:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

卡开发发

专家顾问 (著名写手)

Ab Initio Amateur

【答案】应助回帖

1、这个不一定,我遇到过有些原子基组定义有bug(比如某个壳层都没定义)的情况,这种情况多大尺寸的基组都没用。除此之外SIESTA因为采用的是赝原子轨道框架,所以精度除了依赖基组,还得看赝势怎么优化,官方提供的赝势对过渡元素有些可能连标量相对论都没考虑。如果要排除赝势的问题就得用平面波和相同的赝势计算再进行对比,这在操作上可行性很差。大体上说,如果能做对比,目前我从几篇文献的了解来说,优化后的DZP基本上能在0.2eV/atom以内。

2、(1)SIESTA用单纯形方法优化基组的方案我看过文献和资料,但没具体取做过,我想应该是通过调整各项基组参数来极小化参考系统的能量来给出基组参数,这方面信息其实应该可以看看SIESTA官方的ppt(https://departments.icmab.es/lee ... utorials/index.html),如果有时间我去试试看弄一篇教程。
(2)高斯基组的方案不能够完全套用过来,原子轨道基组必须和赝势一一匹配使用,就连Gaussian的SDD和Lanl2的基组和赝势也是不能随便互换的。除非你针对相应的赝势自己优化相应的Gaussian轨道,然后反过来离散化、截断成数值轨道,这样是允许的,否则赝势基组没办法在core区域与赝势匹配。
(3)SIESTA优化基组过程确实比较繁琐。除了单纯形方法外,其他还有像OpenMX对轨道变分优化的;还有就是通过参考系统做平面波或有限差分等计算后再投影到局域轨道的方式,比如Plato这些程序(10.1103/PhysRevB.62.4899)。这些方法操作过程不一样,要移植过来就得另外想办法。

3、优化基组的目的就是为了能够使用小尺寸的基组获得更好的结果,因此原则上不会出现计算量更大的情况。你的方法是合理的,出现难收敛的情况应当考虑基组和赝势程序内部是否定义正确,所选取的参数是否合理(收敛性测试、磁矩初猜、结构等),如果还是很困难就应该考虑调整迭代方面的参数(混合的形式、因子大小)。

4、SIESTA可以使用官方提供的ATOM来生成Troullier-Martins赝势和HSC赝势,这方面应该也能找到教程。
不一定挂在论坛,计算问题问题欢迎留言。
7楼2019-04-02 15:02:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

卡开发发

专家顾问 (著名写手)

Ab Initio Amateur

【答案】应助回帖

引用回帖:
6楼: Originally posted by lqh91 at 2019-02-28 22:55:30
请问楼主弄清楚这些值代表的意思了吗?最近我也在用siesta算氧化铁,需要优化基组,但是完全不懂这些值代表的意思,请问楼主可否赐教?...

我想应该是具体的每个参数的意义应该是参考手册的The PAO.Basis block这一节,然后把要优化的参数写成变量的形式,优化基组过程完成之后程序会给出这些变量的值。比如$s_z1_rc_O就能够看出是O的第一个zeta的截断半径,而$spl_s_H就是H的第二个zeta的劈裂模,而这个劈裂模则决定了第二个zeta的截断。其余包括电荷、内层半径这些参量优化方法应该都差不多,但前提是你得大致对SIESTA的基组形式有个了解。
不一定挂在论坛,计算问题问题欢迎留言。
8楼2019-04-02 15:14:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 c_chi 的主题更新
信息提示
请填处理意见