SUBROUTINE LennardJones_Potential(r, v, vp, vpp) USE Numeric_Kinds_Module USE Numbers_Module IMPLICIT NONE SAVE INTEGER IFirst REAL(KIND=WP_Kind) :: De = 3.880453448111275E-002 REAL(KIND=WP_Kind) :: re = 5.05240520316459 INTEGER, PARAMETER :: LennardJones_Unit=8 REAL(KIND=WP_Kind) :: r, v, vp, vpp, x, x6, x12 DATA IFirst/-1/ IF(IFirst==-1)THEN WRITE( LennardJones_Unit,*) WRITE( LennardJones_Unit,*)"LennardJones Parameters" WRITE( LennardJones_Unit,*)" De=",De WRITE( LennardJones_Unit,*)" re=",re ENDIF x=re/r x6=x**6 x12=x6**2 v=De*(x12-Two*x6) vp=De*(-Twelve*x12/r+Twelve*x6/r) vpp=De*(156.d0*x12/r**2-84.d0*x6/r**2) RETURN END SUBROUTINE LennardJones_Potential