From a24eccf95d0abd036823ff5bbe45839ca9d8a907 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Fri, 11 Aug 2023 09:43:28 -0500 Subject: [PATCH] Removed maxatom from fix spring/self, need to work on exchange for xoriginal on spring/self/kk --- src/KOKKOS/fix_spring_self_kokkos.cpp | 12 +----------- src/fix_spring_self.cpp | 3 ++- src/fix_spring_self.h | 1 - 3 files changed, 3 insertions(+), 13 deletions(-) diff --git a/src/KOKKOS/fix_spring_self_kokkos.cpp b/src/KOKKOS/fix_spring_self_kokkos.cpp index fe6d3a3d50..5031c0641b 100644 --- a/src/KOKKOS/fix_spring_self_kokkos.cpp +++ b/src/KOKKOS/fix_spring_self_kokkos.cpp @@ -43,9 +43,8 @@ FixSpringSelfKokkos::FixSpringSelfKokkos(LAMMPS *lmp, int narg, char datamask_read = EMPTY_MASK; datamask_modify = EMPTY_MASK; - maxatom = atom->nmax; memory->destroy(xoriginal); - memoryKK->create_kokkos(k_xoriginal,xoriginal,maxatom,3,"spring/self:xoriginal"); + memoryKK->create_kokkos(k_xoriginal,xoriginal,atom->nmax,3,"spring/self:xoriginal"); d_xoriginal = k_xoriginal.view(); } @@ -85,15 +84,6 @@ void FixSpringSelfKokkos::post_force(int /*vflag*/) int nlocal = atom->nlocal; - // reallocate xoriginal array if necessary - - if (atom->nmax > maxatom) { - maxatom = atom->nmax; - memoryKK->destroy_kokkos(k_xoriginal,xoriginal); - memoryKK->create_kokkos(k_xoriginal,xoriginal,maxatom,3,"fix_spring/self:xoriginal"); - d_xoriginal = k_xoriginal.view(); - } - double espring_kk; diff --git a/src/fix_spring_self.cpp b/src/fix_spring_self.cpp index 31f54caef2..df00a2ba8c 100644 --- a/src/fix_spring_self.cpp +++ b/src/fix_spring_self.cpp @@ -73,7 +73,6 @@ FixSpringSelf::FixSpringSelf(LAMMPS *lmp, int narg, char **arg) : // register with Atom class xoriginal = nullptr; - maxatom = atom->nmax; FixSpringSelf::grow_arrays(atom->nmax); atom->add_callback(Atom::GROW); atom->add_callback(Atom::RESTART); @@ -97,6 +96,8 @@ FixSpringSelf::FixSpringSelf(LAMMPS *lmp, int narg, char **arg) : FixSpringSelf::~FixSpringSelf() { + if (copymode) return; + // unregister callbacks to this fix from Atom class atom->delete_callback(id,Atom::GROW); diff --git a/src/fix_spring_self.h b/src/fix_spring_self.h index 24a03aa92e..f13f2be918 100644 --- a/src/fix_spring_self.h +++ b/src/fix_spring_self.h @@ -52,7 +52,6 @@ class FixSpringSelf : public Fix { double **xoriginal; // original coords of atoms int xflag, yflag, zflag; int ilevel_respa; - int maxatom; }; } // namespace LAMMPS_NS