Skip to content

Releases: glotzerlab/hoomd-blue

v3.9.0

15 Feb 18:57
d43142b
Compare
Choose a tag to compare

Added:

  • GPU code path for hoomd.update.BoxResize (#1462).
  • logger keyword argument and property to hoomd.write.GSD (#1481).

Changed:

  • Issue [FutureWarning]{.title-ref} warnings when using deprecated APIs (#1485).
  • Reformat the list of deprecated features. (#1490).
  • In simulations with rigid bodies, remove D degrees of freedom when the system is momentum conserving (#1467).

Fixed:

  • Compile without errors using hipcc and ROCM 5.1.0 (#1478).
  • Document that hoomd.md.force.Force can be added to Operations.computes (#1489).
  • hoomd.md.constrain.Rigid.create_bodies completes without segmentation faults when particle body tags are not -1 (#1476).
  • hoomd.hpmc.compute.FreeVolume computes the free area correctly in 2D simulations (#1473).

Deprecated:

  • Deprecate write.GSD log keyword argument and property in favor of logger (#1481).

v3.8.1

27 Jan 14:34
925a739
Compare
Choose a tag to compare

Fixed:

  • #1468:
    Conserve linear momentum in simulations using
    hoomd.md.constrain.Rigid on more than 1 MPI rank.

v3.8.0

12 Jan 18:20
0b4b6b5
Compare
Choose a tag to compare

Added

  • Support Python 3.11.
  • Support CUDA 11.8.
  • Support CUDA 12.0.0 final.

Fixed

  • Improve numerical stability of orientation quaternions when using
    hoomd.md.update.ActiveRotationalDiffusion
  • Reduced memory usage and fix spurious failures in test_nlist.py.
  • Avoid triggering TypeError("expected x and y to have same length")
    in hoomd.hpmc.compute.SDF.betaP.

Deprecated

  • The following integration methods are deprecated. Starting in
    v4.0.0, the same functionalities will be available via
    hoomd.md.methods.ConstantVolume/
    hoomd.md.methods.ConstantPressure with an appropriately chosen
    thermostat argument.
    • hoomd.md.methods.NVE
    • hoomd.md.methods.NVT
    • hoomd.md.methods.Berendsen
    • hoomd.md.methods.NPH
    • hoomd.md.methods.NPT

Removed

  • Support for CUDA 10.

v3.7.0

29 Nov 18:02
3539c5e
Compare
Choose a tag to compare

Added

  • Neighborlist.r_cut sets the base cutoff radius for neighbor
    search - for use when the neighbor list is used for analysis or
    custom Python code.
  • Neighborlist.cpu_local_nlist_arrays provides zero-copy access to
    the computed neighbor list.
  • Neighborlist.gpu_local_nlist_arrays provides zero-copy access to
    the computed neighbor list.
  • Neighborlist.local_pair_list provides the rank local pair list by
    index.
  • Neighborlist.pair_list provides the global pair list by tag on
    rank 0.
  • hoomd.md.dihedral.Periodic - a new name for the previous
    Harmonic potential.
  • default_gamma and default_gamma_r arguments to the
    hoomd.md.methods: Brownian, Langevin, and OverdampedViscous.
  • reservoir_energy loggable in hoomd.md.methods.Langevin.
  • hoomd.md.force.Constant applies constant forces and torques to
    particles.

Changed

  • [plugin developers] Refactored the LocalDataAccess C++ classes
    to add flexibility.

Fixed

  • hoomd.hpmc.nec integrators compute non-infinite virial pressures
    for 2D simulations.
  • Raise an exception when attempting to get the shape specification of
    shapes with 0 elements.
  • Box conversion error message now names hoomd.Box.

Deprecated

  • hoomd.md.dihedral.Harmonic - use the functionally equivalent
    hoomd.md.dihedral.Periodic.
  • charges key in hoomd.md.constrain.Rigid.body.
  • diameters key in hoomd.md.constrain.Rigid.body.

v3.6.0

25 Oct 12:23
Compare
Choose a tag to compare

Changed

  • In hoomd.md.pair.aniso.ALJ, shape.rounding_radii now defaults to
    (0.0, 0.0, 0.0).
  • Revise hoomd.md.pair.aniso.ALJ documentation.
  • hoomd.md.force.Force instances can now be added to the
    Operations list allowing users to compute force, torque, energy,
    and virials of forces that are not included in the dynamics of the
    system.
  • [developers]: Removed internal methods _remove and _add from
    the data model.

Fixed

  • Increase the performance of md.pair.Table on the CPU.
  • Improve accuracy of hoomd.hpmc.update.BoxMC when used with patch
    potentials.
  • Provide an accurate warning message when creating the state with
    many bond/angle/... types.
  • Add missing documentation for hoomd.md.methods.Berendsen.
  • CVE-2007-4559

v3.5.0

14 Sep 18:31
721d487
Compare
Choose a tag to compare

Added

  • Example plugin that demonstrates how to add a MD pair potential.
  • Support a large number of particle and bond types (subject to
    available GPU memory and user patience) for the Cell neighbor
    list, MD pair potentials, MD bond potentials, Brownian, and Langevin
    integration methods.

Changed

  • Raise an error when initializing with duplicate types.
  • hpmc.compute.SDF now computes pressures of systems with patch
    interactions.
  • Raise descriptive error messages when the shared memory request
    exceeds that available on the GPU.

Fixed

  • Include all Neighborlist attributes in the documentation.
  • Memory allocation errors in C++ now result in MemoryError
    exceptions in Python.
  • Add missing Autotuned.h header file.
  • External components build correctly when ENABLE_MPI=on or
    ENABLE_GPU=on.
  • Type parameter validation when items contain numpy.ndarray
    elements.
  • Compile with CUDA 12.0.

Deprecated

  • Device.memory_traceback attribute. This attribute has no effect.

v3.4.0

15 Aug 18:55
6cba042
Compare
Choose a tag to compare

Added

  • The new HOOMD-blue logo is now available in the documentation.
  • hoomd.md.methods.DisplacementCapped class for relaxing
    configurations with overlaps.
  • hoomd.md.methods.rattle.DisplacementCapped class for relaxing
    configurations with overlaps.
  • hoomd.device.Device.notice - print user-defined messages to the
    configured message output stream.
  • Tutorial: Modelling Rigid Bodies.
  • AutotunedObject class that provides an interface to read and write
    tuned kernel parameters, query whether tuning is complete, and start
    tuning again at the object level.
  • is_tuning_complete method to Operations. Check whether kernel
    parameter tuning is complete for all operations.
  • tune_kernel_parameters methods to Operations and many other
    classes. Start tuning kernel parameters in all operations.
  • hoomd.md.HalfStepHook - extensible hook class called between step
    1 and 2 of MD integration.
  • hoomd.md.Integrator.half_step_hook - property to get/set the half
    step hook.

Fixed

  • Active forces on manifolds now attach to the Simulation correctly.
  • hoomd.update.FilterUpdater now accepts hoomd.filter.CustomFilter
    subclasses.
  • Correct error message is given when a sequence like parameter is not
    given to a type parameter.
  • Fix non-axis-aligned Cylinder walls in MD.
  • hoomd.md.constrain.Constraint now has hoomd.md.force.Force as a
    base class.
  • Provide a warning instead of an error when passing an out of range
    seed to the Simulation constructor.
  • Compile with current versions of HIP and ROCm.
  • Compilation errors with CUDA >=11.8.

v3.3.0

08 Jul 15:04
9a65360
Compare
Choose a tag to compare

Added

  • A decorator that modifies the namespace of operation and custom
    action classes hoomd.logging.modify_namespace.
  • Tuner for the neighbor list buffer size
    hoomd.md.tune.NeighborListBuffer.
  • Solver infrastructure for optimization problems.
  • Simulation.initial_timestep: the timestep on which the last call
    to run started.
  • variant_like, trigger_like, and filter_like typing objects for
    documentation.

Changed

  • Removed "__main__" from some user custom action logging
    namespaces.

Fixed

  • Improve documentation.
  • Non-default loggables can now be explicitly specified with
    Logger.add.
  • Iteration of Logger instances.
  • The logging category of hoomd.md.Integrate.linear_momentum

v3.2.0

18 May 15:49
054bc9a
Compare
Choose a tag to compare

Added

  • hoomd.md.nlist.Neighborlist.num_builds property - The number of
    neighbor list builds since the last call to Simulation.run.
  • hoomd.md.nlist.Cell.dimensions property - The dimensions of the
    cell list.
  • hoomd.md.nlist.Cell.allocated_particles_per_cell property - The
    number of particle slots allocated per cell.
  • hoomd.mesh.Mesh - Triangular mesh data structure.
  • hoomd.md.mesh.bond - Bond potentials on mesh edges.
  • Support gcc 12.
  • Support clang 14.
  • Set ENABLE_LLVM=on in conda binary builds.

Fixed

  • Clarify documentation.
  • Box.dimension reports the correct value when reading in 2D boxes
    from GSD files generated in HOOMD v2.
  • Improve performance of run time compiled HPMC potentials on the CPU.
  • Pressing Ctrl-C or interrupting the kernel in Jupyter stops the run
    at the end of the current timestep.

v3.1.0

27 Apr 12:59
736deec
Compare
Choose a tag to compare

Added

  • Support LLVM 13 when ENABLE_LLVM=on.
  • hoomd.md.pair.LJGauss - Lennard-Jones-Gaussian pair potential.
  • hoomd.md.alchemy.methods.NVT - Alchemical molecular dynamics
    integration method.
  • hoomd.md.alchemy.pair.LJGauss - Lennard-Jones-Gaussian pair
    potential with alchemical degrees of freedom.
  • hoomd.hpmc.update.Shape - Alchemical hard particle Monte Carlo
    through shape change moves.
  • hoomd.hpmc.shape_move.Elastic - Shape move with elastic potential
    energy penalty.
  • hoomd.hpmc.shape_move.ShapeSpace - Moves in a user defined shape
    space.
  • hoomd.hpmc.shape_move.Vertex - Translate shape vertices.

Changed

  • HPMC fugacity is now a per-type quantity.
  • Improved documentation.
  • [developers] Reduced the time needed for incremental builds.
  • [developers] Reduced memory needed to compile HOOMD.

Fixed

  • ALJ unit test passes in Debug builds.
  • Add quotes to conda-forge gpu package installation example.
  • hoomd.md.force.Custom zeroes forces, torques, energies, and
    virials before calling set_forces.
  • Point tarball download link to
    https://github.com/glotzerlab/hoomd-blue/releases.