Abstract | dc.description.abstract | Las Palmeras Molecular Dynamics (LPMD) is a highly modular and extensible molecular dynamics (MD)
code using interatomic potential functions. LPMD is able to perform equilibrium MD simulations of bulk
crystalline solids, amorphous solids and liquids, as well as non-equilibrium MD (NEMD) simulations such
as shock wave propagation, projectile impacts, cluster collisions, shearing, deformation under load, heat
conduction, heterogeneous melting, among others, which involve unusual MD features like non-moving
atoms and walls, unstoppable atoms with constant-velocity, and external forces like electric fields. LPMD
is written in C++ as a compromise between efficiency and clarity of design, and its architecture is based
on separate components or plug-ins, implemented as modules which are loaded on demand at runtime.
The advantage of this architecture is the ability to completely link together the desired components
involved in the simulation in different ways at runtime, using a user-friendly control file language which
describes the simulation work-flow.
As an added bonus, the plug-in API (Application Programming Interface) makes it possible to use the
LPMD components to analyze data coming from other simulation packages, convert between input
file formats, apply different transformations to saved MD atomic trajectories, and visualize dynamical
processes either in real-time or as a post-processing step.
Individual components, such as a new potential function, a new integrator, a new file format, new
properties to calculate, new real-time visualizers, and even a new algorithm for handling neighbor lists
can be easily coded, compiled and tested within LPMD by virtue of its object-oriented API, without the
need to modify the rest of the code.
LPMD includes already several pair potential functions such as Lennard-Jones, Morse, Buckingham, MCY
and the harmonic potential, as well as embedded-atom model (EAM) functions such as the Sutton–Chen
and Gupta potentials. Integrators to choose include Euler (if only for demonstration purposes), Verlet and
Velocity Verlet, Leapfrog and Beeman, among others. Electrostatic forces are treated as another potential
function, by default using the plug-in implementing the Ewald summation method. | es_CL |