1*6dd63270SBarry Smith 2*6dd63270SBarry Smith 3*6dd63270SBarry Smith Interface 4*6dd63270SBarry Smith Subroutine MatFDColoringRestorePerturbedColumns(i,len,array,ierr) 5*6dd63270SBarry Smith import tMatFDColoring 6*6dd63270SBarry Smith PetscInt, pointer :: array(:) 7*6dd63270SBarry Smith PetscInt len 8*6dd63270SBarry Smith PetscErrorCode ierr 9*6dd63270SBarry Smith MatFDColoring i 10*6dd63270SBarry Smith End Subroutine 11*6dd63270SBarry Smith End Interface 12*6dd63270SBarry Smith 13*6dd63270SBarry Smith interface 14*6dd63270SBarry Smith subroutine MatSetValue(myMat,i,j,va,mode,ierr) 15*6dd63270SBarry Smith import tMat, eInsertMode 16*6dd63270SBarry Smith Mat :: myMat 17*6dd63270SBarry Smith PetscInt :: i,j 18*6dd63270SBarry Smith PetscScalar :: va 19*6dd63270SBarry Smith InsertMode :: mode 20*6dd63270SBarry Smith PetscErrorCode, intent(out) :: ierr 21*6dd63270SBarry Smith end subroutine 22*6dd63270SBarry Smith 23*6dd63270SBarry Smith subroutine MatSetValueLocal(myMat,i,j,va,mode,ierr) 24*6dd63270SBarry Smith import tMat, eInsertMode 25*6dd63270SBarry Smith Mat :: myMat 26*6dd63270SBarry Smith PetscInt :: i,j 27*6dd63270SBarry Smith PetscScalar :: va 28*6dd63270SBarry Smith InsertMode :: mode 29*6dd63270SBarry Smith PetscErrorCode, intent(out) :: ierr 30*6dd63270SBarry Smith end subroutine 31*6dd63270SBarry Smith end interface 32*6dd63270SBarry Smith 33*6dd63270SBarry Smith interface MatDenseGetArray 34*6dd63270SBarry Smith Subroutine MatDenseGetArray1d(v,array,ierr) 35*6dd63270SBarry Smith import tMat 36*6dd63270SBarry Smith PetscScalar, pointer :: array(:) 37*6dd63270SBarry Smith PetscErrorCode ierr 38*6dd63270SBarry Smith Mat v 39*6dd63270SBarry Smith End Subroutine 40*6dd63270SBarry Smith Subroutine MatDenseGetArray2d(v,array,ierr) 41*6dd63270SBarry Smith import tMat 42*6dd63270SBarry Smith PetscScalar, pointer :: array(:,:) 43*6dd63270SBarry Smith PetscErrorCode ierr 44*6dd63270SBarry Smith Mat v 45*6dd63270SBarry Smith End Subroutine 46*6dd63270SBarry Smith end interface 47*6dd63270SBarry Smith 48*6dd63270SBarry Smith interface MatDenseRestoreArray 49*6dd63270SBarry Smith Subroutine MatDenseRestoreArray1d(v,array,ierr) 50*6dd63270SBarry Smith import tMat 51*6dd63270SBarry Smith PetscScalar, pointer :: array(:) 52*6dd63270SBarry Smith PetscErrorCode ierr 53*6dd63270SBarry Smith Mat v 54*6dd63270SBarry Smith End Subroutine 55*6dd63270SBarry Smith Subroutine MatDenseRestoreArray2d(v,array,ierr) 56*6dd63270SBarry Smith import tMat 57*6dd63270SBarry Smith PetscScalar, pointer :: array(:,:) 58*6dd63270SBarry Smith PetscErrorCode ierr 59*6dd63270SBarry Smith Mat v 60*6dd63270SBarry Smith End Subroutine 61*6dd63270SBarry Smith end interface 62*6dd63270SBarry Smith 63*6dd63270SBarry Smith interface MatDenseGetArrayRead 64*6dd63270SBarry Smith Subroutine MatDenseGetArrayRead1d(v,array,ierr) 65*6dd63270SBarry Smith import tMat 66*6dd63270SBarry Smith PetscScalar, pointer :: array(:) 67*6dd63270SBarry Smith PetscErrorCode ierr 68*6dd63270SBarry Smith Mat v 69*6dd63270SBarry Smith End Subroutine 70*6dd63270SBarry Smith Subroutine MatDenseGetArrayRead2d(v,array,ierr) 71*6dd63270SBarry Smith import tMat 72*6dd63270SBarry Smith PetscScalar, pointer :: array(:,:) 73*6dd63270SBarry Smith PetscErrorCode ierr 74*6dd63270SBarry Smith Mat v 75*6dd63270SBarry Smith End Subroutine 76*6dd63270SBarry Smith end interface 77*6dd63270SBarry Smith 78*6dd63270SBarry Smith interface MatDenseRestoreArrayRead 79*6dd63270SBarry Smith Subroutine MatDenseRestoreArrayRead1d(v,array,ierr) 80*6dd63270SBarry Smith import tMat 81*6dd63270SBarry Smith PetscScalar, pointer :: array(:) 82*6dd63270SBarry Smith PetscErrorCode ierr 83*6dd63270SBarry Smith Mat v 84*6dd63270SBarry Smith End Subroutine 85*6dd63270SBarry Smith Subroutine MatDenseRestoreArrayRead2d(v,array,ierr) 86*6dd63270SBarry Smith import tMat 87*6dd63270SBarry Smith PetscScalar, pointer :: array(:,:) 88*6dd63270SBarry Smith PetscErrorCode ierr 89*6dd63270SBarry Smith Mat v 90*6dd63270SBarry Smith End Subroutine 91*6dd63270SBarry Smith end interface 92*6dd63270SBarry Smith 93*6dd63270SBarry Smith interface MatDenseGetArrayWrite 94*6dd63270SBarry Smith Subroutine MatDenseGetArrayWrite1d(v,array,ierr) 95*6dd63270SBarry Smith import tMat 96*6dd63270SBarry Smith PetscScalar, pointer :: array(:) 97*6dd63270SBarry Smith PetscErrorCode ierr 98*6dd63270SBarry Smith Mat v 99*6dd63270SBarry Smith End Subroutine 100*6dd63270SBarry Smith Subroutine MatDenseGetArrayWrite2d(v,array,ierr) 101*6dd63270SBarry Smith import tMat 102*6dd63270SBarry Smith PetscScalar, pointer :: array(:,:) 103*6dd63270SBarry Smith PetscErrorCode ierr 104*6dd63270SBarry Smith Mat v 105*6dd63270SBarry Smith End Subroutine 106*6dd63270SBarry Smith end interface 107*6dd63270SBarry Smith 108*6dd63270SBarry Smith interface MatDenseRestoreArrayWrite 109*6dd63270SBarry Smith Subroutine MatDenseRestoreArrayWrite1d(v,array,ierr) 110*6dd63270SBarry Smith import tMat 111*6dd63270SBarry Smith PetscScalar, pointer :: array(:) 112*6dd63270SBarry Smith PetscErrorCode ierr 113*6dd63270SBarry Smith Mat v 114*6dd63270SBarry Smith End Subroutine 115*6dd63270SBarry Smith Subroutine MatDenseRestoreArrayWrite2d(v,array,ierr) 116*6dd63270SBarry Smith import tMat 117*6dd63270SBarry Smith PetscScalar, pointer :: array(:,:) 118*6dd63270SBarry Smith PetscErrorCode ierr 119*6dd63270SBarry Smith Mat v 120*6dd63270SBarry Smith End Subroutine 121*6dd63270SBarry Smith end interface 122