diff options
author | Erik Schnetter <schnetter@aei.mpg.de> | 2005-10-14 13:19:00 +0000 |
---|---|---|
committer | Erik Schnetter <schnetter@aei.mpg.de> | 2005-10-14 13:19:00 +0000 |
commit | 388356abd06cfb5f510ccea6af573596d5dbe5a3 (patch) | |
tree | e7380cba4f8cc8e848ad09450533cd1baa78bd40 | |
parent | 6315356541b2b9b20b0d33d676aa9b71453935c4 (diff) |
Carpet: Correct processor distribution when a local grid size is specified
darcs-hash:20051014131935-891bb-a9f41272a64fa41882449afc3ab7a57c08f7f6c2.gz
-rw-r--r-- | Carpet/Carpet/src/SetupGH.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Carpet/Carpet/src/SetupGH.cc b/Carpet/Carpet/src/SetupGH.cc index 567d10b93..ff0933760 100644 --- a/Carpet/Carpet/src/SetupGH.cc +++ b/Carpet/Carpet/src/SetupGH.cc @@ -896,7 +896,7 @@ namespace Carpet { stack<int> factors; for (int procsleft = nprocs; procsleft > 1;) { for (int divisor = 2; divisor <= procsleft; ++divisor) { - if (procsleft % divisor == 0) { + while (procsleft % divisor == 0) { factors.push (divisor); procsleft /= divisor; } @@ -905,6 +905,7 @@ namespace Carpet { // Distribute the factors greedily onto the directions while (! factors.empty()) { int const mindir = minloc (npoints); + assert (mindir>=0 and mindir<dim); int const factor = factors.top(); factors.pop(); npoints[mindir] *= factor; |