added source code
[unres.git] / source / unres / src_MD / src / md-diff / np / tnp_respa_step1.f
1 c-----------------------------------------------------------------
2       subroutine tnp_respa_step1
3 c Applying Nose-Poincare algorithm - step 1 to vel for RESPA
4 c J.Comput.Phys. 151 114 (1999) S.D.Bond B.J.Leimkuhler B.B.Laird
5 c
6 c d_t is not updated here, it is destroyed
7 c
8       implicit real*8 (a-h,o-z)
9       include 'DIMENSIONS'
10       include 'COMMON.CONTROL'
11       include 'COMMON.VAR'
12       include 'COMMON.MD'
13       include 'COMMON.CHAIN'
14       include 'COMMON.DERIV'
15       include 'COMMON.GEO'
16       include 'COMMON.LOCAL'
17       include 'COMMON.INTERACT'
18       include 'COMMON.IOUNITS'
19       include 'COMMON.NAMES'
20       double precision C_np,d_time_s,tmp,d_time_ss
21       double precision energia(0:n_ene)
22
23       d_time_s=d_time*0.5*s_np        
24
25       do j=1,3
26         d_t_old(j,0)=d_t_old(j,0)+d_a(j,0)*d_time_s
27       enddo
28       do i=nnt,nct-1    
29         do j=1,3    
30           d_t_old(j,i)=d_t_old(j,i)+d_a(j,i)*d_time_s
31         enddo
32       enddo
33       do i=nnt,nct
34         if (itype(i).ne.10) then
35           inres=i+nres
36           do j=1,3    
37            d_t_old(j,inres)=d_t_old(j,inres)+d_a(j,inres)*d_time_s
38           enddo
39         endif      
40       enddo 
41
42
43 c      C_np=0.5*d_time*(dimen*Rb*t_bath*(1.0+log(s_np))-EK+potE-H0)
44 c     &                     -pi_np
45 c
46 c      pistar=-2.0*C_np/(1.0+sqrt(1.0-C_np*d_time/Q_np))
47 c      tmp=0.5*d_time*pistar/Q_np
48 c      s12_np=s_np*(1.0+tmp)/(1.0-tmp)
49 c      write(iout,*) 'tnp_respa_step1',s_np,s12_np,EK,potE,C_np,pistar,tmp
50
51 ct1      pi_np=pistar
52 c      sold_np=s_np
53 c      s_np=s12_np
54
55 c-------------------------------------
56 c test of reviewer's comment
57        pi_np=pi_np-0.5*d_time*(E_long+Csplit-H0)
58 cr       print '(a,3f)','1 pi_np,s_np',pi_np,s_np,E_long
59 c-------------------------------------
60
61       return
62       end