AndersenThermostat

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

Bases: CollisionMethod

Andersen thermostat collision method.

Parameters:

This class implements the Andersen thermostat collision rule for MPCD, as described by Allahyarov and Gompper. Every period steps, the particles are binned into cells. New particle velocities are then randomly drawn from a Gaussian distribution relative to the center-of-mass velocity for the cell. The random velocities are given zero mean so that the cell linear momentum is conserved. This collision rule naturally imparts the constant-temperature ensemble consistent with kT.

Examples:

Collision for only MPCD particles.

andersen_thermostat = hoomd.mpcd.collide.AndersenThermostat(
    period=1, kT=1.0
)
simulation.operations.integrator.collision_method = andersen_thermostat

Collision including embedded particles.

andersen_thermostat = hoomd.mpcd.collide.AndersenThermostat(
    period=20,
    kT=1.0,
    embedded_particles=hoomd.filter.All(),
)
simulation.operations.integrator.collision_method = andersen_thermostat

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 inherited from CollisionMethod:

embedded_particiles

HOOMD particles to include in collision. Read more...

period

Number of integration steps between collisions. Read more...


Members defined in AndersenThermostat:

kT

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

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

Examples:

Constant temperature.

andersen_thermostat.kT = 1.0

Variable temperature.

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

hoomd.variant.variant_like