C ******************** POTCUT2 ************************ C C MAKE A CUT OF THE POTENTIAL ALONG A GIVEN LATERAL POSITION STARTING C FROM 2D GRID, BY INTERPOLATING BETWEEN SURROUNDING GRID POINTS C C ICUT=0, INTERPOLATE POTENTIAL AT CENTRAL AXIS C ICUT=1, CUT AT FIRST RADIAL POINT, ETC. C C VERSION 6.0 - FEB/11 - SAME AS PRIOR UNNUMBERED VERSIONS OF POTCUT1 C C INPUT PARAMETERS: C VAC,SEM,VSINT ARRAYS, TOGETHER WITH S,DELS, ETC. C C OUTPUT PARAMETERS: C BARR=POTENTIAL VALUES THROUGH VACUUM AND INCLUDING SURFACE C PROF=POTENTIAL VALUES THROUGH SEMICONDUCTOR C NBARR1=NUMBER OF POINTS IN VACUUM BARRIER, PLUS ONE FOR SURFACE C SUBROUTINE POTCUT2(ICUT,VAC,TIP,SEM,VSINT,NRDIM,NVDIM,NSDIM, & NV,NS,SEP,S,DELV,Pot0,BIAS,CHI,CPot,EGAP,BARR,PROF,NBARR1, & NVDIM1,NVDIM2,IWRIT) C DIMENSION VAC(2,NRDIM,NVDIM),SEM(2,NRDIM,NSDIM),VSINT(2,NRDIM), & S(NSDIM),BARR(NVDIM1),PROF(NSDIM),DELV(NRDIM) LOGICAL TIP(NRDIM,NVDIM) real kappa,lambda C C CONSTRUCT VACUUM BARRIER (FIRST POINT IS THE SURFACE) C IF (ICUT.EQ.0) THEN Pot0=(9.*VSINT(1,1)-VSINT(1,2))/8. ELSE Pot0=VSINT(1,ICUT) END IF NBARR1=0 BARR(1)=chi+egap+Pot0 DO 100 J=1,NV IF (TIP(1,J)) GO TO 110 IF (ICUT.EQ.0) THEN BARR(J+1)=chi+egap+(9.*VAC(1,1,J)-VAC(1,2,J))/8. ELSE Z=SEP*J/FLOAT(NV) JP=Z/DELV(ICUT) F=(Z-JP*DELV(ICUT))/DELV(ICUT) IF (JP.EQ.0) THEN BARR(J+1)=chi+egap+VSINT(1,ICUT)*(1.-F)+VAC(1,ICUT,JP+1)*F ELSE BARR(J+1)=chi+egap+VAC(1,ICUT,JP)*(1.-F)+VAC(1,ICUT,JP+1)*F END IF END IF 100 CONTINUE 110 BARR(J+1)=chi+egap+(BIAS+CPot) NBARR1=J+1 c c CONSTRUCT POTENTIAL PROFILE IN SEMICONDUCTOR c DO 500 J=1,NS IF (ICUT.EQ.0) THEN PROF(J)=(9.*SEM(1,1,J)-SEM(1,2,J))/8. ELSE PROF(J)=SEM(1,ICUT,J) END IF 500 CONTINUE RETURN END