EpetraExt Development
Public Member Functions | Protected Attributes
EpetraExt::MultiMpiComm Class Reference

#include <EpetraExt_MultiMpiComm.h>

Inheritance diagram for EpetraExt::MultiMpiComm:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual Epetra_CommSubDomainComm () const
 Get reference to split Communicator for sub-domain.
Epetra_MpiCommSubDomainMpiComm () const
 Get reference to split MPI Communicator for sub-domain.
virtual Epetra_CommTimeDomainComm () const
 Get reference to split Communicator for time domain.
Epetra_MpiCommTimeDomainMpiComm () const
 Get reference to split MPI Communicator for time domain.
virtual int NumSubDomains () const
 Return number of sub-domains that the global problem is split into.
virtual int SubDomainRank () const
 Return integer [0:numSubDomains-1} corresponding to this sub-domain's rank.
virtual int NumTimeDomains () const
 Return number of time domains that the global problem is split into.
virtual int TimeDomainRank () const
 Return integer [0:numTimeDomains-1} corresponding to this time-domain's rank.
virtual int NumTimeStepsOnDomain () const
 Return number of time steps, first step number, on time domain.
virtual int FirstTimeStepOnDomain () const
virtual int NumTimeSteps () const
 Return total number of time steps.
void ResetNumTimeSteps (int numTimeSteps)
 Reset total number of time steps, allowing time steps per domain to.
virtual Epetra_CommClone () const
virtual void Barrier () const
virtual int Broadcast (double *MyVals, int Count, int Root) const
virtual int Broadcast (int *MyVals, int Count, int Root) const
virtual int Broadcast (long *MyVals, int Count, int Root) const
virtual int Broadcast (long long *MyVals, int Count, int Root) const
virtual int Broadcast (char *MyVals, int Count, int Root) const
virtual int GatherAll (double *MyVals, double *AllVals, int Count) const
virtual int GatherAll (int *MyVals, int *AllVals, int Count) const
virtual int GatherAll (long *MyVals, long *AllVals, int Count) const
virtual int GatherAll (long long *MyVals, long long *AllVals, int Count) const
virtual int SumAll (double *PartialSums, double *GlobalSums, int Count) const
virtual int SumAll (int *PartialSums, int *GlobalSums, int Count) const
virtual int SumAll (long *PartialSums, long *GlobalSums, int Count) const
virtual int SumAll (long long *PartialSums, long long *GlobalSums, int Count) const
virtual int MaxAll (double *PartialMaxs, double *GlobalMaxs, int Count) const
virtual int MaxAll (int *PartialMaxs, int *GlobalMaxs, int Count) const
virtual int MaxAll (long *PartialMaxs, long *GlobalMaxs, int Count) const
virtual int MaxAll (long long *PartialMaxs, long long *GlobalMaxs, int Count) const
virtual int MinAll (double *PartialMins, double *GlobalMins, int Count) const
virtual int MinAll (int *PartialMins, int *GlobalMins, int Count) const
virtual int MinAll (long *PartialMins, long *GlobalMins, int Count) const
virtual int MinAll (long long *PartialMins, long long *GlobalMins, int Count) const
virtual int ScanSum (double *MyVals, double *ScanSums, int Count) const
virtual int ScanSum (int *MyVals, int *ScanSums, int Count) const
virtual int ScanSum (long *MyVals, long *ScanSums, int Count) const
virtual int ScanSum (long long *MyVals, long long *ScanSums, int Count) const
virtual int MyPID () const
virtual int NumProc () const
virtual Epetra_DistributorCreateDistributor () const
virtual Epetra_DirectoryCreateDirectory (const Epetra_BlockMap &Map) const
virtual void PrintInfo (std::ostream &os) const

Protected Attributes

