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 (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 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 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 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 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 MyPID () const
virtual int NumProc () const
virtual Epetra_DistributorCreateDistributor () const
virtual Epetra_DirectoryCreateDirectory (const Epetra_BlockMap &Map) const
virtual void PrintInfo (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)
 MultiMpiComm constuctor.
 MultiMpiComm (const Epetra_MpiComm &Comm, int numTimeSteps_)
 MultiMpiComm constuctor, no parallelism over domains.
 MultiMpiComm (const MultiMpiComm &MMC)
 Copy constructor.
virtual ~MultiMpiComm ()
 Destructor.

Detailed Description

Definition at line 66 of file EpetraExt_MultiMpiComm.h.


Constructor & Destructor Documentation

EpetraExt::MultiMpiComm::MultiMpiComm ( MPI_Comm  globalComm,
int  subDomainProcs,
int  numTimeSteps_ = -1 
)

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 46 of file EpetraExt_MultiMpiComm.cpp.

EpetraExt::MultiMpiComm::MultiMpiComm ( const Epetra_MpiComm Comm,
int  numTimeSteps_ 
)

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 94 of file EpetraExt_MultiMpiComm.cpp.

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

Copy constructor.

Definition at line 119 of file EpetraExt_MultiMpiComm.cpp.

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

Destructor.

Definition at line 135 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 101 of file EpetraExt_MultiMpiComm.h.

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

Get reference to split MPI Communicator for sub-domain.

Definition at line 104 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 107 of file EpetraExt_MultiMpiComm.h.

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

Get reference to split MPI Communicator for time domain.

Definition at line 110 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 113 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 116 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 119 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 122 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 125 of file EpetraExt_MultiMpiComm.h.

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

Implements EpetraExt::MultiComm.

Definition at line 126 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 129 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 141 of file EpetraExt_MultiMpiComm.cpp.

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

Reimplemented from Epetra_MpiComm.

Definition at line 135 of file EpetraExt_MultiMpiComm.h.

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

Reimplemented from Epetra_MpiComm.

Definition at line 136 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 137 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 139 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 141 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 143 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 145 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 147 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 149 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 151 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 153 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 155 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 157 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 159 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 161 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 163 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 165 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 167 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 169 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 171 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 173 of file EpetraExt_MultiMpiComm.h.

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

Reimplemented from Epetra_MpiComm.

Definition at line 175 of file EpetraExt_MultiMpiComm.h.

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

Reimplemented from Epetra_MpiComm.

Definition at line 176 of file EpetraExt_MultiMpiComm.h.

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

Reimplemented from Epetra_MpiComm.

Definition at line 177 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 178 of file EpetraExt_MultiMpiComm.h.

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

Reimplemented from Epetra_MpiComm.

Definition at line 180 of file EpetraExt_MultiMpiComm.h.


Member Data Documentation

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

Definition at line 180 of file EpetraExt_MultiMpiComm.h.

Definition at line 186 of file EpetraExt_MultiMpiComm.h.

Definition at line 187 of file EpetraExt_MultiMpiComm.h.

Definition at line 188 of file EpetraExt_MultiMpiComm.h.

Definition at line 189 of file EpetraExt_MultiMpiComm.h.

Definition at line 190 of file EpetraExt_MultiMpiComm.h.

Definition at line 191 of file EpetraExt_MultiMpiComm.h.

Definition at line 193 of file EpetraExt_MultiMpiComm.h.

Definition at line 194 of file EpetraExt_MultiMpiComm.h.

Definition at line 195 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