Mango-Selm | Fluctuating Hydrodynamics
Home Downloads Screenshots Gallery Documentation Developers Forum About

Mango-Selm provides methods for fluctuating hydrodynamics simulations of implicit-solvent coarse-grained models to account for momentum transfer and other effects from the missing solvent degrees of freedom. SELM uses a hybrid approach accounting for solvent mediated effects through continuum stochastic equations that are coupled to the coarse-grained degrees of freedom. SELM is an acronym for (S)tochastic (E)ulerian (L)agrangian (M)ethod in reference to the Eulerian description used for the hydrodynamics and the Lagrangian description used for the coarse-grained degrees of freedom. The SELM numerical methods provide a momentum conserving alternative to the often used Langevin thermostat and Dissipative Particle Dynamics thermostat. The SELM fluctuating hydrodynamics thermostat allows for resolving relaxation of hydrodynamic modes and various types of dissipative interactions. In different limiting physical regimes, the approach shares features with the Stochastic Immersed Boundary Method, Accelerated Stokesian Dynamics Method, and Arbitrary Lagrangian Eulerian Methods, see [1], [2].

Mango is a user interface for the specification of simulation models and numerical parameters. MANGO is an acronym for (M)odelling (A)nd (N)umerical (G)raphical (O)rchestrator. MANGO can be used to setup models and simulations for the SELM package.

Mango-Selm and Selm-Lammps was started by Paul J. Atzberger in June, 2011.

Developers: Paul J. Atzberger, Yaohong Wang, Jon Karl Sigurdsson, Pat Plunkett.

The Mango-Selm package has been implemented using a combination of programming languages including Python, Java, and C++. The SELM package is implemented in C++ and uses data files represented using standardized formats, such as XML and VTK. The SELM package is also integrated with the Lammps molecular dynamics package allowing for hybrid simulations. This enables the use of many MD-related features to be incorporated directly into SELM-based simulations. This package is referred within the Lammps distribution as USER-SELM.

MANGO provides a platform independent graphical user interface by using the Java programming language. MANGO allows for the graphical specification of the model geometry, solution domain, force interactions, and numerical integrator parameters. For basic models a complete specification and a simulation with SELM can be performed using just the MANGO graphical interface. For more complicated models a python interface can be used to setup models.

To allow for a programmatic specification of models and simulations, Python-based scripts have been developed. This allows for models to be developed rapidly using many of the standard mathematical packages available in Python. This has also been incorporated into the MANGO interface using Jython. As the name implies, Jython is an implementation in Java of the Python programming language and virtual machine. In addition to specifying models, the MANGO associated scripting language also allows for extending the capabilities of the interface with customised control panels for new features.

More information can be found on the above menubar for downloads, installation, tutorials, and results obtained using Mango-Selm. For questions or information about upcoming releases please join the Mango-Selm discussion forum or Mango-Selm mailing list.

Users of this package should cite:

  1. 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]

  2. 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]

  3. 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]

To join the mailing list announcing releases please sign-up for Mango-Selm Announcements. For questions about the package please join the Mango-Selm Discussion Forum. To report bugs or other issues please use the Mango-Selm Issue Tracker.