AndersenThermostat¶
- class hoomd.mpcd.collide.AndersenThermostat(period, kT, embedded_particles=None)¶
Bases:
CollisionMethod
Andersen thermostat collision method.
- Parameters:
period (int) – Number of integration steps between collisions.
kT (hoomd.variant.variant_like) – Temperature of the thermostat \([\mathrm{energy}]\).
embedded_particles (hoomd.filter.ParticleFilter) – HOOMD particles to include in collision.
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 withkT
.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)