Deprecations, Breaking Changes
- Updated handling of coordinate rebuilding. Previously, only the invalid coordinates (bends close to being linear, torsions with (nearly) collinear atoms) were dropped and no new coordinates were determined. Now a new set of coordinates is determined for the given coordinates and used in conjunction with the remaining valid coordinates.
Addition
- Support for nix flakes, provided by sheepforce
- AFIR-Hessian
- `scripts/orca2cdd.py` for simple CDD-cube generation with Multiwfn from ORCA `.cis` and `.gbw` files
- New coordinate systems: `hredund` and `hdlc` that also contain the atomic Cartesian coordinates in addition to the regular set of internals. Also `cartesian` and `mwcartesian` which will eventually supersede `cart`. The former coordinate systems implement the `CoordSys` protocol and should be more future-proof, e.g., with them Cartesian constraints using Lagrange multipliers could be implemented. See the commit message of c2a901b22828df20dbef1acc33fd1a78d0be7e61 for a more thorough discussion.
- Flexible optimizer `LayerOpt` (`type: layers` in YAML input), tailored to optimize multilayer-systems, e.g., in ONIOM calculations
- Started to work on supporting rate calculations in pysisyphus, including simple tunnel corrections. See `get_rates_for_geoms()` and `render_rx_rates()` in`drivers/rates.py`.
- Extrapolation (before and after) a given set of geometries (see `pysistrj --help | grep extrapol`)
- `--kcal` flag in `pysisplot` to output energies in `kcal mol⁻¹` instead of `kJ mol⁻¹`. Implemeting this was probably a bad idea and it may be removed again in future versions, because I really don't like cal :)
- Support for `.mol2` inputs. Currently, the order `"<TRIPOS>MOLECULE` and `<TRIPOS>ATOM` is expected.
Bugfixes & Improvements
- Fixed energy/forces-mixing in EnergyMin calculator (see [10.1063/5.0021923](https://doi.org/10.1063/5.0021923))
- `climb_lanczos` is now supported by all subclasses of `ChainOfStates`, e.g., NEB. Previously it was restricted to `GrowingString`. By enabling it, the lowest curvature mode will be determined using the Lanczos algorithm on all climbing images. The lowest curvature will be used instead of the regular tangent.
- Improved plot appearance in `pysisplot --cosforces`
- Enabled `cartesian` coordinate system for COS optimizations
- Take CG steps if possible, while growing a string. Previously only SD steps were taken while growing.
- Fixed many Sphinx-warnings while generating the documentation
- Convergence thresholds/targets are now reported in optimizations and IRC integrations. Fixes 196.
Miscellaneous
- Added two AFIR examples: `examples/opt/23_orca_afir` and `examples/opt/24_xtb_three_frag_afir`
- Documented [AFIR calculator](https://pysisyphus.readthedocs.io/en/master/calculators.html#module-pysisyphus.calculators.AFIR)