forked from lijiext/lammps
git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@2625 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
parent
9bcf02c6ca
commit
381f4f97b9
|
@ -93,7 +93,7 @@ FixBoxRelax::FixBoxRelax(LAMMPS *lmp, int narg, char **arg) :
|
|||
// process extra keywords
|
||||
|
||||
allremap = 0;
|
||||
smax = 0.0001;
|
||||
vmax = 0.0001;
|
||||
|
||||
int iarg;
|
||||
if (press_couple == XYZ) iarg = 5;
|
||||
|
@ -106,9 +106,9 @@ FixBoxRelax::FixBoxRelax(LAMMPS *lmp, int narg, char **arg) :
|
|||
else if (strcmp(arg[iarg+1],"partial") == 0) allremap = 1;
|
||||
else error->all("Illegal fix box/relax command");
|
||||
iarg += 2;
|
||||
} else if (strcmp(arg[iarg],"smax") == 0) {
|
||||
} else if (strcmp(arg[iarg],"vmax") == 0) {
|
||||
if (iarg+2 > narg) error->all("Illegal fix box/relax command");
|
||||
smax = atof(arg[iarg+1]);
|
||||
vmax = atof(arg[iarg+1]);
|
||||
iarg += 2;
|
||||
} else error->all("Illegal fix box/relax command");
|
||||
}
|
||||
|
@ -136,6 +136,8 @@ FixBoxRelax::FixBoxRelax(LAMMPS *lmp, int narg, char **arg) :
|
|||
if (p_flag[2] && domain->zperiodic == 0)
|
||||
error->all("Cannot use fix box/relax on a non-periodic dimension");
|
||||
|
||||
if (vmax <= 0.0) error->all("Illegal fix box/relax command");
|
||||
|
||||
// create a new compute temp style
|
||||
// id = fix-ID + temp
|
||||
// compute group = all since pressure is always global (group all)
|
||||
|
@ -338,11 +340,11 @@ void FixBoxRelax::min_step(double alpha, double *fextra)
|
|||
double FixBoxRelax::max_alpha(double *fextra)
|
||||
{
|
||||
double alpha = 0.0;
|
||||
if (press_couple == XYZ) alpha = smax/fabs(fextra[0]);
|
||||
if (press_couple == XYZ) alpha = vmax/fabs(fextra[0]);
|
||||
else {
|
||||
alpha = smax/fabs(fextra[0]);
|
||||
alpha = MIN(alpha,smax/fabs(fextra[1]));
|
||||
alpha = MIN(alpha,smax/fabs(fextra[2]));
|
||||
alpha = vmax/fabs(fextra[0]);
|
||||
alpha = MIN(alpha,vmax/fabs(fextra[1]));
|
||||
alpha = MIN(alpha,vmax/fabs(fextra[2]));
|
||||
}
|
||||
return alpha;
|
||||
}
|
||||
|
|
|
@ -37,7 +37,7 @@ class FixBoxRelax : public Fix {
|
|||
double p_target[3],p_current[3];
|
||||
double dilation[3];
|
||||
double volinit,xprdinit,yprdinit,zprdinit;
|
||||
double smax,pv2e,pflagsum;
|
||||
double vmax,pv2e,pflagsum;
|
||||
|
||||
double boxlo0[3],boxhi0[3]; // box bounds at start of line search
|
||||
double s0[6]; // scale matrix in Voigt notation
|
||||
|
|
Loading…
Reference in New Issue