Releases: glotzerlab/hoomd-blue
Releases · glotzerlab/hoomd-blue
Release list
v4.0.1
Fixed
- Prevent
ValueError: signal only works in main thread of the main interpreterwhen 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_Allreduceon OLCF Frontier (#1547). - Correct equations in virial pressure documentation (#1548).
- Work around cases where Python's garbage collector fails to collect
Operationobjects (#1457). - Incorrect behavior with
hpmc.external.user.CPPExternalPotentialin MPI domain decomposition simulations (#1562).
Added
hoomd.md.ConstantVolumeintegration method (#1419).hoomd.md.ConstantPressureintegration method, implementing the Langevin piston barostat (#1419).- Thermostats in
hoomd.md.methods.thermostatsthat work withConstantVolumeandConstantPressure, 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 aSIGTERMhandler that callssys.exit(1)(#1541). - More descriptive error messages when calling
Simulation.run(#1552). hoomd.Snapshot.from_gsd_frame- convert agsd.hoomd.Frameobject 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.Rigidno longer takesdiametersorchargesas keys in thebodyparameters.create_bodiesmethod now takes an optionalchargesargument to set charges (#1350).- Control the precision with the CMake options
HOOMD_LONGREAL_SIZE(default: 64) andHOOMD_SHORTREAL_SIZE(default: 32) (#355). - [developers]
ShortRealandLongRealtypes enable mixed precision implementations (#355). hoomd.md.constrain.Rigidnow updates constituent particle types each step (#1440).- Moved
hoomd.mesh.Mesh.trianglestohoomd.mesh.Mesh.triangulation(#1464). hoomd.write.GSDdoes not writeparticles/diameterby 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_snapshotin serial (#1538). hoomd.write.GSD.dynamicnow 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, andScalar4data types. UseLongReal[N]instead in new code (#355).hoomd.Snapshot.from_gsd_snapshot- usehoomd.Snapshot.from_gsd_frame(#1559).
Removed
fix_cudart_rpathCMake macro (#1383).ENABLE_MPI_CUDACMake option (#1401).Berendsen,NPH,NPT,NVE,NVTMD integration methods (#1419).hoomd.write.GSD.log(#1480).- CMake option and compiler definition
SINGLE_PRECISION(#355). chargeskey inhoomd.md.constrain.Rigid.body(#1496).diameterkey inhoomd.md.constrain.Rigid.body. (#1496).hoomd.md.dihedral.Harmonic. (#1496).hoomd.device.GPU.memory_traceback parameter. (#1496).hoomd.md.pair.aniso.Dipole.modeparameter. (#1496).hoomd.md.pair.aniso.ALJ.modeparameter (#1496).hoomd.md.pair.Gauss(#1499).hoomd.md.external.wall.Gauss(#1499).msg_fileproperty and argument inhoomd.device.Device. (#1499).- The
sdfattribute ofhoomd.hpmc.compute.SDF- usesdf_compression(#1523). alphaparameter and attribute inLangevin,BD, andOverdampedViscousintegration methods (#1266).needsDiameterandsetDiameterAPI in C++ potential evaluators (#1266).
v3.11.0
Added:
hoomd.md.Integrator.validate_groupsverifies 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.SDFcomputes 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.Tablenow 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_momentanow 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
sdfattribute ofhoomd.hpmc.compute.SDF- usesdf_compression(#1391).
v3.10.0
Added:
- The
message_filenameproperty and argument toDevice,CPU, andGPUto replacemsg_file(#1497). hoomd.md.pair.Gaussianto 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
furostyle for HTML documentation (#1498).
Fixed:
- The
hoomd.md.pairpotentialsExpandedLJ,ExpandedMie,LJGauss, andTWFnow 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_fileproperty and argument toDevice,CPU, andGPU. hoomd.md.pair.Gauss.
v3.9.0
Added:
- GPU code path for
hoomd.update.BoxResize(#1462). loggerkeyword 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
hipccand ROCM 5.1.0 (#1478). - Document that
hoomd.md.force.Forcecan be added toOperations.computes(#1489). hoomd.md.constrain.Rigid.create_bodiescompletes without segmentation faults when particle body tags are not -1 (#1476).hoomd.hpmc.compute.FreeVolumecomputes the free area correctly in 2D simulations (#1473).
Deprecated:
- Deprecate
write.GSDlogkeyword argument and property in favor oflogger(#1481).
v3.8.1
Fixed:
- #1468:
Conserve linear momentum in simulations using
hoomd.md.constrain.Rigidon more than 1 MPI rank.
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.ConstantPressurewith an appropriately chosen
thermostatargument.hoomd.md.methods.NVEhoomd.md.methods.NVThoomd.md.methods.Berendsenhoomd.md.methods.NPHhoomd.md.methods.NPT
Removed
- Support for CUDA 10.
v3.7.0
Added
Neighborlist.r_cutsets 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_arraysprovides zero-copy access to
the computed neighbor list.Neighborlist.gpu_local_nlist_arraysprovides zero-copy access to
the computed neighbor list.Neighborlist.local_pair_listprovides the rank local pair list by
index.Neighborlist.pair_listprovides the global pair list by tag on
rank 0.hoomd.md.dihedral.Periodic- a new name for the previous
Harmonicpotential.default_gammaanddefault_gamma_rarguments to the
hoomd.md.methods:Brownian,Langevin, andOverdampedViscous.reservoir_energyloggable inhoomd.md.methods.Langevin.hoomd.md.force.Constantapplies constant forces and torques to
particles.
Changed
- [plugin developers] Refactored the
LocalDataAccessC++ classes
to add flexibility.
Fixed
hoomd.hpmc.necintegrators 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.chargeskey inhoomd.md.constrain.Rigid.body.diameterskey inhoomd.md.constrain.Rigid.body.
v3.6.0
Changed
- In
hoomd.md.pair.aniso.ALJ,shape.rounding_radiinow defaults to
(0.0, 0.0, 0.0). - Revise
hoomd.md.pair.aniso.ALJdocumentation. hoomd.md.force.Forceinstances can now be added to the
Operationslist allowing users to compute force, torque, energy,
and virials of forces that are not included in the dynamics of the
system.- [developers]: Removed internal methods
_removeand_addfrom
the data model.
Fixed
- Increase the performance of
md.pair.Tableon the CPU. - Improve accuracy of
hoomd.hpmc.update.BoxMCwhen used with patch
potentials. - Provide an accurate warning message when creating the state with
many bond/angle/... types. - Add missing documentation for
hoomd.md.methods.Berendsen. - CVE-2007-4559
v3.5.0
Added
- Example plugin that demonstrates how to add a MD pair potential.
- Support a large number of particle and bond types (subject to
available GPU memory and user patience) for theCellneighbor
list, MD pair potentials, MD bond potentials, Brownian, and Langevin
integration methods.
Changed
- Raise an error when initializing with duplicate types.
hpmc.compute.SDFnow computes pressures of systems with patch
interactions.- Raise descriptive error messages when the shared memory request
exceeds that available on the GPU.
Fixed
- Include all
Neighborlistattributes in the documentation. - Memory allocation errors in C++ now result in
MemoryError
exceptions in Python. - Add missing
Autotuned.hheader file. - External components build correctly when
ENABLE_MPI=onor
ENABLE_GPU=on. - Type parameter validation when items contain
numpy.ndarray
elements. - Compile with CUDA 12.0.
Deprecated
Device.memory_tracebackattribute. This attribute has no effect.