From: secher Date: Mon, 22 Jun 2009 08:14:43 +0000 (+0000) Subject: improvement for multiple parallel couplings X-Git-Tag: V5_1_main_FINAL~381 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=da7c93880f8a48c989f95899426d6797bafc71a8;p=tools%2Fmedcoupling.git improvement for multiple parallel couplings --- diff --git a/src/ParaMEDMEM/ElementLocator.cxx b/src/ParaMEDMEM/ElementLocator.cxx index 773aa5086..16d2ef66c 100644 --- a/src/ParaMEDMEM/ElementLocator.cxx +++ b/src/ParaMEDMEM/ElementLocator.cxx @@ -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); diff --git a/src/ParaMEDMEM/ElementLocator.hxx b/src/ParaMEDMEM/ElementLocator.hxx index 38a49bd0c..1acbf84f6 100644 --- a/src/ParaMEDMEM/ElementLocator.hxx +++ b/src/ParaMEDMEM/ElementLocator.hxx @@ -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, diff --git a/src/ParaMEDMEM/IntersectionDEC.cxx b/src/ParaMEDMEM/IntersectionDEC.cxx index 8a97efdac..852ae39cf 100644 --- a/src/ParaMEDMEM/IntersectionDEC.cxx +++ b/src/ParaMEDMEM/IntersectionDEC.cxx @@ -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());