SUBROUTINE CS2Plus_Potential(r, kase, vpotval) USE Numeric_Kinds_Module IMPLICIT NONE CHARACTER(LEN=1) kase CHARACTER(LEN=80) TITLE, col1, col2, col3 INTEGER i,n SAVE n REAL(KIND=WP_Kind)r, rmin, rmax, deltar, vpot, vasym, vpotval REAL(KIND=WP_Kind)rval(5000), vground(5000), vupper(5000) OPEN(Unit=90,file='E:\ParkerE\SCLength\CS2_Plus_Potentials.txt') IF(kase.eq.'I')THEN OPEN(Unit=80,FILE='D:\Input_Data\Potential_Data\Cs2_Data\e_1sg1su.txt',status='old') READ(80,*)Title READ(80,'(a80)')Col1 READ(80,'(a80)')Col2 READ(80,'(a80)')Col3 READ(80,*)n,rmin,rmax,deltar WRITE(90,*)Title WRITE(90,*)Col1 WRITE(90,*)Col2 WRITE(90,*)Col3 WRITE(90,'(i5,3es21.14)')n,rmin,rmax,deltar DO i=1,n READ(80,*)rval(i),vground(i),vupper(i) ENDDO CLOSE(Unit=80) WRITE(90,*) WRITE(90,*) DO I=1,n WRITE(90,*)rval(i), vground(i), vupper(i) ENDDO CLOSE(Unit=90) ELSEIF(kase.eq.'G')THEN Vasym=-0.1432461d0+5.171762935090619E-006 !(-0.1432461d0 -0.1432412d0) IF((r.lt.34.8d0).and.(r.gt.4.8d0))THEN CALL akimasv(3, n, rval, vground, 1, r, vpot) vpot=vpot-vasym ELSEIF(r.le.4.8d0)THEN vpot=vground(1)-vasym ELSE vpot=-15.17d0/r**4/2.d0 ENDIF ELSEIF(kase.eq.'U')THEN Vasym=-0.1432412d0+5.171762935090619E-006 IF((r.lt.34.8d0).and.(r.gt.4.8d0))THEN CALL akimasv(3, n, rval, vupper, 1, r, vpot) vpot=vpot-vasym ELSEIF(r.le.4.8d0)THEN vpot=vupper(1)-vasym ELSE vpot=-15.17d0/r**4/2.d0 ENDIF ELSE STOP 'CS2Plus_Potential' ENDIF vpotval=vpot RETURN END SUBROUTINE CS2Plus_Potential