24小时热门版块排行榜    

CyRhmU.jpeg
查看: 911  |  回复: 10
当前主题已经存档。

dreampursuer

金虫 (正式写手)

[交流] 【求助】有没有办法求倒格空间的晶体结构?

有没有办法求倒格空间的晶体结构?
正空间的原胞用material studio画出来了,想求倒格空间的原胞,也就是WS原胞。想问material studio可以做得到吗?谢谢

[ Last edited by dreampursuer on 2009-12-10 at 15:28 ]
回复此楼
君子博学而日参醒乎己。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huijiany

铁杆木虫 (正式写手)


dreampursuer(金币+1):谢谢参与
还真没试过
2楼2009-12-10 10:42:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dreampursuer

金虫 (正式写手)

引用回帖:
Originally posted by huijiany at 2009-12-10 10:42:
还真没试过

呵呵。。这个用手工画也是可以的,但是太费事,而且不漂亮。。如果MS里面有这个功能,那样就省事了。。
君子博学而日参醒乎己。
3楼2009-12-10 10:59:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

aylayl08

荣誉版主 (文坛精英)

至尊天蝎

优秀版主


dreampursuer(金币+1):谢谢参与
有画这个的软件,忘了叫啥名了,也从没试过,似乎用处不大
珍惜拥有,快乐人生!欢迎光临计算模拟区(*^__^*)。。。。。。。。。。。。。。
4楼2009-12-10 14:02:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gavinliu7390

木虫 (著名写手)

叶落鹰飞

★ ★ ★ ★ ★ ★ ★ ★ ★
dreampursuer(金币+1):谢谢参与
dreampursuer(金币+3,VIP+0):你都没有说明你这个程序段属于什么语言的呢。。 12-10 14:27
aylayl08(金币+5,VIP+0):very good.thank you 12-10 15:41
很简单。 我有写了一个小程序。
你只需要编辑一个输入文件,把正空间的晶格矩阵给它就行。
input.ini 的格式如下:
3.5 0.0 0.0   # Ax , Ay, Az
0.0 3.5 0.0   # Bx, By , Bz
0.0 0.0 3.5   # Cx, Cy , Cz
编译我的程序,执行就可以得到倒空间的晶格矩阵了。
有了倒空间的矩阵,你就可以在ms之类的软件里,看倒空间的样子了。
!---------------------------------------------------------------------------------------------
! program :    from dir to reci
!
! subroutine:   main
!
! author:       H.Y Liu
!
! contact:      ouuing@gmail.com
!
!---------------------------------------------------------------------------------------------
program main
implicit none
real(kind=8) d(3,3)
integer i
logical alive

! read d_lattice
write(*,*)"first, you need write direct lattice in input.ini******important****"
write(*,*)"--------------------------------------------------------------------"
write(*,*)"this is direct lattice:"
write(*,*)

