24小时热门版块排行榜    

查看: 11338  |  回复: 70
【奖励】 本帖被评价35次,作者csfn增加金币 30.25
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

csfn

荣誉版主 (知名作家)


[资源] 用Material Studio构建复杂模型及转换成poscar的2种方法

此帖已被多个论坛、博客转载,但原创就为此帖。相信大家读后会有所受益!
今后如有转载,请注明作者及来源


前面有xinjiang介绍一个用Material Studio构建表面模型(zz)”的帖子,我发现做表面的还不少。这里我也给大家介绍一点经验,简单点表面构建法前面介绍了,那么这里我介绍“用Material Studio构建稍微复杂的表面模型”。这里介绍的是构造一个根号3x2pt(111)表面。
用MS Modeling制作slab模型结构图
1, 打开MS modeling,建立一个项目,如test;
2, 右击test项目,在下拉菜单中选择import,在弹出的菜单中选择Structures/metals/pure-metals/Pt;
3, 在主菜单中的Build选择surfaces/Cleave surface,
4, 在弹出的菜单中处理数据
(i)在surface box界面下
a)你所要做的表面,如[111];  也就是将cleave plane [h k l]修改成 [1 1 1];
b) 修改深度,即将depth修改成你所需要的原子层数, 如4;
(ii)在options界面下
将Orientation standard选项改成U矢量沿x轴方向,V在xy平面
(iii)在surface Mesh的界面下
修改U,V矢量。
如保持U不变,将V矢量修改成 0.5 0.5 -1
5,点击cleave,产生一个[1 1 1]的表面模型,
6,在主菜单中的Build选择Crystals/Build Vaccum Slab
7,在弹出的菜单中修改相应的参量,比如将真空厚度修改成14angstrom, 点击build产生一个Slab模型;
8,在主菜单中的Build选择Symmetry/supercell,将单胞修改成你所需要的大小,如将A修改成2,点击Create supercell
这样产生了你所要的表面
在该表面,你可以非常简单的看出hcp与fcc的差别,以及top,bridge位置。


如果你需要产生vasp的poscar文件,那么你可以从ms模块导出这个文件为.car文件(它是卡迪尔坐标),简单进行处理下就变成vasp了。
比如我这里有个。car坐标:
引用回帖:
!BIOSYM archive 3
PBC=2D
Materials Studio Generated CAR File
!DATE Thu Nov 16 09:42:17 2006
PBC    11.5352    4.9949   90.0000(p 1)
Au1      0.000000000    2.679917131   -2.354607603 XXXX 1      xx      Au  0.000
Au2      5.767587171    2.679917131   -2.354607603 XXXX 1      xx      Au  0.000
Au3      2.883793586    2.679917131   -2.354607603 XXXX 1      xx      Au  0.000
Au4      8.651380757    2.679917131   -2.354607603 XXXX 1      xx      Au  0.000
Au5      1.441896793    0.182478626   -2.354607603 XXXX 1      xx      Au  0.000
Au6      7.209483964    0.182478626   -2.354607603 XXXX 1      xx      Au  0.000
Au7      4.325690379    0.182478626   -2.354607603 XXXX 1      xx      Au  0.000
Au8     10.093277550    0.182478626   -2.354607603 XXXX 1      xx      Au  0.000
Au9      1.441896793    1.847437629    0.000000000 XXXX 1      xx      Au  0.000
Au10     7.209483964    1.847437629    0.000000000 XXXX 1      xx      Au  0.000
Au11     4.325690379    1.847437629    0.000000000 XXXX 1      xx      Au  0.000
Au12    10.093277550    1.847437629    0.000000000 XXXX 1      xx      Au  0.000
Au13     0.000000000    4.344876134   -0.000000000 XXXX 1      xx      Au  0.000
Au14     5.767587171    4.344876134    0.000000000 XXXX 1      xx      Au  0.000
Au15     2.883793586    4.344876134    0.000000000 XXXX 1      xx      Au  0.000
Au16     8.651380757    4.344876134    0.000000000 XXXX 1      xx      Au  0.000
end
end

要转换成vasp,下面贴出我的程序是:
CODE:
parameter(nsum=16,nsun=0,n=16)
real x(n),y(n),z(n)
real lx(3),ly(3),lz(3)
real lattice
character p
character*18 selective
character*6 direct

