Releases: PHOTOX/ABIN
Version 1.2.0
What's Changed
This is a first release after a long long time (8 years!). From now on, we plan to make more frequent releases so that users can more easily keep up with the new development.
Here are a few notable new features that have been added over the last few years:
-
Implementation of alternative Surface Hopping algorithms that don't require analytical non-adiabatic couplings --- Landau-Zener approach (implemented by @suchanj and further developed by @JanosJiri) and Beack-An couplings (implemented by @JanosJiri).
-
Many new interfaces to electronic structure code!
- Interface to BAGEL electronic structure package by @JanosJiri, which allows a SH simulations at CASPT2 level of theory
- Interface to xTB by @juraskov
- Protocol buffer (TCPB) interface to TeraChem by @danielhollas
- ChemShell interface for QM/MM simulations by @postulkj
- and many more, see below for full list ⬇️
We hope you enjoy this release. 🫶 🤘
New features and enhancements 🧑🏭
Major new features ✨
- Landau Zener Surface Hopping by @suchanj in #24
- L-Z SH with TeraChem over MPI interface by @suchanj in #36
- Improvements of LZSH algorithm by @JanosJiri in #159
- Baeck-An couplings for SH by @JanosJiri in #186
- Python script for analyzing TSH trajectories from ABIN. by @JanosJiri in #206
New interfaces 🤝
- xTB interface by @juraskov in #138
- Protocol buffer (TCPB) interface to TeraChem by @danielhollas in #145
- Interface for Landau-Zener SH with MNDO program by @JanosJiri in #155
- BAGEL interface for XMS and MS-CASPT2 in FSSH and LZSH by @JanosJiri in #153
- OPENQP Landau-Zener interface by @JanosJiri in #225
- Interfaces to ChemShell by @postulkj in #208
- Fix wrong gradient state in ChemShell LZ by @postulkj in #217
- Bring back TeraChem file interface by @danielhollas in #165
- DFTB+ interface upgrade by @danielhollas in #179
- Enable classical MD with GLE thermostat by @danielhollas in #90
Minor features 🧪
- Use usleep to wait for TeraChem by @danielhollas in #164
- Support -V/--version command line options. by @danielhollas in #75
- Robust and reproducible PRNG initialization for REMD by @danielhollas in #110
- Rename
&nhcoptinput section to&thermostat(nhcoptstill works as a fallback ifthermostatis not present) by @JanosJiri in #213 - Rename
r.abintorun.abin.shby @danielhollas in #191 - Velocity and geometry units added to output files. by @JanosJiri in #200
- Add
ignore_statein Launda-Zener hopping by @danielhollas in #185 - NaI analytic potential for FSSH by @JanosJiri in #178
- Add Schwenke's gas phase H2O analytical potential by @danielhollas in #166
- H2O CVRQD potential by @danielhollas in #171
- Implement numerical forces for Schwenke water potential by @mbarnfield63 in #174
Bug fixes 🐛
Critical bugs 😰
- Fix restart from old restart files by @danielhollas in #134
- FIX TC Surface Hopping interface, broken since #62 by @danielhollas in #80
- Harden TC-MPI connection (handle empty port case) by @danielhollas in #41
- FIX: Read velocities from file in
r.terabinby @danielhollas in #124 - Use the correct decoherence correction by default by @danielhollas in #104
- LZ with TC fixes #142 by @suchanj in #150
- SH: Fix edge condition in try_hop_nacme_rescale() by @danielhollas in #136
- Fix MOLPRO-SH interface by @danielhollas in #131
Minor bugs 😅
- Langevin thermostats are incompatible with SHAKE by @danielhollas in #156
- Patch atom name comparison for velocity file reading by @suchanj in #43
- LZ zero division fix by @suchanj in #52
- SH: ignore_state for MOLPRO-SH by @danielhollas in #132
- Fix PIMD energy for internal water potentials by @danielhollas in #105
- Re-enable REMD with TC-MPI interface by @danielhollas in #68
- Fix -shiftdih option in analyze_movie by @danielhollas in #40
- Do not try to shutdown TC server if communication was not established by @danielhollas in #139
- Better shebang for
tsh_traj_anal.pyby @JanosJiri in #207 - Ignoring BA sigma for
ignore_stateby @JanosJiri in #197 - Correcting NaI conversion units for NAC by @JanosJiri in #194
- Make sure the last step is written when using dE_S0S1 by @danielhollas in #184
Dev changes 🛠️
Code refactor and improvements ⚙️
- Remove NAB by @danielhollas in #30
- Fix Makefile for Plumed by @danielhollas in #44
- Streamline Makefile by @danielhollas in #45
- Update Fortran MPI interface: "use mpi" instead of "include mpif.h" by @danielhollas in #46
- Clean compiler warnings and fix FFTW and Plumed compilation by @danielhollas in #37
- Remove on-the-fly histogramming by @danielhollas in #39
- Harden PLUMED restart by @danielhollas in #53
- Encapsulate FFTW, squash more compiler warnings by @danielhollas in #56
- Prettify everything! (add formatter) by @danielhollas in #64
- Refactor atom name normalization + test water.F90 by @danielhollas in #65
- Refactor r.abin and r.terabin by @danielhollas in #69
- Ensure implicit none via compiler option by @danielhollas in #77
- Remove stubs and comments for Ehrenfest method by @danielhollas in #87
- Refactor GLE module, re-enable PIGLET test by @danielhollas in #91
- SH: Remove inac==1 option, HST model by @danielhollas in #95
- Create MPI wrapper module by @danielhollas in #97
- Redirect stdout to /dev/null for my_rank>0 by @danielhollas in #100
- SH: Remove itrj index from all arrays by @danielhollas in #103
- Do not print file headers when restarting by @danielhollas in #106
- Mdstep refactor by @danielhollas in #108
- Refactor force_abin by @danielhollas in #109
- Prettify after refactor by @danielhollas in #117
- Fix intent in lz_restin by @danielhollas in #118
- convert all system() calls to execute_command_line() by @danielhollas in #119
- Refactor init by @danielhollas in #121
- Makefile in utils/ by @danielhollas in #127
- SH: Remove NSTMAX by @danielhollas in #125
- SH: Cleanup the main SH routine by @danielhollas in #126
- SH: Tests and minor refactor by @danielhollas in #133
- Mpich update by @danielhollas in #147
- Cleanup functions related to rotational velocity, improve sample input files by @danielhollas in #162
- Vendor fprettify autoformater and add to CI by @danielhollas in #167
- Cleanup create_trajectories.sh with shellcheck by @danielhollas in #177
- Disable spline potential by @danielhollas in #182
- Orca interface cleanup by @danielhollas in #181
- Fixes from Fortitude linter by @danielhollas in #190
- Update fortitude linter to v0.7 by @danielhollas in #201
Build, Testing and Continuous Integration (GitHub Actions)
- Continuous Integration via Github Actions by @danielhollas in #28
- Setup code coverage using Codecov.io by @danielhollas in #35
- Add pFUnit library for unit testing by @danielhollas in #42
- Add PLUMED to Github CI by @danielhollas i...
Pre-release of version 1.1
Version 1.0 was created internally couple years back, so we are now targetting version 1.1.
TODO list for version 1.1 (some items are aspirational)
- finish and cleanup documentation
- merge surface hopping refactor to master
- finish new MOLPRO interface
- use overlaps from TC intelligently for monitoring
- simple overlaps from MOLPRO?
- make PIGLET work (or verify that it is working...)
- make normal modes with NHC thermostat and PIMD working
- verify correctness of ab initio MTS integrator ala Marsalek
This pre-release was created to obtain citable DOI via Zenodo.