Skip to content

v4.0.0

Compare
Choose a tag to compare
@github-actions github-actions released this 06 Jun 20:50
· 2354 commits to trunk-patch since this release
87c0509

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 with ConstantVolume and ConstantPressure, 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 a SIGTERM handler that calls sys.exit(1) (#1541).
  • More descriptive error messages when calling Simulation.run (#1552).
  • hoomd.Snapshot.from_gsd_frame - convert a gsd.hoomd.Frame object to hoomd.Snapshot (#1559).
  • hoomd.device.NoticeFile - a file-like object that writes to hoomd.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 takes diameters or charges as keys in the body parameters. create_bodies method now takes an optional charges argument to set charges (#1350).
  • Control the precision with the CMake options HOOMD_LONGREAL_SIZE (default: 64) and HOOMD_SHORTREAL_SIZE (default: 32) (#355).
  • [developers] ShortReal and LongReal types enable mixed precision implementations (#355).
  • hoomd.md.constrain.Rigid now updates constituent particle types each step (#1440).
  • Moved hoomd.mesh.Mesh.triangles to hoomd.mesh.Mesh.triangulation (#1464).
  • hoomd.write.GSD does not write particles/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, and Scalar4 data types. Use LongReal[N] instead in new code (#355).
  • hoomd.Snapshot.from_gsd_snapshot - use hoomd.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 in hoomd.md.constrain.Rigid.body (#1496).
  • diameter key in hoomd.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 in hoomd.device.Device. (#1499).
  • The sdf attribute of hoomd.hpmc.compute.SDF - use sdf_compression (#1523).
  • alpha parameter and attribute in Langevin, BD, and OverdampedViscous integration methods (#1266).
  • needsDiameter and setDiameter API in C++ potential evaluators (#1266).