Interface Subroutine DMSwarmGetField(dm, fieldname, blocksize, dtype, data, ierr) use, intrinsic :: ISO_C_binding 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, intrinsic :: ISO_C_binding use petscsys, only: ePetscDataType import tDM DM dm character(len=*) :: fieldname PetscInt blocksize PetscDataType dtype PetscScalar, pointer :: data(:) PetscErrorCode ierr End Subroutine End Interface