计算化学公社

标题: atomsk将单斜Ag2S晶体转为正交,c轴过大该怎么处理 [打印本页]

作者
Author:
alv    时间: 2025-3-6 16:05
标题: atomsk将单斜Ag2S晶体转为正交,c轴过大该怎么处理
通过atomsk -orthogonal-cell命令想将Ag2S单斜结构转为正交结构进行动力学运算,结果c轴变大了100倍。这正常吗?  
c轴从 9.526变到了1073.48108 ,详见cif文件。

(, 下载次数 Times of downloads: 8)
(, 下载次数 Times of downloads: 6)





作者
Author:
Uus/pMeC6H4-/キ    时间: 2025-3-6 17:44
这个属于数学问题。你的单斜Ag2S结构的晶胞常数为a = 4.231 Å,c = 9.526 Å,beta = 129.48°,显然由于beta角不是特殊角,不可能找到严格正交化的线性组合系数,只能说在一定精度内找到近似解。参考这个帖子的办法可以求得|c|/|a|*cos(β) ≈ -1.4315...,其分数近似之一为-209/146,于是√(146*9.526 - 209*4.231) ≈ 1073.48,这就是atomsk找到的正交化以后新的c轴长度,即c' = 209*a + 146*c(考虑夹角的向量和)使得beta' = 90.0001°。我不知道程序的orthogonal-cell算法内阈值有多严,或许分母更小的分数近似如-3/2,-10/7,-63/44,-73/51,-136/95等不能满足精度。

实际上取-10/7时,即令c' = 10*a + 7*c(同样是考虑夹角的向量和),转化后的beta' = 90.0968°也足够接近直角了,对扩胞做分子动力学而言引入的误差应该不大。实现这种晶格矢量转化可以用免费的VESTA,在Edit - Edit Data - Unit Cell里点Transform,然后输入变换矩阵
  1. 1  0 10
  2. 0  1  0
  3. 0  0  7
复制代码

即可(注意VESTA的惯例是用变换矩阵右乘到原晶格矢量矩阵,而不是左乘)。如还要顺便扩胞,把两个1改成更大的正整数即可。
作者
Author:
alv    时间: 2025-3-7 10:28
谢谢您,大佬。我转化下试试。




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