| 查看: 2889 | 回复: 14 | ||
[求助]
如何将VASP中的CONCAR导入到MS中??
|
||
|
我做的是金属间化合物的表面催化裂解,表面取得是111,构建7层原子和真空层后需要用VASP进行弛豫,以取得稳定结构,但遇到的难题是如何将生成的CONCAR导入到MS中,好像可以用Compaq Visual Fortran这个编译器实现,但由于没学过Fortan语言,不会编程,找到的一些编好的程序也看不懂,下面贴出程序以及CONCAR,还请大师们帮我解释下程序的大致内容,以及那些需要修改的地方,不胜感激!!! MODULE PREC INTEGER, PARAMETER :: q =SELECTED_REAL_KIND(10) INTEGER, PARAMETER :: qs=SELECTED_REAL_KIND(5) END MODULE program constucture_of_supercell USE PREC real(q) deta_d(151) real(q) pos(151,3),pos_extend(151,3),pos1(151,3) real(q) a1,a2,a3,b1,b2,b3,c1,c2,c3,a,x,y,z integer atom_num,supercellnum_a,supercellnum_b,supercellnum_c integer pos_num,flag integer atom_num1,atom_num2,atom_num3,atom_num4,atom_begin, & atom_end character*10 temp,temp_Coordination supercellnum_a=1 supercellnum_b=1 supercellnum_c=1 pos_num=1 flag=1 open(1,file='4.txt',status='old') open(2,file='visions-2.xyz',status='unknown') open(3,file='deta.out',status='unknown') write(*,*) "dasafa" read(1,*) temp read(1,*) a read(1,*) a1,a2,a3 read(1,*) b1,b2,b3 read(1,*) c1,c2,c3 ! read(1,*) temp read(1,*) atom_num1,atom_num2,atom_num3 !,atom_num4 read(1,*) temp_Coordination write(*,*) "2dasafa" atom_num=atom_num1+atom_num2+atom_num3+atom_num4 write(2,*) (atom_num*supercellnum_a*supercellnum_b* & supercellnum_c) write(*,*) "3dasafa" write(2,*) "nomame" do i=1,atom_num read(1,*) x,y,z write(*,*) x,y,z,i pos(i,1)=x pos(i,2)=y pos(i,3)=z pos1(i,1)=x pos1(i,2)=y pos1(i,3)=z enddo do i=1,atom_num-1 deta_d(i)=(pos(atom_num-i+1,3)*8-pos(atom_num-i,3)*8- &8.574929257125441E-002)/8.574929257125441E-002 enddo if((temp_Coordination(1:1).EQ.'D').OR. & (temp_Coordination(1:1).EQ.'d'))then write(*,*) "This points denote by direct coordinates!" write(*,*) "convert to cartsian:" do i=1,atom_num pos1(i,1)=pos(i,1)*a1+pos(i,2)*b1+pos(i,3)*c1 pos1(i,2)=pos(i,1)*a2+pos(i,2)*b2+pos(i,3)*c2 pos1(i,3)=pos(i,1)*a3+pos(i,2)*b3+pos(i,3)*c3 write(*,*) pos1(i,1)/1.5,pos1(i,2)/1.5,pos1(i,3)/1.5,0 write(3,*) pos1(i,3)/1.5,0 write(3,*) pos1(i,3)/1.5,1 write(3,*) 0.0,0 enddo endif ! do i=1,atom_num ! write(2,*) "cu",pos(i,1),pos(i,2),pos(i,3),pos_num,flag ! pos_num=pos_num+1 ! enddo do jb=0,supercellnum_b-1 do ja=0,supercellnum_a-1 do jc=0,supercellnum_c-1 atom_begin=1 atom_end=atom_num1 do i=atom_begin,atom_end pos_extend(i,1)=pos1(i,1)+a1*ja+b1*jb+c1*jc pos_extend(i,2)=pos1(i,2)+a2*ja+b2*jb+c2*jc pos_extend(i,3)=pos1(i,3)+a3*ja+b3*jb+c3*jc write(8,*) pos_extend(i,1),pos_extend(i,2),pos_extend(i,3),"T T T" pos_extend(i,1)=pos_extend(i,1)*a pos_extend(i,2)=pos_extend(i,2)*a pos_extend(i,3)=pos_extend(i,3)*a write(2,*) "Au",pos_extend(i,1),pos_extend(i,2),pos_extend(i,3) write(31,*) pos_extend(i,1)/a,pos_extend(i,2)/a,pos_extend(i,3)/a pos_num=pos_num+1 enddo atom_begin=atom_num1+1 atom_end=atom_num2+atom_num1 do i=atom_begin,atom_end pos_extend(i,1)=pos1(i,1)+a1*ja+b1*jb+c1*jc pos_extend(i,2)=pos1(i,2)+a2*ja+b2*jb+c2*jc pos_extend(i,3)=pos1(i,3)+a3*ja+b3*jb+c3*jc write(8,*) pos_extend(i,1),pos_extend(i,2),pos_extend(i,3),"T T T" pos_extend(i,1)=pos_extend(i,1)*a pos_extend(i,2)=pos_extend(i,2)*a pos_extend(i,3)=pos_extend(i,3)*a write(2,*) "C",pos_extend(i,1),pos_extend(i,2),pos_extend(i,3) write(31,*) pos_extend(i,1)/a,pos_extend(i,2)/a,pos_extend(i,3)/a pos_num=pos_num+1 enddo atom_begin=atom_num2+atom_num1+1 atom_end=atom_num3+atom_num2+atom_num1 do i=atom_begin,atom_end pos_extend(i,1)=pos1(i,1)+a1*ja+b1*jb+c1*jc pos_extend(i,2)=pos1(i,2)+a2*ja+b2*jb+c2*jc pos_extend(i,3)=pos1(i,3)+a3*ja+b3*jb+c3*jc write(8,*) pos_extend(i,1),pos_extend(i,2),pos_extend(i,3),"T T T" pos_extend(i,1)=pos_extend(i,1)*a pos_extend(i,2)=pos_extend(i,2)*a pos_extend(i,3)=pos_extend(i,3)*a write(2,*) "O",pos_extend(i,1),pos_extend(i,2),pos_extend(i,3) write(31,*) pos_extend(i,1)/a,pos_extend(i,2)/a,pos_extend(i,3)/a pos_num=pos_num+1 enddo atom_begin=atom_num3+atom_num2+atom_num1+1 atom_end=atom_num do i=atom_begin,atom_end pos_extend(i,1)=pos1(i,1)+a1*ja+b1*jb+c1*jc pos_extend(i,2)=pos1(i,2)+a2*ja+b2*jb+c2*jc pos_extend(i,3)=pos1(i,3)+a3*ja+b3*jb+c3*jc write(8,*) pos_extend(i,1),pos_extend(i,2),pos_extend(i,3),"T T T" pos_extend(i,1)=pos_extend(i,1)*a pos_extend(i,2)=pos_extend(i,2)*a pos_extend(i,3)=pos_extend(i,3)*a write(2,*) "Ag",pos_extend(i,1),pos_extend(i,2),pos_extend(i,3) pos_num=pos_num+1 enddo enddo enddo enddo write(*,*) "the task finished" do i=1,atom_num-1 write(*,*) "deta_d",i,i+1,"=",deta_d(i) ! write(3,'(A6,I2.2,I2.2,A6,E)') "deta_d",i,i+1,"=",deta_d(i) ! write(*,'(A6,I2.2,I2.2,A6,E)') "deta_d",i,i+1,"=",deta_d(i) enddo end CONCAR Ni3Fe-111 1.000000000000000 4.327023630626480 -2.498208257932070 0.000000000000001 0.000000000000000 4.996416515864140 0.000000000000000 0.000000000000000 0.000000000000000 24.238671006281699 21 7 0 Direct 0.0000000000000000 0.5000000000000000 0.0000000000000001 F F F 0.6666666666666670 0.8333333333333330 0.0841538919571259 F F F 0.3333333333333330 0.1666666666666670 0.1683077839142520 F F F -0.0000000000000000 0.4999999999999999 0.2524616758713780 T T T 0.6666666666666670 0.8333333333333330 0.3366155678285030 T T T 0.3333333333333330 0.1666666666666670 0.4207694597856290 T T T -0.0000000000000001 0.5000000000000000 0.5049233517427550 T T T 0.5000000000000000 0.5000000000000000 0.0000000000000001 F F F 0.1666666666666670 0.8333333333333329 0.0841538919571259 F F F 0.8333333333333330 0.1666666666666671 0.1683077839142520 F F F 0.5000000000000000 0.5000000000000000 0.2524616758713780 T T T 0.1666666666666670 0.8333333333333329 0.3366155678285030 T T T 0.8333333333333330 0.1666666666666660 0.4207694597856290 T T T 0.5000000000000000 0.5000000000000000 0.5049233517427550 T T T 0.5000000000000000 0.0000000000000001 0.0000000000000001 F F F 0.1666666666666670 0.3333333333333329 0.0841538919571258 F F F 0.8333333333333330 0.6666666666666670 0.1683077839142520 F F F 0.5000000000000000 -0.0000000000000000 0.2524616758713780 T T T 0.1666666666666670 0.3333333333333329 0.3366155678285030 T T T 0.8333333333333330 0.6666666666666670 0.4207694597856290 T T T 0.5000000000000000 -0.0000000000000001 0.5049233517427550 T T T 0.0000000000000001 0.0000000000000002 -0.0000000000000000 F F F 0.6666666666666661 0.3333333333333330 0.0841538919571259 F F F 0.3333333333333330 0.6666666666666670 0.1683077839142520 F F F -0.0000000000000000 0.0000000000000000 0.2524616758713780 T T T 0.6666666666666670 0.3333333333333330 0.3366155678285030 T T T 0.3333333333333330 0.6666666666666670 0.4207694597856290 T T T -0.0000000000000002 -0.0000000000000001 0.5049233517427550 T T T |
» 本帖已获得的红花(最新10朵)
» 猜你喜欢
职称评审没过,求安慰
已经有41人回复
回收溶剂求助
已经有7人回复
硝基苯如何除去
已经有3人回复
A期刊撤稿
已经有4人回复
垃圾破二本职称评审标准
已经有17人回复
投稿Elsevier的Neoplasia杂志,到最后选publishing options时页面空白,不能完成投稿
已经有22人回复
EST投稿状态问题
已经有7人回复
毕业后当辅导员了,天天各种学生超烦
已经有4人回复
求助文献
已经有3人回复
三无产品还有机会吗
已经有6人回复
» 本主题相关价值贴推荐,对您同样有帮助:
VASP并行计算时,提示“超过CPU时限”而退出计算。请问如何解决?
已经有11人回复
Vasp结算结果中如何计算结构因子
已经有5人回复
vasp计算中如何比较掺杂前后结合能
已经有13人回复
如何在vasp中设定离子的价态
已经有18人回复
vasp计算中,如何选择正确的K点
已经有7人回复
VASP中如何在体系中引入电子和空穴
已经有15人回复
Vasp中删除一个键 输入文件如何表现出来?
已经有8人回复
当体系中包含两种材料时,如何用VASP计算其中一种材料的功函?
已经有11人回复
【求助】vasp中COOP如何理解及输出文件如何处理?
已经有12人回复
【其他】关于MS和VASP的比较
已经有6人回复
【求助】MS中的fractional坐标和VASP中的direct与cart坐标的区别
已经有8人回复
【求助成功】VASP中,如何固定磁矩做结构优化
已经有14人回复