Teuchos::RCP< Epetra_CommmyComm
Epetra_MpiCommsubComm
Epetra_MpiCommtimeComm
int numSubDomains
int numTimeDomains
int subDomainRank
int timeDomainRank
int numTimeSteps
int numTimeStepsOnDomain
int firstTimeStepOnDomain
 MultiMpiComm (MPI_Comm globalComm, int subDomainProcs, int numTimeSteps_=-1, const Teuchos::EVerbosityLevel verbLevel=Teuchos::VERB_DEFAULT)
 MultiMpiComm constuctor.
 MultiMpiComm (const Epetra_MpiComm &Comm, int numTimeSteps_, const Teuchos::EVerbosityLevel verbLevel=Teuchos::VERB_DEFAULT)
 MultiMpiComm constuctor, no parallelism over domains.
 MultiMpiComm (const MultiMpiComm &MMC)
 Copy constructor.
virtual ~MultiMpiComm ()
 Destructor.

Detailed Description

Definition at line 67 of file EpetraExt_MultiMpiComm.h.


Constructor & Destructor Documentation

EpetraExt::MultiMpiComm::MultiMpiComm ( MPI_Comm  globalComm,
int  subDomainProcs,
int  numTimeSteps_ = -1,
const Teuchos::EVerbosityLevel  verbLevel = Teuchos::VERB_DEFAULT 
)

MultiMpiComm constuctor.

Creates a MultiMpiComm object and communicators for the global and sub- problems.

Parameters:
InglobalComm - MPI communciator (usually MPI_COMM_WORLD)
InsubDomainProcss - number of processors in each subdomain. This must divide evenly into the total number of processors of the globalComm.
InnumTimeSteps (Default=-1) - Piece of partitioning data needed specifically for parallel space-time project, corresponding to the total number of time steps.

Definition at line 48 of file EpetraExt_MultiMpiComm.cpp.

EpetraExt::MultiMpiComm::MultiMpiComm ( const Epetra_MpiComm Comm,
int  numTimeSteps_,
const Teuchos::EVerbosityLevel  verbLevel = Teuchos::VERB_DEFAULT 
)

MultiMpiComm constuctor, no parallelism over domains.

Creates a MultiMpiComm object for the simple case of no parallelism over multiple steps.

Parameters:
InEpetraMpiComm - Epetra_MpiComm communciator
InnumTimeSteps - Number of steps

Definition at line 117 of file EpetraExt_MultiMpiComm.cpp.

EpetraExt::MultiMpiComm::MultiMpiComm ( const MultiMpiComm MMC)

Copy constructor.

Definition at line 145 of file EpetraExt_MultiMpiComm.cpp.

EpetraExt::MultiMpiComm::~MultiMpiComm ( ) [virtual]

Destructor.

Definition at line 161 of file EpetraExt_MultiMpiComm.cpp.


Member Function Documentation

virtual Epetra_Comm& EpetraExt::MultiMpiComm::SubDomainComm ( ) const [inline, virtual]

Get reference to split Communicator for sub-domain.

Implements EpetraExt::MultiComm.

Definition at line 105 of file EpetraExt_MultiMpiComm.h.

Epetra_MpiComm& EpetraExt::MultiMpiComm::SubDomainMpiComm ( ) const [inline]

Get reference to split MPI Communicator for sub-domain.

Definition at line 108 of file EpetraExt_MultiMpiComm.h.

virtual Epetra_Comm& EpetraExt::MultiMpiComm::TimeDomainComm ( ) const [inline, virtual]

Get reference to split Communicator for time domain.

Implements EpetraExt::MultiComm.

Definition at line 111 of file EpetraExt_MultiMpiComm.h.

Epetra_MpiComm& EpetraExt::MultiMpiComm::TimeDomainMpiComm ( ) const [inline]

Get reference to split MPI Communicator for time domain.

Definition at line 114 of file EpetraExt_MultiMpiComm.h.

virtual int EpetraExt::MultiMpiComm::NumSubDomains ( ) const [inline, virtual]

