c--------------------------------------------------------------------- subroutine tnp_respa_step2 c Step 2 of the velocity Verlet algorithm: update velocities for RESPA implicit real*8 (a-h,o-z) include 'DIMENSIONS' include 'COMMON.CONTROL' include 'COMMON.VAR' include 'COMMON.MD' include 'COMMON.CHAIN' include 'COMMON.DERIV' include 'COMMON.GEO' include 'COMMON.LOCAL' include 'COMMON.INTERACT' include 'COMMON.IOUNITS' include 'COMMON.NAMES' double precision d_time_s ct1 s12_np=s_np ct2 pistar=pi_np ct call kinetic(EK) ct HNose1=Hnose(EK,s12_np,potE,pistar,Q_np,t_bath,dimen) ct pi_np=pistar+0.5*d_time*(2*EK-dimen*Rb*t_bath) ct & -0.5*d_time*(HNose1-H0) c------------------------------------- c test of reviewer's comment pi_np=pi_np-0.5*d_time*(E_long+Csplit-H0) cr print '(a,3f)','2 pi_np,s_np',pi_np,s_np,E_long c------------------------------------- d_time_s=d_time*0.5*s_np do j=1,3 d_t_old(j,0)=d_t_old(j,0)+d_a(j,0)*d_time_s enddo do i=nnt,nct-1 do j=1,3 d_t_old(j,i)=d_t_old(j,i)+d_a(j,i)*d_time_s enddo enddo do i=nnt,nct if (itype(i).ne.10) then inres=i+nres do j=1,3 d_t_old(j,inres)=d_t_old(j,inres)+d_a(j,inres)*d_time_s enddo endif enddo cd s_np=s12_np return end