42 #ifndef EPETRAEXT_MULTISERIALCOMM_H 43 #define EPETRAEXT_MULTISERIALCOMM_H 120 virtual int Broadcast(
double * MyVals,
int Count,
int Root)
const 122 virtual int Broadcast(
int * MyVals,
int Count,
int Root)
const 124 virtual int Broadcast(
long * MyVals,
int Count,
int Root)
const 126 virtual int Broadcast(
long long * MyVals,
int Count,
int Root)
const 128 virtual int Broadcast(
char * MyVals,
int Count,
int Root)
const 130 virtual int GatherAll(
double * MyVals,
double * AllVals,
int Count)
const 132 virtual int GatherAll(
int * MyVals,
int * AllVals,
int Count)
const 134 virtual int GatherAll(
long * MyVals,
long * AllVals,
int Count)
const 136 virtual int GatherAll(
long long* MyVals,
long long* AllVals,
int Count)
const 138 virtual int SumAll(
double * PartialSums,
double * GlobalSums,
int Count)
const 139 {
return myComm->
SumAll( PartialSums, GlobalSums, Count); };
140 virtual int SumAll(
int * PartialSums,
int * GlobalSums,
int Count)
const 141 {
return myComm->
SumAll( PartialSums, GlobalSums, Count); };
142 virtual int SumAll(
long * PartialSums,
long * GlobalSums,
int Count)
const 143 {
return myComm->
SumAll( PartialSums, GlobalSums, Count); };
144 virtual int SumAll(
long long* PartialSums,
long long* GlobalSums,
int Count)
const 145 {
return myComm->
SumAll( PartialSums, GlobalSums, Count); };
146 virtual int MaxAll(
double * PartialMaxs,
double * GlobalMaxs,
int Count)
const 147 {
return myComm->
MaxAll( PartialMaxs, GlobalMaxs, Count); };
148 virtual int MaxAll(
int * PartialMaxs,
int * GlobalMaxs,
int Count)
const 149 {
return myComm->
MaxAll( PartialMaxs, GlobalMaxs, Count); };
150 virtual int MaxAll(
long * PartialMaxs,
long * GlobalMaxs,
int Count)
const 151 {
return myComm->
MaxAll( PartialMaxs, GlobalMaxs, Count); };
152 virtual int MaxAll(
long long* PartialMaxs,
long long* GlobalMaxs,
int Count)
const 153 {
return myComm->
MaxAll( PartialMaxs, GlobalMaxs, Count); };
154 virtual int MinAll(
double * PartialMins,
double * GlobalMins,
int Count)
const 155 {
return myComm->
MinAll( PartialMins, GlobalMins, Count); };
156 virtual int MinAll(
int * PartialMins,
int * GlobalMins,
int Count)
const 157 {
return myComm->
MinAll( PartialMins, GlobalMins, Count); };
158 virtual int MinAll(
long * PartialMins,
long * GlobalMins,
int Count)
const 159 {
return myComm->
MinAll( PartialMins, GlobalMins, Count); };
160 virtual int MinAll(
long long* PartialMins,
long long* GlobalMins,
int Count)
const 161 {
return myComm->
MinAll( PartialMins, GlobalMins, Count); };
162 virtual int ScanSum(
double * MyVals,
double * ScanSums,
int Count)
const 164 virtual int ScanSum(
int * MyVals,
int * ScanSums,
int Count)
const 166 virtual int ScanSum(
long * MyVals,
long * ScanSums,
int Count)
const 168 virtual int ScanSum(
long long* MyVals,
long long* ScanSums,
int Count)
const virtual Epetra_Comm & SubDomainComm() const
Get reference to split Communicator for sub-domain.
virtual int SumAll(double *PartialSums, double *GlobalSums, int Count) const
virtual int GatherAll(double *MyVals, double *AllVals, int Count) const=0
virtual int GatherAll(long *MyVals, long *AllVals, int Count) const
virtual int MaxAll(long long *PartialMaxs, long long *GlobalMaxs, int Count) const
virtual int MinAll(int *PartialMins, int *GlobalMins, int Count) const
virtual int MinAll(double *PartialMins, double *GlobalMins, int Count) const
virtual int SumAll(long long *PartialSums, long long *GlobalSums, int Count) const
virtual int ScanSum(long long *MyVals, long long *ScanSums, int Count) const
virtual int Broadcast(long long *MyVals, int Count, int Root) const
virtual int NumTimeDomains() const
Return number of time domains that the global problem is split into.
virtual Epetra_Directory * CreateDirectory(const Epetra_BlockMap &Map) const=0
virtual int ScanSum(int *MyVals, int *ScanSums, int Count) const
virtual void PrintInfo(std::ostream &os) const
virtual int MinAll(double *PartialMins, double *GlobalMins, int Count) const=0
virtual void Barrier() const=0
EpetraExt::BlockCrsMatrix: A class for constructing a distributed block matrix.
virtual int MyPID() const=0
virtual int MaxAll(double *PartialMaxs, double *GlobalMaxs, int Count) const
MultiSerialComm(int numTimeSteps_=-1)
MultiSerialComm constuctor.
virtual int MaxAll(double *PartialMaxs, double *GlobalMaxs, int Count) const=0
virtual void Barrier() const
virtual int SumAll(double *PartialSums, double *GlobalSums, int Count) const=0
Teuchos::RCP< Epetra_Comm > myComm
virtual int FirstTimeStepOnDomain() const
virtual int NumSubDomains() const
Return number of sub-domains that the global problem is split into.
virtual int SumAll(long *PartialSums, long *GlobalSums, int Count) const
virtual int TimeDomainRank() const
Return integer [0:numTimeDomains-1} corresponding to this time-domain's rank.
void ResetNumTimeSteps(int numTimeSteps)
Reset total number of time steps, allowing time steps per domain to.
virtual int SubDomainRank() const
Return integer [0:numSubDomains-1} corresponding to this sub-domain's rank.
virtual ~MultiSerialComm()
Destructor.
virtual int SumAll(int *PartialSums, int *GlobalSums, int Count) const
virtual int NumTimeStepsOnDomain() const
Return number of time steps, first step number, on time domain.
virtual int MaxAll(long *PartialMaxs, long *GlobalMaxs, int Count) const
virtual Epetra_Comm & TimeDomainComm() const
Get reference to split Communicator for time domain.
virtual int Broadcast(double *MyVals, int Count, int Root) const=0
virtual int NumProc() const
virtual Epetra_Distributor * CreateDistributor() const
virtual int Broadcast(int *MyVals, int Count, int Root) const
virtual Epetra_Comm * Clone() const=0
virtual int Broadcast(double *MyVals, int Count, int Root) const
virtual int MinAll(long *PartialMins, long *GlobalMins, int Count) const
virtual int NumProc() const=0
virtual Epetra_Distributor * CreateDistributor() const=0
virtual Epetra_Directory * CreateDirectory(const Epetra_BlockMap &Map) const
virtual int ScanSum(long *MyVals, long *ScanSums, int Count) const
virtual int MinAll(long long *PartialMins, long long *GlobalMins, int Count) const
Epetra_SerialComm * subComm
virtual int MaxAll(int *PartialMaxs, int *GlobalMaxs, int Count) const
virtual int GatherAll(int *MyVals, int *AllVals, int Count) const
virtual Epetra_Comm * Clone() const
virtual void PrintInfo(std::ostream &os) const=0
virtual int GatherAll(long long *MyVals, long long *AllVals, int Count) const
virtual int ScanSum(double *MyVals, double *ScanSums, int Count) const
virtual int Broadcast(long *MyVals, int Count, int Root) const
virtual int ScanSum(double *MyVals, double *ScanSums, int Count) const=0
virtual int MyPID() const
virtual int Broadcast(char *MyVals, int Count, int Root) const
virtual int GatherAll(double *MyVals, double *AllVals, int Count) const
virtual int NumTimeSteps() const
Return total number of time steps.