| 查看: 400 | 回复: 0 | ||
buddy006铜虫 (初入文坛)
|
[求助]
费米能级电荷密度文件读取报错,求助
|
|
大家好,想计算一下费米能级附件的电荷分布,通过设置INCAR中的 LPARD值,已经达到了PARCHG文件,想通过下面的脚本,读取电荷文件,然后分别输出spin-down 和spin-up电荷密度,但运行后总是提示, line1: program: comand not found command not foundy-1.f:line 2 : line3: ccccc: command not found line4:ccccc: command not found conmand not foundy-1.f:line 5: line6:syntax error near unexpected token '(' line6:' implicit double precision ( a-h, o-z ) 下面是我用的脚本,哪位帮忙看一下,什么地方有问题,多谢了。 ************************************************** program plot_chargedensity ccccc This program read the vasp charge density file and write them in a matrix. ccccc This matrix has a dimension of nx*ny*nz. implicit double precision (a-h,o-z) character*20 file1 character*20 filename c real*8, allocatable, dimension (:,:, :: dens_upc real*8, allocatable, dimension (:,:, :: dens_downc real*8, allocatable, dimension( :: dens_tmpreal*8 dens_up(108,108,180) real*8 dens_down(108,108,180) real*8 dens_tmp(108*108*180) write(6,*) "input the charge density file name" read(5,*) filename c write(6,*) "input the values of nx, ny, nz:" c read(5,*) nx,ny,nz nx = 108 ny = 108 nz = 180 m1=nx*my*nz m2=m1/10 c allocate(dens_up(nx,ny,nz)) c allocate(dens_up(nx,ny,nz)) c allocate(dens_tmp(m1)) open(12,file=filename) c The first lines you don not want do i=1,42 read(12,*) end do c begin to read the spin up-charge density do i=1,m2 m3=(i-1)*5 read(12,*)dens_tmp(m3+1),dens_tmp(m3+2),dens_tmp(m3+3), * dens_tmp(m3+4),dens_tmp(m3+5),dens_tmp(m3+6),dens_tmp(m3+7), * dens_tmp(m3+8),dens_tmp(m3+9),dens_tmp(m3+10) end do do m=1,m1 k=(m-1)/(nx*ny)+1 i=(m-1-(k-1)*nx*ny)/ny+1 j=m-(k-1)*nx*ny-(i-1)*ny dens_up(i,j,k)=dens_tmp(m) end do c The some lines between up and down you don not want do i=1,2 read(12,*) end do c begin to read the spin up-charge density do i=1,m2 m3=(i-1)*10 read(12,*)dens_tmp(m3+1),dens_tmp(m3+2),dens_tmp(m3+3), * dens_tmp(m3+4),dens_tmp(m3+5),dens_tmp(m3+6),dens_tmp(m3+7), * dens_tmp(m3+8),dens_tmp(m3+9),dens_tmp(m3+10) end do do m=1,m1 k=(m-1)/(nx*ny)+1 i=(m-1-(k-1)*nx*ny)/ny+1 j=m-(k-1)*nx*ny-(i-1)*ny dens_up(i,j,k)=dens_tmp(m) end do open(13,file="charge-up.out" ![]() rewind(13) do i=1,nx write(13,101) ((dens_up(i,j,45)+dens_down(i,j,45))/2.0,j=1,ny) end do open(14,file="charge-down.out" ![]() rewind(14) do i=1,nx write(14,101) ((dens_up(i,j,45)-dens_down(i,j,45))/2.0,j=1,ny) end do 101 format(300(F12.8,2X)) close(12) close(13) close(14) end |
» 猜你喜欢
青椒八年已不青,大家都被折磨成啥样了?
已经有8人回复
免疫学博士有名额,速联系
已经有4人回复
交叉科学部支持青年基金,对三无青椒是个机会吗?
已经有5人回复
国家基金申请书模板内插入图片不可调整大小?
已经有6人回复
招博士
已经有6人回复
限项规定
已经有8人回复
国家级人才课题组招收2026年入学博士
已经有5人回复
Fe3O4@SiO2合成
已经有6人回复
青年基金C终止
已经有4人回复
26申博求博导推荐-遥感图像处理方向
已经有4人回复













:: dens_up
回复此楼