Skip to content

Releases: glotzerlab/hoomd-blue

v5.0.0

03 Dec 13:10
dcf270d
Compare
Choose a tag to compare

Fixed

  • Ensure that users set unique seeds on all partitions when performing Gibbs ensemble simulations (#1925)
  • Mesh potentials return only one volume or area when ignore_type == True (#1928)
  • Ensure correct methods are used by hoomd.mpcd.fill.VirtualParticleFiller for certain geometries, improving performance on the GPU in these cases (#1934).
  • Correctly apply HPMCIntegrator.external_potentials in hoomd.hpmc.update.MuVT (#1941).
  • Ensure GPU autotuners for MPCD methods are included in hoomd.Operations.is_tuning_complete and hoomd.Operations.tune_kernel_parameters through hoomd.mpcd.Integrator (#1951).
  • Read after write hazard in the GPU implementation of Dipole, ALJ, and all Patchy potentials in hoomd.md.pair.ansiso (#1944).
  • Read after write hazard in the GPU implementation of hoomd.md.mesh.conservation.Volume (#1953).
  • hoomd.hpmc.pair.Pair.energy now computes the correct energy when there are multiple pair potentials with different r_cut values (#1955).
  • Initializing large numbers (~100+ million) of MPCD particles with domain decomposition no longer causes a segmentation fault (#1897).

Added

  • mpcd.geometry.ConcentricCylinders (#1894).
  • kT parameter to all HPMC integrators. All HPMC-related operations respect the set kT (#1869).
  • P property of hoomd.hpmc.compute.SDF (#1869).
  • MPCD supports non-cubic collision cells, including both orthorhombic and triclinic cell shapes. The cell size is controlled by the number of cells along each lattice vector that defines the simulation box (#1950).

Changed

  • betaP is replaced by P in hoomd.hpmc.update.BoxMC (#1869)
  • hoomd.update.Clusters is now hoomd.update.GCA (#1926)
  • hoomd.hpmc.external.wall.WallPotential is now hoomd.hpmc.external.WallPotential and can be added to IntegratorHPMC.external_potentials (#1941)
  • hoomd.hpmc.external.field.Harmonic is now hoomd.hpmc.external.Harmonic and can be added to IntegratorHPMC.external_potentials (#1941).
  • Document one class per html page and show inherited members in class documentation (#1952).

Removed

  • _InternalCustomUpdater.update. (#1699).
  • _InternalCustomTuner.tune. (#1699).
  • _InternalCustomWriter.write. (#1699).
  • HDF5Log.write. (#1699).
  • hoomd.util.GPUNotAvailableError (#1708).
  • Snapshot.from_gsd_snapshot (#1888).
  • box1, box2, and variant arguments to hoomd.update.BoxResize (#1888).
  • hpmc.pair.user.CPPPotentialBase, hpmc.pair.user.CPPPotential, hpmc.pair.user.CPPPotentialUnion, and hpmc.integrate.HPMCIntegrator.pair_potential (#1888).
  • hoomd.hpmc.external.user.CPPExternalPotential (#1888).
  • Implicit depletants from HPMC. (#1931).
  • Device.num_cpu_threads. (#1932).
  • Device.gpu_ids and the single-process multi-GPU feature (#1936).
  • [c++] GlobalArray and GlobalVector (#1938).
  • IntegratorHPMC.external_potential (#1941).

v4.9.1

31 Oct 16:10
1532682
Compare
Choose a tag to compare

Fixed

  • Correct compile errors with -DENABLE_GPU=on -DHOOMD_GPU_PLATFORM=HIP (#1920)

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).