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
6 c d_t is not updated here, it is destroyed
8 implicit real*8 (a-h,o-z)
10 include 'COMMON.CONTROL'
13 include 'COMMON.CHAIN'
14 include 'COMMON.DERIV'
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)
23 d_time_s=d_time*0.5*s_np
26 d_t_old(j,0)=d_t_old(j,0)+d_a(j,0)*d_time_s
30 d_t_old(j,i)=d_t_old(j,i)+d_a(j,i)*d_time_s
34 if (itype(i).ne.10) then
37 d_t_old(j,inres)=d_t_old(j,inres)+d_a(j,inres)*d_time_s
43 c C_np=0.5*d_time*(dimen*Rb*t_bath*(1.0+log(s_np))-EK+potE-H0)
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
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-------------------------------------