mengfc
金虫 (正式写手)
- 1ST强帖: 1
- 应助: 20 (小学生)
- 金币: 1301.2
- 散金: 1807
- 红花: 5
- 帖子: 927
- 在线: 524.4小时
- 虫号: 818484
- 注册: 2009-07-30
- 性别: GG
- 专业: 凝聚态物性 II :电子结构
4楼2012-05-07 17:01:42
2楼2012-05-07 16:47:44

3楼2012-05-07 16:53:23

5楼2012-05-07 17:05:59
mengfc
金虫 (正式写手)
- 1ST强帖: 1
- 应助: 20 (小学生)
- 金币: 1301.2
- 散金: 1807
- 红花: 5
- 帖子: 927
- 在线: 524.4小时
- 虫号: 818484
- 注册: 2009-07-30
- 性别: GG
- 专业: 凝聚态物性 II :电子结构
6楼2012-05-07 17:10:49

7楼2012-05-07 17:29:20
【答案】应助回帖
★ ★
感谢参与,应助指数 +1
fzx2008: 金币+2, 谢谢指教 2012-05-07 18:34:08
感谢参与,应助指数 +1
fzx2008: 金币+2, 谢谢指教 2012-05-07 18:34:08
|
正解。VESTA下载可以在本版资源区找,最新版的请直接登录其官方网站http://jp-minerals.org/vesta/en/。 |

8楼2012-05-07 18:09:09
jixiao0526
金虫 (小有名气)
- 应助: 12 (小学生)
- 金币: 808.3
- 散金: 158
- 红花: 2
- 帖子: 151
- 在线: 235.6小时
- 虫号: 1407476
- 注册: 2011-09-19
- 性别: GG
- 专业: 电磁场与波
9楼2012-05-07 23:30:55

10楼2012-05-08 09:19:23













回复此楼
lijuanshu
