Révision 8 src/egrad_LEPS.f90

egrad_LEPS.f90 (revision 8)
14 14
       REAL(KREAL), INTENT(OUT) :: E,grad(Nat*3)
15 15

  
16 16

  
17
!     Bohr --> Angstr
18
      real(KREAL), parameter :: BOHR   = 0.52917726D+00
19
!
20 17
! Parameters to define the surface
21 18
      INTEGER(KINT), DIMENSION(6), PARAMETER :: IECOEF = (/-1,9,-45,45,-9,1/)
22 19
      INTEGER(KINT), DIMENSION(6), PARAMETER :: ISCOEF = (/-3,-2,-1,1,2,3/)
23 20
      REAL(KREAL), PARAMETER :: hh=0.001d0
24 21
      
25 22
! Variables
26
       INTEGER(KINT) :: i,j,iat,jat
23
       INTEGER(KINT) :: i,iat,jat
27 24
       REAL(KREAL), ALLOCATABLE :: Xyztmp(:,:),GradTmp(:,:)
28
       REAL(KREAL) :: xp,yp
29

  
30
       CHARACTER(132) :: Line
25
 
31 26
       LOGICAL :: Debug
32 27
  
33
      real(KREAL), parameter :: zero = 0.0_KREAL,   one = 1.0_KREAL
34 28
      REAL(KREAL), external :: ELEPS_xyz
35 29

  
36 30

  
......
94 88
      function ELEPS_xyz(natoms,Xyz)
95 89

  
96 90
        use Path_module, only : order
91
        use Io_module, only : au2ev
97 92

  
98 93
   IMPLICIT NONE
99 94
     integer, parameter :: KINT = kind(1)
......
113 108

  
114 109
      REAL(KREAL) :: Qbc,QAc,Qab,Jab,Jbc,Jac
115 110

  
116
      Real(KREAL), Parameter ::  autoA=0.52917715d0,autoeV=27.21183d0
117

  
118 111
      rAB=0.
119 112
      rAC=0.
120 113
      rBC=0.
......
140 133
! V(x,y) = Qab(x)+Qbc(y)+Qac(rac)-sqrt(Jab(x)**2+Jbc(y)**2+Jac(x)**2-Jab(x)*Jbc(y)-Jbc(y)*Jac(rac)-Jab(x)*Jac(rac))
141 134

  
142 135

  
143
      ELEPS_xyz=(Qab+Qbc+Qac-sqrt(Jab**2+Jbc**2+Jac**2-Jab*Jbc-Jbc*Jac-Jab*Jac))/autoeV
136
      ELEPS_xyz=(Qab+Qbc+Qac-sqrt(Jab**2+Jbc**2+Jac**2-Jab*Jbc-Jbc*Jac-Jab*Jac))/au2eV
144 137

  
145 138
      return
146 139
    end function ELEPS_xyz

Formats disponibles : Unified diff