Releases: glotzerlab/hoomd-blue
Releases · glotzerlab/hoomd-blue
v5.0.0
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
inhoomd.hpmc.update.MuVT
(#1941). - Ensure GPU autotuners for MPCD methods are included in
hoomd.Operations.is_tuning_complete
andhoomd.Operations.tune_kernel_parameters
throughhoomd.mpcd.Integrator
(#1951). - Read after write hazard in the GPU implementation of
Dipole
,ALJ
, and allPatchy
potentials inhoomd.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 differentr_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 setkT
(#1869).P
property ofhoomd.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 byP
inhoomd.hpmc.update.BoxMC
(#1869)hoomd.update.Clusters
is nowhoomd.update.GCA
(#1926)hoomd.hpmc.external.wall.WallPotential
is nowhoomd.hpmc.external.WallPotential
and can be added toIntegratorHPMC.external_potentials
(#1941)hoomd.hpmc.external.field.Harmonic
is nowhoomd.hpmc.external.Harmonic
and can be added toIntegratorHPMC.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
, andvariant
arguments tohoomd.update.BoxResize
(#1888).hpmc.pair.user.CPPPotentialBase
,hpmc.pair.user.CPPPotential
,hpmc.pair.user.CPPPotentialUnion
, andhpmc.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
andGlobalVector
(#1938). IntegratorHPMC.external_potential
(#1941).
v4.9.1
v4.9.0
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
, andhoomd.md.pair.aniso.PatchyYukawa
(#1412). - Double-well potentials in HPMC:
hoomd.hpmc.pair.LJGauss
andhoomd.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
, andhoomd.md.mesh.conservation.Volume
(#1792, #1793, #1794, #1795). start
andend
arguments tohoomd.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
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
v4.8.0
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
andAngularStep
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
- useHPMCIntegrator.external_potentials
(#1811).hoomd.hpmc.external.user.CPPExternalPotential
- usehoomd.hpmc.external.Linear
or write a custom component in C++ (#1811).
Removed
- Support for Python 3.8 (#1797).
v4.7.0
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
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 ahoomd.variant.box.BoxVariant
object for [target_box]{.title-ref} (#1736).box
argument tohoomd.update.BoxResize
that accepts ahoomd.variant.box.BoxVariant
(#1740).hoomd.hpmc.pair.Union
computes pair potentials between unions of points. ReplacesCPPPotentialUnion
(#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
tohoomd_add_module
(#1730).
Deprecated
box1
,box2
, andvariant
arguments tohoomd.update.BoxResize
(#1740).
v4.5.0
Fixed
hoomd.hpmc.update.Shape
properly restores shape alchemy parameters on rejected trial moves (#1696).hoomd.hpmc.update.Shape
now functions withhoomd.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 tohoomd.hpmc.update.QuickCompress
(#1678).hoomd.error.GPUNotAvailableError
(#1694).- HPMC compile time pair potential framework (CPU only). Allows potential energy in HPMC simulations without
CPPPotential
.
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 withpair_potentials
(#1676).
Changed