enable and apply clang-format
This commit is contained in:
@ -1,4 +1,3 @@
|
||||
// clang-format off
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
@ -28,11 +27,9 @@ using namespace LAMMPS_NS;
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
ComputeMSD::ComputeMSD(LAMMPS *lmp, int narg, char **arg) :
|
||||
Compute(lmp, narg, arg),
|
||||
id_fix(nullptr)
|
||||
ComputeMSD::ComputeMSD(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg), id_fix(nullptr)
|
||||
{
|
||||
if (narg < 3) error->all(FLERR,"Illegal compute msd command");
|
||||
if (narg < 3) error->all(FLERR, "Illegal compute msd command");
|
||||
|
||||
vector_flag = 1;
|
||||
size_vector = 4;
|
||||
@ -47,15 +44,16 @@ ComputeMSD::ComputeMSD(LAMMPS *lmp, int narg, char **arg) :
|
||||
|
||||
int iarg = 3;
|
||||
while (iarg < narg) {
|
||||
if (strcmp(arg[iarg],"com") == 0) {
|
||||
if (iarg+2 > narg) error->all(FLERR,"Illegal compute msd command");
|
||||
comflag = utils::logical(FLERR,arg[iarg+1],false,lmp);
|
||||
if (strcmp(arg[iarg], "com") == 0) {
|
||||
if (iarg + 2 > narg) error->all(FLERR, "Illegal compute msd command");
|
||||
comflag = utils::logical(FLERR, arg[iarg + 1], false, lmp);
|
||||
iarg += 2;
|
||||
} else if (strcmp(arg[iarg],"average") == 0) {
|
||||
if (iarg+2 > narg) error->all(FLERR,"Illegal compute msd command");
|
||||
avflag = utils::logical(FLERR,arg[iarg+1],false,lmp);
|
||||
} else if (strcmp(arg[iarg], "average") == 0) {
|
||||
if (iarg + 2 > narg) error->all(FLERR, "Illegal compute msd command");
|
||||
avflag = utils::logical(FLERR, arg[iarg + 1], false, lmp);
|
||||
iarg += 2;
|
||||
} else error->all(FLERR,"Illegal compute msd command");
|
||||
} else
|
||||
error->all(FLERR, "Illegal compute msd command");
|
||||
}
|
||||
|
||||
if (group->dynamic[igroup])
|
||||
@ -65,13 +63,14 @@ ComputeMSD::ComputeMSD(LAMMPS *lmp, int narg, char **arg) :
|
||||
// id = compute-ID + COMPUTE_STORE, fix group = compute group
|
||||
|
||||
id_fix = utils::strdup(id + std::string("_COMPUTE_STORE"));
|
||||
fix = (FixStore *) modify->add_fix(fmt::format("{} {} STORE peratom 1 3",
|
||||
id_fix, group->names[igroup]));
|
||||
fix = (FixStore *) modify->add_fix(
|
||||
fmt::format("{} {} STORE peratom 1 3", id_fix, group->names[igroup]));
|
||||
|
||||
// calculate xu,yu,zu for fix store array
|
||||
// skip if reset from restart file
|
||||
|
||||
if (fix->restart_reset) fix->restart_reset = 0;
|
||||
if (fix->restart_reset)
|
||||
fix->restart_reset = 0;
|
||||
else {
|
||||
double **xoriginal = fix->astore;
|
||||
|
||||
@ -81,15 +80,17 @@ ComputeMSD::ComputeMSD(LAMMPS *lmp, int narg, char **arg) :
|
||||
int nlocal = atom->nlocal;
|
||||
|
||||
for (int i = 0; i < nlocal; i++)
|
||||
if (mask[i] & groupbit) domain->unmap(x[i],image[i],xoriginal[i]);
|
||||
else xoriginal[i][0] = xoriginal[i][1] = xoriginal[i][2] = 0.0;
|
||||
if (mask[i] & groupbit)
|
||||
domain->unmap(x[i], image[i], xoriginal[i]);
|
||||
else
|
||||
xoriginal[i][0] = xoriginal[i][1] = xoriginal[i][2] = 0.0;
|
||||
|
||||
// adjust for COM if requested
|
||||
|
||||
if (comflag) {
|
||||
double cm[3];
|
||||
masstotal = group->mass(igroup);
|
||||
group->xcm(igroup,masstotal,cm);
|
||||
group->xcm(igroup, masstotal, cm);
|
||||
for (int i = 0; i < nlocal; i++)
|
||||
if (mask[i] & groupbit) {
|
||||
xoriginal[i][0] -= cm[0];
|
||||
@ -127,7 +128,7 @@ void ComputeMSD::init()
|
||||
// set fix which stores reference atom coords
|
||||
|
||||
fix = (FixStore *) modify->get_fix_by_id(id_fix);
|
||||
if (!fix) error->all(FLERR,"Could not find compute msd fix with ID {}", id_fix);
|
||||
if (!fix) error->all(FLERR, "Could not find compute msd fix with ID {}", id_fix);
|
||||
|
||||
// nmsd = # of atoms in group
|
||||
|
||||
@ -144,8 +145,10 @@ void ComputeMSD::compute_vector()
|
||||
// cm = current center of mass
|
||||
|
||||
double cm[3];
|
||||
if (comflag) group->xcm(igroup,masstotal,cm);
|
||||
else cm[0] = cm[1] = cm[2] = 0.0;
|
||||
if (comflag)
|
||||
group->xcm(igroup, masstotal, cm);
|
||||
else
|
||||
cm[0] = cm[1] = cm[2] = 0.0;
|
||||
|
||||
// dx,dy,dz = displacement of atom from reference position
|
||||
// reference unwrapped position is stored by fix
|
||||
@ -164,8 +167,8 @@ void ComputeMSD::compute_vector()
|
||||
double yprd = domain->yprd;
|
||||
double zprd = domain->zprd;
|
||||
|
||||
double dx,dy,dz;
|
||||
int xbox,ybox,zbox;
|
||||
double dx, dy, dz;
|
||||
int xbox, ybox, zbox;
|
||||
|
||||
double msd[4];
|
||||
msd[0] = msd[1] = msd[2] = msd[3] = 0.0;
|
||||
@ -177,36 +180,34 @@ void ComputeMSD::compute_vector()
|
||||
double navfac;
|
||||
if (avflag) {
|
||||
naverage++;
|
||||
navfac = 1.0/(naverage+1);
|
||||
navfac = 1.0 / (naverage + 1);
|
||||
}
|
||||
|
||||
|
||||
if (domain->triclinic == 0) {
|
||||
for (int i = 0; i < nlocal; i++)
|
||||
if (mask[i] & groupbit) {
|
||||
xbox = (image[i] & IMGMASK) - IMGMAX;
|
||||
ybox = (image[i] >> IMGBITS & IMGMASK) - IMGMAX;
|
||||
zbox = (image[i] >> IMG2BITS) - IMGMAX;
|
||||
xtmp = x[i][0] + xbox*xprd - cm[0];
|
||||
ytmp = x[i][1] + ybox*yprd - cm[1];
|
||||
ztmp = x[i][2] + zbox*zprd - cm[2];
|
||||
xtmp = x[i][0] + xbox * xprd - cm[0];
|
||||
ytmp = x[i][1] + ybox * yprd - cm[1];
|
||||
ztmp = x[i][2] + zbox * zprd - cm[2];
|
||||
|
||||
// use running average position for reference if requested
|
||||
|
||||
if (avflag) {
|
||||
xoriginal[i][0] = (xoriginal[i][0]*naverage + xtmp)*navfac;
|
||||
xoriginal[i][1] = (xoriginal[i][1]*naverage + ytmp)*navfac;
|
||||
xoriginal[i][2] = (xoriginal[i][2]*naverage + ztmp)*navfac;
|
||||
xoriginal[i][0] = (xoriginal[i][0] * naverage + xtmp) * navfac;
|
||||
xoriginal[i][1] = (xoriginal[i][1] * naverage + ytmp) * navfac;
|
||||
xoriginal[i][2] = (xoriginal[i][2] * naverage + ztmp) * navfac;
|
||||
}
|
||||
|
||||
dx = xtmp - xoriginal[i][0];
|
||||
dy = ytmp - xoriginal[i][1];
|
||||
dz = ztmp - xoriginal[i][2];
|
||||
msd[0] += dx*dx;
|
||||
msd[1] += dy*dy;
|
||||
msd[2] += dz*dz;
|
||||
msd[3] += dx*dx + dy*dy + dz*dz;
|
||||
|
||||
msd[0] += dx * dx;
|
||||
msd[1] += dy * dy;
|
||||
msd[2] += dz * dz;
|
||||
msd[3] += dx * dx + dy * dy + dz * dz;
|
||||
}
|
||||
} else {
|
||||
for (int i = 0; i < nlocal; i++)
|
||||
@ -214,29 +215,29 @@ void ComputeMSD::compute_vector()
|
||||
xbox = (image[i] & IMGMASK) - IMGMAX;
|
||||
ybox = (image[i] >> IMGBITS & IMGMASK) - IMGMAX;
|
||||
zbox = (image[i] >> IMG2BITS) - IMGMAX;
|
||||
xtmp = x[i][0] + h[0]*xbox + h[5]*ybox + h[4]*zbox - cm[0];
|
||||
ytmp = x[i][1] + h[1]*ybox + h[3]*zbox - cm[1];
|
||||
ztmp = x[i][2] + h[2]*zbox - cm[2];
|
||||
xtmp = x[i][0] + h[0] * xbox + h[5] * ybox + h[4] * zbox - cm[0];
|
||||
ytmp = x[i][1] + h[1] * ybox + h[3] * zbox - cm[1];
|
||||
ztmp = x[i][2] + h[2] * zbox - cm[2];
|
||||
|
||||
// use running average position for reference if requested
|
||||
|
||||
if (avflag) {
|
||||
xoriginal[i][0] = (xoriginal[i][0]*naverage + xtmp)*navfac;
|
||||
xoriginal[i][1] = (xoriginal[i][0]*naverage + xtmp)*navfac;
|
||||
xoriginal[i][2] = (xoriginal[i][0]*naverage + xtmp)*navfac;
|
||||
xoriginal[i][0] = (xoriginal[i][0] * naverage + xtmp) * navfac;
|
||||
xoriginal[i][1] = (xoriginal[i][0] * naverage + xtmp) * navfac;
|
||||
xoriginal[i][2] = (xoriginal[i][0] * naverage + xtmp) * navfac;
|
||||
}
|
||||
|
||||
dx = xtmp - xoriginal[i][0];
|
||||
dy = ytmp - xoriginal[i][1];
|
||||
dz = ztmp - xoriginal[i][2];
|
||||
msd[0] += dx*dx;
|
||||
msd[1] += dy*dy;
|
||||
msd[2] += dz*dz;
|
||||
msd[3] += dx*dx + dy*dy + dz*dz;
|
||||
msd[0] += dx * dx;
|
||||
msd[1] += dy * dy;
|
||||
msd[2] += dz * dz;
|
||||
msd[3] += dx * dx + dy * dy + dz * dz;
|
||||
}
|
||||
}
|
||||
|
||||
MPI_Allreduce(msd,vector,4,MPI_DOUBLE,MPI_SUM,world);
|
||||
MPI_Allreduce(msd, vector, 4, MPI_DOUBLE, MPI_SUM, world);
|
||||
if (nmsd) {
|
||||
vector[0] /= nmsd;
|
||||
vector[1] /= nmsd;
|
||||
|
||||
Reference in New Issue
Block a user