Forces in DPD depend both on the relative positions
and velocities of particles. Hence a predictor velocity must be estimated
to input into the force calculations. A reasonable approach to
determine a predictor velocity could be based on an estimate of angular
velocity at t =
t/2 derived from the quaternion equations of
motion. However, to more closely match the
trajectories obtained from the rattle routine that strictly follow
the velocity-Verlet algorithm, the
predictor velocity was simply based on the average velocity obtained in moving
from postion x(0) to x(
t ) in Eq. (9).
Otherwise, the quaternion and rattle routines may
not be consistent except in the limit of infinitesimally small time step.
The following modification was then made to velocity equation in Eq. (9):
| (15) |
and
for the rattle routine and
for the center of mass motion of the rigid body when using the
quaternion-based algorithm. The final velocity of the constituent
particles of the rigid body was derived from the angular velocity at the
end of the time step. We used
= ½ for our simulations. For further discussion
of the effect of varying
, see Ref.[3].
While the rigid body contribution to the stress tensor
is readily calculated from the rattle routine, the constraint forces
contributions are not immediately obtained from our quaternion algorithm.
However, because the motion of the rigid
body closely follows the trajectory obtained by the rattle
routine, we can approximate the constraint forces contributions
by considering the velocity
Verlet algorithm. Let ai (0) be
the acceleration of particle i on the rigid body which results from
the sum of non-constraint forces due to all particles (including those in the
rigid body) and the constraint forces from particles in the rigid body. That
is,
where the
superscripts nc and c correspond to non-constraint forces and constraint
forces, respectively.
Since all the non-constraint forces are known, as well as the velocity and
positions of the
particle at t = 0 and t =
t,
the sum of the constraint forces
on particle i can be derived by assuming that particles follow the
same time evolution as that derived from the rattle routine using Eqs. (9)
and (16).
We now show that the sum of the constraint forces on each particle is all that is needed to correctly determine the constraint force contribution to the stress tensor. First, the contribution to the stress tensor from constraint forces is:
![]() |
(17) |
where i and j correspond to all particles in the rigid body.
Note that
and that the sum of constraint
forces on particle i due to particles j is
.
We can then write
Since
is known and
can be estimated from Eqs. (9) and
(16), we can determine
to the accuracy of the algorithm and determine
contributions to the stress tensor from the two parts of the velocity Verlet
algorithm. Comparing stress tensor values between the rattle and our
quaternion algorithm, we found agreement to six significant figures and,
further, that the stress tensor was symmetric to the same order. Indeed for
the time step used here,
t = 0.01, out results are consistent with
, the accuracy of the velocity-Verlet algorithm.