Actual source code: petscda.h90

      1: !
      2: !
      3: !  Additional DA include file for use of PETSc with Fortran 90/HPF
      4: !

      6:       Interface
      7:         Subroutine DAGetGlobalIndicesF90(v,n,array,ierr)
      8:           PetscInt, pointer :: array(:)
      9:           PetscInt  n
     10:           PetscErrorCode ierr
     11:           DA       v
     12:         End Subroutine
     13:       End Interface

     16:       type DALocalInfof90
     17:         PetscInt ::       dim,dof,sw
     18:         PetscInt ::       mx,my,mz
     19:         PetscInt ::       xs,ys,zs
     20:         PetscInt ::       xm,ym,zm
     21:         PetscInt ::       gxs,gys,gzs
     22:         PetscInt ::       gxm,gym,gzm
     23:         DAPeriodicType :: pt
     24:         DAStencilType  :: st
     25:         DA ::             da
     26:       end type DALocalInfof90

     29:       Interface DMCompositeGetEntries
     30:         Subroutine DMCompositeGetEntries1(dm, d1,ierr)
     31:           DM  dm
     32:           PetscErrorCode ierr
     33:         End Subroutine

     35:         Subroutine DMCompositeGetEntries2(dm, d1,d2,ierr)
     36:           DM  dm
     37:           DM d1,d2
     38:           PetscErrorCode ierr
     39:         End Subroutine

     41:         Subroutine DMCompositeGetEntries3(dm, d1,d2,d3,ierr)
     42:           DM  dm
     43:           DM d1,d2,d3
     44:           PetscErrorCode ierr
     45:         End Subroutine

     47:         Subroutine DMCompositeGetEntries4(dm, d1,d2,d3,d4,ierr)
     48:           DM  dm
     49:           PetscInt d2,d4
     50:           DM d1,d3
     51:           PetscErrorCode ierr
     52:         End Subroutine
     53:       End Interface

     55:       Interface DMCompositeGetAccess
     56:         Subroutine DMCompositeGetAccessvpvp(dm, v,d1,d2,d3,d4,ierr)
     57:           DM  dm
     58:           Vec v,d1,d3
     59:           double precision,pointer :: d2(:),d4(:)
     60:           PetscErrorCode ierr
     61:         End Subroutine
     62:       End Interface

     64:       Interface DMCompositeRestoreAccess
     65:         Subroutine DMCompositeRestoreAccessvpvp(dm, v,d1,d2,d3,d4,ierr)
     66:           DM  dm
     67:           Vec v,d1,d3
     68:           double precision,pointer :: d2(:),d4(:)
     69:           PetscErrorCode ierr
     70:         End Subroutine
     71:       End Interface

     73:       Interface DAVecGetArrayF90
     74:         Subroutine DAVecGetArrayF901(Da, v,d1,ierr)
     75:           DA  da
     76:           Vec v
     77:           double precision,pointer :: d1(:)
     78:           PetscErrorCode ierr
     79:         End Subroutine
     80:       End Interface DAVecGetArrayF90

     82:       Interface DAVecRestoreArrayF90
     83:         Subroutine DAVecRestoreArrayF901(da, v,d1,ierr)
     84:           DA  da
     85:           Vec v
     86:           double precision,pointer :: d1(:)
     87:           PetscErrorCode ierr
     88:         End Subroutine
     89:       End Interface DAVecRestoreArrayF90

     91: !
     92: !     End of DA Fortran 90 include file for the PETSc package
     93: !