SUBROUTINE Morse_Pot2(r, n, mu, v, vp, vpp) USE Numeric_Kinds_Module USE FileUnits_Common_Module USE FileUnits_OneDim_Module USE Numbers_Module IMPLICIT NONE REAL(KIND=WP_Kind) :: De = 3.880453448111275E-002 REAL(KIND=WP_Kind) :: re = 5.05240520316459 REAL(KIND=WP_Kind) :: k = 8.099321394117176E-003 REAL(KIND=WP_Kind) :: Beta = 0.323048760974807 REAL(KIND=WP_Kind) :: vasy =-1.393390000000000D-177 INTEGER :: n, i, nu, numax REAL(KIND=WP_Kind) :: mu, w0, wnu, Eigens, arg REAL(KIND=WP_Kind) :: r(0:n) REAL(KIND=WP_Kind) :: v(0:n) REAL(KIND=WP_Kind) :: vp(0:n) REAL(KIND=WP_Kind) :: vpp(0:n) w0=Sqrt(Two*k/mu) WRITE(Out_Unit,*) WRITE(Out_Unit,*)"Morse Parameters" WRITE(Out_Unit,*)" De=",De WRITE(Out_Unit,*)" re=",re WRITE(Out_Unit,*)" k=",k WRITE(Out_Unit,*)"Beta=",Beta WRITE(Out_Unit,*)" w0=",w0 OPEN(unit=Morse_Unit,file=TRIM(OutDIR)//"Output/MorseEigen.txt") numax=Two*De/w0-One/Two DO nu=0,numax wnu=w0*(One*nu+Half) Eigens=wnu*(One-wnu/(Four*De))+vasy-De WRITE(Morse_Unit,*) nu, Eigens ENDDO CLOSE(unit=Morse_Unit) OPEN(Unit=Morse_Unit,File=TRIM(OutDIR)//"Output/MorsePot.txt") DO i=0,n arg=Beta*(re-r(i)) v(i)=De*(One-exp(arg))**2-De+vasy vp(i)=Two*Beta*De*exp(arg)*(One-exp(arg)) vpp(i)=Two*Beta**2*De*exp(arg)*(Two*exp(arg)-One) WRITE(Morse_Unit,'(6ES15.7)')r(i),v(i),vp(i),vpp(i) ENDDO CLOSE(unit=Morse_Unit) RETURN END SUBROUTINE Morse_Pot2