duartegroup / autodE

automated reaction profile generation
https://duartegroup.github.io/autodE/
MIT License
165 stars 51 forks source link

Implement DHS and DHS-GS methods #272

Closed shoubhikraj closed 1 year ago

shoubhikraj commented 1 year ago

Implements Dewar-Healy-Stewart method and the hybrid DHS-GS (growing string) method. Optionally run CI-NEB from the end points of converged DHS and DHS-GS method. Also added the base classes for other bracketing methods that could be implemented in future.

Minor changes:

  1. Added feature for plotting the energies from a DHS/DHS-GS/other bracketing methods
  2. Return a copy instead of new_species from NEB/CI-NEB so that the energy can be read

Checklist

codecov[bot] commented 1 year ago

Codecov Report

Merging #272 (c5f47a3) into v1.4.0 (6210a14) will increase coverage by 0.08%. The diff coverage is 98.52%.

@@            Coverage Diff             @@
##           v1.4.0     #272      +/-   ##
==========================================
+ Coverage   97.24%   97.32%   +0.08%     
==========================================
  Files         197      203       +6     
  Lines       21013    22055    +1042     
==========================================
+ Hits        20434    21466    +1032     
- Misses        579      589      +10     
Flag Coverage Δ
unittests 97.32% <98.52%> (+0.08%) :arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
autode/opt/optimisers/base.py 97.94% <81.25%> (-0.26%) :arrow_down:
autode/bracket/base.py 95.65% <95.65%> (ø)
autode/bracket/dhs.py 98.34% <98.34%> (ø)
autode/bracket/imagepair.py 98.78% <98.78%> (ø)
tests/test_bracket/test_imagepair.py 99.53% <99.53%> (ø)
autode/bracket/__init__.py 100.00% <100.00%> (ø)
autode/plotting.py 96.44% <100.00%> (+0.39%) :arrow_up:
tests/test_bracket/test_dhs.py 100.00% <100.00%> (ø)

... and 7 files with indirect coverage changes

shoubhikraj commented 1 year ago

@t-young31 I decided to revert the changes to NEB peak_species, and instead put that part of the code in image pair class directly. Pls check the code once more if you want, otherwise feel free to merge the PR. Edit: The tests are failing due to one of the ones that randomly fail. The last commit was only doc change, no other changed.