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

Public Member Functions

 TParFEMapper3D (int N_dim, TFESpace3D *fespace, int *rowptr, int *kcol)
 
void ConstructDofMap_Master_Halo ()
 
void ConstructDofMap ()
 
int find_min (int *arr, int N, char *temp_arr)
 
void GetCommInfo (int &n_Dim, int &n_Dof, int &n_SendDof, int &n_SendDofMS, int &n_SendDofH1, int &n_SendDofH2, double *&send_Info, double *&send_InfoMS, double *&send_InfoH1, double *&send_InfoH2, double *&recv_Info, double *&recv_InfoMS, double *&recv_InfoH1, double *&recv_InfoH2, int *&n_DofSend, int *&n_DofSendMS, int *&n_DofSendH1, int *&n_DofSendH2, int *&n_DofRecv, int *&n_DofRecvMS, int *&n_DofRecvH1, int *&n_DofRecvH2, int *&Sdispl, int *&SdisplMS, int *&SdisplH1, int *&SdisplH2, int *&Rdispl, int *&RdisplMS, int *&RdisplH1, int *&RdisplH2, int *&dofSend, int *&dofSendMS, int *&dofSendH1, int *&dofSendH2, int *&dofRecv, int *&dofRecvMS, int *&dofRecvH1, int *&dofRecvH2, int &n_Slave, int &n_InterfaceS, int &n_Halo1, int &n_Halo2)
 
int GetN_Master ()
 
int * GetMaster ()
 
char * Get_DofMarker ()
 
int * GetReorder_M ()
 
int * GetReorder_I ()
 
int * GetReorder_D1 ()
 
int * GetReorder_D2 ()
 
int * GetReorder_D3 ()
 
int GetN_InterfaceM ()
 
int GetN_Int_light ()
 
int GetN_Dept1 ()
 
int GetN_Dept2 ()
 
int * Get_Local2Global ()
 
void Color (int &numColors, int *&ptrColors, char type)
 
int GetN_CMaster ()
 
int * GetptrCMaster ()
 
int GetN_CDept1 ()
 
int * GetptrCDept1 ()
 
int GetN_CDept2 ()
 
int * GetptrCDept2 ()
 
int GetN_CInt ()
 
int * GetptrCInt ()
 
void Assign_GlobalDofNo ()
 

Protected Attributes

MPI_Comm Comm
 
int N_Dim
 
int N_Dof
 
int * RowPtr
 
int * KCol
 
TFESpace3DFESpace
 
int MaxSubDomainPerDof
 
int * Master
 
int * OwnDofs
 
char * DofMarker
 
double * Send_Info
 
double * Recv_Info
 
int * Local2Global
 
int * sdispl
 
int * rdispl
 
int N_InterfaceM
 
int N_InterfaceS
 
int N_Halo1
 
int N_Halo2
 
int N_Dept1
 
int N_Dept2
 
int N_Slave
 
int N_Halo
 
int N_Master
 
int N_Dept
 
int N_Int
 
int N_OwnDof
 
int * N_DofSend
 
int * N_DofRecv
 
int * N_DofSendMS
 
int * N_DofSendH1
 
int * N_DofSendH2
 
int * N_DofRecvMS
 
int * N_DofRecvH1
 
int * N_DofRecvH2
 
int * sdisplMS
 
int * sdisplH1
 
int * sdisplH2
 
int * rdisplMS
 
int * rdisplH1
 
int * rdisplH2
 
int N_SendDof
 
int N_SendDofMS
 
int N_SendDofH1
 
int N_SendDofH2
 
int * DofSend
 
int * DofSendMS
 
int * DofSendH1
 
int * DofSendH2
 
int * DofRecv
 
int * DofRecvMS
 
int * DofRecvH1
 
int * DofRecvH2
 
double * Send_InfoMS
 
double * Send_InfoH1
 
double * Send_InfoH2
 
double * Recv_InfoMS
 
double * Recv_InfoH1
 
double * Recv_InfoH2
 
int * NewGN
 
int * Reorder
 
int * Reorder_M
 
int * Reorder_I
 
int * Reorder_D1
 
int * Reorder_D2
 
int * Reorder_D3
 
int N_CMaster
 
int N_CDept1
 
int N_CDept2
 
int N_CInt
 
int * ptrCMaster
 
int * ptrCDept1
 
int * ptrCDept2
 
int * ptrCInt
 

Member Function Documentation

void TParFEMapper3D::ConstructDofMap ( )

ARRAY CONTAINING GLOBAL DOF numbers (GLOBAL means LOCALLY GLOBAL for the subdomain)

BeginIndex: START ID IN GlobalNumbers ARRAY Cellwise

Array containing number of ranks(process ID) associated (surrounding) with each DOF (including halo DOF)

Array containing global number of all Local cells

START —> [ DofRankIndex -—— N_DofRankIndex –—— N_DependentCells ]

END —> [ Master ———— Verify]

Array containing how many DOF's need to be verified from other processors(ranks)

Array containing how many DOF's need to be verified by this rank for other processors(ranks)

Total no of DOF's that need to be verified from other ranks

Total no of DOF verified by this rank

PROTECTED VARIABLES * int *sdispl,*rdispl;

===================================== END : MASTER FOR ALL DEGREES OF FREEDOM HAS BEEN DECIDED ========================

==================================START : NOW FIRST GATHERING INFORMATION REGARDING WHICH DOF's have to be received from OTHER PROCESSORS==================

PROTECTED VARIABLES * int *N_DofSend,*N_DofRecv,*DofSend,*DofRecv;

Here is the call graph for this function:

void TParFEMapper3D::ConstructDofMap_Master_Halo ( )

ARRAY CONTAINING GLOBAL DOF numbers (GLOBAL means LOCALLY GLOBAL for the subdomain)

BeginIndex: START ID IN GlobalNumbers ARRAY Cellwise

Array containing global number of all Local cells

Master :: Array containing the rank to which the Dof belongs

DofMarker:: Array to help finding Master, Slave, Dependent, Halo

DofMarker:: ALL the Dofs are marked 'i'

Local Index Array is filled with GlobalNumbers of each cell

DofMarker::Dofs of Dependent cells are marked 'd'

MappingData for dofs to be updated across domains are stored

DofMarker::Dofs of Halo cells not a part of dependent cells are marked 'h'

Master DOF verification by other ranks

Master DOF verification by other ranks completed

Gather information about other DOFs ::

dofs marked as 'i' –>independent

dofs marked as 's' –>slave

dofs marked as 'D' –>dependent_type1

dofs marked as 'd' –>dependent_type2

dofs marked as 'H' –>halo_type1

dofs marked as 'h' –>halo_type2

Here is the call graph for this function:

Member Data Documentation

MPI_Comm TParFEMapper3D::Comm
protected

MPI_Comm for which the fespace communications are needed

char* TParFEMapper3D::DofMarker
protected

array containing the dof type

TFESpace3D* TParFEMapper3D::FESpace
protected

fespace for which the communications are needed

int* TParFEMapper3D::Local2Global
protected

array to store globalDofNo of all its dofs

int* TParFEMapper3D::Master
protected

array containing the master of the dofs

int TParFEMapper3D::MaxSubDomainPerDof
protected

maximum number(possible) of subdomains among all dofs

int TParFEMapper3D::N_Dim
protected

Number of dimensions 2d/3d

int* TParFEMapper3D::RowPtr
protected

row ptr and col ptr of A aatrix

int* TParFEMapper3D::sdispl
protected

info of number of dofs to be send/recv from other procs

double* TParFEMapper3D::Send_Info
protected

array which carries info across procs


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