aboutsummaryrefslogtreecommitdiff
path: root/Carpet/Carpet
diff options
context:
space:
mode:
Diffstat (limited to 'Carpet/Carpet')
-rw-r--r--Carpet/Carpet/param.ccl4
-rw-r--r--Carpet/Carpet/src/Recompose.cc3
2 files changed, 6 insertions, 1 deletions
diff --git a/Carpet/Carpet/param.ccl b/Carpet/Carpet/param.ccl
index 9be76541e..ad43af09e 100644
--- a/Carpet/Carpet/param.ccl
+++ b/Carpet/Carpet/param.ccl
@@ -445,6 +445,10 @@ CCTK_INT min_points_per_proc "Minimum number of grid points per processor" STEER
0:* :: "that many"
} 0
+BOOLEAN split_components "Split components onto processes; without this, one needs many components and few processes" STEERABLE=always
+{
+} "yes"
+
CCTK_INT num_threads "Number of threads per process" STEERABLE=recover
diff --git a/Carpet/Carpet/src/Recompose.cc b/Carpet/Carpet/src/Recompose.cc
index a183d7c6b..29eba4337 100644
--- a/Carpet/Carpet/src/Recompose.cc
+++ b/Carpet/Carpet/src/Recompose.cc
@@ -1691,7 +1691,8 @@ namespace Carpet {
newregs.reserve (newnregs);
for (int r=0, p=0; r<nregs; p+=mynprocs.AT(r), ++r) {
if (recompose_verbose) cout << "SRMA superreg[" << r << "] " << superregs.AT(r) << endl;
- bvect const dims = false;
+ // bvect const dims = false;
+ bvect const dims = not split_components;
SplitRegionsMaps_Automatic_Recursively
(dims, p, mynprocs.AT(r), superregs.AT(r), newregs);
} // for r