@@ -326,8 +326,14 @@ zoltanGraphPartitionGridOnRoot(const CpGrid& cpgrid,
326326 }
327327 setDefaultZoltanParameters (zz);
328328 Zoltan_Set_Param (zz, " IMBALANCE_TOL" , std::to_string (zoltanImbalanceTol).c_str ());
329- for (const auto & [key, value] : params)
330- Zoltan_Set_Param (zz, key.c_str (), value.c_str ());
329+ float mWC = -1 ;
330+ for (const auto & [key, value] : params) {
331+ if (key==" MultiplyWellConnectivities" ) {
332+ mWC = std::stof (value);
333+ } else {
334+ Zoltan_Set_Param (zz, key.c_str (), value.c_str ());
335+ }
336+ }
331337
332338 // For the load balancer one process has the whole grid and
333339 // all others an empty partition before loadbalancing.
@@ -344,6 +350,7 @@ zoltanGraphPartitionGridOnRoot(const CpGrid& cpgrid,
344350 transmissibilities,
345351 partitionIsEmpty,
346352 edgeWeightsMethod));
353+ gridAndWells->setMultiplyWellConnectivities (mWC );
347354 Dune::cpgrid::setCpGridZoltanGraphFunctions (zz, *gridAndWells,
348355 partitionIsEmpty);
349356 }
@@ -523,8 +530,13 @@ class ZoltanSerialPartitioner
523530 else
524531 Zoltan_Set_Param (zz, " NUM_GLOBAL_PARTS" , std::to_string (cc.size ()).c_str ());
525532
526- for (const auto & [key, value] : params)
527- Zoltan_Set_Param (zz, key.c_str (), value.c_str ());
533+ for (const auto & [key, value] : params) {
534+ if (key==" MultiplyWellConnectivities" ) {
535+ gridAndWells->setMultiplyWellConnectivities (std::stof (value));
536+ } else {
537+ Zoltan_Set_Param (zz, key.c_str (), value.c_str ());
538+ }
539+ }
528540
529541 // For the load balancer one process has the whole grid and
530542 // all others an empty partition before loadbalancing.
0 commit comments