communicate_matrixmpi Subroutine

public subroutine communicate_matrixmpi(comm, ndim_glob, ndim_loc, nz_al, icsr, jcsr, val)

Assembles a global CSR matrix, which was built partially on individual processes

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: comm

MPI communicator

integer, intent(in) :: ndim_glob

Dimension of global matrix

integer, intent(in) :: ndim_loc

Local dimension of partial matrix

integer, intent(in) :: nz_al

Dimension of jcsr, val, must be larger than numbers of non-zeros of global matrix

integer, intent(inout), dimension(ndim_glob+1) :: icsr

On input: i-indices (CSR format) of partial matrix On output: i-indices (CSR format) of global matrix

integer, intent(inout), dimension(nz_al) :: jcsr

On input: columnd indices (CSR format) of partial matrix On output: columnd indices (CSR format) of global matrix

real(kind=FP), intent(inout), dimension(nz_al) :: val

On input: Values (CSR format) of partial matrix On output: Values (CSR format) of global matrix