+++ /dev/null
-c---------------------------------------------------------------------
- subroutine sddir_verlet1
-c Applying velocity Verlet algorithm - step 1 to velocities
- implicit real*8 (a-h,o-z)
- include 'DIMENSIONS'
- include 'COMMON.CONTROL'
- include 'COMMON.VAR'
- include 'COMMON.MD'
-#ifndef LANG0
- include 'COMMON.LANGEVIN'
-#else
- include 'COMMON.LANGEVIN.lang0'
-#endif
- include 'COMMON.CHAIN'
- include 'COMMON.DERIV'
- include 'COMMON.GEO'
- include 'COMMON.LOCAL'
- include 'COMMON.INTERACT'
- include 'COMMON.IOUNITS'
- include 'COMMON.NAMES'
-c Revised 3/31/05 AL: correlation between random contributions to
-c position and velocity increments included.
- double precision sqrt13 /0.57735026918962576451d0/ ! 1/sqrt(3)
- double precision adt,adt2
-c
-c Add the contribution from BOTH friction and stochastic force to the
-c coordinates, but ONLY the contribution from the friction forces to velocities
-c
- do j=1,3
- adt=(d_a_old(j,0)+d_af_work(j))*d_time
- adt2=0.5d0*adt+sqrt13*d_as_work(j)*d_time
- dc(j,0)=dc_old(j,0)+(d_t_old(j,0)+adt2)*d_time
- d_t_new(j,0)=d_t_old(j,0)+0.5d0*adt
- d_t(j,0)=d_t_old(j,0)+adt
- enddo
- ind=3
- do i=nnt,nct-1
- do j=1,3
- adt=(d_a_old(j,i)+d_af_work(ind+j))*d_time
- adt2=0.5d0*adt+sqrt13*d_as_work(ind+j)*d_time
- dc(j,i)=dc_old(j,i)+(d_t_old(j,i)+adt2)*d_time
- d_t_new(j,i)=d_t_old(j,i)+0.5d0*adt
- d_t(j,i)=d_t_old(j,i)+adt
- enddo
- ind=ind+3
- enddo
- do i=nnt,nct
- if (itype(i).ne.10) then
- inres=i+nres
- do j=1,3
- adt=(d_a_old(j,inres)+d_af_work(ind+j))*d_time
- adt2=0.5d0*adt+sqrt13*d_as_work(ind+j)*d_time
- dc(j,inres)=dc_old(j,inres)+(d_t_old(j,inres)+adt2)*d_time
- d_t_new(j,inres)=d_t_old(j,inres)+0.5d0*adt
- d_t(j,inres)=d_t_old(j,inres)+adt
- enddo
- ind=ind+3
- endif
- enddo
- return
- end