From 463db5858357d0b4213247f6070e9eb25ff8df14 Mon Sep 17 00:00:00 2001 From: athomps Date: Wed, 24 Sep 2014 00:45:19 +0000 Subject: [PATCH] Made line quadratic default and changed backtrack alpha zero check to be more friendly git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@12531 f3b2605a-c512-4ea7-a41b-209d697bcdaa --- src/min.cpp | 2 +- src/min_linesearch.cpp | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/min.cpp b/src/min.cpp index 06619acf8c..88a26b5f2e 100644 --- a/src/min.cpp +++ b/src/min.cpp @@ -53,7 +53,7 @@ Min::Min(LAMMPS *lmp) : Pointers(lmp) { dmax = 0.1; searchflag = 0; - linestyle = 0; + linestyle = 1; elist_global = elist_atom = NULL; vlist_global = vlist_atom = NULL; diff --git a/src/min_linesearch.cpp b/src/min_linesearch.cpp index f5afb88d08..1becb224fe 100644 --- a/src/min_linesearch.cpp +++ b/src/min_linesearch.cpp @@ -48,6 +48,7 @@ using namespace LAMMPS_NS; #define ALPHA_REDUCE 0.5 #define BACKTRACK_SLOPE 0.4 #define QUADRATIC_TOL 0.1 +//#define EMACH 1.0e-8 #define EMACH 1.0e-8 #define EPS_QUAD 1.0e-28 @@ -277,12 +278,15 @@ int MinLineSearch::linemin_backtrack(double eoriginal, double &alpha) alpha *= ALPHA_REDUCE; - // backtracked all the way to 0.0 - // reset to starting point, exit with error + // backtracked too much + // reset to starting point + // if de is positive, exit with error + // if de is negative, exit with ETOL if (alpha <= 0.0 || de_ideal >= -EMACH) { ecurrent = alpha_step(0.0,0); - return ZEROALPHA; + if (de < 0.0) return ETOL; + else return ZEROALPHA; } } }