From e9bd258f11dd1f9d6a3093635e9881056a71ce43 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?FEL=C5=A0=C3=96CI=20Marek?= <marek.felsoci@inria.fr>
Date: Sun, 5 Nov 2023 18:10:05 +0100
Subject: [PATCH] Force an HMAT divider of 2

---
 include/main.h | 6 ------
 src/help.c     | 1 -
 src/hmat.c     | 8 +-------
 src/main.c     | 1 -
 4 files changed, 1 insertion(+), 15 deletions(-)

diff --git a/include/main.h b/include/main.h
index 03382bb..b35e144 100644
--- a/include/main.h
+++ b/include/main.h
@@ -45,12 +45,6 @@ extern ScalarType stype;
 /*! \brief  Wavelength (for oscillatory kernels). */
 extern double lambda;
 
-/*! \brief Value of the Hmat clustering divider (number of children per box, default is 2)
-
-  It can be changed with "--hmat_divider" (read in readFlagsTestHMAT() in hmat.c)
-*/
-extern int divider;
-
 /*! \brief  Flag to compute the residual norm after the Hmat solve (default is 0).
 
   It can be changed with --hmat_residual (read in readFlagsTestHMAT() in hmat.c)
diff --git a/src/help.c b/src/help.c
index 8eafc56..1bd9a7f 100644
--- a/src/help.c
+++ b/src/help.c
@@ -25,7 +25,6 @@ int printHelp() {
          "     For FEM/BEM, the BEM is done on the outer surface of the cylinder (without the upper and lower disks).\n"
          "\n"
          "     Options for HMAT tests\n"
-         "     --hmat_divider: Value of the Hmat clustering divider (number of children per box). Default: 2.\n"
          "     --use_hmat_shuffle: Using Hmat shuffle clustering. Default: NO.\n"
          "     --hmat_divider_min: Value of the Hmat shuffle clustering minimum divider (minimum number of children per box). Default: 2.\n"
          "     --hmat_divider_max: Value of the Hmat shuffle clustering maximum divider (maximum number of children per box). Default: 4.\n"
diff --git a/src/hmat.c b/src/hmat.c
index 84b9155..bd56576 100644
--- a/src/hmat.c
+++ b/src/hmat.c
@@ -20,12 +20,6 @@ int init_hmat_interface() {
 }
 
 int readFlagsTestHMAT(int *argc, char ***argv) {
-  /* Value of the Hmat clustering divider (number of children per box) */
-  if (MpfArgGetInt(argc, *argv, 1, "--hmat_divider", &divider)) {
-    printf("Reading Hmat clustering divider = %d\n", divider) ;
-    ASSERTQ(divider>1);
-  }
-
   /* Flag to compute the residual norm after the Hmat solve */
   if (MpfArgHasName(argc, *argv, 1, "--hmat_residual")) {
     hmat_residual=1;
@@ -378,7 +372,7 @@ HMAT_desc_t *HMAT_generate_matrix( hmat_interface_t *hi ) {
       printf("HMat maximum leaf size: %d\n", mpf_hmat_settings.max_leaf_size);
       clustering = hmat_create_clustering_max_dof(clustering, mpf_hmat_settings.max_leaf_size);
     }
-    hmat_set_clustering_divider(clustering, divider);
+    hmat_set_clustering_divider(clustering, 2);
     ct_builder = hmat_create_cluster_tree_builder( clustering );
   }
 
diff --git a/src/main.c b/src/main.c
index 6259949..420c3bd 100644
--- a/src/main.c
+++ b/src/main.c
@@ -19,7 +19,6 @@ int simplePrec = 0;
 int complexALGO = 1;
 ScalarType stype = DOUBLE_COMPLEX;
 double lambda;
-int divider = 2;
 int hmat_residual = 0;
 int hmat_refine = 0;
 int use_hmat_shuffle = 0;
-- 
GitLab