lx=0.0
ly=0.0
lz=0.0
lattice=4.64
lx(1)=  11.8800/lattice
ly(2)= 6.5761/lattice
lz(3)= 15.8554/lattice       



open(1,file="Au (1 1 1) (4).car")
do i=1,5
read(1,*)
enddo
do i=1,n
read(1,*)p,x(i),y(i),z(i)
enddo
do i=1,2
read(1,*)
enddo
close(1)
open(2,file="POSCAR")
write(2,*)"rutile.TiO2(110)"
write(2,15)lattice
15 format(f15.8)
write(2,16)lx
write(2,16)ly
write(2,16)lz
16 format(3f15.8)
write(2,17)nsum,nsun
17 format(2I5)
Selective="Selective dynamics"
direct="direct"
write(2,171)Selective
write(2,172)"direct"
171 format(A18)
172 format(A6)
do i=1,n
write(2,18)x(i)/lx(1)/lattice,y(i)/ly(2)/lattice,z(i)/lz(3)/lattice
18 format(3f15.8,"   T   T   T")
enddo

close(2)
end

那么产生的poscar文件:
引用回帖:
rutile.TiO2(110)
     4.64000000
     2.56034500      .00000000      .00000000
      .00000000     1.41726300      .00000000
      .00000000      .00000000     3.41711200
   16    0
Selective dynamics
direct
      .00000000      .40752380     -.14850510   T   T   T
      .48548710      .40752380     -.14850510   T   T   T
      .24274360      .40752380     -.14850510   T   T   T
      .72823070      .40752380     -.14850510   T   T   T
      .12137180      .02774876     -.14850510   T   T   T
      .60685890      .02774876     -.14850510   T   T   T
      .36411530      .02774876     -.14850510   T   T   T
      .84960250      .02774876     -.14850510   T   T   T
      .12137180      .28093210      .00000000   T   T   T
      .60685890      .28093210      .00000000   T   T   T
      .36411530      .28093210      .00000000   T   T   T
      .84960250      .28093210      .00000000   T   T   T
      .00000000      .66070720      .00000000   T   T   T
      .48548710      .66070720      .00000000   T   T   T
      .24274360      .66070720      .00000000   T   T   T
      .72823070      .66070720      .00000000   T   T   T



如果觉得有用的话,大家就拍下砖啊,让更多的同志们能探讨和学习表面构建.支持下我的呕心原创 ^_^!


第二种构建poscar进阶方法,可构建高指数面,纳米线管等复杂结构
在ms模块中搭建好所需要的的结构,然后点一个模块比如castep下拉菜单中的“calcualtion”,出现一个菜单,在该菜单最下方出现三个选项,run,files,help,我们选择点击“files”,然后点击“save files”。这个时候你建立的结构就会默认保存在项目下。你到项目下打开你保存的文件。会看到一个*.cell文件,如果看不到,你就到工具栏下设置下显示隐藏的文件,*.cell是隐藏的文件。打开这个cell文件,你会看到前面是坐标文件,比如:
CODE:
%BLOCK LATTICE_CART
       2.555294556406364      -1.475300000000001       0.000000000000000
       0.000000000000000       2.950600000000000       0.000000000000000
       0.000000000000000       0.000000000000000       4.678800000000000
%ENDBLOCK LATTICE_CART

%BLOCK POSITIONS_FRAC
Ti   0.3333333333333334   0.6666666666666667   0.2500000000000000
Ti  -0.3333333333333334  -0.6666666666666667   0.7500000000000001
%ENDBLOCK POSITIONS_FRAC

%BLOCK KPOINTS_LIST
  -0.5000000000000000  -0.5000000000000000   0.4166666666666666       0.010000000000000
  -0.5000000000000000  -0.5000000000000000   0.2500000000000000       0.010000000000000
  -0.5000000000000000  -0.5000000000000000   0.0833333333333333       0.010000000000000
  -0.5000000000000000   0.4000000000000000   0.4166666666666666       0.040000000000000
  -0.5000000000000000   0.4000000000000000   0.2500000000000000       0.040000000000000
  -0.5000000000000000   0.4000000000000000   0.0833333333333333       0.040000000000000

