diff --git a/srcs/BEM/functionsBEM.hpp b/srcs/BEM/functionsBEM.hpp
index 40e85db2665bc4e288405c194e5efc565fe06d2a..ea63482973bfa134d5c6af3b28854631f1d85b2a 100644
--- a/srcs/BEM/functionsBEM.hpp
+++ b/srcs/BEM/functionsBEM.hpp
@@ -23,7 +23,7 @@ struct elementStruct{
 };
 
 
-void solverBEM(std::map<int, double> &electrostaticPressure, std::map<int,std::pair<double,double>> & boundaryDisplacementMap, int & nbViews, bool postProcessing, const int iteration, bool untangleMesh);
+void solverBEM(std::map<int, double> &electrostaticPressure, int & nbViews, std::map<int,std::pair<double,double>> & boundaryDisplacementMap, bool postProcessing, const int iteration, bool untangleMesh);
 void singleDomainSolverBEM(std::map<int, double> &electrostaticPressure, std::map<int,std::pair<double,double>> & boundaryDisplacementMap, int & nbViews, bool postProcessing, const int iteration, const int domainTag);
 void dispNodeCoordFun(const std::vector<size_t> &allNodeTags, const std::vector<double> &allCoord);
 void dispMatricesFun(const Eigen::MatrixXd &A, const Eigen::MatrixXd &B, const Eigen::MatrixXd &c, const Eigen::MatrixXd &b, const Eigen::MatrixXd &x);
diff --git a/srcs/BEM/mainBEM.cpp b/srcs/BEM/mainBEM.cpp
index 1f23a1723ab1bfb239354724aac7e9152fe9771b..9f35b0d70edee81bf0e49e41cb5b9ba0c078fbe1 100644
--- a/srcs/BEM/mainBEM.cpp
+++ b/srcs/BEM/mainBEM.cpp
@@ -24,7 +24,7 @@ int main(int argc, char **argv)
     std::map<int,std::pair<double,double>> boundaryDisplacementMap;
 
     //solverBEM(argc, argv, finalElementTags, electrostaticPressure, nbViews);
-    solverBEM(electrostaticPressure, boundaryDisplacementMap, nbViews, true, 1, false); // iteration number randomly set to 1
+    solverBEM(electrostaticPressure, nbViews, boundaryDisplacementMap, true, 1, false); // iteration number randomly set to 1
 
     std::map<int, double>::iterator it;
 
diff --git a/srcs/BEM/solverBEM.cpp b/srcs/BEM/solverBEM.cpp
index afe69531d6cce4a57ba613d755bfa44ad9cf7f04..248d0871dcc90e5c82737606429d3826e9bea724 100644
--- a/srcs/BEM/solverBEM.cpp
+++ b/srcs/BEM/solverBEM.cpp
@@ -11,7 +11,7 @@
 #include <omp.h>
 #include <list>
 
-void solverBEM(std::map<int, double> &electrostaticPressure, std::map<int,std::pair<double,double>> & boundaryDisplacementMap, int & nbViews, bool postProcessing, const int iteration, bool untangleMesh)
+void solverBEM(std::map<int, double> &electrostaticPressure, int & nbViews, std::map<int,std::pair<double,double>> & boundaryDisplacementMap, bool postProcessing, const int iteration, bool untangleMesh)
 {
 
     if(untangleMesh)
diff --git a/srcs/main.cpp b/srcs/main.cpp
index 90b59b98a2b0a7e9c02385c2057e14ed35a6be14..1bacc6c05934e5e4f838becfe2b4f1a0f656bf6f 100644
--- a/srcs/main.cpp
+++ b/srcs/main.cpp
@@ -46,10 +46,9 @@ int main(int argc, char **argv)
 
         int viewTagU = gmsh::view::add("u"); // à modifier plus tard
         int viewTagF = gmsh::view::add("f");
-    
 
 
-        solverBEM(electrostaticPressure, boundaryDisplacementMap, nbViews, postProcessing, 1, false);
+        solverBEM(electrostaticPressure, nbViews, boundaryDisplacementMap, postProcessing, 1, false);
         solverFEMnonLinear(electrostaticPressure, boundaryDisplacementMap, nbViews, postProcessing, 1, viewTagU, viewTagF, false);
         
         std::vector<int> nodeTags(boundaryDisplacementMap.size());
@@ -71,7 +70,7 @@ int main(int argc, char **argv)
 
         for(iteration = 2; iteration <= maxNbIteration; iteration++)
         {        
-            solverBEM(electrostaticPressure, boundaryDisplacementMap, nbViews, postProcessing, iteration, false);
+            solverBEM(electrostaticPressure, nbViews, boundaryDisplacementMap, postProcessing, iteration, false);
             solverFEMnonLinear(electrostaticPressure, boundaryDisplacementMap, nbViews, postProcessing, iteration, viewTagU, viewTagF, false);
 
             i = 0;
@@ -98,18 +97,18 @@ int main(int argc, char **argv)
 
 
         nbViews = 0;
-        solverBEM(electrostaticPressure, boundaryDisplacementMap, nbViews, postProcessing, iteration, false);
+        solverBEM(electrostaticPressure, nbViews, boundaryDisplacementMap, postProcessing, iteration, false);
         postProcessing = true;
         solverFEMnonLinear(electrostaticPressure, boundaryDisplacementMap, nbViews, postProcessing, iteration, viewTagU, viewTagF, untangleMesh);
 
         if(untangleMesh)
         {
             std::map<int,std::pair<double,double>> boundaryDisplacementMap2;
-            solverBEM(electrostaticPressure, boundaryDisplacementMap2, nbViews, postProcessing, iteration, untangleMesh);
+            solverBEM(electrostaticPressure, nbViews, boundaryDisplacementMap2, postProcessing, iteration, untangleMesh);
         }
         else
         {
-            solverBEM(electrostaticPressure, boundaryDisplacementMap, nbViews, postProcessing, iteration, false);
+            solverBEM(electrostaticPressure, nbViews, boundaryDisplacementMap, postProcessing, iteration, false);
         }
     }
     else
@@ -121,7 +120,7 @@ int main(int argc, char **argv)
 
         int nbViews = 0;
 
-        solverBEM(electrostaticPressure, boundaryDisplacementMap, nbViews, true, 1, false);
+        solverBEM(electrostaticPressure, nbViews, boundaryDisplacementMap, true, 1, false);
         solverFEM(electrostaticPressure, nbViews);
 
     }
