diff --git a/src/atom.cpp b/src/atom.cpp index f30ace174e..08e9639440 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -2129,14 +2129,18 @@ void Atom::add_molecule_atom(Molecule *onemol, int iatom, int ilocal, tagint off // initialize custom per-atom properties to zero if present - for (int i = 0; i < nivector; ++i) ivector[i][ilocal] = 0; - for (int i = 0; i < ndvector; ++i) dvector[i][ilocal] = 0.0; + for (int i = 0; i < nivector; ++i) + if (ivname[i]) ivector[i][ilocal] = 0; + for (int i = 0; i < ndvector; ++i) + if (dvname[i]) dvector[i][ilocal] = 0.0; for (int i = 0; i < niarray; ++i) - for (int j = 0; j < icols[i]; ++j) - iarray[i][ilocal][j] = 0; + if (ianame[i]) + for (int j = 0; j < icols[i]; ++j) + iarray[i][ilocal][j] = 0; for (int i = 0; i < ndarray; ++i) - for (int j = 0; j < dcols[i]; ++j) - darray[i][ilocal][j] = 0.0; + if (daname[i]) + for (int j = 0; j < dcols[i]; ++j) + darray[i][ilocal][j] = 0.0; if (molecular != Atom::MOLECULAR) return;