Unverified Commit a54f191c authored by Axel Kohlmeyer's avatar Axel Kohlmeyer
Browse files

revert changes to force tolerance computations

parent 22288e06
Loading
Loading
Loading
Loading
+4 −10
Original line number Diff line number Diff line
@@ -251,16 +251,10 @@ int MinFire::iterate(int maxiter)
    // sync across replicas if running multi-replica minimization

    if (update->ftol > 0.0) {
      if (normstyle == MAX) {
	fdotfloc = fnorm_max();	// max force norm
	MPI_Allreduce(&fdotfloc,&fdotf,1,MPI_DOUBLE,MPI_MAX,universe->uworld);
      } else if (normstyle == INF) {
	fdotfloc = fnorm_inf();	// inf force norm
	MPI_Allreduce(&fdotfloc,&fdotf,1,MPI_DOUBLE,MPI_MAX,universe->uworld);
      } else if (normstyle == TWO) {
	fdotf = fnorm_sqr();	// Euclidean force 2-norm
	MPI_Allreduce(&fdotfloc,&fdotf,1,MPI_DOUBLE,MPI_SUM,universe->uworld);
      } else error->all(FLERR,"Illegal min_modify command");
      if (normstyle == MAX) fdotf = fnorm_max();	// max force norm
      else if (normstyle == INF) fdotf = fnorm_inf();	// inf force norm
      else if (normstyle == TWO) fdotf = fnorm_sqr();	// Euclidean force 2-norm
      else error->all(FLERR,"Illegal min_modify command");
      if (update->multireplica == 0) {
        if (fdotf < update->ftol*update->ftol) return FTOL;
      } else {
+4 −10
Original line number Diff line number Diff line
@@ -216,16 +216,10 @@ int MinQuickMin::iterate(int maxiter)
    // sync across replicas if running multi-replica minimization

    if (update->ftol > 0.0) {
      if (normstyle == MAX) {
	fdotfloc = fnorm_max();	// max force norm
	MPI_Allreduce(&fdotfloc,&fdotf,1,MPI_DOUBLE,MPI_MAX,universe->uworld);
      } else if (normstyle == INF) {
	fdotfloc = fnorm_inf();	// inf force norm
	MPI_Allreduce(&fdotfloc,&fdotf,1,MPI_DOUBLE,MPI_MAX,universe->uworld);
      } else if (normstyle == TWO) {
	fdotfloc = fnorm_sqr();	// Euclidean force 2-norm
	MPI_Allreduce(&fdotfloc,&fdotf,1,MPI_DOUBLE,MPI_SUM,universe->uworld);
      } else error->all(FLERR,"Illegal min_modify command");
      if (normstyle == MAX) fdotfloc = fnorm_max();		// max force norm
      else if (normstyle == INF) fdotfloc = fnorm_inf();	// inf force norm
      else if (normstyle == TWO) fdotfloc = fnorm_sqr();	// Euclidean force 2-norm
      else error->all(FLERR,"Illegal min_modify command");
      if (update->multireplica == 0) {
        if (fdotf < update->ftol*update->ftol) return FTOL;
      } else {
+5 −13
Original line number Diff line number Diff line
@@ -17,7 +17,6 @@
#include "update.h"
#include "output.h"
#include "timer.h"
#include "universe.h"

using namespace LAMMPS_NS;

@@ -78,18 +77,11 @@ int MinSD::iterate(int maxiter)
      return ETOL;

    // force tolerance criterion
    // sync across replicas if running multi-replica minimization

    if (normstyle == MAX) {
      fdotfloc = fnorm_max();	// max force norm
      MPI_Allreduce(&fdotfloc,&fdotf,1,MPI_DOUBLE,MPI_MAX,universe->uworld);
    } else if (normstyle == INF) {
      fdotfloc = fnorm_inf();	// infinite force norm
      MPI_Allreduce(&fdotfloc,&fdotf,1,MPI_DOUBLE,MPI_MAX,universe->uworld);
    } else if (normstyle == TWO) {
      fdotfloc = fnorm_sqr();	// Euclidean force 2-norm
      MPI_Allreduce(&fdotfloc,&fdotf,1,MPI_DOUBLE,MPI_MAX,universe->uworld);
    } else error->all(FLERR,"Illegal min_modify command");

    if (normstyle == MAX) fdotf = fnorm_max();		// max force norm
    else if (normstyle == INF) fdotf = fnorm_inf();	// infinite force norm
    else if (normstyle == TWO) fdotf = fnorm_sqr();	// Euclidean force 2-norm
    else error->all(FLERR,"Illegal min_modify command");
    if (fdotf < update->ftol*update->ftol) return FTOL;

    // set new search direction h to f = -Grad(x)