nexmd.exe
is a command-line Fortran90 program designed to understand the
non-radiative relaxation of a main-block molecule with 100s of atoms and 10s of
relevant excited states on the picosecond time scale after a vertical
photoexcitation. With this design goal, nexmd.exe
has implementations of
various non-adiabatic molecular dynamics(NAMD) algorithms, with efficiency and
stability improvements to reach these time scales. To provide the electronic
structure parameters for these NAMD algorithms, nexmd.exe
also performs the
self-consistent electronic structure, linear response, quadratic response and
'Z-vector' calculations 'on-the-fly' ; using the CEO (collective electronic
oscillator) package with semiempirical Hamiltonians from the SQM package. For
the classical nuclei and Tully density matrix propagation, only the classical
nuclear geometry, nuclear velocity and the Tully density matrix at
NEXMD is a scientific program that assumes that the input it is given is worth running through its algorithms to give reproducible output.
There is a helper Python3 script getexcited.py
to aid in the preparation of
the input file, submission of a swarm of trajectories (parallelization) and
processing the output (statistics and visualization), with a copy in this
repository.
- Solvation correction to the total energy for a single point nuclear geometry.
- Sampling nuclear geometries of the ground-state potential energy surface (PES) under NVE or NVT (through Langevin dynamics).
- Vertical excitation stick and broadened spectrum for a single point nuclear geometry or an ensemble of nuclear geometries.
- Gaussian cube files for the transition density matrix and natural transition orbitals for a vertical excitation. (Relies on external scripts as of now.)
- Minimum energy nuclear geometry and vibrational force constants on any calculated ground or excited state PES.
- Born-Oppenheimer molecular dynamics trajectories on any calculated ground or excited state PES.
- Non-adiabatic molecular dynamics trajectories following the algorithms of trajectory surface hopping (TSH), Ehrenfest, or ab-initio multiple cloning (AIMC).
- Geometry constraints for all molecular dynamics simulations. Currently supports freezing bond distances or normal modes of the molecules.
Please refer to the NEXMD manual for a complete list of supported calculations.
When using NEXMD results in academic work, please cite the package:
Walter Malone, Benjamin Nebgen, Alexander White, Yu Zhang, Huajing Song, Josiah A. Bjorgaard, Andrew E. Sifain, Beatriz Rodriguez-Hernandez, Victor M. Freixas, Sebastian Fernandez-Alberti, Adrian E. Roitberg, Tammie R. Nelson, and Sergei Tretiak, NEXMD Software Package for Nonadiabatic Excited State Molecular Dynamics Simulations, Journal of Chemical Theory and Computation 2020 16 (9), 5771-5783, DOI: 10.1021/acs.jctc.0c00248
Victor M. Freixas, Walter Malone, Xinyang Li, Huajing Song, Hassiel Negrin-Yuvero, Royle Pérez-Castillo, Alexander White, Tammie R. Gibson, Dmitry V. Makhov, Dmitrii V. Shalashilin, Yu Zhang, Nikita Fedik, Maksim Kulichenko, Richard Messerly, Luke Nambi Mohanam, Sahar Sharifzadeh, Adolfo Bastida, Shaul Mukamel, Sebastian Fernandez-Alberti, and Sergei Tretiak, NEXMD v2.0 Software Package for Nonadiabatic Excited State Molecular Dynamics Simulations, Journal of Chemical Theory and Computation 2023 19 (16), 5356-5368, https://doi.org/10.1021/acs.jctc.3c00583
as well as the 2020 review of the methods implemented in NEXMD:
Tammie R. Nelson, Alexander J. White, Josiah A. Bjorgaard, Andrew E. Sifain, Yu Zhang, Benjamin Nebgen, Sebastian Fernandez-Alberti, Dmitry Mozyrsky, Adrian E. Roitberg, and Sergei Tretiak, Non-adiabatic Excited-State Molecular Dynamics: Theory and Applications for Modeling Photophysics in Extended Molecular Materials, Chemical Reviews 2020 120 (4), 2215-2287, DOI: 10.1021/acs.chemrev.9b00447
we encourage users to cite the references and libraries used by NEXMD, which are detailed in the NEXMD manual.
The following dependencies must be installed and configured before
compiling nexmd.exe
: (1) a build automation tool such as make
, (2) a
FORTRAN90 compiler, (3) and a BLAS/LAPack library compatible with the
compiler and associated libraries.
- Build automation tool
make
is a standard tool
- FORTRAN90 compiler
- It is recommended to compile the package with
ifort
. If the Intel compiler is not installed already, check this link out.
- BLAS/LAPACK libraries
Or equivalently
getexcited.py
dependencies are listed in its README.
-
Download the stable release or clone the developmental version via
git clone https://github.com/lanl/nexmd.git
. -
Go to the root directory of the repo. For the stable version, unzip the compressed file first. If cloning, ensure you have checked out the desired branch with
git checkout <branch name>
-
Run
make
, which compiles the code with the compiler and libraries specified by options in the command line. These options can be checked and modified by editing the Makefile. Custom paths to libraries can be added to line 22 of the Makefile for all options; for further customization of other compilation flags and compilers, it is advisable to fill out the option labeled custom at line 415. The default target isic_mkl
; runningmake
is equivalent tomake ic_mkl
, which will compile NEXMD with theifort
compiler andmkl
BLAS/LAPack libraries in their default location. -
Optional: Add the resulting executable (default name
nexmd.exe
) from to your PATH. A quick way to do so in the root directory of the repo would beexport PATH="$PWD:$PATH"
Example input files and their expected output are in ./tests
, more information
on the tests can be found here. Users are encouraged to
verify the executable runs correctly by comparing the output of their
executable with the expected outputs provided.
It is helpful to allow nexmd.exe
to access all of the available stack:
ulimit -s unlimited
If the default input filename input.ceon
is used, go to the directory
contains the input file and run
nexmd.exe > [output file]
Alternatively, you can run the program with an arbitrary input filename with
nexmd.exe <[input file] > [output file]
getexcited.py
is typically used to call multiple nexmd.exe
executions in
parallel. More information on nexmd.exe can be found in the
manual, more information on getexcited.py can be
found in its repo.
If you find a bug in the code, feel free to open a new issue or send an email to [email protected].
The program has several modules/sections which are based on the SQM, Amber, and CEO packages.
- qmmm
- davidson
- others
Walter Malone, Victor M. Freixas, Xinyang Li, Hassiel Negrin-Yuvero, Royle Pérez-Castillo, Dmitry V. Makhov, Dmitrii V. Shalashilin, Nikita Fedik, Maksim Kulichenko, Richard Messerly, Luke Nambi Mohanam, Sahar Sharifzadeh, Adolfo Bastida, Shaul Mukamel, Benjamin Nebgen, Alexander White, Yu Zhang, Huajing Song, Josiah Bjorgaard, Andrew Sifain, Beatriz Rodriguez-Hernandez, Sebastian Fernandez-Alberti, Adrian E. Roitberg, Tammie Nelson, Sergei Tretiak
- Los Alamos National Lab (LANL), Center for Nonlinear Studies (CNLS), Center for Integrated Nanotechnologies (CINT)
- CONICET
- UNQ
- ANPCyT
© 2020. Triad National Security, LLC. All rights reserved. This program was produced under U.S. Government contract 89233218CNA000001 for Los Alamos National Laboratory (LANL), which is operated by Triad National Security, LLC for the U.S. Department of Energy/National Nuclear Security Administration. All rights in the program are reserved by Triad National Security, LLC, and the U.S. Department of Energy/National Nuclear Security Administration. The Government is granted for itself and others acting on its behalf a nonexclusive, paid-up, irrevocable worldwide license in this material to reproduce, prepare derivative works, distribute copies to the public, perform publicly and display publicly, and to permit others to do so. Triad National Security, LLC as management and operations contractor for Los Alamos National Laboratory, plans to release the NexMD Software under an open source license at https://github.com/lanl/NEXMD. This software was co-authored with several individuals that include Sebastian Fernandez Alberti as professor at Universidad Nacional de Quilmes (UNQ) and Adrian Roitberg as professor at the University of Florida (UF). Triad acknowledges UNQ and UF’s role in co-authorship of the software.
This program is open source under the BSD-3 License. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.