Skip to content

v3.0.0-beta.1

Compare
Choose a tag to compare
@joaander joaander released this 15 Oct 19:12

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
    through mc.set_fugacity('type', fugacity).
  • Enable implicit depletants for two-dimensional shapes in hpmc.
  • jit.patch.user() and jit.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 the run 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 the python 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 to muvt.set_params())
  • The option implicit=True to hpmc.integrate.* is no longer
    available (use set_fugacity).
  • static parameter in dump.gsd
  • util.quiet_status and util.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 to md.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.