24小时热门版块排行榜    

查看: 887  |  回复: 3
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

pangrui1985

铜虫 (小有名气)

[求助] PROCAR里面的相因子究竟是如何对应到波函数系数的 已有1人参与

如题,LORBIT=12以后会输出以下的信息,其中第第二个ion下的应该是和波函数相因子相关的。问题是由下面的东西怎么得到投影系数的复数形式?以前有人问过类似的问题,但没有答案,还请知道的人不吝赐教。
and   1 # energy   -9.97403321 # occ.  1.00000000

ion      s     py     pz     px    dxy    dyz    dz2    dxz    dx2    tot
  1  0.325  0.000  0.000  0.000  0.000  0.000  0.186  0.000  0.000  0.511
  2  0.323  0.000  0.000  0.000  0.000  0.000  0.093  0.000  0.000  0.416
tot  0.648  0.000  0.000  0.000  0.000  0.000  0.278  0.000  0.000  0.927
ion      s     py     pz     px    dxy    dyz    dz2    dxz    dx2
  1 -0.869  0.000  0.000  0.000  0.000  0.000  0.421  0.000  0.000
  1 -1.764  0.000  0.000  0.000  0.000  0.000  0.854  0.000  0.000
  2 -0.835  0.000  0.000  0.000  0.000  0.000  0.306  0.000  0.000
  2 -1.697  0.000  0.000  0.000  0.000  0.000  0.621  0.000  0.000
回复此楼

» 猜你喜欢

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

pangrui1985

铜虫 (小有名气)

引用回帖:
2楼: Originally posted by yyyu200 at 2014-08-16 09:04:52
ion      s     py     pz     px    dxy    dyz    dz2    dxz    dx2    tot
  1  0.325  0.000  0.000  0.000  0.000  0.000  0.186  0.000  0.000  0.511
  2  0.323  0.000  0.000  0.000  0.000  0.000  0. ...

LS好猛,这都找得到,我先去试试。
3楼2014-08-16 13:00:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 4 个回答

yyyu200

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
franch: 金币+5, 谢谢回帖交流。。。 2014-08-18 22:00:14
pangrui1985: 金币+10, ★★★很有帮助, 改用PWSCF解决了,那一帖也是2L回的,在这感谢了。 2014-08-19 16:21:18
ion      s     py     pz     px    dxy    dyz    dz2    dxz    dx2    tot
  1  0.325  0.000  0.000  0.000  0.000  0.000  0.186  0.000  0.000  0.511
  2  0.323  0.000  0.000  0.000  0.000  0.000  0.093  0.000  0.000  0.416
tot  0.648  0.000  0.000  0.000  0.000  0.000  0.278  0.000  0.000  0.927
ion      s     py     pz     px    dxy    dyz    dz2    dxz    dx2
  1 -0.869  0.000  0.000  0.000  0.000  0.000  0.421  0.000  0.000
  1 -1.764  0.000  0.000  0.000  0.000  0.000  0.854  0.000  0.000
  2 -0.835  0.000  0.000  0.000  0.000  0.000  0.306  0.000  0.000
  2 -1.697  0.000  0.000  0.000  0.000  0.000  0.621  0.000  0.000

前面两行是投影系数(PAR),后面如你所说是和相因子有关(PHAS的实部虚部)
见sphpro.f90
  DO II=0,WDES%NRSPINORS*WDES%NRSPINORS-1
      PARSUM=0
      SUMION=0
      DO NI=1,T_INFO%NIONP
         S=0
         PARSUM=0
            DO NL=1,LPAR
               PARSUM=PARSUM+PAR(NB,NK,NL,NI,ISP+II)
               SUMION(NL)=SUMION(NL)+PAR(NB,NK,NL,NI,ISP+II)
               S=S+SUMION(NL)
            ENDDO
         WRITE(IUP,3204) NI,(PAR(NB,NK,NL,NI,ISP+II),NL=1,LPAR),PARSUM
      ENDDO
      IF (T_INFO%NIONP>1) THEN
         WRITE(IUP,3205) (SUMION(NL),NL=1,LPAR),S
      ENDIF
      ENDDO

      IF (LORBIT==12) THEN
         WRITE(IUP,'(A3)',ADVANCE='No') "ion"
         DO NL=1,LMDIMP
            WRITE(IUP,'(A7)',ADVANCE='No') LMCHAR(NL)
         ENDDO
         WRITE(IUP,*)

         DO NI=1,T_INFO%NIONP
            WRITE(IUP,3204) NI, (REAL (PHAS(M,NI,NK,NB,ISP)),M=1,LMDIMP)
            WRITE(IUP,3204) NI, (AIMAG(PHAS(M,NI,NK,NB,ISP)),M=1,LMDIMP)
         ENDDO
      ENDIF
      WRITE(IUP,*)


PROCAR输出的PAR是从CSUM_ABS来的,
      DO ISP=1,WDES%NCDIJ
         DO LL=0,LDIMP-1
            IF (LORBIT==1.OR.LORBIT==2) THEN
               DO M=0,2*LL
                  LM=LL*LL+M+1
                  PAR(NB,NK,LM,NI,ISP)=CSUM_ABS(LM,ISP)
               ENDDO
            ELSE
               SUML=0
               SUML2=0
               DO M=0,2*LL
                  LM=LL*LL+M+1
                  SUML=SUML  +CSUM_ABS(LM,ISP)
                  SUML2=SUML2+CSUM_ABS_lmom(LM,ISP)
               ENDDO
               PAR(NB,NK,LL+1,NI,ISP)=SUML
               IF (WDES%LNONCOLLINEAR) PAR_lmom(NB,NK,LL+1,NI,ISP)=SUML2
            ENDIF
         ENDDO
      ENDDO

CSUM_ABS是CSUM的绝对值。
              CSUM_ABS(LM,II)  = CSUM_ABS(LM,II)+ &
                    CSUM(LMS,ISP+ISPINOR)*CONJG(CSUM(LMS,ISP+ISPINOR_))  


你想要的是复数的CSUM
加上一行
WRITE(*,'2(F12.3)') REAL(CSUM), AIMAG(CSUM)
输出看看
2楼2014-08-16 09:04:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pangrui1985

铜虫 (小有名气)

引用回帖:
2楼: Originally posted by yyyu200 at 2014-08-16 09:04:52
ion      s     py     pz     px    dxy    dyz    dz2    dxz    dx2    tot
  1  0.325  0.000  0.000  0.000  0.000  0.000  0.186  0.000  0.000  0.511
  2  0.323  0.000  0.000  0.000  0.000  0.000  0. ...

好像维度不一样,CSUM第一个下标比CSUM_ABS高,
而且
LMS=0
      DO LL=0,LDIMP-1
         DO I=1,LTRUNC
            DO M =1,2*LL+1
               LMS=LMS+1
               LM=LL*LL+M
               CSUM_ABS(LM,II)  = CSUM_ABS(LM,II)+ &
                    CSUM(LMS,ISP+ISPINOR)*CONJG(CSUM(LMS,ISP+ISPINOR_))               
            ENDDO
         ENDDO
      ENDDO
请教一下第二个循环是什么用意?I好像并没有明显出现在后面的循环里面。
4楼2014-08-18 17:12:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见