diff --git a/packages/tpetra/core/src/Tpetra_Distributor.cpp b/packages/tpetra/core/src/Tpetra_Distributor.cpp index a2b7576e9abf..b61d8d5f16b6 100644 --- a/packages/tpetra/core/src/Tpetra_Distributor.cpp +++ b/packages/tpetra/core/src/Tpetra_Distributor.cpp @@ -385,6 +385,12 @@ namespace Tpetra { } } + Teuchos::RCP + Distributor:: + getReverseDistributor() { + return reverseDistributor_; + } + Teuchos::RCP Distributor::getValidParameters () const { diff --git a/packages/tpetra/core/src/Tpetra_Distributor.hpp b/packages/tpetra/core/src/Tpetra_Distributor.hpp index c7e1fc2aafe2..07acb7f4427a 100644 --- a/packages/tpetra/core/src/Tpetra_Distributor.hpp +++ b/packages/tpetra/core/src/Tpetra_Distributor.hpp @@ -265,6 +265,8 @@ namespace Tpetra { /// parameters and their default values. void setParameterList (const Teuchos::RCP& plist); + Teuchos::RCP getReverseDistributor(); + /// \brief List of valid Distributor parameters. /// /// Please see the class documentation for a list of all accepted diff --git a/packages/xpetra/src/Export/Xpetra_TpetraExport_def.hpp b/packages/xpetra/src/Export/Xpetra_TpetraExport_def.hpp index d754d661277a..15b923d0e9db 100644 --- a/packages/xpetra/src/Export/Xpetra_TpetraExport_def.hpp +++ b/packages/xpetra/src/Export/Xpetra_TpetraExport_def.hpp @@ -201,6 +201,9 @@ TpetraExport:: setDistributorParameters(const Teuchos::RCP params) const { XPETRA_MONITOR("TpetraExport::setDistributorParameters"); export_->getDistributor().setParameterList(params); + auto revDistor = export_->getDistributor().getReverseDistributor(); + if (!revDistor.is_null()) + revDistor->setParameterList(params); } diff --git a/packages/xpetra/src/Import/Xpetra_TpetraImport_def.hpp b/packages/xpetra/src/Import/Xpetra_TpetraImport_def.hpp index 2729d49d48c4..3cff328a7a7e 100644 --- a/packages/xpetra/src/Import/Xpetra_TpetraImport_def.hpp +++ b/packages/xpetra/src/Import/Xpetra_TpetraImport_def.hpp @@ -95,7 +95,12 @@ size_t TpetraImport::getNumRemoteIDs() const template void TpetraImport::setDistributorParameters(const Teuchos::RCP params) const -{ XPETRA_MONITOR("TpetraImport::setDistributorParameters"); import_->getDistributor().setParameterList(params); } +{ XPETRA_MONITOR("TpetraImport::setDistributorParameters"); + import_->getDistributor().setParameterList(params); + auto revDistor = import_->getDistributor().getReverseDistributor(); + if (!revDistor.is_null()) + revDistor->setParameterList(params); +} template ArrayView< const LocalOrdinal > TpetraImport::getRemoteLIDs() const