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'
9 include 'COMMON.LANGEVIN'
10 include 'COMMON.CHAIN'
11 include 'COMMON.DERIV'
13 include 'COMMON.LOCAL'
14 include 'COMMON.INTERACT'
15 include 'COMMON.IOUNITS'
16 include 'COMMON.NAMES'
17 double precision stochforcvec(MAXRES6)
18 common /stochcalc/ stochforcvec
19 logical lprn /.false./
21 c write (iout,*) "dc_old"
23 c write (iout,'(i5,3f10.5,5x,3f10.5)')
24 c & i,(dc_old(j,i),j=1,3),(dc_old(j,i+nres),j=1,3)
27 dc_work(j)=dc_old(j,0)
28 d_t_work(j)=d_t_old(j,0)
29 d_a_work(j)=d_a_old(j,0)
34 dc_work(ind+j)=dc_old(j,i)
35 d_t_work(ind+j)=d_t_old(j,i)
36 d_a_work(ind+j)=d_a_old(j,i)
41 if (itype(i).ne.10) then
43 dc_work(ind+j)=dc_old(j,i+nres)
44 d_t_work(ind+j)=d_t_old(j,i+nres)
45 d_a_work(ind+j)=d_a_old(j,i+nres)
53 & "pfric_mat, vfric_mat, afric_mat, prand_mat, vrand_mat1,",
57 write (iout,'(2i5,6e15.5)') i,j,pfric_mat(i,j),
58 & vfric_mat(i,j),afric_mat(i,j),
59 & prand_mat(i,j),vrand_mat1(i,j),vrand_mat2(i,j)
67 dc_work(i)=dc_work(i)+vfric_mat(i,j)*d_t_work(j)
68 & +afric_mat(i,j)*d_a_work(j)+prand_mat(i,j)*stochforcvec(j)
69 ddt1=ddt1+pfric_mat(i,j)*d_t_work(j)
70 ddt2=ddt2+vfric_mat(i,j)*d_a_work(j)
72 d_t_work_new(i)=ddt1+0.5d0*ddt2
82 dc(j,i)=dc_work(ind+j)
83 d_t(j,i)=d_t_work(ind+j)
88 if (itype(i).ne.10) then
91 dc(j,inres)=dc_work(ind+j)
92 d_t(j,inres)=d_t_work(ind+j)