v3.0.0-beta.1
Overview
v3 has a completely new Python API. See the tutorials, migration guide
and new API documentation learn about it. The API documentation serves
as the complete list of all features currently implemented in
v3.0.0-beta.1. Not all features in v2 have been ported in v3.0.0-beta.1.
Future beta releases will add additional functionality.
Added
- Zero-copy data access through numpy (CPU) and cupy (GPU).
- User-defined operations in Python.
- User-defined triggers determine what time steps operations execute
on. - New logging subsystem supports array quantities and binary log
files. - Implicit depletants are now supported by any hpmc integrator
throughmc.set_fugacity('type', fugacity)
. - Enable implicit depletants for two-dimensional shapes in hpmc.
jit.patch.user()
andjit.patch.user_union()
now support GPUs via
NVRTC.- Add harmonically mapped averaging.
- Add Visual Studio Code workspace
Changed
- The
run
method has minimal overhead - All loggable quantities are directly accessible as object
properties. - Operation parameters are always synchronized.
- Operations can be instantiated without a device or MPI communicator.
- Writers write output for
step+1
at the bottom of therun
loop. - HOOMD writes minimal output to stdout/stderr by default.
- CMake >=3.9, cereal, eigen, and pybind11 are required to
compile HOOMD. - Plugins must be updated to build against v3.
- By default, HOOMD installs to the
site-packages
directory
associated with thepython
executable given, which may be inside a
virtual environment. - Refactored CMake code.
git submodule update
no longer runs when during CMake
configuration.- Use
random123
library for implicit depletants in hpmc. - HOOMD requires a GPU that supports concurrent managed memory access
(Pascal or newer).
Bug fixes
- Improved accuracy of DLVO potential on the GPU.
- Improved performance of HPMC simulations on the CPU in non-cubic
boxes.
Removed
- HOOMD-blue no longer parses command line options.
- Type swap moves in
hpmc.update.muvt()
are no longer supported
(transfer_ratio
option tomuvt.set_params()
) - The option
implicit=True
tohpmc.integrate.*
is no longer
available (useset_fugacity
). static
parameter indump.gsd
util.quiet_status
andutil.unquiet_status
.deprecated.analyze.msd
.deprecated.dump.xml
.deprecated.dump.pos
.deprecated.init.read_xml
.deprecated.init.create_random
.deprecated.init.create_random_polymers
.- hpmc
ignore_overlaps
parameter. - hpmc
sphere_union::max_members
parameter. - hpmc
convex_polyhedron_union
. - hpmc
setup_pos_writer
method. - hpmc
depletant_mode='circumsphere'
. - hpmc
max_verts
parameter. - hpmc
depletant_mode
parameter. - hpmc
ntrial
parameter. - hpmc
implicit
boolean parameter. group
parameter tomd.integrate.mode_minimize_fire
cgcmm.angle.cgcmm
cgcmm.pair.cgcmm
COPY_HEADERS
CMake option.- Many other python modules have been removed or re-implemented with
new names. See the migration guide and new API documentation for a
complete list.