git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@2622 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
@ -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
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
Reference in New Issue
Block a user