24小时热门版块排行榜    

查看: 1337  |  回复: 6

wl7171759

新虫 (小有名气)

[求助] 求助!急需macroscopic average electrostatic potential的小程序 已有1人参与

想要看VASP输出文件LOCPOT包含的体系静电势信息,想要可处理LOCPOT文件得到macroscopic average electrostatic potential的小程序,希望得到大家的帮助!
或者可以实现高斯滤波的小程序也行啊,真心求助啊!!!
回复此楼

» 本帖已获得的红花(最新10朵)

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

vinbert

木虫 (正式写手)

LZ,你找到macrscopic average的程序了么?能不能给我发一份,谢谢先。我邮箱是vinberg.lee@mail.dlut.edu.cn
欲望是一切的源动力
2楼2014-04-25 09:57:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mywai520

铁杆木虫 (著名写手)


自己写吧,这个现在是个流行的话题。有程序的人也不会给出的。相信自己!!!!!
3楼2014-04-25 19:46:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiaoboy185

金虫 (正式写手)

好多人都问这个问题i
记得有个小程序可以通过LOCPOT求出xy面的平均

得到这个xy的平均之后  可以直接用一些数据处理软件得到一个线性的平均,也就是那个macrscopic average
比如说origin
楼主可以试试看
4楼2014-04-25 20:04:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jpchou

专家顾问 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
fzx2008: 金币+5, 谢谢指导,谢谢分享! 2014-04-28 19:23:37
wl7171759: 金币+10, ★★★很有帮助, 受益了,确实自己得学着谢谢程序 2014-05-05 12:37:22
三樓說的很好
程式還是要學著寫,否則未?淼穆泛茈y走

      implicit real*8(a-h,o-z)
      character*32 tmp,t
      dimension nt(10),r(99)
      logical alive
      allocatable ep(,grid(:,:,,na(
!=======================================================================
      inquire(file='LOCPOT',exist=alive)
      if(alive) then
        write(6,*) ; write(6,*) 'LOCPOT file is found ~'
        open( 1,file='LOCPOT')
        open(11,file='LOCPOT-x.dat')
        open(12,file='LOCPOT-y.dat')
        open(13,file='LOCPOT-z.dat')
        do i=1,5 ; read(1,*) tmp ; end do
98      read(1,*,iostat=istat) nt ; ntype=count(nt>0)
        if(ntype .eq. 0) go to 98
        allocate(na(ntype))
        do i=1,ntype ; na(i)=nt(i) ; end do
        ntot=sum(na) ; allocate(ep(ntot))
        do i=1,ntot ; read(1,*) tmp ; end do
        read(1,*) nx,ny,nz ; allocate(grid(nx,ny,nz))
        read(1,*) (((grid(i,j,k),i=1,nx),j=1,ny),k=1,nz)
        sumgrid=sum(grid)
        write(6,*) " --------------- results from LOCPOT -------------------- "
        write(6,10) sumgrid
        write(6,11) nx,ny,nz
        write(11,'(f15.5)') (sum(grid(i,:,)/real(ny*nz),i=1,nx)
        write(12,'(f15.5)') (sum(grid(:,i,)/real(nx*nz),i=1,ny)
        write(13,'(f15.5)') (sum(grid(:,:,i))/real(nx*ny),i=1,nz)
        write(6,12) sumgrid/real(nx*ny*nz)
        write(6,*) " -------------------------------------------------------- "
  10    format("  total electrostatic potential = ",f20.5)
  11    format("                number of grids = ",5x,3i5)
  12    format("average electrostatic potential = ",f20.5)
        close(1) ; deallocate(ep)
      end if

這是小弟寫的 fortran 處理 LOCPOT,很短
輸入檔: LOCPOT
輸出檔: LOCPOT-x.dat
           LOCPOT-y.dat
           LOCPOT-z.dat
簡單說就是沿三個方向做平面積分與平均

這只是我為了某個目的去寫
輸出結果不見得能符合你的需求
所以
還是自己寫會比問別人還快
5楼2014-04-25 20:12:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dongbaojuan

木虫 (小有名气)

送红花一朵
楼主得到这个处理程序了吗?得到的话,能不能发我一份啊?不胜感激~
邮箱:bjdong12s@imr.ac.cn
6楼2015-01-13 18:48:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tsglss

铁杆木虫 (著名写手)

做好自己
7楼2018-02-07 16:35:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wl7171759 的主题更新
信息提示
请填处理意见