Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Adding the conjugate gradient algorithm and L-BFGS to the SPIN package #1598
improvement of the SPIN package and of the minimizers
By submitting this pull request, I agree, that my contribution will be included in LAMMPS and redistributed under either the GNU General Public License version 2 (GPL v2) or the GNU Lesser General Public License version 2.1 (LGPL v2.1).
Post Submission Checklist
- cleaned code and setup LAMMPS format and indentation - added src/min_spin_oso_cg.h/cpp to .gitignore
- added all min/spin tests in src/SPIN/neb_spin.cpp - added lbfgs to .gitignore - commit before pull/merge
Axel @akohlmey and Richard @rbberger, Aleksei and I have been correcting the documentation and modified the file names as we discussed.
athomps left a comment
Here are a few suggestions:
- modified norm input in min_modify - corrected doc/src/min_modify.txt - added expression of the norms - added a min max method in src/min.h
- added enum to min.h (for norm choice) - completed doc min_modify - corrected torque tol issue in spin/min
@athomps , I removed the modifications in Makefile.serial. I still don't remember where this was coming from (there was a --wall).
@sjplimp , I implemented all the changes you were asking for, but one: there is already an inf norm in Lammps (the max force component across all atoms). See min.ccp, line 803.
@sjplimp after a brief discussion with @athomps ( ;-) ), I actually added the infinite norm too. This was actually not a lot of work, and will probably avoid some confusion.
All this is documented (I provided mathematical expressions for each of the three norms) in min_modify.txt.