Fixed typos in compute efield/atom and bug with set charge for atom_style dieletric
This commit is contained in:
@ -93,15 +93,15 @@ void ComputeEfieldAtom::setup()
|
|||||||
if (strcmp(force->pair_style, "lj/cut/coul/long/dielectric") == 0)
|
if (strcmp(force->pair_style, "lj/cut/coul/long/dielectric") == 0)
|
||||||
efield_pair = (dynamic_cast<PairLJCutCoulLongDielectric *>(force->pair))->efield;
|
efield_pair = (dynamic_cast<PairLJCutCoulLongDielectric *>(force->pair))->efield;
|
||||||
else if (strcmp(force->pair_style, "lj/cut/coul/long/dielectric/omp") == 0)
|
else if (strcmp(force->pair_style, "lj/cut/coul/long/dielectric/omp") == 0)
|
||||||
efield_pair = (dynamic_cast<PairLJCutCoulLongDielectric *>(force->pair))->efield;
|
efield_pair = (dynamic_cast<PairLJCutCoulMSMDielectric *>(force->pair))->efield;
|
||||||
else if (strcmp(force->pair_style, "lj/cut/coul/msm/dielectric") == 0)
|
else if (strcmp(force->pair_style, "lj/cut/coul/msm/dielectric") == 0)
|
||||||
efield_pair = (dynamic_cast<PairLJCutCoulMSMDielectric *>(force->pair))->efield;
|
efield_pair = (dynamic_cast<PairLJCutCoulMSMDielectric *>(force->pair))->efield;
|
||||||
else if (strcmp(force->pair_style, "lj/cut/coul/cut/dielectric") == 0)
|
else if (strcmp(force->pair_style, "lj/cut/coul/cut/dielectric") == 0)
|
||||||
efield_pair = (dynamic_cast<PairLJCutCoulCutDielectric *>(force->pair))->efield;
|
efield_pair = (dynamic_cast<PairLJCutCoulCutDielectric *>(force->pair))->efield;
|
||||||
else if (strcmp(force->pair_style, "lj/cut/coul/cut/dielectric/omp") == 0)
|
else if (strcmp(force->pair_style, "lj/cut/coul/cut/dielectric/omp") == 0)
|
||||||
efield_pair = (dynamic_cast<PairLJCutCoulCutDielectric *>(force->pair))->efield;
|
efield_pair = (dynamic_cast<PairLJCutCoulDebyeDielectric *>(force->pair))->efield;
|
||||||
else if (strcmp(force->pair_style, "lj/cut/coul/debye/dielectric") == 0)
|
else if (strcmp(force->pair_style, "lj/cut/coul/debye/dielectric") == 0)
|
||||||
efield_pair = (dynamic_cast<PairLJCutCoulCutDielectric *>(force->pair))->efield;
|
efield_pair = (dynamic_cast<PairLJCutCoulDebyeDielectric *>(force->pair))->efield;
|
||||||
else if (strcmp(force->pair_style, "lj/cut/coul/debye/dielectric/omp") == 0)
|
else if (strcmp(force->pair_style, "lj/cut/coul/debye/dielectric/omp") == 0)
|
||||||
efield_pair = (dynamic_cast<PairLJCutCoulCutDielectric *>(force->pair))->efield;
|
efield_pair = (dynamic_cast<PairLJCutCoulCutDielectric *>(force->pair))->efield;
|
||||||
else if (strcmp(force->pair_style, "coul/long/dielectric") == 0)
|
else if (strcmp(force->pair_style, "coul/long/dielectric") == 0)
|
||||||
|
|||||||
@ -855,8 +855,11 @@ void Set::set(int keyword)
|
|||||||
else if (keyword == VX) atom->v[i][0] = dvalue;
|
else if (keyword == VX) atom->v[i][0] = dvalue;
|
||||||
else if (keyword == VY) atom->v[i][1] = dvalue;
|
else if (keyword == VY) atom->v[i][1] = dvalue;
|
||||||
else if (keyword == VZ) atom->v[i][2] = dvalue;
|
else if (keyword == VZ) atom->v[i][2] = dvalue;
|
||||||
else if (keyword == CHARGE) atom->q[i] = dvalue;
|
else if (keyword == CHARGE) {
|
||||||
else if (keyword == MASS) {
|
atom->q[i] = dvalue;
|
||||||
|
// ensure that scaled charges are consistent the new charge value
|
||||||
|
if (atom->epsilon) atom->q_scaled[i] = dvalue / atom->epsilon[i];
|
||||||
|
} else if (keyword == MASS) {
|
||||||
if (dvalue <= 0.0) error->one(FLERR,"Invalid mass in set command");
|
if (dvalue <= 0.0) error->one(FLERR,"Invalid mass in set command");
|
||||||
atom->rmass[i] = dvalue;
|
atom->rmass[i] = dvalue;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user