Return number of sub-domains that the global problem is split into.

Implements EpetraExt::MultiComm.

Definition at line 117 of file EpetraExt_MultiMpiComm.h.

virtual int EpetraExt::MultiMpiComm::SubDomainRank ( ) const [inline, virtual]

Return integer [0:numSubDomains-1} corresponding to this sub-domain's rank.

Implements EpetraExt::MultiComm.

Definition at line 120 of file EpetraExt_MultiMpiComm.h.

virtual int EpetraExt::MultiMpiComm::NumTimeDomains ( ) const [inline, virtual]

Return number of time domains that the global problem is split into.

Implements EpetraExt::MultiComm.

Definition at line 123 of file EpetraExt_MultiMpiComm.h.

virtual int EpetraExt::MultiMpiComm::TimeDomainRank ( ) const [inline, virtual]

Return integer [0:numTimeDomains-1} corresponding to this time-domain's rank.

Implements EpetraExt::MultiComm.

Definition at line 126 of file EpetraExt_MultiMpiComm.h.

virtual int EpetraExt::MultiMpiComm::NumTimeStepsOnDomain ( ) const [inline, virtual]

Return number of time steps, first step number, on time domain.

Implements EpetraExt::MultiComm.

Definition at line 129 of file EpetraExt_MultiMpiComm.h.

virtual int EpetraExt::MultiMpiComm::FirstTimeStepOnDomain ( ) const [inline, virtual]

Implements EpetraExt::MultiComm.

Definition at line 130 of file EpetraExt_MultiMpiComm.h.

virtual int EpetraExt::MultiMpiComm::NumTimeSteps ( ) const [inline, virtual]

Return total number of time steps.

Implements EpetraExt::MultiComm.

Definition at line 133 of file EpetraExt_MultiMpiComm.h.

void EpetraExt::MultiMpiComm::ResetNumTimeSteps ( int  numTimeSteps) [virtual]

Reset total number of time steps, allowing time steps per domain to.

Implements EpetraExt::MultiComm.

Definition at line 167 of file EpetraExt_MultiMpiComm.cpp.

virtual Epetra_Comm* EpetraExt::MultiMpiComm::Clone ( ) const [inline, virtual]

Reimplemented from Epetra_MpiComm.

Definition at line 139 of file EpetraExt_MultiMpiComm.h.

virtual void EpetraExt::MultiMpiComm::Barrier ( ) const [inline, virtual]

Reimplemented from Epetra_MpiComm.

Definition at line 140 of file EpetraExt_MultiMpiComm.h.

virtual int EpetraExt::MultiMpiComm::Broadcast ( double *  MyVals,
int  Count,
int  Root 
) const [inline, virtual]

Reimplemented from Epetra_MpiComm.

Definition at line 141 of file EpetraExt_MultiMpiComm.h.

virtual int EpetraExt::MultiMpiComm::Broadcast ( int *  MyVals,
int  Count,
int  Root 
) const [inline, virtual]

Reimplemented from Epetra_MpiComm.

Definition at line 143 of file EpetraExt_MultiMpiComm.h.

virtual int EpetraExt::MultiMpiComm::Broadcast ( long *  MyVals,
int  Count,
int  Root 
) const [inline, virtual]

Reimplemented from Epetra_MpiComm.

Definition at line 145 of file EpetraExt_MultiMpiComm.h.

virtual int EpetraExt::MultiMpiComm::Broadcast ( long long *  MyVals,
int  Count,
int  Root 
) const [inline, virtual]

Reimplemented from Epetra_MpiComm.

Definition at line 147 of file EpetraExt_MultiMpiComm.h.

virtual int EpetraExt::MultiMpiComm::Broadcast ( char *  MyVals,
int  Count,
int  Root 
) const [inline, virtual]

Reimplemented from Epetra_MpiComm.

Definition at line 149 of file EpetraExt_MultiMpiComm.h.

