Hi Barry,
Thanks for popping in. This is my code:
blockValues = this%getDiagonalBlockValues(iElement=iElement)
call MatSetValuesBlocked(this%A, 4-bdim, mesh%cellGlobalAddr(iElement)-1, 4-bdim, mesh%cellGlobalAddr(iElement)-1, blockValues, INSERT_VALUES, ierr)
blockValues is a 3x3 or 4x4 matrix and I am passing it straight away.