Commit 0293d466 authored by Graham, Aaron's avatar Graham, Aaron
Browse files

Cleanup in MatrixTypes_PETSc

parent faa0c009
Loading
Loading
Loading
Loading
+4 −11
Original line number Diff line number Diff line
@@ -165,13 +165,9 @@ SUBROUTINE init_PETScMatrixParam(matrix,Params)
      ENDIF

      IF (matType == SPARSE) THEN
        IF(nlocal == matrix%n .AND. mlocal == matrix%m) THEN
        CALL MatSetType(matrix%a,MATAIJ,ierr)
        ELSE
          CALL MatSetType(matrix%a,MATMPIAIJ,ierr)
        ENDIF
      ELSEIF (matType == DENSESQUARE) THEN
        CALL MatSetType(matrix%a,MATMPIDENSE,ierr)
        CALL MatSetType(matrix%a,MATDENSE,ierr)
      ELSE
        CALL eMatrixType%raiseError('Invalid matrix type in '// &
            modName//'::'//myName//' - Only sparse and dense square '// &
@@ -179,11 +175,8 @@ SUBROUTINE init_PETScMatrixParam(matrix,Params)
      ENDIF

      IF(MINVAL(dnnz) > 0_SIK .AND. MINVAL(onnz) >= 0_SIK) THEN
        IF(nlocal == matrix%n .AND. mlocal == matrix%m) THEN
        CALL MatSeqAIJSetPreallocation(matrix%A,0,dnnz,ierr)
        ELSE
        CALL MatMPIAIJSetPreallocation(matrix%A,0,dnnz,0,onnz,ierr)
        ENDIF
      ELSE
        CALL MatSetUp(matrix%a,ierr)
      ENDIF
+6 −0
Original line number Diff line number Diff line
@@ -1411,6 +1411,12 @@ SUBROUTINE testDirectSolve()
    CALL b%set(3,42._SRK)
  ENDSELECT

  SELECTTYPE(x => thisLS%x); TYPE IS(PETScVectorType)
    CALL x%set(1, 0.0_SRK)
    CALL x%set(2, 0.0_SRK)
    CALL x%set(3, 0.0_SRK)
  ENDSELECT

  CALL thisLS%solve()

  ! check X