• Stars
    star
    294
  • Rank 140,460 (Top 3 %)
  • Language
    C++
  • License
    BSD 3-Clause "New...
  • Created about 6 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Molecular dynamics and Monte Carlo soft matter simulation on GPUs.

HOOMD-blue

Citing HOOMD conda-forge conda-forge Downloads GitHub Actions Read the Docs Contributors License

HOOMD-blue is a Python package that runs simulations of particle systems on CPUs and GPUs. 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. Many features are targeted at the soft matter research community, though the code is general and capable of many types of particle simulations.

Resources

Related tools

  • freud: Analyze HOOMD-blue simulation results with the freud Python library.
  • signac: Manage your workflow with signac.

Example scripts

These examples demonstrate some of the Python API.

Hard particle Monte Carlo:

import hoomd

mc = hoomd.hpmc.integrate.ConvexPolyhedron()
mc.shape['octahedron'] = dict(vertices=[
    (-0.5, 0, 0),
    (0.5, 0, 0),
    (0, -0.5, 0),
    (0, 0.5, 0),
    (0, 0, -0.5),
    (0, 0, 0.5),
])

cpu = hoomd.device.CPU()
sim = hoomd.Simulation(device=cpu, seed=20)
sim.operations.integrator = mc
# The tutorial describes how to construct an initial configuration 'init.gsd'.
sim.create_state_from_gsd(filename='init.gsd')

sim.run(1e5)

Molecular dynamics:

import hoomd

cell = hoomd.md.nlist.Cell(buffer=0.4)
lj = hoomd.md.pair.LJ(nlist=cell)
lj.params[('A', 'A')] = dict(epsilon=1, sigma=1)
lj.r_cut[('A', 'A')] = 2.5

integrator = hoomd.md.Integrator(dt=0.005)
integrator.forces.append(lj)
bussi = hoomd.md.methods.thermostats.Bussi(kT=1.5)
nvt = hoomd.md.methods.ConstantVolume(filter=hoomd.filter.All(), thermostat=bussi)
integrator.methods.append(nvt)

gpu = hoomd.device.GPU()
sim = hoomd.Simulation(device=gpu)
sim.operations.integrator = integrator
# The tutorial describes how to construct an initial configuration 'init.gsd'.
sim.create_state_from_gsd(filename='init.gsd')
sim.state.thermalize_particle_momenta(filter=hoomd.filter.All(), kT=1.5)

sim.run(1e5)

Change log

CHANGELOG.rst contains the full change log.

Contributing to HOOMD-blue

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

License

HOOMD-blue is available under the 3-clause BSD license.

More Repositories

1

freud

Powerful, efficient particle trajectory analysis in scientific Python.
C++
269
star
2

signac

Manage large and heterogeneous data spaces on the file system.
Python
126
star
3

fresnel

Publication quality path tracing in real time.
C++
104
star
4

signac-flow

Workflow management for signac-managed data spaces.
Python
48
star
5

hoomd-examples

HOOMD-blue example scripts.
Jupyter Notebook
28
star
6

gsd

Read and write GSD files for use with HOOMD-blue.
Python
23
star
7

coxeter

Collection of tools to help initialize and manipulate shapes.
Jupyter Notebook
21
star
8

rowan

A Python package for working with quaternions.
Python
17
star
9

signac-dashboard

Rapidly visualize signac projects through a customizable dashboard interface.
Python
16
star
10

signac-examples

Examples for the signac framework.
Jupyter Notebook
14
star
11

freud-examples

Examples for the freud library.
Jupyter Notebook
13
star
12

plato

Efficient visualization of particle data supporting several rendering engines.
Python
12
star
13

pythia

A library to generate numerical descriptions of particle systems.
Python
12
star
14

software

Docker image for Glotzer Lab software
Shell
11
star
15

ovito-scripts

A collection of scripts for pairing OVITO with freud and other Glotzer lab packages
Python
9
star
16

signac-docs

Documentation for the signac framework.
9
star
17

garnett

Collection of file parsers and writers for particle trajectory formats used by the Glotzer Group.
Python
8
star
18

hoomd-benchmarks

A collection of benchmarks for HOOMD-blue
Python
7
star
19

synced_collections

Add transparent file synchronization to standard Python collections
Python
5
star
20

dupin

Package for detecting rare events in molecular simulations.
Python
4
star
21

plato-gallery

Example notebooks for the plato visualization project
Jupyter Notebook
4
star
22

signac-project-template

!!! OUTDATED!!!
Python
4
star
23

hoomd-validation

Longer Running Validation Tests for HOOMD-blue
Python
3
star
24

hoomd-workshop

Interactive workshop teaching HOOMD-blue.
Jupyter Notebook
3
star
25

fsph

Library to quickly compute series of complex spherical harmonics.
C++
3
star
26

fresnel-examples

Example notebooks for fresnel
Jupyter Notebook
3
star
27

libgetar

Library to read and write GEneric Trajectory ARchives, a binary data format designed for efficient, extensible storage of trajectory data.
C
2
star
28

glotzerlab_citations

Collection of citations commonly used in papers in the Glotzer group
TeX
2
star
29

peact

A library for reactive programming in Python.
Python
2
star
30

signac-workshop

Interactive signac tutorials.
Jupyter Notebook
1
star
31

flowws-unit-cell

Workflow for interactively identifying crystal unit cells.
Python
1
star
32

fix-license-header

Python
1
star
33

hoomd-component-template

Template repository for HOOMD-blue C++ components.
CMake
1
star
34

fedorov

A python package to initialize different crystal structures
Python
1
star