1 c-------------------------------------------------------------
2 subroutine sd_verlet1_ciccotti
3 c Applying stochastic velocity Verlet algorithm - step 1 to velocities
4 implicit real*8 (a-h,o-z)
9 include 'COMMON.CONTROL'
13 include 'COMMON.LANGEVIN'
15 include 'COMMON.LANGEVIN.lang0'
17 include 'COMMON.CHAIN'
18 include 'COMMON.DERIV'
20 include 'COMMON.LOCAL'
21 include 'COMMON.INTERACT'
22 include 'COMMON.IOUNITS'
23 include 'COMMON.NAMES'
24 double precision stochforcvec(MAXRES6)
25 common /stochcalc/ stochforcvec
26 logical lprn /.false./
28 c write (iout,*) "dc_old"
30 c write (iout,'(i5,3f10.5,5x,3f10.5)')
31 c & i,(dc_old(j,i),j=1,3),(dc_old(j,i+nres),j=1,3)
34 dc_work(j)=dc_old(j,0)
35 d_t_work(j)=d_t_old(j,0)
36 d_a_work(j)=d_a_old(j,0)
41 dc_work(ind+j)=dc_old(j,i)
42 d_t_work(ind+j)=d_t_old(j,i)
43 d_a_work(ind+j)=d_a_old(j,i)
48 if (itype(i).ne.10) then
50 dc_work(ind+j)=dc_old(j,i+nres)
51 d_t_work(ind+j)=d_t_old(j,i+nres)
52 d_a_work(ind+j)=d_a_old(j,i+nres)
61 & "pfric_mat, vfric_mat, afric_mat, prand_mat, vrand_mat1,",
65 write (iout,'(2i5,6e15.5)') i,j,pfric_mat(i,j),
66 & vfric_mat(i,j),afric_mat(i,j),
67 & prand_mat(i,j),vrand_mat1(i,j),vrand_mat2(i,j)
75 dc_work(i)=dc_work(i)+vfric_mat(i,j)*d_t_work(j)
76 & +afric_mat(i,j)*d_a_work(j)+prand_mat(i,j)*stochforcvec(j)
77 ddt1=ddt1+pfric_mat(i,j)*d_t_work(j)
78 ddt2=ddt2+vfric_mat(i,j)*d_a_work(j)
80 d_t_work_new(i)=ddt1+0.5d0*ddt2
91 dc(j,i)=dc_work(ind+j)
92 d_t(j,i)=d_t_work(ind+j)
97 if (itype(i).ne.10) then
100 dc(j,inres)=dc_work(ind+j)
101 d_t(j,inres)=d_t_work(ind+j)