From a775cf4136199a044b67ce86d3b08b04d59ada48 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 1 Aug 2024 10:02:42 -0400 Subject: [PATCH] avoid error in image creation when sigma is zero --- tools/lammps-gui/imageviewer.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/tools/lammps-gui/imageviewer.cpp b/tools/lammps-gui/imageviewer.cpp index 0894855a02..af7e22128a 100644 --- a/tools/lammps-gui/imageviewer.cpp +++ b/tools/lammps-gui/imageviewer.cpp @@ -508,12 +508,14 @@ void ImageViewer::createImage() // use Lennard-Jones sigma for radius, if available usesigma = false; 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"); if (sigma) { usesigma = true; - for (int i = 1; i <= ntypes; ++i) - adiams += QString("adiam %1 %2 ").arg(i).arg(vdwfactor * sigma[i][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]); + } } } // 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); } + // color if (useelements) dumpcmd += blank + "element"; else dumpcmd += blank + settings.value("color", "type").toString(); + + // diameter if (usediameter && (vdwfactor > 1.0)) dumpcmd += blank + "diameter"; else