Fixing memory seg fault w/ multi occasional nlist
This commit is contained in:
@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user