Updates cached count/displacement arrays for a packed component count.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(flow_mpi_t), | intent(inout) | :: | flow | |||
| integer, | intent(in) | :: | ncomp | |||
| integer, | intent(in) | :: | ncells | |||
| integer, | intent(out) | :: | nlocal_comp |
subroutine prepare_matrix_gather(flow, ncomp, ncells, nlocal_comp) type(flow_mpi_t), intent(inout) :: flow integer, intent(in) :: ncomp, ncells integer, intent(out) :: nlocal_comp if (.not. allocated(flow%gather_matrix_sendbuf)) then call fatal_error('mpi_flow', 'owned matrix gather buffers are not initialized') end if if (ncomp > flow%gather_max_components) then call fatal_error('mpi_flow', 'owned matrix gather component count exceeds cached buffer size') end if if (sum(flow%gather_counts) /= ncells) then call fatal_error('mpi_flow', 'owned matrix gather cell count mismatch') end if nlocal_comp = flow%nlocal * ncomp flow%gather_matrix_counts = flow%gather_counts * ncomp flow%gather_matrix_displs = flow%gather_displs * ncomp end subroutine prepare_matrix_gather