IFEM  90A354
Public Member Functions | Public Attributes | Private Attributes | List of all members
ProcessAdm Class Reference

Class for administration of MPI processes in IFEM library. More...

#include <ProcessAdm.h>

Collaboration diagram for ProcessAdm:
Collaboration graph
[legend]

Public Member Functions

 ProcessAdm ()
 Construct an empty (serial) process administrator.
 
 ProcessAdm (const ProcessAdm &adm)
 Copy constructor.
 
 ~ProcessAdm ()
 The destructor releases the process administrator.
 
int getProcId () const
 Return process id.
 
int getNoProcs () const
 Return rank.
 
int isParallel () const
 Return if parallel.
 
void broadcast (std::vector< double > &vec, int root) const
 Broadcast for a double vector. More...
 
void broadcast (std::vector< int > &vec, int root) const
 Broadcast for an integer vector. More...
 
template<class T >
void allReduceAsSum (std::vector< T > &vec) const
 AllReduce with MPI_SUM for a vector.
 

Public Attributes

utl::LogStream cout
 Combined standard out for this process group.
 
DomainDecomposition dd
 Decomain decomposition.
 

Private Attributes

int myPid
 Process id.
 
int nProc
 Number of processes in communicator.
 
bool parallel
 If Processor is parallel.
 

Detailed Description

Class for administration of MPI processes in IFEM library.

Member Function Documentation

◆ broadcast() [1/2]

void ProcessAdm::broadcast ( std::vector< double > &  vec,
int  root 
) const

Broadcast for a double vector.

Parameters
vecDouble array to broadcast
rootNode to broadcast from

Referenced by SIMinput::setInitialCondition().

◆ broadcast() [2/2]

void ProcessAdm::broadcast ( std::vector< int > &  vec,
int  root 
) const

Broadcast for an integer vector.

Parameters
vecInteger array to broadcast
rootNode to broadcast from

The documentation for this class was generated from the following files: