Releases: glotzerlab/hoomd-blue
Releases · glotzerlab/hoomd-blue
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
.
v3.9.0
Added:
- GPU code path for
hoomd.update.BoxResize
(#1462). logger
keyword argument and property tohoomd.write.GSD
(#1481).
Changed:
- Issue [FutureWarning]{.title-ref} warnings when using deprecated APIs (#1485).
- Reformat the list of deprecated features. (#1490).
- In simulations with rigid bodies, remove D degrees of freedom when the system is momentum conserving (#1467).
Fixed:
- Compile without errors using
hipcc
and ROCM 5.1.0 (#1478). - Document that
hoomd.md.force.Force
can be added toOperations.computes
(#1489). hoomd.md.constrain.Rigid.create_bodies
completes without segmentation faults when particle body tags are not -1 (#1476).hoomd.hpmc.compute.FreeVolume
computes the free area correctly in 2D simulations (#1473).
Deprecated:
- Deprecate
write.GSD
log
keyword argument and property in favor oflogger
(#1481).
v3.8.1
v3.8.0
Added
- Support Python 3.11.
- Support CUDA 11.8.
- Support CUDA 12.0.0 final.
Fixed
- Improve numerical stability of orientation quaternions when using
hoomd.md.update.ActiveRotationalDiffusion
- Reduced memory usage and fix spurious failures in
test_nlist.py
. - Avoid triggering
TypeError("expected x and y to have same length")
inhoomd.hpmc.compute.SDF.betaP
.
Deprecated
- The following integration methods are deprecated. Starting in
v4.0.0, the same functionalities will be available via
hoomd.md.methods.ConstantVolume
/
hoomd.md.methods.ConstantPressure
with an appropriately chosen
thermostat
argument.hoomd.md.methods.NVE
hoomd.md.methods.NVT
hoomd.md.methods.Berendsen
hoomd.md.methods.NPH
hoomd.md.methods.NPT
Removed
- Support for CUDA 10.
v3.7.0
Added
Neighborlist.r_cut
sets the base cutoff radius for neighbor
search - for use when the neighbor list is used for analysis or
custom Python code.Neighborlist.cpu_local_nlist_arrays
provides zero-copy access to
the computed neighbor list.Neighborlist.gpu_local_nlist_arrays
provides zero-copy access to
the computed neighbor list.Neighborlist.local_pair_list
provides the rank local pair list by
index.Neighborlist.pair_list
provides the global pair list by tag on
rank 0.hoomd.md.dihedral.Periodic
- a new name for the previous
Harmonic
potential.default_gamma
anddefault_gamma_r
arguments to the
hoomd.md.methods
:Brownian
,Langevin
, andOverdampedViscous
.reservoir_energy
loggable inhoomd.md.methods.Langevin
.hoomd.md.force.Constant
applies constant forces and torques to
particles.
Changed
- [plugin developers] Refactored the
LocalDataAccess
C++ classes
to add flexibility.
Fixed
hoomd.hpmc.nec
integrators compute non-infinite virial pressures
for 2D simulations.- Raise an exception when attempting to get the shape specification of
shapes with 0 elements. - Box conversion error message now names
hoomd.Box
.
Deprecated
hoomd.md.dihedral.Harmonic
- use the functionally equivalent
hoomd.md.dihedral.Periodic
.charges
key inhoomd.md.constrain.Rigid.body
.diameters
key inhoomd.md.constrain.Rigid.body
.