Uus/pMeC6H4-/キ 发表于 2025-8-26 16:50 好的,谢谢您! |
xinxin19 发表于 2025-8-26 09:18 搞不清楚原子数的话,与其纠结可视化软件显示效果不如看结构文件有几行坐标。 文档6.2.6节解释了那几个选项的区别,把用add new equivalent positions...产生的结构导出cif文件时空间等效原子用_space_group_symop_operation_xyz字段记录的对称操作产生,而把用search atoms... as new sites产生的结构导出cif文件时空间等效原子直接写成不同分数坐标,对用multiwfn正确读取后生成CP2K输入文件而言没有什么差别。 |
Uus/pMeC6H4-/キ 发表于 2025-8-25 22:45 好的,十分感谢您的解答!关于这个问题一直跟您在这个贴子下交流,下次有新的问题我会发在第一性原理板块的! 关于这个问题我还有几个疑问,我发现我在打开edit data-unit cell之后,首先点 Remove symmetry,Symmetry会自动来到 Triclinic-P1 (Space Groupe)下,这表示我应该在这下面进行Transfrom么,输入P系数后,会出现一个提示框:how to convert the structure? A. add new euivalent positions to a list of symmetry operations B. Search atoms in the new unit-cell and add them as a new sites C. do nothing,我在选A之后发现在.vasp文件中体系的原子数会多余显示的原子数,而选B又会出现体系的原子数少于显示的原子数的情况。我应该具体怎么操作才能使显示的原子数等于实际的原子数呢。 并且我用整数P后,体系在a和b晶向也会扩大,这说明在a和b晶向也进行了扩胞么,这个情况应该怎么解决呀 |
xinxin19 发表于 2025-8-25 22:01 “显示在顶部”的原子实际坐标并不在顶部,仔细理解我5楼最后一段的意思。 当前结构有很多坐标重叠的原子,比如拿文本编辑器打开并ctrl+f搜索0.00000000 0.00000000 0.00000000能看到四个Ti原子,这显然不是合理的几何结构。我拿一个确认没有分数占据的TiN结构COD-9008748也能复现该情况。 问题应该出在这里:面心立方晶胞的对称性下原点和面心等价,这也是晶格矢量变换矩阵能用0.5这样的分数系数而不仅限定于整数的前提;而Remove symmetry以后原点和面心得用多个分数坐标记录原子位置,再用分数系数的话就会产生冲突。考虑到分数系数本来就是特殊情况、推广性差一点,我还是建议用5楼写出来的那些只含整数系数的变换矩阵。 其实VESTA相关问题本来应该在第一性原理板块讨论的,而楼主一开始是用的GaussView才发到量子化学板块,我们这样算是偏题了。 |
| 参与人数Participants 1 | eV +4 | 收起 理由Reason |
|---|---|---|
|
| + 4 | 谢谢 |
Uus/pMeC6H4-/キ 发表于 2025-8-22 18:52 十分感谢您耐心的回复!按照您的解答,我做了如下的操作,并进行真空层的填充,但发现使用CP2K进行结构优化时,出现了GEOMETRY wrong or EMAX_SPLINE too small!的错误,还想请您帮我分析一下错误的来源。 图一是我原始晶胞的图片,我在edit data-unit cell中,选择Cubic的225(Fm-3m)空间群进行了设置,图2为变化矩阵之后的图片,矩阵的P系数如下:
请问这个错误是否是我在填充真空层后上层原子来到顶部造成的,如果是这个原因,我应该做什么操作来让顶层原子回到原本的位置呢。 |
xinxin19 发表于 2025-8-22 15:13 复习一下线性代数知识更容易理解晶格矢量变换。立方晶胞的三个矢量相互正交且等长,因此设计一个变换矩阵其实很容易,参照下图理解
比如目标是一个c'轴垂直于原先的(111)晶面的正交超胞,那么可以直接取c' = a + b + c(向量加法,下同),因为立方晶系的[111]晶向确实垂直于(111)晶面。然后在(111)晶面上随便找两个相互垂直的矢量就能作为a'和b'轴,这里取a' = -a + b,b' = -a -b + 2*c。最后按VESTA惯例整理系数
实际上这个思想也能推广到其他形如(n11)的晶面指数,在立方晶系中(n11)与(11n)是等价的{n11}晶面族,经过类似推导得到
在VESTA里去Edit - Edit Data - Unit Cell修改Lattice parameters的时候,由于保持不变的是原子的分数坐标而不是绝对的空间坐标,实际起到了拉长晶胞而不是给晶胞添加真空区的效果。要添真空区的话可以先File - Export Data导出用笛卡尔坐标记录结构的POSCAR文件,再用文本编辑器修改盒子尺寸;或者导出cif后用multiwfn的几何操作(http://sobereva.com/610)处理。 显示晶体结构的时候画面上的原子数可能多于实际原子组成,这种视觉效果是因为(1)软件把特定坐标的原子(不一定是0)放在盒子边界,且(2)软件把盒子边界上的原子显示在两端以表示平移的周期性,而不是按实际组成只显示一个。这并不影响原子实际位置,比如multiwfn图形窗口的other settings - toggle showing all boundary atoms就能改变该视觉效果。非要确保不这样显示的话只能自行修改笛卡尔坐标了,比如把所有原子的z坐标都加一个常数以将结构平移到z > 0的位置。 |
| 参与人数Participants 1 | eV +3 | 收起 理由Reason |
|---|---|---|
|
| + 3 | 谢谢您帮我解疑! |
Uus/pMeC6H4-/キ 发表于 2025-8-11 16:11 您好,我也想请教您关于Vesta切(1,1,1)晶面的问题,我现在不明白Rotation marix(P)的含义,我的晶胞长度是(4.1,4.1,4.1),晶向均为90°,P应该怎么选才能切出(1,1,1)面并保持晶向还是90°呀。 并且我在网上看到使用vesta设置真空层的方法就是来扩大某个方向的晶胞,而这会使这个方向的最后一层原子层到顶部,我想使用CP2K来计算某个晶面的功函数,所以最后这一层不能出现在顶部,这个问题应该怎么解决呀 |
Uus/pMeC6H4-/キ 发表于 2025-8-11 16:11 感谢!解答很详细 |
|
单拿1x1x1原胞切(611)晶面确实因原子较少而无法满足正确的周期性。应该先在View一栏的Cell Replication设置b和c为6并点Combine获得1x6x6超胞,再去Reduce栏切出超胞的(111)晶面。 其实我更愿意拿免费且专业的VESTA做这种切晶面并扩胞的操作,因为VESTA有个用旧晶格矢量线性组合成新晶格矢量的功能是GaussView目前没有的。用VESTA加载Au的边长4.078 Å的面心立方惯用胞后,在菜单Edit - Edit Data - Unit Cell打开的窗口里点Transform,然后输入变换矩阵(注意VESTA的惯例是用变换矩阵右乘到原晶格矢量矩阵,而不是左乘)
即可得到一个2.884 Å x 17.777 Å x 12.570 Å的正交超胞,所需的Au (611)晶面垂直于c轴方向。如还需要扩胞,将各列(不是各行)的系数等比例放大即可。 |
| 参与人数Participants 2 | eV +6 | 收起 理由Reason |
|---|---|---|
|
| + 3 | |
|
| + 3 | 赞! |
手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图
GMT+8, 2026-1-24 18:15 , Processed in 0.518301 second(s), 26 queries , Gzip On.