44 #ifdef HAVE_TPETRACORE_MPI 46 #include "Teuchos_DefaultMpiComm.hpp" 47 #include "Teuchos_DefaultSerialComm.hpp" 54 extractMpiCommFromTeuchos (
const Teuchos::Comm<int>& comm)
56 using ::Teuchos::MpiComm;
57 using ::Teuchos::SerialComm;
59 const MpiComm<int>* mpiComm =
dynamic_cast<const MpiComm<int>*
> (&comm);
60 if (mpiComm != NULL) {
61 MPI_Comm rawComm = * (mpiComm->getRawMpiComm ());
65 const SerialComm<int>* serialComm =
66 dynamic_cast<const SerialComm<int>*
> (&comm);
67 if (serialComm != NULL) {
71 throw std::invalid_argument (
"Tpetra::Details::extractMpiCommFromTeuchos: " 72 "Input Teuchos::Comm is " 73 "neither a Teuchos::MpiComm, " 74 "nor a Teuchos::SerialComm. " 75 "As a result, I don't know " 76 "how to get the MPI_Comm out of it.");
84 #endif // HAVE_TPETRACORE_MPI Namespace Tpetra contains the class and methods constituting the Tpetra library.
Implementation details of Tpetra.