50 |
|
!! @author Matthew Meineke |
51 |
|
!! @author Christopher Fennell |
52 |
|
!! @author J. Daniel Gezelter |
53 |
< |
!! @version $Id: sticky.F90,v 1.15 2005-10-12 18:59:16 chuckv Exp $, $Date: 2005-10-12 18:59:16 $, $Name: not supported by cvs2svn $, $Revision: 1.15 $ |
53 |
> |
!! @version $Id: sticky.F90,v 1.18 2006-04-17 21:49:12 gezelter Exp $, $Date: 2006-04-17 21:49:12 $, $Name: not supported by cvs2svn $, $Revision: 1.18 $ |
54 |
|
|
55 |
|
module sticky |
56 |
|
|
89 |
|
end type StickyList |
90 |
|
|
91 |
|
type(StickyList), dimension(:),allocatable :: StickyMap |
92 |
+ |
logical, save :: hasStickyMap = .false. |
93 |
|
|
94 |
|
contains |
95 |
|
|
149 |
|
StickyMap(myATID)%rbig = StickyMap(myATID)%rup |
150 |
|
endif |
151 |
|
|
152 |
+ |
hasStickyMap = .true. |
153 |
+ |
|
154 |
|
return |
155 |
|
end subroutine newStickyType |
156 |
|
|
209 |
|
integer :: id1, id2 |
210 |
|
integer :: me1, me2 |
211 |
|
real (kind=dp) :: w0, v0, v0p, rl, ru, rlp, rup, rbig |
209 |
– |
|
210 |
– |
if (.not.allocated(StickyMap)) then |
211 |
– |
call handleError("sticky", "no StickyMap was present before first call of do_sticky_pair!") |
212 |
– |
return |
213 |
– |
end if |
212 |
|
|
213 |
|
#ifdef IS_MPI |
214 |
|
me1 = atid_Row(atom1) |
306 |
|
vpair = vpair + 0.5d0*(v0*s*w + v0p*sp*wp) |
307 |
|
if (do_pot) then |
308 |
|
#ifdef IS_MPI |
309 |
< |
pot_row(STICKY_POT,atom1) = pot_row(STICKY_POT,atom1) + 0.25d0*(v0*s*w + v0p*sp*wp)*sw |
310 |
< |
pot_col(STICKY_POT,atom2) = pot_col(STICKY_POT,atom2) + 0.25d0*(v0*s*w + v0p*sp*wp)*sw |
309 |
> |
pot_row(HB_POT,atom1) = pot_row(HB_POT,atom1) + 0.25d0*(v0*s*w + v0p*sp*wp)*sw |
310 |
> |
pot_col(HB_POT,atom2) = pot_col(HB_POT,atom2) + 0.25d0*(v0*s*w + v0p*sp*wp)*sw |
311 |
|
#else |
312 |
|
pot = pot + 0.5d0*(v0*s*w + v0p*sp*wp)*sw |
313 |
|
#endif |
680 |
|
|
681 |
|
if (do_pot) then |
682 |
|
#ifdef IS_MPI |
683 |
< |
pot_row(atom1) = pot_row(atom1) + 0.25d0*(v0*s*w)*sw |
684 |
< |
pot_col(atom2) = pot_col(atom2) + 0.25d0*(v0*s*w)*sw |
683 |
> |
pot_row(HB_POT,atom1) = pot_row(HB_POT,atom1) + 0.25d0*(v0*s*w)*sw |
684 |
> |
pot_col(HB_POT,atom2) = pot_col(HB_POT,atom2) + 0.25d0*(v0*s*w)*sw |
685 |
|
#else |
686 |
|
pot = pot + 0.5d0*(v0*s*w)*sw |
687 |
|
#endif |