ABACUS 原子算筹

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3037|回复: 3

ABACUS中坐标变换——调整真空层方向

[复制链接]

2

主题

2

帖子

22

积分

新手上路

Rank: 1

积分
22
发表于 2023-2-26 02:31:32 | 显示全部楼层 |阅读模式
本帖最后由 huangxl 于 2023-2-26 02:33 编辑

ABACUS中建议真空层设在x或y方向,平常我们一般通过MS等建立的真空层沿着z方向,我通过一段Mathematica代码可以把POSCAR中的真空层由z方向改为x或y方向。

  1. poscar = Import[NotebookDirectory[]<>"POSCAR-Fractional","Table"];
  2. RM=RotationMatrix[(2\[Pi])/3,{1,1,1}];(*将{x,y,z}变换到{z,x,y}的变换矩阵*)
  3. {poscar[[3]],poscar[[4]],poscar[[5]]}={RM . poscar[[5]],RM . poscar[[3]],RM . poscar[[4]]}(*{a,b,c}轮换*)
  4. atomnum=Total[poscar[[7]]];
  5. Table[poscar[[i]]=RM . poscar[[i]],{i,9,8+atomnum}];(*以{a,b,c}为基的分数坐标轮换*)
  6. Export[NotebookDirectory[]<>"POSCAR-NEW.dat",poscar]
复制代码
代码中需要导入分数坐标形式的POSCAR文件,我这里导入的文件为POSCAR-Fractional,然后变换之后导出POSCAR-NEW.dat。将.dat变为.vasp可以用VESTA可视化查看结构。

变换前后展示:
POSCAR-Fractional
  1. TaAs
  2. 1.0
  3.         3.4658000469         0.0000000000         0.0000000000
  4.         0.0000000000         3.4658000469         0.0000000000
  5.         0.0000000000         0.0000000000        95.2611999512
  6.    Ta   As
  7.    28   28
  8. Direct
  9.      0.000000000         0.000000000         0.184029995
  10.     -0.000000000        -0.000000000         0.307350003
  11.      0.000000000         0.000000000         0.430670012
  12.     -0.000000000        -0.000000000         0.553980009
  13.      0.000000000         0.000000000         0.677299978
  14.     -0.000000000        -0.000000000         0.800619987
  15.     -0.000000000        -0.000000000         0.923939995
  16.      0.500000000         0.500000000         0.122370000
  17.      0.500000000         0.500000000         0.245689999
  18.      0.500000000         0.500000000         0.369010008
  19.      0.500000000         0.500000000         0.492330016
  20.      0.500000000         0.500000000         0.615639974
  21.      0.500000000         0.500000000         0.738960022
  22.      0.500000000         0.500000000         0.862280031
  23.     -0.000000000         0.500000000         0.091539998
  24.      0.000000000         0.500000000         0.214860017
  25.     -0.000000000         0.500000000         0.338180025
  26.     -0.000000000         0.500000000         0.461499994
  27.     -0.000000000         0.500000000         0.584810032
  28.      0.000000000         0.500000000         0.708130000
  29.     -0.000000000         0.500000000         0.831450009
  30.      0.500000000        -0.000000000         0.153200003
  31.      0.500000000        -0.000000000         0.276520021
  32.      0.500000000         0.000000000         0.399839990
  33.      0.500000000         0.000000000         0.523150027
  34.      0.500000000        -0.000000000         0.646469996
  35.      0.500000000         0.000000000         0.769789964
  36.      0.500000000        -0.000000000         0.893109973
  37.     -0.000000000        -0.000000000         0.112230005
  38.     -0.000000000        -0.000000000         0.235550004
  39.      0.000000000         0.000000000         0.358869992
  40.     -0.000000000        -0.000000000         0.482179990
  41.     -0.000000000        -0.000000000         0.605499999
  42.      0.000000000         0.000000000         0.728820007
  43.      0.000000000         0.000000000         0.852140016
  44.      0.500000000         0.500000000         0.173890000
  45.      0.500000000         0.500000000         0.297210008
  46.      0.500000000         0.500000000         0.420520026
  47.      0.500000000         0.500000000         0.543839994
  48.      0.500000000         0.500000000         0.667159963
  49.      0.500000000         0.500000000         0.790480052
  50.      0.500000000         0.500000000         0.913799980
  51.     -0.000000000         0.500000000         0.143059997
  52.      0.000000000         0.500000000         0.266380006
  53.      0.000000000         0.500000000         0.389690003
  54.      0.000000000         0.500000000         0.513010012
  55.     -0.000000000         0.500000000         0.636330021
  56.      0.000000000         0.500000000         0.759650029
  57.      0.000000000         0.500000000         0.882969958
  58.      0.500000000        -0.000000000         0.081399998
  59.      0.500000000         0.000000000         0.204720002
  60.      0.500000000        -0.000000000         0.328040010
  61.      0.500000000        -0.000000000         0.451350008
  62.      0.500000000        -0.000000000         0.574670016
  63.      0.500000000         0.000000000         0.697989985
  64.      0.500000000        -0.000000000         0.821309994
