Interface Subroutine MatFDColoringRestorePerturbedColumns(i,len,array,ierr) import tMatFDColoring PetscInt, pointer :: array(:) PetscInt len PetscErrorCode ierr MatFDColoring i End Subroutine End Interface interface subroutine MatSetValue(myMat,i,j,va,mode,ierr) import tMat, eInsertMode Mat :: myMat PetscInt :: i,j PetscScalar :: va InsertMode :: mode PetscErrorCode, intent(out) :: ierr end subroutine subroutine MatSetValueLocal(myMat,i,j,va,mode,ierr) import tMat, eInsertMode Mat :: myMat PetscInt :: i,j PetscScalar :: va InsertMode :: mode PetscErrorCode, intent(out) :: ierr end subroutine end interface interface MatDenseGetArray Subroutine MatDenseGetArray1d(v,array,ierr) import tMat PetscScalar, pointer :: array(:) PetscErrorCode ierr Mat v End Subroutine Subroutine MatDenseGetArray2d(v,array,ierr) import tMat PetscScalar, pointer :: array(:,:) PetscErrorCode ierr Mat v End Subroutine end interface interface MatDenseRestoreArray Subroutine MatDenseRestoreArray1d(v,array,ierr) import tMat PetscScalar, pointer :: array(:) PetscErrorCode ierr Mat v End Subroutine Subroutine MatDenseRestoreArray2d(v,array,ierr) import tMat PetscScalar, pointer :: array(:,:) PetscErrorCode ierr Mat v End Subroutine end interface interface MatDenseGetArrayRead Subroutine MatDenseGetArrayRead1d(v,array,ierr) import tMat PetscScalar, pointer :: array(:) PetscErrorCode ierr Mat v End Subroutine Subroutine MatDenseGetArrayRead2d(v,array,ierr) import tMat PetscScalar, pointer :: array(:,:) PetscErrorCode ierr Mat v End Subroutine end interface interface MatDenseRestoreArrayRead Subroutine MatDenseRestoreArrayRead1d(v,array,ierr) import tMat PetscScalar, pointer :: array(:) PetscErrorCode ierr Mat v End Subroutine Subroutine MatDenseRestoreArrayRead2d(v,array,ierr) import tMat PetscScalar, pointer :: array(:,:) PetscErrorCode ierr Mat v End Subroutine end interface interface MatDenseGetArrayWrite Subroutine MatDenseGetArrayWrite1d(v,array,ierr) import tMat PetscScalar, pointer :: array(:) PetscErrorCode ierr Mat v End Subroutine Subroutine MatDenseGetArrayWrite2d(v,array,ierr) import tMat PetscScalar, pointer :: array(:,:) PetscErrorCode ierr Mat v End Subroutine end interface interface MatDenseRestoreArrayWrite Subroutine MatDenseRestoreArrayWrite1d(v,array,ierr) import tMat PetscScalar, pointer :: array(:) PetscErrorCode ierr Mat v End Subroutine Subroutine MatDenseRestoreArrayWrite2d(v,array,ierr) import tMat PetscScalar, pointer :: array(:,:) PetscErrorCode ierr Mat v End Subroutine end interface