v4.0.0
github-actions
released this
06 Jun 20:50
·
2354 commits
to trunk-patch
since this release
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).