There is no transition state optimization (or, saddle-point optimization) implementation in ABACUS itself. Although we can use ASE-ABACUS interfaces to use the TS method in ASE or coded by ASE, but:
There are some problem in ASE-ABACUS, with all single-end TS method (e.g. Dimer) used by ASE-ABACUS interfaces cannot give right result and effective process.
It is needed for a DFT calculation program to have (at least on) saddle-point search implementation.
Describe the solution you'd like
ABACUS should have (at least one) TS optimization method. which can be:
NEB
Dimer
TS based on P-RFO (Partitional Rational Function Optimization) method, namely, Sella
The first and second one can be implemented easily, but the last one is the most recommended. Since in PBC, internal coordinates cannot be effectively used, we can only use the PBC part of Sella. ref: https://pubs.acs.org/doi/full/10.1021/acs.jctc.9b00869
Task list only for developers
[ ] Notice possible changes of behavior
[ ] Explain the changes of codes in core modules of ESolver, HSolver, ElecState, Hamilt, Operator or Psi
Notice Possible Changes of Behavior (Reminder only for developers)
No response
Notice any changes of core modules (Reminder only for developers)
No response
Notice Possible Changes of Core Modules (Reminder only for developers)
No response
Additional Context
No response
Task list for Issue attackers (only for developers)
[ ] Review and understand the proposed feature and its importance.
[ ] Research on the existing solutions and relevant research articles/resources.
[ ] Discuss with the team to evaluate the feasibility of implementing the feature.
[ ] Create a design document outlining the proposed solution and implementation details.
[ ] Get feedback from the team on the design document.
[ ] Develop the feature following the agreed design.
[ ] Write unit tests and integration tests for the feature.
[ ] Update the documentation to include the new feature.
[ ] Perform code review and address any issues.
[ ] Merge the feature into the main branch.
[ ] Monitor for any issues or bugs reported by users after the feature is released.
[ ] Address any issues or bugs reported by users and continuously improve the feature.
I doubt the robustness of DIMER, even in other softwares I know people will first use NEB then DIMER. If possible, I think who is willing to implement TS searching algo. should only consider 1 and/or 3.
Background
There is no transition state optimization (or, saddle-point optimization) implementation in ABACUS itself. Although we can use ASE-ABACUS interfaces to use the TS method in ASE or coded by ASE, but:
Describe the solution you'd like
ABACUS should have (at least one) TS optimization method. which can be:
The first and second one can be implemented easily, but the last one is the most recommended. Since in PBC, internal coordinates cannot be effectively used, we can only use the PBC part of Sella. ref: https://pubs.acs.org/doi/full/10.1021/acs.jctc.9b00869
Task list only for developers
Notice Possible Changes of Behavior (Reminder only for developers)
No response
Notice any changes of core modules (Reminder only for developers)
No response
Notice Possible Changes of Core Modules (Reminder only for developers)
No response
Additional Context
No response
Task list for Issue attackers (only for developers)