/\
|\ /| /++\
||\ /|| /++++\
|| \/ || || /++++++\
|| || || /PyRAI2MD\
|| || || /++++++++++\ __
|| /++++++++++++\ |\ | /\ |\/| | \
||__ __ *==============* | \| /--\ | | |_/
Python Rapid
Artificial Intelligence
Ab Initio Molecular Dynamics
Author @Jingbai Li
2022 – present Hoffmann Institute of Advanced Materials
Shenzhen Polytechnic, Shenzhen, China
2019 – 2022 Department of Chemistry and Chemical Biology
Northeastern University, Boston, USA
version: 2.2 alpha
With contributions from (in alphabetic order):
Jingbai Li - Fewest switches surface hopping
Zhu-Nakamura surface hopping
Velocity Verlet
OpenMolcas interface
OpenMolcas/Tinker interface
BAGEL interface
ORCA interface
GFN-xTB interface
Adaptive sampling
Grid search
Two-layer ONIOM
Periodic boundary condition (coming soon)
Wall potential
QC/ML hybrid NAMD
Excited-state Equivariant Neural Network
Patrick Reiser - Fully connected neural networks (pyNNsMD)
- SchNet (pyNNsMD)
Special acknowledgement to:
Steven A. Lopez - Project co-founder
Pascal Friederich - Project co-founder
Machine learning nonadibatic molecular dyanmics (ML-NAMD).
Neural network training and grid search.
Active learning with ML-NAMD trajectories.
Support BAGEL, Molcas for QM, and Molcas/Tinker for QM/MM calculations.
Support ORCA and GFN2-xTB.
Generalized FSSH and ZNSH with nonadibatic coupling and spin-orbit coupling
Add curvature-driven time-depedent coupling for FSSH
File/Folder Name Description
---------------------------------------------------------------------------------------------------
PyRAI2MD source codes folder
|--pyrai2md.py PyRAI2MD main function
|--variables.py PyRAI2MD input reader
|--method.py PyRAI2MD method manager
|--Molecule atom, molecule, trajectory code folder
| |--atom.py atomic properties class
| |--molecule.py molecular properties class
| |--trajectory.py trajectory properties class
| |--pbc_helper.py periodic boundary condition functions
| `-qmmm_helper.py qmmm functions
|
|--Quantum_Chemistry quantum chemicial program interface folder
| |--qc_molcas.py OpenMolcas interface
| |--qc_bagel.py BAGEL interface
| |--qc_molcas_tinker OpenMolcas/Tinker interface
| |--qc_orca ORCA interface
| `-qc_xtb GFN-xTB interface
|
|--Machine_Learning machine learning library interface folder
| |--model_NN.py native neural network interface
| |--model_pyNNsMD.py pyNNsMD interface
| |--model_GCNNP.py GCNNP interface
| |--model_helper.py additional tools for neural network
| |--hyper_nn.py native neural network hyperparameter
| |--hyper_pynnsmd.py pyNNsMD hyperparameter
| |--hyper_gcnnp.py GCNNP hyperparameter
| |--training_data.py training data manager
| |--permutation.py data permutation functions
| |--adaptive_sampling.py adaptive sampling class
| |--grid_search.py grid search class
| |--remote_train.py distribute remote training
| `-pyNNsMD native neural network library
|
|--Dynamics ab initio molecular dynamics code folder
| |--aimd.py molecular dynamics class
| |--mixaimd.py ML-QC hybrid molecular dynamics class
| |--single_point.py single point calculation
| |--hop_probability.py surface hopping probability calculation
| |--reset_velocity.py velocity adjustment functions
| |--verlet.py velocity verlet method
| |--Ensembles thermodynamics control code folder
| | |--ensemble.py thermodynamics ensemble manager
| | |--microcanonical.py microcanonical ensemble
| | `-thermostat.py canonical ensemble
| |
| `-Propagators electronic propagation code folder
| |--surface_hopping.py surface hopping manager
| |--setup_fssh.py setup file to compile the C-lib of fssh.pyx
| |--fssh.pyx fewest switches surface hopping method
| |--gsh.py generalized surface hopping method
| `-tsh_helper.py trajectory surface hopping tools
|
`-Utils utility folder
|--extension.py additional tools for setup
|--coordinates.py coordinates writing functions
|--read_tools.py index reader
|--bonds.py bond length library
|--sampling.py initial condition sampling functions
|--timing.py timing functions
`-logo.py logo and credits
Jingbai Li, Patrick Reiser, Benjamin R. Boswell, André Eberhard, Noah Z. Burns, Pascal Friederich, and Steven A. Lopez, "Automatic discovery of photoisomerization mechanisms with nanosecond machine learning photodynamics simulations", Chem. Sci. 2021, 12, 5302-5314. DOI:10.1039/D0SC05610C
Jingbai Li, Rachel Stein, Daniel Adrion, Steven A. Lopez, "Machine-learning photodynamics simulations uncover the role of substituent effects on the photochemical formation of cubanes", J. Am. Chem. Soc. 2021, 143, 48, 20166–20175. DOI:10.1021/jacs.1c07725
Jingbai Li, Steven A. Lopez, “Excited-state distortions promote the reactivities and regioselectivities of photochemical 4π-electrocyclizations of fluorobenzenes”, Chem. A Eur J. 2022, 28, e202200651. DOI:10.1002/chem.202200651
Jingbai Li, Steven A. Lopez, “A Look Inside the Black Box of Machine Learning Photodynamics Simulations”, Acc. Chem. Res., 2022, 55, 1972–1984. DOI:10.1021/acs.accounts.2c00288
https://github.com/mlcclab/PyRAI2MD-hiam