Releases: glotzerlab/hoomd-blue
Releases · glotzerlab/hoomd-blue
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
v4.4.1
v4.4.0
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 checkingSLURM_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
, andForce.virials
(#1654).
Deprecated
v4.3.0
Fixed
md.alchemy.methods.NVT
now evolves the elements provided inalchemical_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 tohoomd.md.methods.thermostats.Bussi
(#1619).
Changed