addrho.f90

来自「基于linux操作下的fortran快速付立变换的程序」· F90 代码 · 共 44 行

F90
44
字号
        subroutine addrho(icplexwf,includelast,nd1,nd2,n2,lot,n1dfft,zw,rhopart,weight)        implicit real*8 (a-h,o-z)        dimension zw(2,lot,n2),rhopart(nd1,nd2)        if(icplexwf==2)then         do i2=1,n2-1,2          do j=1,n1dfft           rhopart(j,i2+0)=rhopart(j,i2+0)+(zw(1,j,i2+0)**2+zw(2,j,i2+0)**2)*weight           rhopart(j,i2+1)=rhopart(j,i2+1)+(zw(1,j,i2+1)**2+zw(2,j,i2+1)**2)*weight          enddo         enddo         if(2*(n2/2)/=n2)then          do j=1,n1dfft           rhopart(j,n2  )=rhopart(j,n2  )+(zw(1,j,n2  )**2+zw(2,j,n2  )**2)*weight          enddo         endif                else!        The wavefunction is real, in real space         if(includelast==1)then          do i2=1,n2           do j=1,n1dfft            rhopart(2*j-1,i2)=rhopart(2*j-1,i2)+zw(1,j,i2)**2*weight            rhopart(2*j  ,i2)=rhopart(2*j  ,i2)+zw(2,j,i2)**2*weight           enddo          enddo         else          do i2=1,n2           do j=1,n1dfft-1            rhopart(2*j-1,i2)=rhopart(2*j-1,i2)+zw(1,j,i2)**2*weight            rhopart(2*j  ,i2)=rhopart(2*j  ,i2)+zw(2,j,i2)**2*weight           enddo           rhopart(2*n1dfft-1,i2)=rhopart(2*n1dfft-1,i2)+zw(1,n1dfft,i2)**2*weight          enddo         endif        endif        return        end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?