Mango-Selm | Fluctuating Hydrodynamics
Home Downloads Screenshots Documentation

Mango-Selm: Fluid-Structure Interaction and Fluctuating Hydrodynamics Simulation Package

Now available with Jupyter Notebook and Python interfaces for readily setting up models and simulations, see git-hub page.

Mango-Selm is a package for performing fluid-structure interaction simulations in LAMMPS MD. The package includes methods for

Allows for SELM, Immersed Boundary Methods, and related hydrodynamic solvers to be used in conjunction with LAMMPS MD simulations. LAMMPS is a Molecular Dynamics (MD) package providing many interaction potentials and analysis tools for modeling and simulation. Interaction methods include particle-mesh electrostatics, common coarse-grained potentials, many-body interactions, and others.

Quick Start

To install for Python use

>> pip install selm-lammps

To test the package installed run

>> python -c "from selm_lammps.tests import t1; t1.test()"

This includes pre-compiled binaries for (Debian 9+ / Ubuntu x86_64 and Centos 7+ / Python 3.6+).

Examples (clone github):

>> git clone

See the git-hub page for models and scripts at [link].

Examples: Jupyter notebooks, python scripts, and models can be found at github/mango-selm.

Other ways to install the package For running prototype models and simulations on a desktop, such as Windows and MacOS, we recommend using Docker container. For example, install Docker Desktop or docker for linux and then load a standard ubuntu container by using in the terminal "docker run -it ubuntu:20.04 /bin/bash". You then use "apt update; apt install python3-pip", and can then pip install and run the simulation package as above. Note use command "python3" in place of "python" when calling scripts.

The source package and additional binaries are available on the download page.

For more information on other ways to install or compile the package, please see the document page.

Git-Hub Page: github: mango-selm

Related Talks:

Tutorial for Mango-Selm Package: How to Setup the Models and Simulations using Jupyter Notebooks and Python.
Interactive Session
Fluid-Structure Interaction Modeling and Simulation

Download Mango-Selm Package

Slides: [PDF]

Package Details:

The Mango-Selm package has been implemented using a combination of programming languages including Python, Java, and C++. Jupyter notebook integration for setting up models and simulations using python is also provided. The core SELM package is implemented in C++ and uses data files represented using standardized formats, such as XML and VTK. The SELM package is integrated with LAMMPS. LAMMPS is a dynamics package for modeling mechanical systems and provides common force laws, different types of degrees of freedom, and statistical analysis methods. Mango-Selm (USER-SELM) allows for using these capabilities when performing fluctuating hydrodynamics simulations.

Mango is a user interface for the specification of simulation models and numerical parameters. MANGO can be used to setup models and simulations for the SELM package.

MANGO provides a platform independent graphical user interface using the Java programming language. MANGO allows for the graphical specification of the model geometry, solution domain, force interactions, and numerical integration parameters. For basic models, MANGO graphical interface can be used. For more complicated models, the python interface can be used.

Python / Jython To allow for a programmatic specification of models and simulations, Python-based scripts have been developed. This allows for model specifications leveraging standard packages. This has also been incorporated into the MANGO interface using Jython. Jython scripts also allow for extending the capabilities of the interface with customized control panels for new features.


When reporting results using this package, please cite

Fluctuating Hydrodynamics Methods for Dynamic Coarse-Grained Implicit-Solvent Simulations in LAMMPS, Y. Wang, J. K. Sigurdsson, and P.J. Atzberger, SIAM J. Sci. Comp., 38(5), S62S77, (2016) [preprint] [paper link]

title = {Fluctuating Hydrodynamics Methods for Dynamic Coarse-Grained Implicit-Solvent Simulations in LAMMPS},
author = {Wang, Y. and Sigurdsson, J. K. and Atzberger, P. J.},
journal = {SIAM Journal on Scientific Computing},
volume = {38},
number = {5},
pages = {S62-S77},
year = {2016},
doi = {10.1137/15M1026390},
URL = {},
title = {Incorporating shear into stochastic Eulerian{\textendash}Lagrangian 
         methods for rheological studies of complex fluids and soft materials},
author = {Paul J. Atzberger},
journal = {Physica D: Nonlinear Phenomena},
publisher = {Elsevier {BV}},
volume = {265},
pages = {57--70},
year = {2013},
doi = {10.1016/j.physd.2013.09.002},
url = {},

Related papers:

  1. Fluctuating Hydrodynamics Methods for Dynamic Coarse-Grained Implicit-Solvent Simulations in LAMMPS, Y. Wang, J. K. Sigurdsson, and P.J. Atzberger, SIAM J. Sci. Comp., 38(5), S62–S77, (2016) [preprint] [full paper]
  2. Stochastic Reductions for Inertial Fluid-Structure Interactions Subject to Thermal Fluctuations, G. Tabak and P.J. Atzberger, SIAM J. Appl. Math., 75(4), 18841914, (2015) [full paper]
  3. Fluctuating Hydrodynamic Methods for Fluid-Structure Interactions in Confined Channel Geometries, Y. Wang, H. Lei, P. Atzberger, Applied Mathematics and Mechanics (Springer), January, Volume 39, Issue 1, pp 125152, (2018) [full paper].
  4. Spatially Adaptive Stochastic Methods for Fluid-Structure Interactions Subject to Thermal Fluctuations in Domains with Complex Geometries, P. Plunkett, J. Hu, C. Siefert, P.J. Atzberger, Journal of Computational Physics, Vol. 277, 15 Nov. 2014, pg. 121--137, (2014) [full paper]
  5. Dynamic Implicit-Solvent Coarse-Grained Models of Lipid Bilayer Membranes : Fluctuating Hydrodynamics Thermostat, Y. Wang, J. K. Sigurdsson, E. Brandt, and P.J. Atzberger, Phys. Rev. E 88, 023301, (2013) [full paper]
  6. Incorporating Shear into Stochastic Eulerian Lagrangian Methods for Rheological Studies of Complex Fluids and Soft Materials, P.J. Atzberger, Physica D, Vol. 265, pg. 5770, (2013). [full paper]

  7. Stochastic Eulerian Lagrangian Methods for Fluid Structure Interactions with Thermal Fluctuations, P.J. Atzberger, J. of Comp. Phys., 230, pp. 2821--2837, (2011). [full paper]

  8. A Stochastic Immersed Boundary Method for Fluid-Structure Dynamics at Microscopic Length Scales, P.J. Atzberger, P.R. Kramer, and C.S. Peskin, J. Comp. Phys., Vol. 224, Iss. 2, (2007). [full paper]

Additional Information: