git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@2622 f3b2605a-c512-4ea7-a41b-209d697bcdaa

This commit is contained in:
sjplimp
2009-03-05 20:49:19 +00:00
parent 12f25b8829
commit cb90e03944
7 changed files with 106 additions and 71 deletions

View File

@ -53,6 +53,11 @@ using namespace LAMMPS_NS;
#define MIN_POST_FORCE 16384
#define MIN_ENERGY 32768
#define MIN(A,B) ((A) < (B)) ? (A) : (B)
#define MAX(A,B) ((A) > (B)) ? (A) : (B)
#define BIG 1.0e20
/* ---------------------------------------------------------------------- */
Modify::Modify(LAMMPS *lmp) : Pointers(lmp)
@ -435,6 +440,25 @@ void Modify::min_step(double alpha, double *fextra)
}
}
/* ----------------------------------------------------------------------
compute max allowed step size along vector fextra, only for relevant fixes
------------------------------------------------------------------------- */
double Modify::max_alpha(double *fextra)
{
int ifix,index;
double alpha = BIG;
index = 0;
for (int i = 0; i < n_min_energy; i++) {
ifix = list_min_energy[i];
double alpha_one = fix[ifix]->max_alpha(&fextra[index]);
alpha = MIN(alpha,alpha_one);
index += fix[ifix]->min_dof();
}
return alpha;
}
/* ----------------------------------------------------------------------
extract extra dof for minimization, only for relevant fixes
------------------------------------------------------------------------- */