bug fix for tiled communication at cutoffs near box size

This commit is contained in:
Steve Plimpton
2019-03-27 15:51:10 -06:00
parent 28a6dcd1c3
commit 6b09f6d490
3 changed files with 14 additions and 13 deletions

View File

@ -274,10 +274,6 @@ void FixBalance::rebalance()
comm->layout = Comm::LAYOUT_TILED;
}
// output of new decomposition
if (balance->outflag) balance->dumpout(update->ntimestep);
// reset proc sub-domains
// check and warn if any proc's subbox is smaller than neigh skin
// since may lead to lost atoms in comm->exchange()
@ -286,12 +282,17 @@ void FixBalance::rebalance()
domain->set_local_box();
domain->subbox_too_small_check(neighbor->skin);
// output of new decomposition
if (balance->outflag) balance->dumpout(update->ntimestep);
// move atoms to new processors via irregular()
// for non-RCB only needed if migrate_check() says an atom moves too far
// else allow caller's comm->exchange() to do it
// set disable = 0, so weights migrate with atoms
// important to delay disable = 1 until after pre_neighbor imbfinal calc
// b/c atoms may migrate again in comm->exchange()
// NOTE: for reproducible debug runs, set 1st arg of migrate_atoms() to 1
if (domain->triclinic) domain->x2lamda(atom->nlocal);
if (wtflag) balance->fixstore->disable = 0;