| 查看: 2900 | 回复: 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朵)
» 猜你喜欢
求个博导看看
已经有18人回复
自荐读博
已经有6人回复
带资进组求博导收留
已经有13人回复
投稿Elsevier的杂志(返修),总是在选择OA和subscription界面被踢皮球
已经有5人回复
青基代表作,AAAI之类的A会的special track在国内认可度高吗?还是归为workshop之流?
已经有3人回复
上海工程技术大学【激光智能制造】课题组招收硕士
已经有6人回复
上海工程技术大学张培磊教授团队招收博士生
已经有4人回复
求助院士们,这个如何合成呀
已经有4人回复
临港实验室与上科大联培博士招生1名
已经有9人回复
写了一篇“相变储能技术在冷库中应用”的论文,论文内容以实验为主,投什么期刊合适?
已经有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人回复

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

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







回复此楼
lijuanshu
