diff --git a/src/neighbor.cpp b/src/neighbor.cpp index b7329d7b0fcdb513bb3c8288fe00a872fd7d92d9..48ddab69c646b107fbddbdfd4254dc71531b9244 100644 --- a/src/neighbor.cpp +++ b/src/neighbor.cpp @@ -467,12 +467,11 @@ void Neighbor::init() stencil_create = new StencilPtr[nlist]; // create individual lists, one per request - // copy dnum setting from request to list // pass list ptr back to requestor (except for Command class) + // wait to allocate initial pages until copy lists are detected for (i = 0; i < nlist; i++) { lists[i] = new NeighList(lmp); - lists[i]->setup_pages(pgsize,oneatom,requests[i]->dnum); lists[i]->index = i; if (requests[i]->pair) { @@ -595,6 +594,12 @@ void Neighbor::init() } } + // allocate initial pages for each list, except if listcopy set + + for (i = 0; i < nlist; i++) + if (!lists[i]->listcopy) + lists[i]->setup_pages(pgsize,oneatom,requests[i]->dnum); + // set ptrs to pair_build and stencil_create functions for each list // ptrs set to NULL if not set explicitly // also set cudable to 0 if any neigh list request is not cudable