Skip to content

Latest commit

 

History

History
103 lines (71 loc) · 4.32 KB

README.md

File metadata and controls

103 lines (71 loc) · 4.32 KB

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.