inquire(file="input.ini",exist=alive)
if(alive)then
open(101,file="input.ini"
else
write(*,*)"no input.ini"
write(*,*)"I can give your example of input.ini"
write(*,*)"please edit it!"
write(*,*)"format of input.ini :"
write(*,*)"3.5 0.0 0.0      # Ax Ay Az"
write(*,*)"0.0 3.5 0.0      # Bx By Bz"
write(*,*)"0.0 0.0 3.5      # Cx Cy Cz"
stop
end if

do i=1,3
read(101,*)d(1,i),d(2,i),d(3,i)
write(*,80)d(1,i),d(2,i),d(3,i)
end do
80 format(3x,3f15.9)
call d_reci(d)    ! write reci lattice

stop

end
!-------------------------------------------------------------------------------------
!subroutine:   reciprocal lattice      
!-------------------------------------------------------------------------------------

subroutine d_reci(d)
implicit none
real(kind=8) d(3,3),r(3,3),volume,recv
integer i,j

! volume=(a*b.c)
volume=(d(2,1)*d(3,2)-d(3,1)*d(2,2))*d(1,3)+(d(3,1)*d(1,3)&
&-d(1,1)*d(2,2))*d(2,3)+(d(1,1)*d(2,2)-d(2,1)*d(1,2))*d(3,3)

write(*,*)"-------------------------------------------------------------"
write(*,*)"volume of the cell is :"
write(*,84)volume
write(*,*)
84 format(3x,f15.9)

! reci from direct and write reci

r(1,1)=(d(2,2)*d(3,3)-d(3,2)*d(2,3))/volume
r(2,1)=(d(3,2)*d(1,3)-d(1,2)*d(3,3))/volume
r(3,1)=(d(1,2)*d(3,3)-d(3,2)*d(1,3))/volume
r(1,2)=(d(2,3)*d(3,1)-d(3,3)*d(2,1))/volume
r(2,2)=(d(3,3)*d(1,1)-d(1,3)*d(3,1))/volume
r(3,2)=(d(1,3)*d(2,1)-d(2,3)*d(1,1))/volume
r(1,3)=(d(2,1)*d(3,2)-d(3,1)*d(2,2))/volume
r(2,3)=(d(3,1)*d(1,2)-d(1,1)*d(3,2))/volume
r(3,3)=(d(1,1)*d(2,2)-d(2,1)*d(1,2))/volume


write(*,*)"-------------------------------------------------------------"
write(*,*)"this is reciprocal lattice:"
write(*,*)

do i=1,3

write(*,81)(r(j,i),j=1,3)

end do
81 format(3x,3f15.9)


! volume=(a*b.c)
recv=(r(2,1)*r(3,2)-r(3,1)*r(2,2))*r(1,3)+(r(3,1)*r(1,3)-&
&r(1,1)*r(2,2))*r(2,3)+(r(1,1)*r(2,2)-r(2,1)*r(1,2))*r(3,3)

write(*,*)"-------------------------------------------------------------"
write(*,*)"volume of the reciprocal-cell is :"
write(*,82)recv
write(*,*)
82 format(3x,f15.9)

return

end subroutine
真理是一点点接近的!
5楼2009-12-10 14:23:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

y1ding

铁杆木虫 (著名写手)


dreampursuer(金币+1):谢谢参与
引用回帖:
Originally posted by gavinliu7390 at 2009-12-10 14:23:
很简单。 我有写了一个小程序。
你只需要编辑一个输入文件,把正空间的晶格矩阵给它就行。
input.ini 的格式如下:
3.5 0.0 0.0   # Ax , Ay, Az
0.0 3.5 0.0   # Bx, By , Bz
0.0 0.0 3.5   # Cx, Cy , Cz
...

这是fortran
很明显
6楼2009-12-10 14:36:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xirainbow

木虫 (正式写手)


dreampursuer(金币+1):谢谢参与
引用回帖:
Originally posted by gavinliu7390 at 2009-12-10 14:23:
很简单。 我有写了一个小程序。
你只需要编辑一个输入文件,把正空间的晶格矩阵给它就行。
input.ini 的格式如下:
3.5 0.0 0.0   # Ax , Ay, Az
0.0 3.5 0.0   # Bx, By , Bz
0.0 0.0 3.5   # Cx, Cy , Cz
...

这个很有创意;)
赞一个;)

这个看第一布里渊区很方便;)
但不是WS元胞;)
7楼2009-12-10 14:37:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gavinliu7390

木虫 (著名写手)

叶落鹰飞


zdhlover(金币+1,VIP+0):谢谢,欢迎常来交流讨论 12-11 00:22
你给正空间的ws元胞, 就可以得到倒空间的ws元胞。
真理是一点点接近的!
8楼2009-12-10 15:07:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gavinliu7390

木虫 (著名写手)

叶落鹰飞

做第一性原理,不会fortran是一件很郁闷的事!
真理是一点点接近的!
9楼2009-12-10 16:52:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

netx_ray

木虫 (小有名气)


dreampursuer(金币+1):谢谢参与
xcrysden 这个软件既可以看原子晶胞结构,也可以看到倒易晶胞

还可以手动指定K点路径 然后导出到其他计算软件里面去
10楼2009-12-10 16:57:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 dreampursuer 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见