]> SALOME platform Git repositories - tools/medcoupling.git/commitdiff
Salome HOME
improvement for multiple parallel couplings
authorsecher <secher>
Mon, 22 Jun 2009 08:14:43 +0000 (08:14 +0000)
committersecher <secher>
Mon, 22 Jun 2009 08:14:43 +0000 (08:14 +0000)
src/ParaMEDMEM/ElementLocator.cxx
src/ParaMEDMEM/ElementLocator.hxx
src/ParaMEDMEM/IntersectionDEC.cxx

index 773aa508690c2dff3bed995cf39da8039bf34ada..16d2ef66c7c09c77f50fd915073fe69b0ceaaf2c 100644 (file)
@@ -36,11 +36,12 @@ using namespace std;
 namespace ParaMEDMEM 
 { 
   ElementLocator::ElementLocator(const ParaFIELD& sourceField,
-                                 const ProcessorGroup& distant_group)
+                                 const ProcessorGroup& distant_group,
+                                 const ProcessorGroup& local_group)
     : _local_para_field(sourceField),
       _local_cell_mesh(sourceField.getSupport()->getCellMesh()),
       _local_face_mesh(sourceField.getSupport()->getFaceMesh()),
-      _local_group(*sourceField.getSupport()->getBlockTopology()->getProcGroup()),
+      _local_group(local_group),
       _distant_group(distant_group)
   { 
     _union_group = _local_group.fuse(distant_group);
index 38a49bd0cdd1b04b9eb64d43b95893efebd32363..1acbf84f60b294b79412162178cc2418f6cea6ac 100644 (file)
@@ -37,7 +37,7 @@ namespace ParaMEDMEM
   class ElementLocator : public INTERP_KERNEL::InterpolationOptions
   {
   public:
-    ElementLocator(const ParaFIELD& sourceField, const ProcessorGroup& distant_group);
+    ElementLocator(const ParaFIELD& sourceField, const ProcessorGroup& distant_group, const ProcessorGroup& local_group);
 
     virtual ~ElementLocator();
     void exchangeMesh(int idistantrank,
index 8a97efdaca2b48249c75e06ef72f31314191765d..852ae39cf513b98b5f16aaaf8e36928da1c3486f 100644 (file)
@@ -150,7 +150,7 @@ namespace ParaMEDMEM
     if (_source_group->containsMyRank())
       {
         //locate the distant meshes
-        ElementLocator locator(*_local_field, *_target_group);
+        ElementLocator locator(*_local_field, *_target_group, *_source_group);
 
         //transfering option from IntersectionDEC to ElementLocator                 
         locator.setBoundingBoxAdjustment(getBoundingBoxAdjustment());
@@ -184,7 +184,7 @@ namespace ParaMEDMEM
 
     if (_target_group->containsMyRank())
       {
-        ElementLocator locator(*_local_field, *_source_group);
+        ElementLocator locator(*_local_field, *_source_group, *_target_group);
         //transfering option from IntersectionDEC to ElementLocator
         locator.setBoundingBoxAdjustment(getBoundingBoxAdjustment());