c--------------------------------------------------------------------- subroutine tnp1_step2 c Step 2 of the velocity Verlet algorithm: update velocities 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_s12 do i=0,2*nres do j=1,3 d_t(j,i)=d_t_new(j,i) enddo enddo call kinetic(EK) EK=EK/s12_np**2 d_time_s12=0.5d0*s12_np*d_time do j=1,3 d_t(j,0)=d_t_new(j,0)+d_a(j,0)*d_time_s12 enddo do i=nnt,nct-1 do j=1,3 d_t(j,i)=d_t_new(j,i)+d_a(j,i)*d_time_s12 enddo enddo do i=nnt,nct if (itype(i).ne.10) then inres=i+nres do j=1,3 d_t(j,inres)=d_t_new(j,inres)+d_a(j,inres)*d_time_s12 enddo endif enddo cd write(iout,*) 'pistar',pistar,EK,E_old,potE,s12_np pistar=pistar+(EK-0.5*(E_old+potE) & -dimen*Rb*t_bath*log(s12_np)+H0-dimen*Rb*t_bath)*d_time tmp=1+pistar/(2*Q_np)*0.5*d_time s_np=s12_np*tmp**2 pi_np=pistar/tmp return end