Abstract

We present JeLLyFysh-Version1.0, an open-source Python application for event-chain Monte Carlo (ECMC), an event-driven irreversible Markov-chain Monte Carlo algorithm for classical N-body simulations in statistical mechanics, biophysics and electrochemistry. The application’s architecture mirrors the mathematical formulation of ECMC. Local potentials, long-range Coulomb interactions and multi-body bending potentials are covered, as well as bounding potentials and cell systems including the cell-veto algorithm. Configuration files illustrate a number of specific implementations for interacting atoms, dipoles, and water molecules. Program summaryProgram title:JeLLyFysh-Version1.0Program files doi:http://dx.doi.org/10.17632/srrjt9493d.1Licensing provisions: GNU GPLv3Programming language: Python 3Nature of problem: Event-chain Monte Carlo (ECMC) simulations for classical N-body simulations in statistical mechanics, biophysics and electrochemistry.Solution method: Event-driven irreversible Markov-chain Monte Carlo algorithm.Additional comments: The application is complete with sample configuration files, docstrings, and unittests. The manuscript is accompanied by a frozen copy of JeLLyFysh-Version1.0 that is made publicly available on GitHub (repository https://github.com/jellyfysh/JeLLyFysh, commit hash d453d497256e7270e8babc8e04d20fb6d847dee4).

Highlights

  • Event-chain Monte Carlo (ECMC) is an irreversible continuoustime Markov-chain algorithm [1,2] that often equilibrates faster than its reversible counterparts [3,4,5,6,7]

  • We present JeLLyFysh-Version1.0, an open-source Python application for event-chain Monte Carlo (ECMC), an event-driven irreversible Markov-chain Monte Carlo algorithm for classical N-body simulations in statistical mechanics, biophysics and electrochemistry

  • ECMC has been successfully applied to the classic N-body all-atom problem in statistical physics [8,9]

Read more

Summary

Introduction

Event-chain Monte Carlo (ECMC) is an irreversible continuoustime Markov-chain algorithm [1,2] that often equilibrates faster than its reversible counterparts [3,4,5,6,7]. The random variable XM of only a single factor M can be ‘‘False’’, and the factor M vetoes the consensus, creates an event, and starts a new leg In this process, M requires only the knowledge of the factor in-state (based on the configuration cM , and the information on the move), and the factor out-state (based on cM′ ) provides all information on the evolution of the system after the event. The event is needed in order to enforce the global-balance condition (see Fig. 2a) In this process, lifting variables [25], corresponding to generalized velocities, allow one to repeat moves of the same type (same particle, same displacement), as long as they are accepted by consensus.. JFV1.0 performs time-slicing for unconfirmed events, that is, for triggered events for which, after all, the out-state continues the straight-line motion of the in-state (see Section 3.1.2)

Lifting schemes
Multiprocessing
Parallelization
JF architecture
Mediator
Event handlers
State handler
Activator
Event handlers for factors or sets of factors
Input–output handler
JF event-handler classes
Event handlers for pseudo-factors or sets of pseudo-factors
JF run specifications and tools
Globally used modules
Cell systems and cell-occupancy systems
Inter-particle potentials and bounding potentials
Displaced-even-power-law potential
Merged-image Coulomb potential and bounding potential
JF cookbook
Estimator
Interacting dipoles
Atomic Coulomb factors
GitHub repository
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call