      Interface
        Subroutine DMSwarmGetField(dm,fieldname,blocksize,dtype,data,ierr)
          use petscsys, only: ePetscDataType
          import tDM
          DM dm
          character(len=*) :: fieldname
          PetscInt blocksize
          PetscDataType dtype
          PetscScalar, pointer :: data(:)
          PetscErrorCode ierr
        End Subroutine
      End Interface

      Interface
        Subroutine DMSwarmRestoreField(dm,fieldname,blocksize,dtype,data,ierr)
          use petscsys, only: ePetscDataType
          import tDM
          DM dm
          character(len=*) :: fieldname
          PetscInt blocksize
          PetscDataType dtype
          PetscScalar, pointer :: data(:)
          PetscErrorCode ierr
        End Subroutine
      End Interface
