This program outputs the final data of NCPS95.
C TO CONSTRUCT THE K-B TYPE PSEUDOPOTENTIAL C C NEW VERSION (1990 1/8) THIS PROGRAM MAKES ONLY S AND P. C IMPLICIT REAL*8 (A-H,O-Z) PARAMETER(NESH=421) C C ATTN! GROUND-STATE (S,P) , EXITED-STATE (D) C GROUND-STATE (S) , EXITED-STATE (P,D) C DIMENSION RAD(NESH),VS(NESH),VP(NESH),VD(NESH) DIMENSION WFS(NESH),WFP(NESH),WFD(NESH) DIMENSION VSKB(NESH),VPKB(NESH),VDKB(NESH),VCOR(NESH) DIMENSION OMO(NESH),VDNL(NESH),VDUM(NESH) C C READING THE DATA(POTENTIAL AND WAVE-FUNCTION) C OPEN(UNIT=10,FILE='fort.10') OPEN(UNIT=11,FILE='fort.11') OPEN(UNIT=12,FILE='SISICKBHS.DAT') OPEN(UNIT=14,FILE='SISICD.DAT') C REWIND 10 REWIND 11 REWIND 14 READ (10,*) MESH,NMES,DX,RAD,VS,VP,WFS,WFP READ (11,*) MESH,NMES,DX,RAD,VD,WFD,VDUM WRITE (6,*) 'INPUT AA1,AA2,ACC! 2.16,0.86,1.6054' READ (5,*) AA1 READ (5,*) AA2 READ (5,*) ACC C SI C AA1 = 2.16D0 C AA2 = 0.86D0 C ACC = 1.6054D0 C ALP1 = AA1 ALP2 = AA2 ACOEF= ACC ZVAL = 4.0D0 C DO 3000 N=1,MESH X1 = DSQRT(ALP1)*RAD(N) X2 = DSQRT(ALP2)*RAD(N) ERF1 = DERF(X1) ERF2 = DERF(X2) C WRITE (6,*) ERF1,ERF2 IF (RAD(N).EQ.0.0D0) THEN VCOR(N)=-ZVAL*(ACOEF*(DSQRT(ALP1)-DSQRT(ALP2))+DSQRT(ALP2)) ELSE VCOR(N)=-ZVAL*(ACOEF*(ERF1-ERF2)+ERF2)/RAD(N) END IF 3000 CONTINUE C C K-B TYPE SEPARATION FORM C DO 1000 I=1,MESH VSKB(I)=(VS(I)-VCOR(I))*WFS(I) VPKB(I)=(VP(I)-VCOR(I))*WFP(I) VDKB(I)=(VD(I)-VCOR(I))*WFD(I) 1000 CONTINUE C C INTEGRATION OF WEIGHT (WS,WP) C OMO(1) = 1.0D0 DO 1101 N = 2,MESH-1,2 OMO(N) = 4.0D0 OMO(N+1) = 2.0D0 1101 CONTINUE OMO(MESH) = 1.0D0 C THIS ROUTINE ASSUMES LOG-MESH INTEGRATION. WS=0.0D0 WP=0.0D0 WD=0.0D0 W1=0.0D0 W2=0.0D0 W3=0.0D0 DO 1100 I=1,MESH WS=WS+OMO(I)*DX*WFS(I)*VSKB(I)*RAD(I) WP=WP+OMO(I)*DX*WFP(I)*VPKB(I)*RAD(I) WD=WD+OMO(I)*DX*WFD(I)*VDKB(I)*RAD(I) W1=W1+OMO(I)*DX*VSKB(I)**2*RAD(I) W2=W2+OMO(I)*DX*VPKB(I)**2*RAD(I) W3=W3+OMO(I)*DX*VDKB(I)**2*RAD(I) 1100 CONTINUE WA=WS/SQRT(W1) WB=WP/SQRT(W2) WC=WD/SQRT(W3) EA=W1/WS*27.2 EB=W2/WP*27.2 EC=W3/WD*27.2 WRITE (6,*) 'WS,P,D = ',WS,WP,WD WRITE (6,*) 'WA,B,C = ',WA,WB,WC WRITE (6,*) 'W1,2,3 = ',EA/27.2,EB/27.2,EC/27.2 WRITE (6,*) 'EA,B,C = ',EA,EB,EC C DO 1200 I=1,MESH WRITE (20,888) RAD(I),VS(I) WRITE (21,888) RAD(I),VP(I) WRITE (22,888) RAD(I),VD(I) WRITE (23,888) RAD(I),VCOR(I) 888 FORMAT(1H ,2F12.6) 1200 CONTINUE C REWIND 12 WRITE (12,*) MESH,NMES,DX,WS,WP,WD,RAD,VSKB,VPKB,VDKB C WRITE (14,*) MESH,NMES,DX,RAD,VD,VDNL C CLOSE(10) CLOSE(11) CLOSE(12) CLOSE(14) C STOP END[ Return to author's home page ]