added source code
[unres.git] / source / unres / src_MD / src / md-diff / mts / verlet1.f
1 c-----------------------------------------------------------------
2       subroutine verlet1
3 c Applying velocity Verlet algorithm - step 1 to coordinates
4       implicit real*8 (a-h,o-z)
5       include 'DIMENSIONS'
6       include 'COMMON.CONTROL'
7       include 'COMMON.VAR'
8       include 'COMMON.MD'
9       include 'COMMON.CHAIN'
10       include 'COMMON.DERIV'
11       include 'COMMON.GEO'
12       include 'COMMON.LOCAL'
13       include 'COMMON.INTERACT'
14       include 'COMMON.IOUNITS'
15       include 'COMMON.NAMES'
16       double precision adt,adt2
17         
18 #ifdef DEBUG
19       write (iout,*) "VELVERLET1 START: DC"
20       do i=0,nres
21         write (iout,'(i3,3f10.5,5x,3f10.5)') i,(dc(j,i),j=1,3),
22      &   (dc(j,i+nres),j=1,3)
23       enddo 
24 #endif
25       do j=1,3
26         adt=d_a_old(j,0)*d_time
27         adt2=0.5d0*adt
28         dc(j,0)=dc_old(j,0)+(d_t_old(j,0)+adt2)*d_time
29         d_t_new(j,0)=d_t_old(j,0)+adt2
30         d_t(j,0)=d_t_old(j,0)+adt
31       enddo
32       do i=nnt,nct-1    
33         do j=1,3    
34           adt=d_a_old(j,i)*d_time
35           adt2=0.5d0*adt
36           dc(j,i)=dc_old(j,i)+(d_t_old(j,i)+adt2)*d_time
37           d_t_new(j,i)=d_t_old(j,i)+adt2
38           d_t(j,i)=d_t_old(j,i)+adt
39         enddo
40       enddo
41       do i=nnt,nct
42         if (itype(i).ne.10) then
43           inres=i+nres
44           do j=1,3    
45             adt=d_a_old(j,inres)*d_time
46             adt2=0.5d0*adt
47             dc(j,inres)=dc_old(j,inres)+(d_t_old(j,inres)+adt2)*d_time
48             d_t_new(j,inres)=d_t_old(j,inres)+adt2
49             d_t(j,inres)=d_t_old(j,inres)+adt
50           enddo
51         endif      
52       enddo 
53 #ifdef DEBUG
54       write (iout,*) "VELVERLET1 END: DC"
55       do i=0,nres
56         write (iout,'(i3,3f10.5,5x,3f10.5)') i,(dc(j,i),j=1,3),
57      &   (dc(j,i+nres),j=1,3)
58       enddo 
59 #endif
60       return
61       end