Skip to content

Releases: glotzerlab/hoomd-blue

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

v4.2.1

03 Oct 12:35
506f931
Compare
Choose a tag to compare

Fixed

  • hoomd.write.Table correctly displays floating point values that are exactly 0.0 (#1625).
  • hoomd.write.HDF5Log defaults to "f8" formatting except when the value is an [int]{.title-ref}, or a [numpy.number]{.title-ref} (#1620).
  • Attempt to workaround PMI_Init returned 1 error on OLCF Frontier (#1629).
  • Apple clang 15 compiles HOOMD-blue without errors (#1626).

v4.2.0

20 Sep 17:15
4184da2
Compare
Choose a tag to compare

Fixed

  • Make HDF5Log example more visible (#1602).
  • Access valid GPU memory in hoomd.hpmc.update.Clusters (#1607).
  • Test suite passes on the ROCm GPU platform (#1607).
  • Provide an error message when using md.external.field.Periodic in 2D (#1603).
  • hoomd.write.GSD reports "File exists" in the exception description when using the 'xb' mode and the file exists (#1609).
  • Write small numbers correctly in hoomd.write.Table (#1617).
  • Make examples in hoomd.md.methods.NVE and hoomd.md.methods.DisplacementCapped more visible (#1601).

Added

  • Documentation page: "How to apply arbitrary forces in MD" (#1610).
  • Documentation page: "How to prevent particles from moving" (#1611).
  • Documentation page: "How to minimize the potential energy of a system" (#1614).
  • Documentation page: "How to continuously vary potential parameters" (#1612).
  • Documentation page: "How to determine the most efficient device" (#1616).
  • Documentation page: "How to choose the neighbor list buffer distance" (#1615).
  • Documentation page: "How to compute the free energy of solids" (#1613).
  • MPCD particle data is now available included in Snapshot (#1580).
  • Add variable parameters to hpmc.external.user.CPPExternalPotential (#1608).

Changed

  • Removed the unused ExternalFieldComposite.h and all the related ExternalFieldComposite* (#1604).

v4.1.0

07 Aug 18:59
9ec85d2
Compare
Choose a tag to compare

Fixed

  • Improved documentation (#1585).
  • Update mesh documentation (#1587).
  • Follow detailed balance in hoomd.hpmc.update.Shape (#1595).
  • pre-commit environment installs correctly on macos-arm64 (#1597).
  • Install all HPMC headers for use by plugins (#1573).
  • Bond potentials can now be implemented via external plugins (#1591).

Added

  • Tested example code snippets in select modules (#1574) (#1586).
  • hoomd.util.make_example_simulation - create an example Simulation object (#1574) (#1586).
  • hoomd.write.Burst now has a __len__ method (#1575).
  • Support clang 15 and 16 on Linux (#1593).
  • hoomd.write.HDF5Logger - write log quantities to HDF5 files (#1588).
  • default_gamma and default_gamma_r arguments to hoomd.md.methods.rattle.Brownian hoomd.md.methods.rattle.Langevin, and hoomd.md.methods.rattle.OverdampedViscous (#1589).

v4.0.1

27 Jun 19:54
b6e11b4
Compare
Choose a tag to compare

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