2 c-----------------------------------------------------------------
3 subroutine tnp_respa_i_step1
4 c Applying Nose-Poincare algorithm - step 1 to coordinates
5 c J.Comput.Phys. 151 114 (1999) S.D.Bond B.J.Leimkuhler B.B.Laird
7 c d_t is not updated here, it is destroyed
9 implicit real*8 (a-h,o-z)
11 include 'COMMON.CONTROL'
14 include 'COMMON.CHAIN'
15 include 'COMMON.DERIV'
17 include 'COMMON.LOCAL'
18 include 'COMMON.INTERACT'
19 include 'COMMON.IOUNITS'
20 include 'COMMON.NAMES'
21 double precision C_np,d_time_s,tmp,d_time_ss
23 d_time_s=d_time*0.5*s_np
24 ct2 d_time_s=d_time*0.5*s12_np
27 d_t_new(j,0)=d_t_old(j,0)+d_a_old(j,0)*d_time_s
31 d_t_new(j,i)=d_t_old(j,i)+d_a_old(j,i)*d_time_s
35 if (itype(i).ne.10) then
38 d_t_new(j,inres)=d_t_old(j,inres)+d_a_old(j,inres)*d_time_s
52 C_np=0.5*d_time*(dimen*Rb*t_bath*(1.0+log(s_np))-EK+potE-Csplit)
55 pistar=-2.0*C_np/(1.0+sqrt(1.0-C_np*d_time/Q_np))
56 tmp=0.5*d_time*pistar/Q_np
57 s12_np=s_np*(1.0+tmp)/(1.0-tmp)
59 d_time_ss=0.5*d_time*(1.0/s12_np+1.0/s_np)
60 ct2 d_time_ss=d_time/s12_np
61 c d_time_ss=0.5*d_time*(1.0/sold_np+1.0/s_np)
64 dc(j,0)=dc_old(j,0)+d_t_new(j,0)*d_time_ss
68 dc(j,i)=dc_old(j,i)+d_t_new(j,i)*d_time_ss
72 if (itype(i).ne.10) then
75 dc(j,inres)=dc_old(j,inres)+d_t_new(j,inres)*d_time_ss