15#ifndef dealii_trilinos_utilities_h
16#define dealii_trilinos_utilities_h
22#ifdef DEAL_II_WITH_TRILINOS
23# include <Epetra_Comm.h>
24# include <Epetra_Map.h>
25# include <Teuchos_Comm.hpp>
26# include <Teuchos_RCP.hpp>
28# ifdef DEAL_II_WITH_MPI
29# include <Epetra_MpiComm.h>
31# include <Epetra_SerialComm.h>
34# ifdef DEAL_II_TRILINOS_WITH_TPETRA
35# include <Teuchos_RCPDecl.hpp>
51#ifdef DEAL_II_WITH_TRILINOS
91 const Teuchos::RCP<const Teuchos::Comm<int>> &
190#ifdef DEAL_II_TRILINOS_WITH_TPETRA
201 const Teuchos::RCP<
const Teuchos::Comm<int>> &teuchos_comm);
216# if defined(DOXYGEN) || !DEAL_II_TRILINOS_VERSION_GTE(14, 0, 0)
217 template <
class T,
class... Args>
221 using Teuchos::make_rcp;
230# if !DEAL_II_TRILINOS_VERSION_GTE(14, 0, 0)
231 template <
class T,
class... Args>
232 inline Teuchos::RCP<T>
235 return Teuchos::RCP<T>(
new T(std::forward<Args>(args)...));
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
Teuchos::RCP< T > make_rcp(Args &&...args)
void destroy_communicator(Epetra_Comm &communicator)
Epetra_Map duplicate_map(const Epetra_BlockMap &map, const Epetra_Comm &comm)
unsigned int get_this_mpi_process(const Epetra_Comm &mpi_communicator)
unsigned int get_n_mpi_processes(const Epetra_Comm &mpi_communicator)
const Epetra_Comm & comm_self()
MPI_Comm teuchos_comm_to_mpi_comm(const Teuchos::RCP< const Teuchos::Comm< int > > &teuchos_comm)
const Teuchos::RCP< const Teuchos::Comm< int > > & tpetra_comm_self()
Epetra_Comm * duplicate_communicator(const Epetra_Comm &communicator)
const Epetra_Comm & comm_world()