diff --git a/doc/src/compute_property_local.txt b/doc/src/compute_property_local.txt index b0ec088cf79d009e7c3062907d73dbfe3279e6da..c4ad0afc95cd3fcf7655d5861c66a3f488683519 100644 --- a/doc/src/compute_property_local.txt +++ b/doc/src/compute_property_local.txt @@ -19,8 +19,8 @@ one or more attributes may be appended :l patom1 patom2 ptype1 ptype2 batom1 batom2 btype aatom1 aatom2 aatom3 atype - datom1 datom2 datom3 dtype - iatom1 iatom2 iatom3 itype :pre + datom1 datom2 datom3 datom4 dtype + iatom1 iatom2 iatom3 iatom4 itype :pre natom1, natom2 = IDs of 2 atoms in each pair (within neighbor cutoff) ntype1, ntype2 = type of 2 atoms in each pair (within neighbor cutoff) diff --git a/src/balance.cpp b/src/balance.cpp index 7dd13e8766ac9c16056035afe31d1e3f8e38a017..2a953caf477acc84863fa3f39e4ad54e518128cd 100644 --- a/src/balance.cpp +++ b/src/balance.cpp @@ -647,6 +647,21 @@ int *Balance::bisection(int sortflag) double *shrinklo = &shrinkall[0]; double *shrinkhi = &shrinkall[3]; + // if shrink size in any dim is zero, use box size in that dim + + if (shrinklo[0] == shrinkhi[0]) { + shrinklo[0] = boxlo[0]; + shrinkhi[0] = boxhi[0]; + } + if (shrinklo[1] == shrinkhi[1]) { + shrinklo[1] = boxlo[1]; + shrinkhi[1] = boxhi[1]; + } + if (shrinklo[2] == shrinkhi[2]) { + shrinklo[2] = boxlo[2]; + shrinkhi[2] = boxhi[2]; + } + // invoke RCB // then invert() to create list of proc assignments for my atoms // NOTE: (3/2017) can remove undocumented "old" option at some point diff --git a/src/rcb.cpp b/src/rcb.cpp index 3027920310055351370fd6bff70f61038f01b726..13e27b6fbfda836c53b381db8171f59f4b921e0d 100644 --- a/src/rcb.cpp +++ b/src/rcb.cpp @@ -241,9 +241,11 @@ void RCB::compute(int dimension, int n, double **x, double *wt, // dim_select = selected cut dimension // valuehalf_select = valuehalf in that dimension // dotmark_select = dot markings in that dimension + // initialize largest = -1.0 to insure a cut in some dim is accepted + // e.g. if current recursed box is size 0 in all dims int dim_select = -1; - double largest = 0.0; + double largest = -1.0; for (dim = 0; dim < dimension; dim++) {