计算化学公社

标题: 求助改变HCP结构的晶体转向 [打印本页]

作者
Author:
Ying_Zhang    时间: 2025-10-28 17:19
标题: 求助改变HCP结构的晶体转向
求助一下,现有一个HCP结构,用哪个软件和程序可以使其晶体方向X=[11-20],Y=[1-100],Z=[0001]。已采用Atomsk程序,但是由于我采用的结构不能用Atomsk生成,因此无法用像Mg的指令,类似:
  1. atomsk --create hcp 3.21 5.213 Mg orient [0-110] [0001] [2-1-10] xsf
复制代码
也尝试过用Atomsk的orient功能,
  1. atomsk Mg.xsf -orient [2-1-10] [-12-10] [0001] [11-20] [1-100] [0001] xsf
复制代码
但是出现报错,报错如下图。
(, 下载次数 Times of downloads: 5)

请问一下如何修改该语句可以使其正常转向,或者有其他工具可以实现,感谢。(Mg是示例,采用HCP的结构)


作者
Author:
Uus/pMeC6H4-/キ    时间: 2025-10-28 17:38
六方晶系的四轴晶向X_4=[11-20],Y_4=[1-100],Z_4=[0001]相当于三轴晶向X_3=[330], Y_3=[1-10], Z_3=[001],按初始晶格矢量a = b, alpha = beta = 90°, gamma = 120°的话这好像是个正交但左手的坐标系诶。

参考我在http://bbs.keinsci.com/thread-55090-1-1.html说的可以用VESTA做此类晶格矢量转化,把三轴晶向按列向量(不是行向量)输入旋转矩阵即可。记得检查Remove Symmetry以及产生的结构有没有原子重叠。
作者
Author:
Ying_Zhang    时间: 2025-10-28 21:41
本帖最后由 Ying_Zhang 于 2025-10-28 22:44 编辑
Uus/pMeC6H4-/キ 发表于 2025-10-28 17:38
六方晶系的四轴晶向X_4=[11-20],Y_4=[1-100],Z_4=[0001]相当于三轴晶向X_3=[330], Y_3=[1-10], Z_3=[001] ...

感谢老师回复,按照您说的方法,进行了操作,按照预期进行了晶体的转向。不过,我还是想列出来一下我的操作过程,让老师帮我double check一下,十分感谢。

1)六方晶系的四轴晶向X_4=[11-20],Y_4=[1-100],Z_4=[0001],相当于三轴晶向X_3=[110], Y_3=[1-10], Z_3=[001]。

2)所以,a'=a+b, b'=a-b, c’=c,因此VESTA中的matrix P就是
  1. 1 1 0
  2. 1 -1 0
  3. 0 0 1
复制代码


3)Edit - Edit Data - Unit Cell - remove symmetry - unit cell transformation - 输入上述矩阵

4)图1是原始结构,我用不同颜色表示(110), (1-10), (001);图2,是进行变化以后的。
(, 下载次数 Times of downloads: 3)
(, 下载次数 Times of downloads: 4)
U:\Ubuntu_sharedfolder\Screenshot from 2025-10-28 11-53-32.png
U:\Ubuntu_sharedfolder\Screenshot from 2025-10-28 14-17-55.png

还有一个额外问题请教您,在进行转换时候,也提醒我变为左手坐标系,这个坐标系左右有什么影响吗?
再次感谢!

作者
Author:
Ying_Zhang    时间: 2025-10-31 00:32
本帖最后由 Ying_Zhang 于 2025-10-31 00:35 编辑
Uus/pMeC6H4-/キ 发表于 2025-10-28 17:38
六方晶系的四轴晶向X_4=[11-20],Y_4=[1-100],Z_4=[0001]相当于三轴晶向X_3=[330], Y_3=[1-10], Z_3=[001] ...

老师再麻烦您一下,我现在需要另外转换一个体系,在六方晶系的四轴晶向中,X_4=[11-2-3],Y_4=[1-100], Z_4=[11-22],相当于三轴的X_3=[11-1],Y_3=[1-10], Z=[332],但是转换结果中,X轴和Z轴不是90°是104°左右,按照下述文献的图,[11-2-3]是与平面(11-22)的法向量[11-22]垂直的,而且查了几个文献,也有用类似坐标系的。感谢老师解答!



作者
Author:
Uus/pMeC6H4-/キ    时间: 2025-10-31 12:41
本帖最后由 Uus/pMeC6H4-/キ 于 2025-10-31 13:43 编辑

不必隐瞒背景信息,这图一摆出来就知道是在研究HCP合金的<c+a> second-order pyramidal slip(二阶锥面滑移)了。

注意[hkl]晶向是按原子连线定义的,(hkl)晶面是按坐标轴截距倒数定义的;即使平时常说[hkl]晶向是(hkl)晶面的法向量,但从立体几何的角度“[hkl]对应的空间向量”与“(hkl)对应的空间平面”只有在立方晶系才会严格地垂直。可以验证,六方晶系(只要求晶胞参数a = b, alpha = beta = 90°, gamma = 120°,无论是不是c/a = 2sqrt(6)/3 ≈ 1.633的等径圆球六方密堆积)的[210]晶向对应的空间向量实际与(100)晶面对应的空间平面严格垂直。如果l ≠ 0,那具体结构的c/a值也会有影响,很可能像晶格正交化一帖那样只能找一定精度内的近似解。

在下图中红色粗箭头是[11-1]晶向、绿色粗箭头是[1-10]晶向(这样变换的结果又是左手坐标系了,如果要保持右手坐标系应该取[-110])、蓝色粗箭头是你说的[332]晶向,紫色平面是(112)晶面、黄色平面是(1-10)晶面。根据立体几何不难得出,红色与绿色粗箭头相互垂直且均在紫色平面上,黄色平面与紫色平面相交于红色粗箭头且二面角为90°。
(, 下载次数 Times of downloads: 5)


然而沿绿色粗箭头方向观察,蓝色粗箭头虽然在黄色平面上但并不垂直于红色粗箭头。
(, 下载次数 Times of downloads: 5)


晶格矢量变换的目标是把(112)晶面转到xy平面且令z轴垂直于之,此时需要结合晶胞参数a与c解方程:令蓝色粗箭头为(mmn)晶向,则由向量点乘为0可知蓝色粗箭头垂直于红色粗箭头要求ma^2 - nc^2 = 0,即m/n = c^2/a^2。等径圆球六方密堆积的c^2/a^2 = 8/3故m = 8且n = 3能严格垂直;而假如实际c = 6.696 埃而a = 2.456 埃,那就只能找c^2/a^2的分数近似7/1, 15/2, 52/7等等,m和n越大则越接近垂直但变换后的晶胞也越大。

该结构的VESTA文件也上传于此,随便拿一个六方晶体改的,不要在意元素种类。
(, 下载次数 Times of downloads: 4)




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