Saved in:
Bibliographic Details
Main Author: Kochman, Michał Andrzej
Format: Recurso digital
Language:
Published: Zenodo 2025
Online Access:https://doi.org/10.5281/zenodo.14910303
Tags: Add Tag
No Tags, Be the first to tag this record!
Table of Contents:
  • <p>This record contains the C++ source code of a "wrapper" program for nonadiabatic molecular dynamics (NAMD) simulations at the spin-flip time-dependent density functional theory (SF-TDDFT) level. This program was set up specifically for the purpose of simulating the photorelaxation dynamics of a norbornadiene-based molecular switch. Simulating other chromophores may require modifications to the source code.</p> <p>The program contains an interface to the electronic structure software package Q-Chem. At each time step of the simulated NAMD trajectory, the wrapper generates Q-Chem input files, calls Q-Chem for the calculation of state energies, the gradient of the current state, and nonadiabatic coupling vectors, then parses the output files, and extracts the relevant quantities. Moreover, the wrapper propagates the nuclear and electronic equations of motion. Simulation parameters such as the basis set, exchange-correlation functional, integration grid, convergence thresholds, etc. are hard-coded.</p> <p> </p> <p><strong>Input files</strong></p> <p>The parameters pertaining to the electronic structure calculation (exchange-correlation functional, basis set, etc.) must be set directly in the source code (wrapper.cpp). The remaining parameters are defined in the following input files:</p> <p>control          – this file contains the main parameters of the NAMD simulation:<br>nsteps           – number of NAMD time steps that are to be performed<br>h mts            – classical time step (in au; 1 fs = 41.34 au) and subdivision of the classical time step into the TDSE time step. h should be 20.67 au (=0.5 fs) or less. mts should be 500 or higher.<br>nstates          – number of states included in the simulation (including S0). In this version of the program, nstates=3 is the only acceptable setting, meaning that states S0, S1, and S2 are included<br>curstate         – occupied state. 0 is S0, 1 is S1, 2 is S2.<br>Re(a0) Im(a0)    – wavefunction expansion coefficients for state S0 (real and imaginary parts)<br>Re(a1) Im(a1)    – wavefunction expansion coefficients for state S1 (real and imaginary parts)<br>Re(a2) Im(a2)    – wavefunction expansion coefficients for state S2 (real and imaginary parts)</p> <p>initial_coordinates.xyz – the initial positions of the nuclei, in units of Ångström</p> <p>initial_velocities      – the initial velocities of the nuclei, in atomic units</p> <p>initial_nacvs           – the initial nonadiabatic coupling vectors (if restarting the simulation from a previous run)</p> <p>A set of example input files is attached.</p> <p>job.bash is the script which compiles and runs the wrapper program.</p> <p> </p> <p><strong>Output files</strong></p> <p>energy.csv - energies of the adiabatic states included in the simulation</p> <p>coefficients.csv - coefficients and populations of the adiabatic states includes in the simulation</p> <p>trajectory.xyz - the trajectory of the nuclei, in units of Angstrom</p> <p> </p> <p><strong>License notice</strong></p> <p>Copyright (C) 2025, Michał Andrzej Kochman.</p> <p>This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.</p> <p>This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.</p> <p>You should have received a copy of the GNU General Public License along with this program.  If not, see <https://www.gnu.org/licenses/>.</p> <p> </p> <p><strong>Acknowledgement</strong></p> <p>This research was supported by the  Alexander von Humboldt Foundation, and by the MINIATURA 6 grant funded by the National Science Center of Poland (Grant No. 2022/06/X/ST4/00523).</p>