Molecular dynamics and Monte Carlo soft matter simulation on GPUs.
Fixed
create_state_from_gsd
reads bond/angle/dihedral/improper/pair types when there are no corresponding groups (#1729).Added
hoomd.variant.box.BoxVariant
- Describe boxes that change as a function of timestep (#1685).hoomd.variant.box.Constant
- A constant box (#1685).hoomd.variant.box.Interpolate
- Linearly interpolate between two boxes (#1685).hoomd.variant.box.InverseVolumeRamp
- Linearly ramp the inverse volume of the system (#1685).hoomd.hpmc.update.QuickCompress
now accepts a hoomd.variant.box.BoxVariant
object for [target_box]{.title-ref} (#1736).box
argument to hoomd.update.BoxResize
that accepts a hoomd.variant.box.BoxVariant
(#1740).hoomd.hpmc.pair.Union
computes pair potentials between unions of points. Replaces CPPPotentialUnion
(#1725).hoomd.hpmc.pair.Step
- A step function potential (#1732).hoomd.hpmc.pair.AngularStep
- Angular patches on particles with step function interactions (e.g. Kern-Frenkel) (#1728).Changed
FindPython
on modern CMake installations. You may need to adjust build scripts in cases where the new behavior does not exactly match the old (i.e. use -DPython_EXECUTABLE
in place of -DPYTHON_EXECUTABLE
) (#1730).pybind11_add_module
to hoomd_add_module
(#1730).Deprecated
box1
, box2
, and variant
arguments to hoomd.update.BoxResize
(#1740).Fixed
hoomd.hpmc.update.Shape
properly restores shape alchemy parameters on rejected trial moves (#1696).hoomd.hpmc.update.Shape
now functions with hoomd.device.GPU
(#1696).hoomd.hpmc.update.MuVT
applies external potentials (#1711).hoomd.hpmc.update.QuickCompress
can now reshape boxes with tilt factors <= 0 (#1709).Added
hoomd-component-template
repository (#1668).hoomd.md.improper.Periodic
- CHARMM-like periodic improper potential (#1662).allow_unsafe_resize
flag to hoomd.hpmc.update.QuickCompress
(#1678).hoomd.error.GPUNotAvailableError
(#1694).CPPPotential
.
Deprecated
_InternalCustomUpdater.update
. (#1692)._InternalCustomTuner.tune
. (#1692)._InternalCustomWriter.write
. (#1692).HDF5Log.write
. (#1692).hoomd.util.GPUNotAvailableError
(#1694).hoomd.hpmc.pair.user.CPPPotentialBase
(#1676).hoomd.hpmc.pair.user.CPPPotential
- Use a built-in potential or compile your code in a component (#1676).hoomd.hpmc.pair.user.CPPPotentialUnion
- Use a built-in potential or compile your code in a component (#1676).HPMCIntegrator.pair_potential
- Use compiled potentials with pair_potentials
(#1676).Changed
Added
hoomd.md.external.field.Magnetic
computes forces and torques on particles from an external magnetic field (#1637).Fixed
mpirun
specific local ranks to select GPUs before checking SLURM_LOCALID
(#1647).RevCross
documentation (#1642).thrust::get
(#1660).Changed
hoomd.md.Integrator
is used without an integration method (#1659).Force.forces
, Force.torques
, Force.energies
, and Force.virials
(#1654).Deprecated
Fixed
md.alchemy.methods.NVT
now evolves the elements provided in alchemical_dof
(#1633).hoomd.hpmc.compute.SDF
computes correct pressures with patchy potentials. (#1636).Added
tau
parameter to hoomd.md.methods.thermostats.Bussi
(#1619).Changed
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).PMI_Init returned 1
error on OLCF Frontier (#1629).Fixed
HDF5Log
example more visible (#1602).hoomd.hpmc.update.Clusters
(#1607).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).hoomd.write.Table
(#1617).hoomd.md.methods.NVE
and hoomd.md.methods.DisplacementCapped
more visible (#1601).Added
Snapshot
(#1580).hpmc.external.user.CPPExternalPotential
(#1608).Changed
ExternalFieldComposite.h
and all the related ExternalFieldComposite*
(#1604).Fixed
hoomd.hpmc.update.Shape
(#1595).pre-commit
environment installs correctly on macos-arm64 (#1597).Added
hoomd.util.make_example_simulation
- create an example Simulation object (#1574) (#1586).hoomd.write.Burst
now has a __len__
method (#1575).hoomd.write.HDF5Logger
- write log quantities to HDF5 files (#1588).default_gamma
and default_gamma_r
arguments to hoomd.md.methods.rattle.Brownian
hoomd.md.methods.rattle.Langevin
, and hoomd.md.methods.rattle.OverdampedViscous
(#1589).Fixed
ValueError: signal only works in main thread of the main interpreter
when importing hoomd in a non-main thread (#1576).HOOMD_GPU_PLATFORM=HIP
(#1579).Changed
hoomd-x.y.z.tar.gz
(previously hoomd-vx.y.z.tar.gz
) (#1572).Fixed
MPI_Allreduce
on OLCF Frontier (#1547).Operation
objects (#1457).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).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).hoomd
, install a SIGTERM
handler that calls sys.exit(1)
(#1541).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).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).HOOMD_LONGREAL_SIZE
(default: 64) and HOOMD_SHORTREAL_SIZE
(default: 32) (#355).ShortReal
and LongReal
types enable mixed precision implementations (#355).hoomd.md.constrain.Rigid
now updates constituent particle types each step (#1440).hoomd.mesh.Mesh.triangles
to hoomd.mesh.Mesh.triangulation
(#1464).hoomd.write.GSD
does not write particles/diameter
by default (#1266).Simulation.run
(#1552).hoomd.write.GSD
(#1538).hoomd.State.get_snapshot
in serial (#1538).hoomd.write.GSD.dynamic
now allows fine grained control over individual particle fields (#1538).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).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).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).