OpenAtom is an Ab-Initio Molecular Dynamics software currently developed by the Parallel Programing Laboratory (UIUC), IBM Thomas J. Watson Research Center, and the Ismail-Beigi Research Group (Yale). The base implementation of OpenAtom was done by UIUC, IBM, and NYU. OpenAtom is a highly scalable and portable parallel application for molecular dynamics simulations at the quantum level. It is written using the Charm++ parallel programming framework. |

Brief Overview:OpenAtom is a parallel simulation software for studying atomic, molecular, and condensed phase materials systems based on quantum chemical principles. OpenAtom is able to simulate the ground-state as well as excited states of electrons. For the ground-state, in contrast to classical computational molecular dynamics based on Newtonian mechanics, it uses the Car-Parrinello Ab-Initio Molecular Dynamics (CPAIMD) and Born-Oppenheimer Molecular Dynamics (BOMD) approaches. Instead of using an empirical force function, the CPAIMD and BOMD algorithms compute the forces acting on each atom as the summation of multiple terms derived from plane-wave density functional theory. This allows OpenAtom to study complex atomic and electronic physics in semiconductor, metallic, biological and other molecular systems. For excited states, many-body perturbation theory methods are implemented to describe excited states from first principles. First, the "GW" approximation is implemented to provide accurate electronic energy bands and wave functions: this permits the description of individual electrons or holes in a material and how their properties are coupled and modified by interactions with the remaining electrons in the system. Second, in the near future, the "Bethe-Salpeter Equation" approach will be added to describe optically excited electronic states where both electrons and holes are present and interact. OpenAtom is implemented on top of Charm++, which is an over-decomposition based parallel programming framework that provides support for message-driven execution of migratable entities empowered by an adaptive runtime system. Charm++ encourages decomposition of parallel computation using units that are natural to the application domain, instead of dividing data into as many pieces as processors. In particular, OpenAtom decomposes the data and the computation across a number of chare objects, whose type and/or number only depend on the AIMD algorithm and the desired grain-size. This allows OpenAtom to exploit the underlying mathematics via a seamless mix of both data and functional decompositions resulting in greater expressed parallelism, and several overlapping phases of computation combined with a longer critical path of dependent computations. The current implementation of OpenAtom in Charm++ is highly scalable, and has exhibited portable performance across three generations of the IBM Blue Gene family and Cray systems, apart from other supercomputing platforms. Look here for detailed performance results. |