Releases: glotzerlab/hoomd-blue
Releases · glotzerlab/hoomd-blue
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
v4.2.1
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
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
andhoomd.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 relatedExternalFieldComposite*
(#1604).
v4.1.0
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
anddefault_gamma_r
arguments tohoomd.md.methods.rattle.Brownian
hoomd.md.methods.rattle.Langevin
, andhoomd.md.methods.rattle.OverdampedViscous
(#1589).
v4.0.1
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
(previouslyhoomd-vx.y.z.tar.gz
) (#1572).
v4.0.0
Fixed
- Fix error with
MPI_Allreduce
on OLCF Frontier (#1547). - Correct equations in virial pressure documentation (#1548).
- Work around cases where Python's garbage collector fails to collect
Operation
objects (#1457). - Incorrect behavior with
hpmc.external.user.CPPExternalPotential
in MPI domain decomposition simulations (#1562).
Added
hoomd.md.ConstantVolume
integration method (#1419).hoomd.md.ConstantPressure
integration method, implementing the Langevin piston barostat (#1419).- Thermostats in
hoomd.md.methods.thermostats
that work withConstantVolume
andConstantPressure
, including the new Bussi-Donadio-Parrinello thermostat (#1419). hoomd.md.external.wall.Gaussian
(#1499).hoomd.write.GSD.maximum_write_buffer_size
- Set the maximum size of the GSD write buffer (#1541).hoomd.write.GSD.flush
- flush the write buffer of an open GSD file (#1541).- On importing
hoomd
, install aSIGTERM
handler that callssys.exit(1)
(#1541). - More descriptive error messages when calling
Simulation.run
(#1552). hoomd.Snapshot.from_gsd_frame
- convert agsd.hoomd.Frame
object tohoomd.Snapshot
(#1559).hoomd.device.NoticeFile
- a file-like object that writes tohoomd.device.Device.notice
(#1449).hoomd.write.Burst
- selective high-frequency frame writing to GSD files (#1543).- Support LLVM 16 (#1568).
- More detailed status message for found CUDA libraries (#1566).
Changed
hoomd.md.constrain.Rigid
no longer takesdiameters
orcharges
as keys in thebody
parameters.create_bodies
method now takes an optionalcharges
argument to set charges (#1350).- Control the precision with the CMake options
HOOMD_LONGREAL_SIZE
(default: 64) andHOOMD_SHORTREAL_SIZE
(default: 32) (#355). - [developers]
ShortReal
andLongReal
types enable mixed precision implementations (#355). hoomd.md.constrain.Rigid
now updates constituent particle types each step (#1440).- Moved
hoomd.mesh.Mesh.triangles
tohoomd.mesh.Mesh.triangulation
(#1464). hoomd.write.GSD
does not writeparticles/diameter
by default (#1266).- Updated tutorials to use HOOMD-blue v4 API, work with up to date releases of freud, gsd, and signac. Also make general improvements to the tutorials.
- Document changes needed to migrate from v3 to v4 in the migration guide.
- More descriptive error messages when calling
Simulation.run
(#1552). - Increase performance of
hoomd.write.GSD
(#1538). - Increase performance of
hoomd.State.get_snapshot
in serial (#1538). hoomd.write.GSD.dynamic
now allows fine grained control over individual particle fields (#1538).- No longer test with GCC 7-8, Python 3.6-3.7, or Clang 6-9) (#1544).
- Improved error messages with NVRTC compiled code (#1567).
Deprecated
Scalar
,Scalar2
,Scalar3
, andScalar4
data types. UseLongReal[N]
instead in new code (#355).hoomd.Snapshot.from_gsd_snapshot
- usehoomd.Snapshot.from_gsd_frame
(#1559).
Removed
fix_cudart_rpath
CMake macro (#1383).ENABLE_MPI_CUDA
CMake option (#1401).Berendsen
,NPH
,NPT
,NVE
,NVT
MD integration methods (#1419).hoomd.write.GSD.log
(#1480).- CMake option and compiler definition
SINGLE_PRECISION
(#355). charges
key inhoomd.md.constrain.Rigid.body
(#1496).diameter
key inhoomd.md.constrain.Rigid.body
. (#1496).hoomd.md.dihedral.Harmonic
. (#1496).hoomd.device.GPU.memory_traceback parameter
. (#1496).hoomd.md.pair.aniso.Dipole.mode
parameter. (#1496).hoomd.md.pair.aniso.ALJ.mode
parameter (#1496).hoomd.md.pair.Gauss
(#1499).hoomd.md.external.wall.Gauss
(#1499).msg_file
property and argument inhoomd.device.Device
. (#1499).- The
sdf
attribute ofhoomd.hpmc.compute.SDF
- usesdf_compression
(#1523). alpha
parameter and attribute inLangevin
,BD
, andOverdampedViscous
integration methods (#1266).needsDiameter
andsetDiameter
API in C++ potential evaluators (#1266).
v3.11.0
Added:
hoomd.md.Integrator.validate_groups
verifies that MD integration methods are applied to distinct subsets of the system and that those subsets consist of integrable particles (automatically called when attached) (#1466).
Changed:
hoomd.hpmc.compute.SDF
computes pressures for systems of concave and non-monotonic patch interactions (#1391).- Reorganize documentation contents to fit in the sidebar, including landing pages for tutorials and how-to guides (#1526).
Fixed:
- Improved readability of images in the documentation (#1521).
hoomd.write.Table
now raises a meaningful error when given incorrect logger categories (#1510).- Correctly document the 1/2 scaling factor in the pairwise virial computation (#1525).
thermalize_particle_momenta
now sets 0 velocity and angular momentum for rigid constituent particles (#1472).- Reduce likelihood of data corruption when writing GSD files (#1531).
- Clarify migration process for
hoomd.md.pair.ExpandedLJ
(#1501).
Deprecated:
- The
sdf
attribute ofhoomd.hpmc.compute.SDF
- usesdf_compression
(#1391).
v3.10.0
Added:
- The
message_filename
property and argument toDevice
,CPU
, andGPU
to replacemsg_file
(#1497). hoomd.md.pair.Gaussian
to replacehoomd.md.pair.Gauss
(#1497).hoomd.md.pair.ExpandedGaussian
- the expanded Gaussian pair force (#1493).- Guide: How to apply arbitrary pair potentials in HPMC (#1505).
Changed:
- Use
furo
style for HTML documentation (#1498).
Fixed:
- The
hoomd.md.pair
potentialsExpandedLJ
,ExpandedMie
,LJGauss
, andTWF
now shiftV(r_cut)
to 0 properly whenmode == 'shift'
(#1504). - Corrected errors in the pair potential documentation (#1504).
- Note that the
'body'
exclusion should be used withhoomd.md.constrain.Rigid
(#1465). - Correctly identify the
'xyz'
mode inhoomd.md.methods.NPH
(#1509).
Deprecated:
- The
msg_file
property and argument toDevice
,CPU
, andGPU
. hoomd.md.pair.Gauss
.