Skip to content

Releases: glotzerlab/hoomd-blue

v4.0.1

Choose a tag to compare

@github-actions github-actions released this 27 Jun 19:54
b6e11b4

Fixed

  • Prevent ValueError: signal only works in main thread of the main interpreter when importing hoomd in a non-main thread (#1576).
  • The recommended conda install commands find the documented version (#1578).
  • CMake completes without error when HOOMD_GPU_PLATFORM=HIP (#1579).
  • Tests pass with GSD 3.0.0 installed (#1577).
  • Provide full CUDA error message when possible (#1581).
  • Notice level 4 gives additional GPU initialization details (#1581).
  • Show particle out of bounds error messages in exception description (#1581).

Changed

  • Package source in hoomd-x.y.z.tar.gz (previously hoomd-vx.y.z.tar.gz) (#1572).

v4.0.0

Choose a tag to compare

@github-actions github-actions released this 06 Jun 20:50
87c0509

Fixed

  • Fix error with MPI_Allreduce on OLCF Frontier (#1547).
  • Correct equations in virial pressure documentation (#1548).
  • Work around cases where Python's garbage collector fails to collect Operation objects (#1457).
  • Incorrect behavior with hpmc.external.user.CPPExternalPotential in MPI domain decomposition simulations (#1562).

Added

  • hoomd.md.ConstantVolume integration method (#1419).
  • hoomd.md.ConstantPressure integration method, implementing the Langevin piston barostat (#1419).
  • Thermostats in hoomd.md.methods.thermostats that work with ConstantVolume and ConstantPressure, including the new Bussi-Donadio-Parrinello thermostat (#1419).
  • hoomd.md.external.wall.Gaussian (#1499).
  • hoomd.write.GSD.maximum_write_buffer_size - Set the maximum size of the GSD write buffer (#1541).
  • hoomd.write.GSD.flush - flush the write buffer of an open GSD file (#1541).
  • On importing hoomd, install a SIGTERM handler that calls sys.exit(1) (#1541).
  • More descriptive error messages when calling Simulation.run (#1552).
  • hoomd.Snapshot.from_gsd_frame - convert a gsd.hoomd.Frame object to hoomd.Snapshot (#1559).
  • hoomd.device.NoticeFile - a file-like object that writes to hoomd.device.Device.notice (#1449).
  • hoomd.write.Burst - selective high-frequency frame writing to GSD files (#1543).
  • Support LLVM 16 (#1568).
  • More detailed status message for found CUDA libraries (#1566).

Changed

  • hoomd.md.constrain.Rigid no longer takes diameters or charges as keys in the body parameters. create_bodies method now takes an optional charges argument to set charges (#1350).
  • Control the precision with the CMake options HOOMD_LONGREAL_SIZE (default: 64) and HOOMD_SHORTREAL_SIZE (default: 32) (#355).
  • [developers] ShortReal and LongReal types enable mixed precision implementations (#355).
  • hoomd.md.constrain.Rigid now updates constituent particle types each step (#1440).
  • Moved hoomd.mesh.Mesh.triangles to hoomd.mesh.Mesh.triangulation (#1464).
  • hoomd.write.GSD does not write particles/diameter by default (#1266).
  • Updated tutorials to use HOOMD-blue v4 API, work with up to date releases of freud, gsd, and signac. Also make general improvements to the tutorials.
  • Document changes needed to migrate from v3 to v4 in the migration guide.
  • More descriptive error messages when calling Simulation.run (#1552).
  • Increase performance of hoomd.write.GSD (#1538).
  • Increase performance of hoomd.State.get_snapshot in serial (#1538).
  • hoomd.write.GSD.dynamic now allows fine grained control over individual particle fields (#1538).
  • No longer test with GCC 7-8, Python 3.6-3.7, or Clang 6-9) (#1544).
  • Improved error messages with NVRTC compiled code (#1567).

Deprecated

  • Scalar, Scalar2, Scalar3, and Scalar4 data types. Use LongReal[N] instead in new code (#355).
  • hoomd.Snapshot.from_gsd_snapshot - use hoomd.Snapshot.from_gsd_frame (#1559).

Removed

  • fix_cudart_rpath CMake macro (#1383).
  • ENABLE_MPI_CUDA CMake option (#1401).
  • Berendsen, NPH, NPT, NVE, NVT MD integration methods (#1419).
  • hoomd.write.GSD.log (#1480).
  • CMake option and compiler definition SINGLE_PRECISION (#355).
  • charges key in hoomd.md.constrain.Rigid.body (#1496).
  • diameter key in hoomd.md.constrain.Rigid.body. (#1496).
  • hoomd.md.dihedral.Harmonic. (#1496).
  • hoomd.device.GPU.memory_traceback parameter. (#1496).
  • hoomd.md.pair.aniso.Dipole.mode parameter. (#1496).
  • hoomd.md.pair.aniso.ALJ.mode parameter (#1496).
  • hoomd.md.pair.Gauss (#1499).
  • hoomd.md.external.wall.Gauss (#1499).
  • msg_file property and argument in hoomd.device.Device. (#1499).
  • The sdf attribute of hoomd.hpmc.compute.SDF - use sdf_compression (#1523).
  • alpha parameter and attribute in Langevin, BD, and OverdampedViscous integration methods (#1266).
  • needsDiameter and setDiameter API in C++ potential evaluators (#1266).

v3.11.0

Choose a tag to compare

@github-actions github-actions released this 14 Apr 17:16
ee8897a

Added:

  • hoomd.md.Integrator.validate_groups verifies that MD integration methods are applied to distinct subsets of the system and that those subsets consist of integrable particles (automatically called when attached) (#1466).

Changed:

  • hoomd.hpmc.compute.SDF computes pressures for systems of concave and non-monotonic patch interactions (#1391).
  • Reorganize documentation contents to fit in the sidebar, including landing pages for tutorials and how-to guides (#1526).

Fixed:

  • Improved readability of images in the documentation (#1521).
  • hoomd.write.Table now raises a meaningful error when given incorrect logger categories (#1510).
  • Correctly document the 1/2 scaling factor in the pairwise virial computation (#1525).
  • thermalize_particle_momenta now sets 0 velocity and angular momentum for rigid constituent particles (#1472).
  • Reduce likelihood of data corruption when writing GSD files (#1531).
  • Clarify migration process for hoomd.md.pair.ExpandedLJ (#1501).

Deprecated:

  • The sdf attribute of hoomd.hpmc.compute.SDF - use sdf_compression (#1391).

v3.10.0

Choose a tag to compare

@github-actions github-actions released this 14 Mar 18:33
fde69be

Added:

  • The message_filename property and argument to Device, CPU, and GPU to replace msg_file (#1497).
  • hoomd.md.pair.Gaussian to replace hoomd.md.pair.Gauss (#1497).
  • hoomd.md.pair.ExpandedGaussian - the expanded Gaussian pair force (#1493).
  • Guide: How to apply arbitrary pair potentials in HPMC (#1505).

Changed:

  • Use furo style for HTML documentation (#1498).

Fixed:

  • The hoomd.md.pair potentials ExpandedLJ, ExpandedMie, LJGauss, and TWF now shift V(r_cut) to 0 properly when mode == 'shift' (#1504).
  • Corrected errors in the pair potential documentation (#1504).
  • Note that the 'body' exclusion should be used with hoomd.md.constrain.Rigid (#1465).
  • Correctly identify the 'xyz' mode in hoomd.md.methods.NPH (#1509).

Deprecated:

  • The msg_file property and argument to Device, CPU, and GPU.
  • hoomd.md.pair.Gauss.

v3.9.0

Choose a tag to compare

@github-actions github-actions released this 15 Feb 18:57
d43142b

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

Choose a tag to compare

@github-actions github-actions released this 27 Jan 14:34
925a739

Fixed:

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

v3.8.0

Choose a tag to compare

@github-actions github-actions released this 12 Jan 18:20
0b4b6b5

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

Choose a tag to compare

@github-actions github-actions released this 29 Nov 18:02
3539c5e

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

Choose a tag to compare

@github-actions github-actions released this 25 Oct 12:23

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

Choose a tag to compare

@github-actions github-actions released this 14 Sep 18:31
721d487

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.