24小时热门版块排行榜    

查看: 2955  |  回复: 36
【奖励】 本帖被评价23次,作者csfn增加金币 18.5
当前主题已经存档。

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,下面贴出我的程序是:
引用回帖:
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



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


[ Last edited by csfn on 2007-12-4 at 08:59 ]
回复此楼

» 猜你喜欢

» 本主题相关商家推荐: (我也要在这里推广)

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csfn

荣誉版主 (知名作家)


呵呵,好在“3040821025”又给我点鼓励,这么多人看多不顶呀!
我继续加点东西,大家顶顶啊!

第二种构建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就完成了!就算很复杂的结构比如高指数表面,纳米线,纳米管,使用这种方法构建,非常简单!不过以上方法都是我个人摸索出来的,是否可行,有待大家评点!

[ Last edited by csfn on 2007-11-2 at 09:32 ]
2楼2007-08-21 19:55:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

saloon

木虫 (小有名气)


ding yixia
3楼2007-08-21 20:37:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hexingyi

木虫 (职业作家)


★★★★★ 五星级,优秀推荐

希望有更多这样的交流帖
4楼2007-08-21 23:57:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

volcano99

铁虫 (初入文坛)


十分有必要顶一下!!!向 csfn致敬!
5楼2007-08-22 00:05:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dwma

铁杆木虫 (正式写手)


★★★ 三星级,支持鼓励

你的方法很好,我用的也是MS,希望以后遇到问题多探讨
6楼2007-08-22 09:13:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

forinfo

金虫 (小有名气)


★★★★★ 五星级,优秀推荐

谢谢啊,很好!
7楼2007-08-22 11:21:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csfn

荣誉版主 (知名作家)


呵呵,一点心得,大家一起交流,欢迎大家提出好的方法共享
8楼2007-09-06 09:39:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liu_dong88

银虫 (正式写手)


★★★★★ 五星级,优秀推荐

谢谢!学习一下
9楼2007-09-06 14:13:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qingliniao

铁杆木虫 (小有名气)


★★★★★ 五星级,优秀推荐

如何确定根号3x2的pt(111)表面的U,V?
10楼2007-09-07 11:46:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csfn

荣誉版主 (知名作家)


引用回帖:
Originally posted by qingliniao at 2007-9-7 11:46 AM:
如何确定根号3x2的pt(111)表面的U,V?

如何确定确实不容易,我结果不断尝试,发现这个值是不能随便改变的,uv之间有一定的规律,至于什么规律,你自己尝试修改下就知道……
11楼2007-09-08 15:49:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mhl0002

金虫 (小有名气)


★★★★★ 五星级,优秀推荐

lz辛苦了,谢谢分享你的经验
13楼2007-09-17 08:25:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kittenbj

金虫 (小有名气)


★★★ 三星级,支持鼓励

谢谢!学习一下
14楼2007-09-18 02:28:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csfn

荣誉版主 (知名作家)


竟然沉下去了
15楼2007-10-16 14:16:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wuchenwf

荣誉版主 (职业作家)


★★★★★ 五星级,优秀推荐

小C哥 总能给我们提供惊喜
16楼2007-10-16 14:20:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gkd_0000

新虫 (正式写手)


★★★★★ 五星级,优秀推荐

顶顶 ^_^
楼主真是好同志!
17楼2007-10-16 18:59:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

whuang

木虫 (初入文坛)


★★★ 三星级,支持鼓励

顶一个~~
18楼2007-10-18 23:16:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sunmuer

木虫 (小有名气)


★★★ 三星级,支持鼓励

这个帖子好啊
19楼2007-10-24 07:12:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wmx2007

金虫 (小有名气)


怎么样读出.pdp格式的文件
21楼2007-11-01 08:21:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yijie27

金虫 (正式写手)


非常不错!请高手多多指教!
22楼2007-11-01 12:16:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

onexf766

木虫 (正式写手)


好!


不错~
23楼2007-11-14 08:08:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

alicewal

木虫 (小有名气)


★★★★★ 五星级,优秀推荐

刚开始学习MS和VASP,谢谢分享!
24楼2007-11-14 12:10:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chenaihua

银虫 (小有名气)


★★★ 三星级,支持鼓励

不错
我是用的第二种方法
简单一点
25楼2007-11-19 17:50:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

leo_scy

银虫 (小有名气)


★★★★★ 五星级,优秀推荐

支持,学习
26楼2007-11-19 20:48:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mumuly

铜虫 (小有名气)


★★★★★ 五星级,优秀推荐

呵呵 支持一下
27楼2008-03-03 00:29:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
简单回复
2007-09-09 10:27   回复  
 
tanyutou20楼
2007-10-26 08:06   回复  
 
相关版块跳转 我要订阅楼主 csfn 的主题更新
☆ 无星级 ★ 一星级 ★★★ 三星级 ★★★★★ 五星级
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见