CollisionMethod

class hoomd.mpcd.collide.CollisionMethod(period, embedded_particles=None, kT=None)

Bases: Operation

Base collision method.

Parameters:

Members inherited from AutotunedObject:

property kernel_parameters

Kernel parameters. Read more...

property is_tuning_complete

Check if kernel parameter tuning is complete. Read more...

tune_kernel_parameters()

Start tuning kernel parameters. Read more...

Members defined in CollisionMethod:

embedded_particles

HOOMD particles to include in collision (read only).

These particles are included in per-cell quantities and have their velocities updated along with the MPCD particles.

You will need to create an appropriate method to integrate the positions of these particles. The recommended integrator is ConstantVolume with no thermostat (NVE). It is generally not a good idea to use a thermostat because the MPCD particles themselves already act as a heat bath for the embedded particles.

When embedding particles in a rigid body, it is required that constituent particles have a combined mass equal to the mass of the central particle and that the center of mass of the rigid body is located at the central particle. It is not recommended to include the central particle of a rigid body in the embedding particles.

Warning

Embedding particles that are part of a rigid body is not available when using domain decomposition. Support for this is planned in future.

Type:

hoomd.filter.filter_like

period

Number of integration steps between collisions (read only).

A collision is executed each time the timestep is a multiple of period. It must be a multiple of period for the StreamingMethod if one is attached to the Integrator.

Type:

int

kT

Temperature of the thermostat [energy][\mathrm{energy}].

This temperature determines the distribution used to generate the random numbers.

Warning

Setting kT is required if embedded_particles contains particles from rigid bodies.

Examples:

Constant temperature.

collision_method.kT = 1.0

Variable temperature.

collision_method.kT = hoomd.variant.Ramp(1.0, 2.0, 0, 100)
Type:

hoomd.variant.variant_like