From f6c77c3aba630e8e1e43d69f87819af92219ef2b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 28 Sep 2016 22:08:28 -0400 Subject: [PATCH 1/2] support dynamic groups with run style respa (cherry picked from commit b7baa1680d6e396f10aadeb58aac234ae0be1679) --- src/fix_group.cpp | 12 ++++++++++++ src/fix_group.h | 3 +++ 2 files changed, 15 insertions(+) diff --git a/src/fix_group.cpp b/src/fix_group.cpp index 4ebcdf3096..fe2495d6c0 100644 --- a/src/fix_group.cpp +++ b/src/fix_group.cpp @@ -21,6 +21,7 @@ #include "domain.h" #include "region.h" #include "modify.h" +#include "respa.h" #include "input.h" #include "variable.h" #include "memory.h" @@ -95,6 +96,7 @@ int FixGroup::setmask() { int mask = 0; mask |= POST_INTEGRATE; + mask |= POST_INTEGRATE_RESPA; return mask; } @@ -108,6 +110,9 @@ void FixGroup::init() if (group->dynamic[igroup]) error->all(FLERR,"Group dynamic parent group cannot be dynamic"); + if (strstr(update->integrate_style,"respa")) + nlevels_respa = ((Respa *) update->integrate)->nlevels; + // set current indices for region and variable if (regionflag) { @@ -169,6 +174,13 @@ void FixGroup::post_integrate() /* ---------------------------------------------------------------------- */ +void FixGroup::post_integrate_respa(int ilevel, int iloop) +{ + if (ilevel == nlevels_respa-1) post_integrate(); +} + +/* ---------------------------------------------------------------------- */ + void FixGroup::set_group() { int nlocal = atom->nlocal; diff --git a/src/fix_group.h b/src/fix_group.h index 1999855752..5815d31459 100644 --- a/src/fix_group.h +++ b/src/fix_group.h @@ -32,6 +32,7 @@ class FixGroup : public Fix { void init(); void setup(int); void post_integrate(); + void post_integrate_respa(int,int); private: int gbit,gbitinverse; @@ -40,6 +41,8 @@ class FixGroup : public Fix { char *idregion,*idvar; class Region *region; + int nlevels_respa; + void set_group(); }; From a315dcda9b84030214493c9230cd00a05de4085e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 29 Sep 2016 08:33:35 -0400 Subject: [PATCH 2/2] remove dead code (cherry picked from commit 7f0994aac0bc854e5c44c33e47bcb40637e9be07) --- src/REPLICA/prd.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/REPLICA/prd.cpp b/src/REPLICA/prd.cpp index a928425df1..646851f3a3 100644 --- a/src/REPLICA/prd.cpp +++ b/src/REPLICA/prd.cpp @@ -783,8 +783,6 @@ void PRD::log_event() void PRD::replicate(int ireplica) { - int nreplica = universe->nworlds; - int nprocs_universe = universe->nprocs; int i,m; // -----------------------------------------------------