1 interface 2 subroutine DMSwarmGetField(dm, fieldname, blocksize, dtype, data, ierr) 3 use, intrinsic :: ISO_C_binding 4 use petscsys, only: ePetscDataType 5 import tDM 6 DM dm 7 character(len=*) :: fieldname 8 PetscInt blocksize 9 PetscDataType dtype 10 PetscScalar, pointer :: data(:) 11 PetscErrorCode ierr 12 end subroutine 13 end interface 14 15 interface 16 subroutine DMSwarmRestoreField(dm, fieldname, blocksize, dtype, data, ierr) 17 use, intrinsic :: ISO_C_binding 18 use petscsys, only: ePetscDataType 19 import tDM 20 DM dm 21 character(len=*) :: fieldname 22 PetscInt blocksize 23 PetscDataType dtype 24 PetscScalar, pointer :: data(:) 25 PetscErrorCode ierr 26 end subroutine 27 end interface 28