1 c-------------------------------------------------------------
3 c Applying stochastic velocity Verlet algorithm - step 1 to velocities
4 implicit real*8 (a-h,o-z)
6 include 'COMMON.CONTROL'
10 include 'COMMON.LANGEVIN'
12 include 'COMMON.LANGEVIN.lang0'
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 stochforcvec(MAXRES6)
22 common /stochcalc/ stochforcvec
23 logical lprn /.false./
25 c write (iout,*) "dc_old"
27 c write (iout,'(i5,3f10.5,5x,3f10.5)')
28 c & i,(dc_old(j,i),j=1,3),(dc_old(j,i+nres),j=1,3)
31 dc_work(j)=dc_old(j,0)
32 d_t_work(j)=d_t_old(j,0)
33 d_a_work(j)=d_a_old(j,0)
38 dc_work(ind+j)=dc_old(j,i)
39 d_t_work(ind+j)=d_t_old(j,i)
40 d_a_work(ind+j)=d_a_old(j,i)
45 if (itype(i).ne.10) then
47 dc_work(ind+j)=dc_old(j,i+nres)
48 d_t_work(ind+j)=d_t_old(j,i+nres)
49 d_a_work(ind+j)=d_a_old(j,i+nres)
57 & "pfric_mat, vfric_mat, afric_mat, prand_mat, vrand_mat1,",
61 write (iout,'(2i5,6e15.5)') i,j,pfric_mat(i,j),
62 & vfric_mat(i,j),afric_mat(i,j),
63 & prand_mat(i,j),vrand_mat1(i,j),vrand_mat2(i,j)
71 dc_work(i)=dc_work(i)+vfric_mat(i,j)*d_t_work(j)
72 & +afric_mat(i,j)*d_a_work(j)+prand_mat(i,j)*stochforcvec(j)
73 ddt1=ddt1+pfric_mat(i,j)*d_t_work(j)
74 ddt2=ddt2+vfric_mat(i,j)*d_a_work(j)
76 d_t_work_new(i)=ddt1+0.5d0*ddt2
87 dc(j,i)=dc_work(ind+j)
88 d_t(j,i)=d_t_work(ind+j)
93 if (itype(i).ne.10) then
96 dc(j,inres)=dc_work(ind+j)
97 d_t(j,inres)=d_t_work(ind+j)