avoid error in image creation when sigma is zero
This commit is contained in:
@ -508,14 +508,16 @@ void ImageViewer::createImage()
|
|||||||
// use Lennard-Jones sigma for radius, if available
|
// use Lennard-Jones sigma for radius, if available
|
||||||
usesigma = false;
|
usesigma = false;
|
||||||
const char *pair_style = (const char *)lammps->extract_global("pair_style");
|
const char *pair_style = (const char *)lammps->extract_global("pair_style");
|
||||||
if (!useelements && pair_style && (strncmp(pair_style, "lj/", 3) == 0)) {
|
if (!useelements && !usediameter && pair_style && (strncmp(pair_style, "lj/", 3) == 0)) {
|
||||||
double **sigma = (double **)lammps->extract_pair("sigma");
|
double **sigma = (double **)lammps->extract_pair("sigma");
|
||||||
if (sigma) {
|
if (sigma) {
|
||||||
usesigma = true;
|
usesigma = true;
|
||||||
for (int i = 1; i <= ntypes; ++i)
|
for (int i = 1; i <= ntypes; ++i) {
|
||||||
|
if (sigma[i][i] > 0.0)
|
||||||
adiams += QString("adiam %1 %2 ").arg(i).arg(vdwfactor * sigma[i][i]);
|
adiams += QString("adiam %1 %2 ").arg(i).arg(vdwfactor * sigma[i][i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
// adjust pushbutton state and clear adiams string to disable VDW display, if needed
|
// adjust pushbutton state and clear adiams string to disable VDW display, if needed
|
||||||
if (useelements || usediameter || usesigma) {
|
if (useelements || usediameter || usesigma) {
|
||||||
auto *button = findChild<QPushButton *>("vdw");
|
auto *button = findChild<QPushButton *>("vdw");
|
||||||
@ -526,10 +528,13 @@ void ImageViewer::createImage()
|
|||||||
if (button) button->setEnabled(false);
|
if (button) button->setEnabled(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// color
|
||||||
if (useelements)
|
if (useelements)
|
||||||
dumpcmd += blank + "element";
|
dumpcmd += blank + "element";
|
||||||
else
|
else
|
||||||
dumpcmd += blank + settings.value("color", "type").toString();
|
dumpcmd += blank + settings.value("color", "type").toString();
|
||||||
|
|
||||||
|
// diameter
|
||||||
if (usediameter && (vdwfactor > 1.0))
|
if (usediameter && (vdwfactor > 1.0))
|
||||||
dumpcmd += blank + "diameter";
|
dumpcmd += blank + "diameter";
|
||||||
else
|
else
|
||||||
|
|||||||
Reference in New Issue
Block a user