qlx 发表于 2023-9-30 16:09 好的,非常感谢,确实可以解决问题。之前没有想到用体积进行换算 |
盒子需要大于两倍的cutoff,指的是盒子三个方向的两平行表面间的距离都需要大于两倍的cutoff。原代码计算的一条边向另外一条边的投影,并不能准确地反映非正交晶胞中两平行表面间的距离。以你附件中的CORE2019MOF484.cif为例,按原代码中的算法,会认为前后两个平行面间的距离是OA或AD中较小的那个数值(这里是AD),但实际上,无论是OA还是AD都不是OBC这个平面的法线方向,前后两个表面的距离,既不是OA也不是AD。
可以根据平行六面体的体积公式,由晶格常数算出体积,除以各个方向的底面积,得到高,即平行表面间的距离。平行六面体体积公式可参见维基百科。
示例代码如下(python):
|
| 参与人数Participants 2 | eV +8 | 收起 理由Reason |
|---|---|---|
|
| + 3 | 正解 |
|
| + 5 | 精品内容 |
slxc920113 发表于 2023-9-15 09:22 不是所有晶胞都可以正交变换的 |
| 用atomsk批量对cif最正交化变换。 |
手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图
GMT+8, 2026-2-24 20:02 , Processed in 0.219518 second(s), 32 queries , Gzip On.