Skip to content

Releases: glotzerlab/hoomd-blue

v4.9.0

29 Oct 19:50
e93861a
Compare
Choose a tag to compare

Added

  • Support Python 3.13 (#1915)
  • Patchy potentials for MD simulations: hoomd.md.pair.aniso.PatchyExpandedGaussian, hoomd.md.pair.aniso.PatchyExpandedLJ, hoomd.md.pair.aniso.PatchyExpandedMie, hoomd.md.pair.aniso.PatchyGaussian, hoomd.md.pair.aniso.PatchyLJ, hoomd.md.pair.aniso.PatchyMie, and hoomd.md.pair.aniso.PatchyYukawa (#1412).
  • Double-well potentials in HPMC: hoomd.hpmc.pair.LJGauss and hoomd.hpmc.pair.OPP (#1889).
  • Mesh potentials: hoomd.md.mesh.bending.BendingRigidity, hoomd.md.mesh.bending.Helfrich, hoomd.md.mesh.conservation.Area, hoomd.md.mesh.conservation.TriangleArea, and hoomd.md.mesh.conservation.Volume (#1792, #1793, #1794, #1795).
  • start and end arguments to hoomd.write.Burst.dump (#1870)
  • hoomd.mpcd.geometry.CosineChannel for a serpentine (cosine) channel (#1836).
  • hoomd.mpcd.geometry.CosineExpansionContraction for an expansion-contraction channel (#1836).

Fixed

  • Errors in the documentation (#1830, #1861, #1872, #1884, #1896).
  • Thermalize momenta of particles with floppy body tags (#1891).
  • Spheropolyhedra with two vertices can now be saved as a valid gsd_shape_spec (#1898).

Changed

  • Improved build instructions (#1909).

v4.8.2

23 Jul 19:07
dc715ea
Compare
Choose a tag to compare

Fixed:

  • Correct citation to Langevin piston paper (#1849).
  • External walls, external fields, and constrains can now be implemented via external plugins (#1849).
  • Prevent compile errors with -DENABLE_GPU=on -DHOOMD_GPU_PLATFORM=HIP (#1851).
  • Prevent /usr/lib64/slurm/auth_munge.so: undefined symbol: slurm_conf error on Purdue Anvil (#1850).

v4.8.1

18 Jul 13:43
bf35be6
Compare
Choose a tag to compare

Fixed:

  • Prevent illegal instruction when accessing 0 length snapshot arrays (#1846)
  • Fix MPCD compiler warning. (#1845)

v4.8.0

15 Jul 15:01
1101041
Compare
Choose a tag to compare

Added

  • hoomd.mpcd reimplements the MPCD method for simulating hydrodynamic interactions. See the migrating page for an overview and individual class and method documentation for more information (#1784).
  • MPCD tutorial.
  • Support numpy 2.0 (#1797)
  • hoomd.hpmc.external.External provides an abstract interface to external potentials (#1811).
  • hoomd.hpmc.external.Linear computes the potential as a linear function of the distance from a point to a plane (#1811).
  • HPMCIntegrator.external_potentials sets the list of external potentials applied to the system (#1811).
  • hpmc.pair.ExpandedGaussian computes the expanded Gaussian pair potential in HPMC (#1817).

Changed

  • Miscellaneous documentation improvements (#1786, #1800, #1820).
  • Provide an error message for invalid Ellipsoid shape parameters (#1785).
  • Provide the full CUDA error message when scanning devices (#1803).
  • Test with gcc14, clang17, and clang18. No longer test with clang10, clang11, or clang12. (#1798, #1816).
  • Ensure that Gaussian-type pair potentials have positive sigma values (#1810).
  • Demonstrate Step and AngularStep in the tutorial "Modelling Patchy Particles".
  • Fixed typographical errors in all tutorials.

Fixed

  • Issue the proper error message when ALJ.shape is not set for all particle types (#1808).
  • Correctly apply Brownian torque when elements of the inertia tensor are 0 (#1825).

Deprecated

  • HPMCIntegrator.external_potential - use HPMCIntegrator.external_potentials (#1811).
  • hoomd.hpmc.external.user.CPPExternalPotential - use hoomd.hpmc.external.Linear or write a custom component in C++ (#1811).

Removed

  • Support for Python 3.8 (#1797).

v4.7.0

16 May 15:08
be621be
Compare
Choose a tag to compare

Fixed

  • md.methods.rattle.Brownian executes without causing a segmentation fault on the CPU with domain decomposition (#1748).
  • Compile BoxDim.h without warnings (#1756).
  • Do not compute dipole-dipole interactions that are not necessary (#1758).
  • Correctly define the units of gamma in md.methods.Langevin (#1771).
  • Fix compile errors with external components that use the Expanded Mie potential (#1781).
  • Allow HPMC pair potentials to be subclassed in external components (#1780).

Added

  • "How to tune move sizes in multicomponent HPMC systems" documentation page (#1750).
  • hoomd.box.from_basis_vectors - construct a box from arbitrary basis vectors (#1769).

Changed

  • Make readthedocs builds more reproducible (#1758).

v4.6.0

20 Mar 12:36
27a7d0a
Compare
Choose a tag to compare

Fixed

  • create_state_from_gsd reads bond/angle/dihedral/improper/pair types when there are no corresponding groups (#1729).

Added

  • hoomd.variant.box.BoxVariant - Describe boxes that change as a function of timestep (#1685).
  • hoomd.variant.box.Constant - A constant box (#1685).
  • hoomd.variant.box.Interpolate - Linearly interpolate between two boxes (#1685).
  • hoomd.variant.box.InverseVolumeRamp - Linearly ramp the inverse volume of the system (#1685).
  • hoomd.hpmc.update.QuickCompress now accepts a hoomd.variant.box.BoxVariant object for [target_box]{.title-ref} (#1736).
  • box argument to hoomd.update.BoxResize that accepts a hoomd.variant.box.BoxVariant (#1740).
  • hoomd.hpmc.pair.Union computes pair potentials between unions of points. Replaces CPPPotentialUnion (#1725).
  • hoomd.hpmc.pair.Step - A step function potential (#1732).
  • hoomd.hpmc.pair.AngularStep - Angular patches on particles with step function interactions (e.g. Kern-Frenkel) (#1728).

Changed

  • Use FindPython on modern CMake installations. You may need to adjust build scripts in cases where the new behavior does not exactly match the old (i.e. use -DPython_EXECUTABLE in place of -DPYTHON_EXECUTABLE) (#1730).
  • External components must switch from pybind11_add_module to hoomd_add_module (#1730).

Deprecated

  • box1, box2, and variant arguments to hoomd.update.BoxResize (#1740).

v4.5.0

13 Feb 20:11
Compare
Choose a tag to compare

Fixed

  • hoomd.hpmc.update.Shape properly restores shape alchemy parameters on rejected trial moves (#1696).
  • hoomd.hpmc.update.Shape now functions with hoomd.device.GPU (#1696).
  • hoomd.hpmc.update.MuVT applies external potentials (#1711).
  • hoomd.hpmc.update.QuickCompress can now reshape boxes with tilt factors <= 0 (#1709).

Added

  • Improve component build documentation and link to the hoomd-component-template repository (#1668).
  • hoomd.md.improper.Periodic - CHARMM-like periodic improper potential (#1662).
  • allow_unsafe_resize flag to hoomd.hpmc.update.QuickCompress (#1678).
  • hoomd.error.GPUNotAvailableError (#1694).
  • HPMC compile time pair potential framework (CPU only). Allows potential energy in HPMC simulations without CPPPotential.
    • hoomd.hpmc.pair.LennardJones - Evaluate Lennard Jones energy between particles (#1676).
    • HPMCIntegrator.pair_potentials - Set a list of pair potentials to evaluate (#1676).
    • HPMCIntegrator.pair_energy (loggable) - Total pair energy from all pair potentials. (#1676).

Deprecated

  • _InternalCustomUpdater.update. (#1692).
  • _InternalCustomTuner.tune. (#1692).
  • _InternalCustomWriter.write. (#1692).
  • HDF5Log.write. (#1692).
  • hoomd.util.GPUNotAvailableError (#1694).
  • hoomd.hpmc.pair.user.CPPPotentialBase (#1676).
  • hoomd.hpmc.pair.user.CPPPotential - Use a built-in potential or compile your code in a component (#1676).
  • hoomd.hpmc.pair.user.CPPPotentialUnion - Use a built-in potential or compile your code in a component (#1676).
  • HPMCIntegrator.pair_potential - Use compiled potentials with pair_potentials (#1676).

Changed

  • Refactored the C++ API for PatchEnergy potentials (#1676).
  • Removed unused Operation._children methods (#1713).

v4.4.1

21 Dec 12:29
3179f17
Compare
Choose a tag to compare

Fixed

  • Correct net_virial values in local snapshots (#1672).
  • Improve HPMC performance on the CPU when using a pair potential (#1679).
  • Improve HPMC performance with 3D hard shapes (#1679).
  • Improve HPMC performance on the CPU (#1687).

Changed

  • Provide support via GitHub discussions (#1671).

v4.4.0

05 Dec 20:04
0ac922e
Compare
Choose a tag to compare

Added

  • hoomd.md.external.field.Magnetic computes forces and torques on particles from an external magnetic field (#1637).
  • Tutorial on placing barriers (hoomd-examples/#111).

Fixed

  • Use mpirun specific local ranks to select GPUs before checking SLURM_LOCALID (#1647).
  • Fix typographical errors in RevCross documentation (#1642).
  • Use standards compliant thrust::get (#1660).

Changed

  • Removed unused code (#1646).
  • No longer issue a warning when hoomd.md.Integrator is used without an integration method (#1659).
  • Increase performance of Force.forces, Force.torques, Force.energies, and Force.virials (#1654).

Deprecated

  • num_cpu_threads > 1. Use num_cpu_threads = 1 (#1656).
  • HPMCIntegrator.depletant_fugacity > 0 (#1657).

v4.3.0

30 Oct 23:21
da999a3
Compare
Choose a tag to compare

Fixed

  • md.alchemy.methods.NVT now evolves the elements provided in alchemical_dof (#1633).
  • More consistent notice messages regarding MPI ranks used in GPU selection (#1635).
  • hoomd.hpmc.compute.SDF computes correct pressures with patchy potentials. (#1636).

Added

  • Support GCC 13 (#1634).
  • Support Python 3.12 (#1634).
  • tau parameter to hoomd.md.methods.thermostats.Bussi (#1619).

Changed

  • Revise class documentation. (#1628).
  • Add more code snippets to the class documentation (#1628).