@@ -136,126 +135,4 @@ int main(int argc, char **argv)
     
     gmsh::finalize();
     return 0;
-}
-
-
-
-
-
-
-// #include "functionsBEM.hpp"
-// #include "functionsFEM.hpp"
-
-// #include <gmsh.h>
-// #include <iostream>
-// #include <omp.h>
-
-// int main(int argc, char **argv)
-// {
-//     if (argc < 2)
-//     {
-//         std::cout << "Usage: " << argv[0] << " <geo_file>\n";
-//         return 0;
-//     }
-
-//     bool nonLinearSolver = true; // use non-linear solver or not
-
-//     // If compiled with OpenMP support, gmsh::initialize 
-//     // also sets the number of threads to "General.NumThreads".
-//     int nthreads = omp_get_max_threads();
-//     gmsh::initialize();
-//     omp_set_num_threads(nthreads);
-
-//     gmsh::open(argv[1]);
-//     gmsh::model::mesh::generate(2);
-
-//     Eigen::initParallel();
-
-//     if(nonLinearSolver)
-//     {
-
-//         bool postProcessing = 0; // pass it as an argument to the solver, only compute post processing at last iteration
-
-//         std::map<int, double> electrostaticPressure;
-//         std::map<int,std::pair<double,double>> boundaryDisplacementMap;
-
-//         int nbViews = 0;
-//         //double start = omp_get_wtime();
-
-//         int iteration;
-
-//         int viewTagU = gmsh::view::add("u"); // à modifier plus tard
-//         int viewTagF = gmsh::view::add("f");
-
-//         solverBEM(argc, argv, electrostaticPressure, boundaryDisplacementMap, nbViews, postProcessing, 1);
-//         solverFEMnonLinear(argc, argv, electrostaticPressure, boundaryDisplacementMap, nbViews, postProcessing, 1, viewTagU, viewTagF);
-        
-//         std::vector<int> nodeTags(boundaryDisplacementMap.size());
-//         std::vector<double> displacements(boundaryDisplacementMap.size());
-//         std::vector<double> previousDisplacements(boundaryDisplacementMap.size());
-//         std::vector<double> relativeDifference(boundaryDisplacementMap.size());
-
-//         double norm;
-//         const double criticalNorm = 0.0001;
-//         const int maxNbIteration = 40;
-
-//         int i = 0;
-//         for(auto p : boundaryDisplacementMap)
-//         {
-//             nodeTags[i] = p.first;
-//             displacements[i] = sqrt(p.second.first*p.second.first + p.second.second*p.second.second);
-//             i++;
-//         }
-
-//         for(iteration = 2; iteration <= maxNbIteration; iteration++)
-//         {        
-//             solverBEM(argc, argv, electrostaticPressure, boundaryDisplacementMap, nbViews, postProcessing, iteration);
-//             solverFEMnonLinear(argc, argv, electrostaticPressure, boundaryDisplacementMap, nbViews, postProcessing, iteration, viewTagU, viewTagF);
-
-//             i = 0;
-//             norm = 0;
-//             for(auto p : boundaryDisplacementMap)
-//             {
-//                 previousDisplacements[i] = displacements[i];
-//                 displacements[i] = sqrt(p.second.first*p.second.first + p.second.second*p.second.second);
-                
-//                 if(previousDisplacements[i] != 0.0)
-//                     relativeDifference[i] = abs( (displacements[i] - previousDisplacements[i]) / previousDisplacements[i] );
-//                 else
-//                     relativeDifference[i] = 0;
-                
-//                 norm += relativeDifference[i]*relativeDifference[i];
-//                 i++;
-//             }
-//             norm = sqrt(norm/i);
-//             std::cout << "Norm (iteration '" << iteration << "'): " << norm << "\n";
-//             if(norm < criticalNorm)
-//                 break;
-//         }
-
-//         postProcessing = true;
-//         solverBEM(argc, argv, electrostaticPressure, boundaryDisplacementMap, nbViews, postProcessing, iteration);
-//         solverFEMnonLinear(argc, argv, electrostaticPressure, boundaryDisplacementMap, nbViews, postProcessing, iteration, viewTagU, viewTagF);
-//     }
-//     else
-//     {
-
-//         std::map<int, double> electrostaticPressure;
-
-//         std::map<int,std::pair<double,double>> boundaryDisplacementMap;
-
-//         int nbViews = 0;
-
-//         solverBEM(argc, argv, electrostaticPressure, boundaryDisplacementMap, nbViews, true, 1);
-//         solverFEM(argc, argv, electrostaticPressure, nbViews);
-
-//     }
-
-//     //double fem_end = omp_get_wtime();
-//     //std::cout << "time for FEM: " << fem_end - bem_end << "\n";
-
-//     gmsh::fltk::run();
-    
-//     gmsh::finalize();
-//     return 0;
-// }
+}
\ No newline at end of file