virtual int EpetraExt::MultiMpiComm::GatherAll ( double *  MyVals,
double *  AllVals,
int  Count 
) const [inline, virtual]

Reimplemented from Epetra_MpiComm.

Definition at line 151 of file EpetraExt_MultiMpiComm.h.

virtual int EpetraExt::MultiMpiComm::GatherAll ( int *  MyVals,
int *  AllVals,
int  Count 
) const [inline, virtual]

Reimplemented from Epetra_MpiComm.

Definition at line 153 of file EpetraExt_MultiMpiComm.h.

virtual int EpetraExt::MultiMpiComm::GatherAll ( long *  MyVals,
long *  AllVals,
int  Count 
) const [inline, virtual]

Reimplemented from Epetra_MpiComm.

Definition at line 155 of file EpetraExt_MultiMpiComm.h.

virtual int EpetraExt::MultiMpiComm::GatherAll ( long long *  MyVals,
long long *  AllVals,
int  Count 
) const [inline, virtual]

Reimplemented from Epetra_MpiComm.

Definition at line 157 of file EpetraExt_MultiMpiComm.h.

virtual int EpetraExt::MultiMpiComm::SumAll ( double *  PartialSums,
double *  GlobalSums,
int  Count 
) const [inline, virtual]

Reimplemented from Epetra_MpiComm.

Definition at line 159 of file EpetraExt_MultiMpiComm.h.

virtual int EpetraExt::MultiMpiComm::SumAll ( int *  PartialSums,
int *  GlobalSums,
int  Count 
) const [inline, virtual]

Reimplemented from Epetra_MpiComm.

Definition at line 161 of file EpetraExt_MultiMpiComm.h.

virtual int EpetraExt::MultiMpiComm::SumAll ( long *  PartialSums,
long *  GlobalSums,
int  Count 
) const [inline, virtual]

Reimplemented from Epetra_MpiComm.

Definition at line 163 of file EpetraExt_MultiMpiComm.h.

virtual int EpetraExt::MultiMpiComm::SumAll ( long long *  PartialSums,
long long *  GlobalSums,
int  Count 
) const [inline, virtual]

Reimplemented from Epetra_MpiComm.

Definition at line 165 of file EpetraExt_MultiMpiComm.h.

virtual int EpetraExt::MultiMpiComm::MaxAll ( double *  PartialMaxs,
double *  GlobalMaxs,
int  Count 
) const [inline, virtual]

Reimplemented from Epetra_MpiComm.

Definition at line 167 of file EpetraExt_MultiMpiComm.h.

virtual int EpetraExt::MultiMpiComm::MaxAll ( int *  PartialMaxs,
int *  GlobalMaxs,
int  Count 
) const [inline, virtual]

Reimplemented from Epetra_MpiComm.

Definition at line 169 of file EpetraExt_MultiMpiComm.h.

virtual int EpetraExt::MultiMpiComm::MaxAll ( long *  PartialMaxs,
long *  GlobalMaxs,
int  Count 
) const [inline, virtual]

Reimplemented from Epetra_MpiComm.

Definition at line 171 of file EpetraExt_MultiMpiComm.h.

virtual int EpetraExt::MultiMpiComm::MaxAll ( long long *  PartialMaxs,
long long *  GlobalMaxs,
int  Count 
) const [inline, virtual]

Reimplemented from Epetra_MpiComm.

Definition at line 173 of file EpetraExt_MultiMpiComm.h.

virtual int EpetraExt::MultiMpiComm::MinAll ( double *  PartialMins,
double *  GlobalMins,
int  Count 
) const [inline, virtual]

Reimplemented from Epetra_MpiComm.

Definition at line 175 of file EpetraExt_MultiMpiComm.h.

virtual int EpetraExt::MultiMpiComm::MinAll ( int *  PartialMins,
int *  GlobalMins,
int  Count 
) const [inline, virtual]

