From d753c51c450064c5a4ac8a7157fac6ddadb4a0dc Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Mon, 17 Sep 2018 19:44:32 -0600 Subject: [PATCH] The sna*/atom computes were not destroying SNA objects. Fixed. --- src/SNAP/compute_sna_atom.cpp | 5 ++++- src/SNAP/compute_sna_atom.h | 1 + src/SNAP/compute_snad_atom.cpp | 2 ++ src/SNAP/compute_snad_atom.h | 1 + src/SNAP/compute_snav_atom.cpp | 3 +++ src/SNAP/compute_snav_atom.h | 1 + 6 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/SNAP/compute_sna_atom.cpp b/src/SNAP/compute_sna_atom.cpp index a2c1f55788..5ca63a7e85 100644 --- a/src/SNAP/compute_sna_atom.cpp +++ b/src/SNAP/compute_sna_atom.cpp @@ -115,7 +115,8 @@ ComputeSNAAtom::ComputeSNAAtom(LAMMPS *lmp, int narg, char **arg) : } else error->all(FLERR,"Illegal compute sna/atom command"); } - snaptr = new SNA*[comm->nthreads]; + nthreads = comm->nthreads; + snaptr = new SNA*[nthreads]; #if defined(_OPENMP) #pragma omp parallel default(none) shared(lmp,rfac0,twojmax,rmin0,switchflag,bzeroflag) #endif @@ -146,6 +147,8 @@ ComputeSNAAtom::~ComputeSNAAtom() memory->destroy(radelem); memory->destroy(wjelem); memory->destroy(cutsq); + for (int tid = 0; tiddestroy(radelem); memory->destroy(wjelem); memory->destroy(cutsq); + for (int tid = 0; tiddestroy(radelem); memory->destroy(wjelem); memory->destroy(cutsq); + + for (int tid = 0; tid