106
6 Ratchet Dimer Brownian Motor with Hydrodynamic Interactions
c ***************************************************************
l(1, 1) = sqrt(d(1, 1))
9 l(2, 1) = d(2, 1) / l(1, 1)
l(2, 2) = sqrt(d(2, 2) - l(2, 1) * l(2, 1))
10 do 60 i = 3, n3
l(i, 1) = d(i, 1) / l(1, 1)
do 40 j = 2, i - 1
sum = 0.0
do 30 k = 1, j - 1
sum = sum + l(i, k) * l(j, k)
30 continue
l(i, j) = ( d(i, j) - sum ) / l(j, j)
40 continue
sum = 0.0
do 50 k = 1, i - 1
sum = sum + l(i, k) * l(i, k)
50 continue
l(i, i) = sqrt( d(i, i) - sum)
60 continue
c ** calculate correlated random displacements **
do 80 i = 1, n3
c ** calculate uncorrelated random normal deviates **
c ** with zero mean and variance 2.0 * dt **
xi(i) = gauss ( dummy ) * sqrt( 2.0 * dt )
sum = 0.0
do 70 j = 1, i
sum = sum + l(i, j) * xi(j)
70 continue
xic(i) = sum
80 continue
return
end
subroutine move ( dt )
common / block1 / rx, ry, rz
common / block2 / d, xic
common / block3 / fx, fy, fz
c ***************************************************************
c ** routine to move the atoms in a brownian dynamics simulation **
c ** **
c ** principal variables: **
c ** **
c ** integer n number of atoms **
c ** integer n3 number of degrees of freedom **
c ** real rx(n),ry(n),rz(n) positions **
c ** real fx(n),fy(n),fz(n) forces **
Précédent

- 115/198

Suivant