Biomedical Engineering Reference
In-Depth Information
distance is larger than the interaction range, IR ij (Fig. 3 a) and (2) when the two
atoms are approaching the interaction range but the minimum distance is still larger
than IR ij R ij 2
V ij / 2 = V ij 2 > IR ij 2 (Fig. 3 b). Here, V ij is the relative velocity
and R ij is the relative displacement.
We developed a new approach to reduce further unnecessary square root
calculations. During the recalculation of potential collisions (see Sect. 2.1), we
assume a cutoff time t for each atom D. Within such a cutoff time, a collision
will always happen to the atom of interest. Therefore, we may simply evaluate the
pairwise displacement R ij C
. R ij
V ij t, with the pairwise distance R ij within the potential
steps .d ;d C /. In the following cases, collision will not occur:
1. Atoms moving away from each other . R ij
V ij >0/, but the two atoms do not
2
V ij t/ 2 <d C
collide within t at d C ;. R ij C
(Fig. 3 c)
2. Atoms approaching each other . R ij
V ij <0/with a minimum distance larger than
R ij 2
2 , but the two atoms do not collide within t
V ij / 2 = V ij 2
d
. R ij
>d
2 (Fig. 3 d)
3. Atoms approaching each other . R ij
V ij t/ 2 <d C
at d C ; R ij C
V ij <0/with a minimum distance smaller
R ij 2
2 , but the two atoms do not collide within
V ij / 2 = V ij 2
. R ij
than d
<d
V ij / 2 = V ij 2 (Fig. 3 e)
and the collision time can be safely assumed to be infinity. The remaining question
is how to define the cutoff time t. There are two types of events, the cell crossing
and the random collision for the Anderson's thermostat [ 37 ], which can be used as
the reference events since one of them will always happen if no pairwise collision
takes place before these two events. We use the shorter time of these two events to
define the cutoff time for each atom. Alternatively, one can dynamically define the
cutoff time t for a given atom based on the atom's average collision time, <t col >,
which can be updated periodically. We set t D 4<t col >. We find that such an
optimization can improve the efficiency of simulation by 20-30% .
R ij 2
2
V ij 2 = V ij 2 >d
t; Œ. R ij C
V ij t/
. R ij
2.4
Paul's O(1) Sorting Approach
In DMD, the next collision is obtained by sorting, using either the priority tree in the
Rapaport approach (multievent scheduling [ 9 ]) or the binary tree in the Allen and
Tildesley approach (single-event scheduling [ 36 ]). In both cases, the computational
complexity is in the order of O.ln N/. Recently, Paul [ 38 ] proposed a new sorting
approach for DMD with a computational complexity of O(1). In Paul's approach, a
fixed length array .N p / is used to hold the collision times, and the array is head-tail
connected for repeated use (Fig. 4 ). The total time of the array is •t and the time
step is •t =N p . The pointer (index P t ) corresponds to the “current time” .t C / in units
of •t =N p . Each collision at time t is added to the array with respect to the “current
time”: ŒP t C .t t C /=.•t =N p / % N p . Each element in the array can hold more than
one event since each element corresponds to a time window of •t =N p . All the events
Search WWH ::




Custom Search