复制代码



POSCAR-NEW.vasp
  1. TaAs
  2. 1.
  3. 95.2611999512        0.        0.
  4. 0.        3.4658000469        0.
  5. 0.        0.        3.4658000469
  6. Ta        As
  7. 28        28
  8. Direct
  9. 0.184029995        0.        0.
  10. 0.307350003        0.        0.
  11. 0.430670012        0.        0.
  12. 0.553980009        0.        0.
  13. 0.677299978        0.        0.
  14. 0.800619987        0.        0.
  15. 0.923939995        0.        0.
  16. 0.12237        0.5        0.5
  17. 0.245689999        0.5        0.5
  18. 0.369010008        0.5        0.5
  19. 0.492330016        0.5        0.5
  20. 0.615639974        0.5        0.5
  21. 0.738960022        0.5        0.5
  22. 0.862280031        0.5        0.5
  23. 0.091539998        0.        0.5
  24. 0.214860017        0.        0.5
  25. 0.338180025        0.        0.5
  26. 0.461499994        0.        0.5
  27. 0.584810032        0.        0.5
  28. 0.70813        0.        0.5
  29. 0.831450009        0.        0.5
  30. 0.153200003        0.5        0.
  31. 0.276520021        0.5        0.
  32. 0.39983999        0.5        0.
  33. 0.523150027        0.5        0.
  34. 0.646469996        0.5        0.
  35. 0.769789964        0.5        0.
  36. 0.893109973        0.5        0.
  37. 0.112230005        0.        0.
  38. 0.235550004        0.        0.
  39. 0.358869992        0.        0.
  40. 0.48217999        0.        0.
  41. 0.605499999        0.        0.
  42. 0.728820007        0.        0.
  43. 0.852140016        0.        0.
  44. 0.17389        0.5        0.5
  45. 0.297210008        0.5        0.5
  46. 0.420520026        0.5        0.5
  47. 0.543839994        0.5        0.5
  48. 0.667159963        0.5        0.5
  49. 0.790480052        0.5        0.5
  50. 0.91379998        0.5        0.5
  51. 0.143059997        0.        0.5
  52. 0.266380006        0.        0.5
  53. 0.389690003        0.        0.5
  54. 0.513010012        0.        0.5
  55. 0.636330021        0.        0.5
  56. 0.759650029        0.        0.5
  57. 0.882969958        0.        0.5
  58. 0.081399998        0.5        0.
  59. 0.204720002        0.5        0.
  60. 0.32804001        0.5        0.
  61. 0.451350008        0.5        0.
  62. 0.574670016        0.5        0.
  63. 0.697989985        0.5        0.
  64. 0.821309994        0.5        0.
复制代码


回复

使用道具 举报

4

主题

8

帖子

56

积分

注册会员

Rank: 2

积分
56
发表于 2023-2-26 12:16:28 来自手机 | 显示全部楼层
这个mathematica转换坐标系很好!
回复

使用道具 举报

4

主题

8

帖子

56

积分

注册会员

Rank: 2

积分
56
发表于 2023-2-26 12:16:28 来自手机 | 显示全部楼层
这个mathematica转换坐标系很好!
回复

使用道具 举报

0

主题

3

帖子

22

积分

新手上路

Rank: 1

积分
22
发表于 2023-11-27 18:20:57 | 显示全部楼层
采用ATOMKIT的405功能可以快速转换晶格矢量,并根据晶格矢量重新调整坐标,目前使用感觉非常棒
欢迎大家测试使用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|ABACUS 原子算筹

GMT+8, 2024-11-21 18:23 , Processed in 0.015823 second(s), 17 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表