Skip to content

HOOMD-blue is a general-purpose particle simulation toolkit. It scales from a single CPU core to thousands of GPUs.

License

Notifications You must be signed in to change notification settings

atravitz/hoomd-blue

 
 

Repository files navigation

Population Balance Brownian Dynamics in HOOMD-blue

This is a proof-of-concept code that implements PopBD in HOOMD-blue. Key additions are the dynamic bonding and on-the-fly autocorrelation (included here as a submodule) functionalities. Please use this as a jumping off point for your own implementation of PopBD!

NOTE: the latest branch is popbd_cpu, not master. You can merge popbd_cpu into master at your own discretion.

TODO:

  • install instructions
  • example run instructions
  • suggestions for next steps

See below (or in the original repository) for more HOOMD-blue info:

HOOMD-blue

Citing HOOMD conda-forge conda-forge Downloads Azure Pipelines Read the Docs Contributors License

HOOMD-blue is a general purpose particle simulation toolkit. It performs hard particle Monte Carlo simulations of a variety of shape classes, and molecular dynamics simulations of particles with a range of pair, bond, angle, and other potentials. HOOMD-blue runs fast on NVIDIA GPUs, and can scale across thousands of nodes. For more information, see the HOOMD-blue website.

Resources

Installation

HOOMD-blue binaries are available in the glotzerlab-software Docker/Singularity images and for Linux and macOS via the hoomd package on conda-forge. See the Installation Guide for instructions on installing HOOMD-blue or compiling from source.

Job scripts

HOOMD-blue job scripts are Python scripts. You can control system initialization, run protocols, analyze simulation data, or develop complex workflows all with Python code in your job.

Here is a simple example:

import hoomd
from hoomd import md
hoomd.context.initialize()

# Create a 10x10x10 simple cubic lattice of particles with type name A
hoomd.init.create_lattice(unitcell=hoomd.lattice.sc(a=2.0, type_name='A'), n=10)

# Specify Lennard-Jones interactions between particle pairs
nl = md.nlist.cell()
lj = md.pair.lj(r_cut=3.0, nlist=nl)
lj.pair_coeff.set('A', 'A', epsilon=1.0, sigma=1.0)

# Integrate at constant temperature
md.integrate.mode_standard(dt=0.005)
hoomd.md.integrate.langevin(group=hoomd.group.all(), kT=1.2, seed=4)

# Run for 10,000 time steps
hoomd.run(10e3)

Save this script as lj.py and run it with python lj.py (or singularity exec software.simg python3 lj.py if using Singularity containers).

Change log

See CHANGELOG.rst.

Contributing to HOOMD-blue

Contributions are welcomed via pull requests. Please report bugs and suggest feature enhancements via the issue tracker. See CONTRIBUTING.md for more information.

About

HOOMD-blue is a general-purpose particle simulation toolkit. It scales from a single CPU core to thousands of GPUs.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • C++ 66.3%
  • Python 19.5%
  • Cuda 12.2%
  • CMake 1.4%
  • C 0.4%
  • Makefile 0.1%
  • Other 0.1%