From 541b4fe63fb68d28fcc38fb544c325c641797a3a Mon Sep 17 00:00:00 2001
From: "Peter W. Draper" <p.w.draper@durham.ac.uk>
Date: Mon, 18 Jun 2018 18:19:30 +0100
Subject: [PATCH] Use an array for the grid size used in the initial partition

---
 examples/parameter_example.yml | 4 +---
 src/partition.c                | 8 ++------
 2 files changed, 3 insertions(+), 9 deletions(-)

diff --git a/examples/parameter_example.yml b/examples/parameter_example.yml
index 6eb277b303..8b77cb9db8 100644
--- a/examples/parameter_example.yml
+++ b/examples/parameter_example.yml
@@ -114,9 +114,7 @@ Restarts:
 DomainDecomposition:
   initial_type:     simple_metis # (Optional) The initial decomposition strategy: "grid",
                                  #            "simple_metis", "weighted_metis", or "vectorized".
-  initial_grid_x:   10      # (Optional) Grid size if the "grid" strategy is chosen.
-  initial_grid_y:   10      # ""
-  initial_grid_z:   10      # ""
+  initial_grid: [10,10,10] # (Optional) Grid sizes if the "grid" strategy is chosen.
 
   repartition_type: costs/costs # (Optional) The re-decomposition strategy, one of:
                             # "none/none", "costs/costs", "counts/none", "none/costs", "counts/costs",
diff --git a/src/partition.c b/src/partition.c
index 85a51dddf2..25b073c319 100644
--- a/src/partition.c
+++ b/src/partition.c
@@ -1095,12 +1095,8 @@ void partition_init(struct partition *partition,
 
   /* In case of grid, read more parameters */
   if (part_type[0] == 'g') {
-    partition->grid[0] = parser_get_opt_param_int(
-        params, "DomainDecomposition:initial_grid_x", partition->grid[0]);
-    partition->grid[1] = parser_get_opt_param_int(
-        params, "DomainDecomposition:initial_grid_y", partition->grid[1]);
-    partition->grid[2] = parser_get_opt_param_int(
-        params, "DomainDecomposition:initial_grid_z", partition->grid[2]);
+    parser_get_opt_param_int_array(params, "DomainDecomposition:initial_grid",
+                                   3, partition->grid);
   }
 
   /* Now let's check what the user wants as a repartition strategy */
-- 
GitLab