This repository contains a Fortran program for wavelet transform analysis, which enables the study of Intramolecular Vibrational Redistribution (IVR) in high-dimensional molecular simulation trajectories. By using dimensionality reduction techniques with the wavelet transform, we can understand the complex problem of IVR in molecular systems in terms of the dominant atomic motions, making the analysis more tractable.
The wavelet transform helps analyze vibrational frequencies and time-dependent dynamics in molecular simulations, assisting in the study of energy transfer between the dominant vibrational modes of the molecule. To understand the wavelet transform methods applied here, refer to:
- Vela-Arevalo LV, Wiggins S. Time-frequency analysis of classical trajectories of polyatomic molecules. International Journal of Bifurcation and Chaos. 2001; 11(05):1359-80.
- Rahaman A, Wheeler RA. Wavelet transforms for determining time-dependent vibrational frequencies. Journal of Chemical Theory and Computation. 2005; 1(5):769-71.
- Numerical Recipes for subroutines MNBRAK and FMAXIM.
-
Principal Component Analysis (PCA)
Conduct PCA on the Intrinsic Reaction Coordinate (IRC) in Cartesian space, representing atomic motions linking various stationary points on the PES. Use PathReducer for efficient PCA on IRC data. -
Wavelet Transform
Apply the wavelet transform to the reduced data from PCA to analyze time-dependent frequencies and visualize the vibrational energy transfer over time. -
Spline Fitting (Optional)
For further analysis, you can perform spline fitting on the wavelet transform results usingspline.py. This requires Python withscipyandnumpyinstalled.
- wavelet.f - Program to calculate the wavelet transform.
- input.dat - Contains time vs. coordinates along the trajectory.
- norm.gnu - Gnuplot settings file to plot the 3D wavelet figure.
Running the program will generate these output files:
- wavelet.exe - Executable file created from
wavelet.f. - fort.66 - Contains the non-normalized 3D data.
- fort.8 - Contains the normalized 3D data in a gnuplot-plottable format.
- max.out - Contains the maximum amplitude frequency over time.
- 3D.pdf - 3D wavelet plot.
-
N- Number of trajectory points for the wavelet calculation, equivalent to the total number of lines ininput.dat(updateNin three places). -
BS- Every BS-th line frominput.datis used for the wavelet (default:BS=10). -
BS1- Number of time points computed, given byN/BS(update in the declaration section). -
FRR- Number of frequency points per time point. The total frequency range is fromA0toA0 + 10*FRR(default:FRR=500).Note: Defaults for
BSandFRRare typically adequate. TheBSvalue is associated with frequency: low-frequency spectral information should have a larger wavelet time interval, and vice versa.
- Flag: The first line is a flag for printing 3D data. If
dim3=1, 3D data is printed; otherwise, it is not. - Minimum Frequency (
A0): The second line isA0, the minimum frequency for starting calculations. Ensure that low-frequency artifacts have diminished beforeA0. To check, conduct wavelet transforms at selective time points.
- Fortran compiler (e.g.,
gfortran) - Gnuplot (for generating 3D plots)
- Python with
scipyandnumpy(for spline fitting)
- Compile the Fortran code:
gfortran wavelet.f -o wavelet.exe
- Run the program with:
./wavelet.exe < input.dat > max.out
- Plot the data with gnuplot:
gnuplot norm.gnu
- For visualizing
max.outin gnuplot:plot 'max.out' using 1:2 with lines
- Manikandan Paranjothy – Primary contributor
- Richa Rashmi – Contributed modifications
- Aniruddha Seal – Contributed modifications
If you use this code in your research, please cite the following works:
@article{rashmi2023z,
title={E- Z Isomerization in Guanidine: Second-order Saddle Dynamics, Non-statisticality, and Time-frequency Analysis},
author={Rashmi, Richa and Yadav, Pankaj Kumar and Seal, Aniruddha and Paranjothy, Manikandan and Lourderaj, Upakarasamy},
journal={ChemPhysChem},
volume={24},
number={2},
pages={e202200640},
year={2023},
publisher={Wiley Online Library}
}
@article{manikandan2014dynamical,
title={Dynamical traps lead to the slowing down of intramolecular vibrational energy flow},
author={Manikandan, Paranjothy and Keshavamurthy, Srihari},
journal={Proceedings of the National Academy of Sciences},
volume={111},
number={40},
pages={14354--14359},
year={2014},
publisher={National Acad Sciences}
}
@article{hare2019low,
title={Low dimensional representations along intrinsic reaction coordinates and molecular dynamics trajectories using interatomic distance matrices},
author={Hare, Stephanie R and Bratholm, Lars A and Glowacki, David R and Carpenter, Barry K},
journal={Chemical science},
volume={10},
number={43},
pages={9954--9968},
year={2019},
publisher={Royal Society of Chemistry}
}