Fixing memory seg fault w/ multi occasional nlist

This commit is contained in:
jtclemm
2024-11-04 13:16:07 -07:00
parent d2f761f8ed
commit bf888045d6

View File

@ -339,9 +339,9 @@ void NStencil::create_setup()
memory->create(maxstencil_multi, n, n, "neighstencil::maxstencil_multi"); memory->create(maxstencil_multi, n, n, "neighstencil::maxstencil_multi");
memory->create(nstencil_multi, n, n, "neighstencil::nstencil_multi"); memory->create(nstencil_multi, n, n, "neighstencil::nstencil_multi");
stencil_multi = new int**[n](); stencil_multi = new int**[n]();
for (i = 0; i < n; ++i) { for (i = 0; i < n; i++) {
stencil_multi[i] = new int*[n](); stencil_multi[i] = new int*[n]();
for (j = 0; j < n; ++j) { for (j = 0; j < n; j++) {
maxstencil_multi[i][j] = 0; maxstencil_multi[i][j] = 0;
nstencil_multi[i][j] = 0; nstencil_multi[i][j] = 0;
stencil_multi[i][j] = nullptr; stencil_multi[i][j] = nullptr;
@ -464,11 +464,13 @@ double NStencil::memory_usage()
bytes += (double)atom->ntypes * maxstencil_multi_old * sizeof(double); bytes += (double)atom->ntypes * maxstencil_multi_old * sizeof(double);
} else if (neighstyle == Neighbor::MULTI) { } else if (neighstyle == Neighbor::MULTI) {
int n = ncollections; int n = ncollections;
if (maxstencil_multi) {
for (int i = 0; i < n; i++) { for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) { for (int j = 0; j < n; j++) {
bytes += (double)maxstencil_multi[i][j] * sizeof(int); bytes += (double)maxstencil_multi[i][j] * sizeof(int);
} }
} }
} }
}
return bytes; return bytes;
} }