cell文件第2行到第5行的数字显示的是晶格矢量,对应就是poscar前面的第3行到第6行的基矢量,不过这个时候poscar的第二行的晶格常熟要设置为1,因为cell文件的晶格矢量包含了晶格常数进去了。
cell文件第7行空格,第8行显示说是坐标了,而且是分数坐标,呵呵,很清楚了,在poscar的基矢量接着写下“direct”,表示是分数坐标,然后把cell文件第9行到第10行(这里是针对我给出的简单例子只有2个原子,多原子的类推就可以了)copy到poscar下就可以了。

一个poscar就完成了!就算很复杂的结构比如高指数表面,纳米线,纳米管,使用这种方法构建,非常简单!不过以上方法都是我个人摸索出来的,是否可行,有待大家评点!
对于很多纳米结构,比如纳米碳管,不管什么类型的管,现在高版本的ms都可以直接输出。特别很方便,大家也可以看看。

欢迎拍砖!



[ Last edited by woshilsh on 2009-6-13 at 22:12 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

quantumren

木虫 (小有名气)


赞!学习一下
18楼2007-12-15 18:05:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 csfn 的主题更新
☆ 无星级 ★ 一星级 ★★★ 三星级 ★★★★★ 五星级
普通表情 高级回复(可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 博士该不该读? +9 L1009225316 2024-06-25 10/500 2024-06-27 21:08 by L1009225316
[论文投稿] 我在写关于多维空间的论文,希望能与大家交流,准备在science上发表 +9 lgf519 2024-06-24 12/600 2024-06-27 20:55 by lgf519
[硕博家园] 难道我真的要放弃吗? +43 133456 2024-06-20 45/2250 2024-06-27 20:47 by 发文拖拉机
[基金申请] 专科院校申请国自然 +17 孤单12站 2024-06-24 29/1450 2024-06-27 20:38 by 514205406
[公派出国] CSC博士联培对将来就业有用吗 +6 也就这样 2024-06-22 6/300 2024-06-27 16:55 by zhenggui12
[基金申请] 第75批博后面上 “应该是这两周”基金管理处的电话终于通了 +4 makele123 2024-06-27 5/250 2024-06-27 16:45 by fang大大
[基金申请] 75批面上出结果了么?系统卡的进不去了 +4 wziguang33 2024-06-27 4/200 2024-06-27 15:53 by xter9665
[基金申请] 博后面上今天下午会公布吗?有无消息? +26 hajkdfdf 2024-06-24 45/2250 2024-06-27 09:19 by kyukitu
[考博] 对象没有,还非常想读博,难以抉择 +28 pvrw0224 2024-06-23 52/2600 2024-06-26 20:22 by pvrw0224
[基金申请] 自然基金变化?? +15 今晚推荐22 2024-06-21 25/1250 2024-06-26 19:40 by 朋友别哭010
[基金申请] 青年基金E02口青基去年几个函评专家? +6 他山攻玉之石 2024-06-25 9/450 2024-06-26 15:09 by 他山攻玉之石
[基金申请] 这样的说辞是上会了吗 +12 学员d3zYCz 2024-06-24 15/750 2024-06-25 22:05 by 3115321
[基金申请] 博后面上到底什么时候出结果??? +7 爱学lsy 2024-06-24 7/350 2024-06-25 19:24 by 暴走的蒜泥
[基金申请] 2024安徽省哲社立项名单公示 +3 robin_work 2024-06-24 6/300 2024-06-25 14:37 by Pickfoot
[有机交流] 求助析晶问题 20+4 dengdawang 2024-06-24 5/250 2024-06-24 21:22 by cc116
[金属] 寻找钛合金热压缩代做 +4 liuyang358 2024-06-23 4/200 2024-06-24 13:50 by 搬砖狗不放弃
[催化] 求助原位红外 +3 jfdhj 2024-06-21 7/350 2024-06-24 10:52 by qvhm2609
[公派出国] 博士csc联培会看重第一学历学校层次吗 +4 也就这样 2024-06-23 4/200 2024-06-24 08:18 by 晓目崇
[基金申请] 教育部基金 +5 m1393 2024-06-21 5/250 2024-06-21 21:13 by odes
[基金申请] 听大佬说今年信息口本子数量大幅增加? +8 wutzxt 2024-06-21 9/450 2024-06-21 19:58 by wutzxt
信息提示
请填处理意见