diff --git a/src/compute_global_atom.cpp b/src/compute_global_atom.cpp index 705d9df544..f015ec910a 100644 --- a/src/compute_global_atom.cpp +++ b/src/compute_global_atom.cpp @@ -316,6 +316,10 @@ void ComputeGlobalAtom::compute_peratom() nmax = atom->nmax; memory->destroy(indices); memory->create(indices,nmax,"global/atom:indices"); + if (whichref == VARIABLE) { + memory->destroy(varatom); + memory->create(varatom,nmax,"global/atom:varatom"); + } if (nvalues == 1) { memory->destroy(vector_atom); memory->create(vector_atom,nmax,"global/atom:vector_atom"); @@ -373,12 +377,6 @@ void ComputeGlobalAtom::compute_peratom() } } else if (whichref == VARIABLE) { - if (atom->nmax > nmax) { - nmax = atom->nmax; - memory->destroy(varatom); - memory->create(varatom,nmax,"global/atom:varatom"); - } - input->variable->compute_atom(ref2index,igroup,varatom,1,0); for (i = 0; i < nlocal; i++) if (mask[i] & groupbit)