ParMooN
 All Classes Functions Variables Friends Pages
Public Member Functions | Protected Attributes | List of all members
TParFECommunicator2D Class Reference
Collaboration diagram for TParFECommunicator2D:
Collaboration graph
[legend]

Public Member Functions

 TParFECommunicator2D (MPI_Comm comm, TFESpace2D *FESpace)
 
int WaitForMakeDofMapping ()
 
void SetOwnDof ()
 
void SetFENeibCommunicationSteps ()
 
void MooNMD_FECommunicateNeib (int **sendbuf, int **recvbuf, int N_array)
 
void MooNMD_FECommunicateNeib (int **sendbuf, int *senddisp, int **sendlen, int **recvbuf, int *recvdisp, int **recvlen, int N_array)
 
MPI_Comm GetComm ()
 
int GetN_OwnDof ()
 
int * GetOwnDofIndex ()
 
int GetActiveN_OwnDof ()
 
int * GetActiveOwnDofIndex ()
 
int GetMaxSubDomainPerDof ()
 
int * GetDofRankIndex ()
 
int * GetGlobalDofOFLocalDof ()
 
TFESpace2DGetfespace ()
 
int GetMaxN_LocalDofAllRank ()
 
int * GetN_LocalDofAllRank ()
 
int * GetGlobalDofOFLocalDofAllRank ()
 
 ~TParFECommunicator2D ()
 

Protected Attributes

MPI_Comm Comm
 
TFESpace2Dfespace
 
int N_OwnDof
 
int N_ActiveOwnDof
 
int N_DependentCells
 
int * DependentCellIndex
 
int * N_DependentCellNeibs
 
int * DependentCellNeibIDs
 
int MaxSubDomainPerDof
 
int * N_DofRankIndex
 
int * DofRankIndex
 
int * GlobalDofOFLocalDof
 
int * OwnDofIndex
 
int * ActiveOwnDofIndex
 
int * OwnDofNeibPtr
 
int * OwnDofNeibPtrList
 
bool * NeedAtNeib
 
int N_DofNeibs
 
int * DofNeibIDs
 
int * IndexOfNeibRank
 
int Max_CommunicationSteps
 
int * N_CommunicationProcesses
 
int * ReceiveID_Index
 
int * SendID_Index
 
MPI_Request request001
 
MPI_Request request002
 
MPI_Request request003
 
MPI_Request request004
 
MPI_Request request005
 
MPI_Request request006
 
MPI_Request requestGatherVectorAtRoot
 
int * N_LocalDofAllRank
 
int MaxN_LocalDofAllRank
 
int * GlobalDofOFLocalDofAllRank
 

Constructor & Destructor Documentation

TParFECommunicator2D::TParFECommunicator2D ( MPI_Comm  comm,
TFESpace2D FESpace 
)

constructor with a fespace

Here is the call graph for this function:

TParFECommunicator2D::~TParFECommunicator2D ( )

destructor

Member Function Documentation

void TParFECommunicator2D::MooNMD_FECommunicateNeib ( int **  sendbuf,
int **  recvbuf,
int  N_array 
)

send and recieve N_array of values between the neibs

void TParFECommunicator2D::MooNMD_FECommunicateNeib ( int **  sendbuf,
int *  senddisp,
int **  sendlen,
int **  recvbuf,
int *  recvdisp,
int **  recvlen,
int  N_array 
)

send and recieve N_array of arrays with given displacements between the neibs

void TParFECommunicator2D::SetFENeibCommunicationSteps ( )

set the scheduling algorightm, which rank communicates to which rank and when and how

Here is the call graph for this function:

Member Data Documentation

int* TParFECommunicator2D::ActiveOwnDofIndex
protected

Active own dof of size N_OwnDof, excluding Dirichlet and Halo dofs

MPI_Comm TParFECommunicator2D::Comm
protected

MPI_Comm for which the fespace communications are needed

int* TParFECommunicator2D::DependentCellIndex
protected

dependent Cells indices

int* TParFECommunicator2D::DependentCellNeibIDs
protected

dependent Cells indices

int* TParFECommunicator2D::DofNeibIDs
protected

DOF neib ranks' IDs of this rank

int* TParFECommunicator2D::DofRankIndex
protected

array rank(process) ID of each dof (including Halo dof)

TFESpace2D* TParFECommunicator2D::fespace
protected

fespace for which the communications are needed

int* TParFECommunicator2D::GlobalDofOFLocalDof
protected

array containing the corresponding global dof of local dof

int* TParFECommunicator2D::GlobalDofOFLocalDofAllRank
protected

array containing the correponding global dof of local dof for all ranks

int* TParFECommunicator2D::IndexOfNeibRank
protected

index in the neib list (DofNeibIDs) for the given neib rank

int TParFECommunicator2D::Max_CommunicationSteps
protected

Max number of Communication Steps for all ranks

int TParFECommunicator2D::MaxN_LocalDofAllRank
protected

maximum number of local dof (including Halo) among all ranks, except root

int TParFECommunicator2D::MaxSubDomainPerDof
protected

maximum number(possible) of subdomains among all dofs

int TParFECommunicator2D::N_ActiveOwnDof
protected

number of Active own dof (excluding Dirichlet and Halo dof)

int* TParFECommunicator2D::N_CommunicationProcesses
protected

Number of Communication Processes in each step of communication

int* TParFECommunicator2D::N_DependentCellNeibs
protected

dependent Cells indices

int TParFECommunicator2D::N_DependentCells
protected

number of dependent Cells

int TParFECommunicator2D::N_DofNeibs
protected

total number of DOF neib ranks for this rank

int* TParFECommunicator2D::N_DofRankIndex
protected

array containing list of all rank(process ID) associated with each dof (including Halo dof)

int* TParFECommunicator2D::N_LocalDofAllRank
protected

values which are available only at root ************************************************************ number of local dof (including Halo) among all ranks, except root

int TParFECommunicator2D::N_OwnDof
protected

number of own dof (excluding Halo dof)

bool* TParFECommunicator2D::NeedAtNeib
protected

is this dof value need for any neib ranks

int* TParFECommunicator2D::OwnDofIndex
protected

own dof of size N_OwnDof, excluding the Halo dofs

int* TParFECommunicator2D::OwnDofNeibPtr
protected

list of start and end of OwnDofNeibPtrList of each dof

int* TParFECommunicator2D::OwnDofNeibPtrList
protected

list of neib rank IDs of each own dof, which value has to be send to the neibs

int* TParFECommunicator2D::ReceiveID_Index
protected

Receive rank ID in each Communication Process

MPI_Request TParFECommunicator2D::request001
protected

request tags for non-blocking communication

int* TParFECommunicator2D::SendID_Index
protected

send rank ID in each Communication Process


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