added source code
[unres.git] / source / unres / src_MD / md-diff / np / tnp1_respa_step1_.f
1 c---------------------------------------------------------------------
2 c-----------------------------------------------------------------
3       subroutine tnp1_respa_step1_
4 c Applying Nose-Poincare algorithm - step 1 to vel for RESPA
5 c JPSJ 70 75 (2001) S. Nose
6 c
7 c d_t is not updated here
8 c
9       implicit real*8 (a-h,o-z)
10       include 'DIMENSIONS'
11       include 'COMMON.CONTROL'
12       include 'COMMON.VAR'
13       include 'COMMON.MD'
14       include 'COMMON.CHAIN'
15       include 'COMMON.DERIV'
16       include 'COMMON.GEO'
17       include 'COMMON.LOCAL'
18       include 'COMMON.INTERACT'
19       include 'COMMON.IOUNITS'
20       include 'COMMON.NAMES'
21       double precision adt,adt2,tmp
22         
23       tmp=1+pi_np/(2*Q_np)*0.5*d_time
24       s12_np=s_np*tmp**2
25       pistar=pi_np/tmp
26       s12_dt=d_time/s12_np
27       d_time_s12=d_time*0.5*s12_np
28
29       do j=1,3
30         d_t_old(j,0)=d_t_old(j,0)+d_a(j,0)*d_time_s12
31       enddo
32       do i=nnt,nct-1    
33         do j=1,3    
34           d_t_old(j,i)=d_t_old(j,i)+d_a(j,i)*d_time_s12
35         enddo
36       enddo
37       do i=nnt,nct
38         if (itype(i).ne.10) then
39           inres=i+nres
40           do j=1,3    
41            d_t_old(j,inres)=d_t_old(j,inres)+d_a(j,inres)*d_time_s12
42           enddo
43         endif      
44       enddo 
45       return
46       end