hdiff output

r33151/ljpshift_new.f90 2017-08-09 15:30:09.913156468 +0100 r33150/ljpshift_new.f90 2017-08-09 15:30:10.133159388 +0100
  1: ! dj337: the following subroutine computes the LJ potential  1: ! dj337: the following subroutine computes the LJ potential
  2: ! for periodic systems without using minimum image convention  2: ! for periodic systems without using minimum image convention
  3: ! (i.e. uses neighbor lists).  3: ! (i.e. uses neighbor lists).
  4: ! NOTE: only works for orthorhombic cells  4: ! NOTE: binary LJ not yet implemented
  5: ! NOTE:  binary LJ not yet implemented 
  6:   5: 
  7:       subroutine ljpshift_new(x, potel, g, gtest)  6:       subroutine ljpshift_new(x, potel, g, gtest)
  8:   7: 
  9:       use commons, only: natoms, epsab, sigab, box_params, cutoff, &  8:       use commons, only: natoms, epsab, sigab, box_params, cutoff, &
 10:                          boxderivt, ortho, box_params, box_paramsgrad  9:                          boxderivt, ortho, box_params, box_paramsgrad
 11:  10: 
 12:       implicit none 11:       implicit none
 13:       integer                       :: j1, j3, j2, j4, l, m, n, i 12:       integer                       :: j1, j3, j2, j4, l, m, n, i
 14:       double precision, intent(in)  :: x(3*natoms) 13:       double precision, intent(in)  :: x(3*natoms)
 15:       logical, intent(in)           :: gtest 14:       logical, intent(in)           :: gtest
 16:       double precision, intent(out) :: potel, g(3*natoms) 15:       double precision, intent(out) :: potel, g(3*natoms)
 17:       double precision              :: eps, sig, sig6, rcut, rcut2, sigrc6 16:       double precision              :: eps, sig, sig6, rcut, rcut2, sigrc6
 18:       double precision              :: const, rconst, dist2, idist2, idist6 17:       double precision              :: const, rconst, dist2, idist2, idist6
 19:       double precision              :: sig12, idist8, idist14, dvdr, dist, temp1(3), temp(3) 18:       double precision              :: sig12, idist8, idist14, dvdr, dist, temp1(3), temp(3)
 20:       double precision              :: val, eself, sigrc12, xj(3), rmin(3), r(3), temp2(3) 19:       double precision              :: val, eself, sigrc12, xj(3), rmin(3), r(3), temp2(3)
 21:       integer                       :: cell_range(3) 20:       integer                       :: cell_range(3)
 22:  21: 
 23:       ! confirm that cell is orthorhombic 
 24:       if (.not.(ortho)) then 
 25:          print *, 'LJPSHIFT_NEW not implemented for triclinic cells!' 
 26:          return 
 27:       endif 
 28:  
 29:       ! define and calculate constants 22:       ! define and calculate constants
 30:       eps = epsab 23:       eps = epsab
 31:       sig = sigab 24:       sig = sigab
 32:       sig6 = sig**6 25:       sig6 = sig**6
 33:       sig12 = sig6**2 26:       sig12 = sig6**2
 34:       rcut = cutoff*sig 27:       rcut = cutoff*sig
 35:       rcut2 = rcut**2 28:       rcut2 = rcut**2
 36:       sigrc6 = sig6/rcut**6 29:       sigrc6 = sig6/rcut**6
 37:       sigrc12 = sigrc6**2 30:       sigrc12 = sigrc6**2
 38:       const = 4.0d0*(sigrc6)-7.0d0*sigrc12 31:       const = 4.0d0*(sigrc6)-7.0d0*sigrc12


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0