Projection of fixed atoms out of Hessian in L-ANCOPT and FIRE optimizers #433
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR fixes #410.
I've tested that it works using this xcontrol file for FIRE and this one for L-ANCOPT, with this initial geometry.
Running L-ANCOPT prior to the fix yields this final geometry
After this PR, running the same optimization yields
which has the correct coordinates for the first first two atoms. For FIRE, the projection is only involved when the optimization is preconditioned, which is currently not a setable option. However, I hand-set it to obtain the following pre-PR optimization result
and post-PR,
The important part is that in either cases the pre-PR includes significant displacement of the fixed atoms, due to the lack of Hessian projection. This is now fixed.