avoid error in image creation when sigma is zero

This commit is contained in:
Axel Kohlmeyer
2024-08-01 10:02:42 -04:00
parent a41d20e412
commit a775cf4136

View File

@ -508,12 +508,14 @@ 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) {
adiams += QString("adiam %1 %2 ").arg(i).arg(vdwfactor * sigma[i][i]); if (sigma[i][i] > 0.0)
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
@ -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