Reimplemented from Epetra_MpiComm.

Definition at line 177 of file EpetraExt_MultiMpiComm.h.

virtual int EpetraExt::MultiMpiComm::MinAll ( long *  PartialMins,
long *  GlobalMins,
int  Count 
) const [inline, virtual]

Reimplemented from Epetra_MpiComm.

Definition at line 179 of file EpetraExt_MultiMpiComm.h.

virtual int EpetraExt::MultiMpiComm::MinAll ( long long *  PartialMins,
long long *  GlobalMins,
int  Count 
) const [inline, virtual]

Reimplemented from Epetra_MpiComm.

Definition at line 181 of file EpetraExt_MultiMpiComm.h.

virtual int EpetraExt::MultiMpiComm::ScanSum ( double *  MyVals,
double *  ScanSums,
int  Count 
) const [inline, virtual]

Reimplemented from Epetra_MpiComm.

Definition at line 183 of file EpetraExt_MultiMpiComm.h.

virtual int EpetraExt::MultiMpiComm::ScanSum ( int *  MyVals,
int *  ScanSums,
int  Count 
) const [inline, virtual]

Reimplemented from Epetra_MpiComm.

Definition at line 185 of file EpetraExt_MultiMpiComm.h.

virtual int EpetraExt::MultiMpiComm::ScanSum ( long *  MyVals,
long *  ScanSums,
int  Count 
) const [inline, virtual]

Reimplemented from Epetra_MpiComm.

Definition at line 187 of file EpetraExt_MultiMpiComm.h.

virtual int EpetraExt::MultiMpiComm::ScanSum ( long long *  MyVals,
long long *  ScanSums,
int  Count 
) const [inline, virtual]

Reimplemented from Epetra_MpiComm.

Definition at line 189 of file EpetraExt_MultiMpiComm.h.

virtual int EpetraExt::MultiMpiComm::MyPID ( ) const [inline, virtual]

Reimplemented from Epetra_MpiComm.

Definition at line 191 of file EpetraExt_MultiMpiComm.h.

virtual int EpetraExt::MultiMpiComm::NumProc ( ) const [inline, virtual]

Reimplemented from Epetra_MpiComm.

Definition at line 192 of file EpetraExt_MultiMpiComm.h.

virtual Epetra_Distributor* EpetraExt::MultiMpiComm::CreateDistributor ( ) const [inline, virtual]

Reimplemented from Epetra_MpiComm.

Definition at line 193 of file EpetraExt_MultiMpiComm.h.

virtual Epetra_Directory* EpetraExt::MultiMpiComm::CreateDirectory ( const Epetra_BlockMap Map) const [inline, virtual]

Reimplemented from Epetra_MpiComm.

Definition at line 194 of file EpetraExt_MultiMpiComm.h.

virtual void EpetraExt::MultiMpiComm::PrintInfo ( std::ostream &  os) const [inline, virtual]

Reimplemented from Epetra_MpiComm.

Definition at line 196 of file EpetraExt_MultiMpiComm.h.


Member Data Documentation

Teuchos::RCP<Epetra_Comm> EpetraExt::MultiMpiComm::myComm [protected]

Definition at line 196 of file EpetraExt_MultiMpiComm.h.

Definition at line 202 of file EpetraExt_MultiMpiComm.h.

Definition at line 203 of file EpetraExt_MultiMpiComm.h.

Definition at line 204 of file EpetraExt_MultiMpiComm.h.

Definition at line 205 of file EpetraExt_MultiMpiComm.h.

Definition at line 206 of file EpetraExt_MultiMpiComm.h.

Definition at line 207 of file EpetraExt_MultiMpiComm.h.

Definition at line 209 of file EpetraExt_MultiMpiComm.h.

Definition at line 210 of file EpetraExt_MultiMpiComm.h.

Definition at line 211 of file EpetraExt_MultiMpiComm.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines