mpcd.integrate¶
Overview
slit 
NVE integration with bounceback rules in a slit channel. 
slit_pore 
NVE integration with bounceback rules in a slit pore channel. 
Details
MPCD integration methods
Defines bounceback methods for integrating solutes (MD particles) embedded in an MPCD
solvent. The integration scheme is velocity Verlet (NVE) with bounceback performed at
the solid boundaries defined by a geometry, as in mpcd.stream
. This gives a
simple approximation of the interactions required to keep a solute bounded in a geometry,
and more complex interactions can be specified, for example, by writing custom external fields.
Similar caveats apply to these methods as for the mpcd.stream
methods. In particular:
 The simulation box is periodic, but the geometry imposes inherently nonperiodic boundary conditions. You must ensure that the box is sufficiently large to enclose the geometry and that all particles lie inside it, or an error will be raised at runtime.
 You must also ensure that particles do not selfinteract through the periodic boundaries. This is usually achieved for simple pair potentials by padding the box size by the largest cutoff radius. Failure to do so may result in unphysical interactions.
 Bounceback rules do not always enforce noslip conditions at surfaces properly. It may still be necessary to add additional ‘ghost’ MD particles in the surface to achieve the right boundary conditions and reduce density fluctuations.
The integration methods defined here are not restricted to only MPCD simulations: they can be
used with both md.integrate.mode_standard
and mpcd.integrator
. For
example, the same integration methods might be used to run DPD simulations with surfaces.
These bounceback methods do not support anisotropic integration because torques are currently not computed for collisions with the boundary. Similarly, rigid bodies will also not be treated correctly because the integrators are not aware of the extent of the particles; the surface reflections are treated as point particles. An error will be raised if an anisotropic integration mode is specified.

class
hoomd.mpcd.integrate.
slit
(group, H, V=0.0, boundary='no_slip')¶ NVE integration with bounceback rules in a slit channel.
Parameters:  group (
hoomd.group
) – Group of particles on which to apply this method.  H (float) – channel halfwidth
 V (float) – wall speed (default: 0)
 boundary – ‘slip’ or ‘no_slip’ boundary condition at wall (default: ‘no_slip’)
This integration method applies to particles in group in the parallelplate channel geometry. This method is the MD analog of
stream.slit
, which documents additional details about the geometry.A
hoomd.compute.thermo
is automatically specified and associated with group.Examples:
all = group.all() slit = mpcd.integrate.slit(group=all, H=5.0) slit = mpcd.integrate.slit(group=all, H=10.0, V=1.0)
New in version 2.7.

disable
()¶ Disables the integration method.
Examples:
method.disable()
Executing the disable command will remove the integration method from the simulation. Any
hoomd.run()
command executed after disabling an integration method will not apply the integration method to the particles during the simulation. A disabled integration method can be reenabled withenable()
.

set_params
(H=None, V=None, boundary=None)¶ Set parameters for the slit geometry.
Parameters: Examples:
slit.set_params(H=8.) slit.set_params(V=2.0) slit.set_params(boundary='slip') slit.set_params(H=5, V=0., boundary='no_slip')
 group (

class
hoomd.mpcd.integrate.
slit_pore
(group, H, L, boundary='no_slip')¶ NVE integration with bounceback rules in a slit pore channel.
Parameters:  group (
hoomd.group
) – Group of particles on which to apply this method.  H (float) – channel halfwidth.
 L (float) – pore halflength.
 boundary – ‘slip’ or ‘no_slip’ boundary condition at wall (default: ‘no_slip’)
This integration method applies to particles in group in the parallelplate (slit) pore geometry. This method is the MD analog of
stream.slit_pore
, which documents additional details about the geometry.A
hoomd.compute.thermo
is automatically specified and associated with group.Examples:
all = group.all() slit_pore = mpcd.integrate.slit_pore(group=all, H=10.0, L=10.)
New in version 2.7.

disable
()¶ Disables the integration method.
Examples:
method.disable()
Executing the disable command will remove the integration method from the simulation. Any
hoomd.run()
command executed after disabling an integration method will not apply the integration method to the particles during the simulation. A disabled integration method can be reenabled withenable()
.

set_params
(H=None, L=None, boundary=None)¶ Set parameters for the slit pore geometry.
Parameters: Examples:
slit_pore.set_params(H=8.) slit_pore.set_params(L=2.0) slit_pore.set_params(boundary='slip') slit_pore.set_params(H=5, L=4., boundary='no_slip')
 group (