1*02c639afSMartin Diehl interface 2*02c639afSMartin Diehl subroutine DMSwarmGetField(dm, fieldname, blocksize, dtype, data, ierr) 3fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 46dd63270SBarry Smith use petscsys, only: ePetscDataType 56dd63270SBarry Smith import tDM 66dd63270SBarry Smith DM dm 76dd63270SBarry Smith character(len=*) :: fieldname 86dd63270SBarry Smith PetscInt blocksize 96dd63270SBarry Smith PetscDataType dtype 106dd63270SBarry Smith PetscScalar, pointer :: data(:) 116dd63270SBarry Smith PetscErrorCode ierr 12*02c639afSMartin Diehl end subroutine 13*02c639afSMartin Diehl end interface 146dd63270SBarry Smith 15*02c639afSMartin Diehl interface 16*02c639afSMartin Diehl subroutine DMSwarmRestoreField(dm, fieldname, blocksize, dtype, data, ierr) 17fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 186dd63270SBarry Smith use petscsys, only: ePetscDataType 196dd63270SBarry Smith import tDM 206dd63270SBarry Smith DM dm 216dd63270SBarry Smith character(len=*) :: fieldname 226dd63270SBarry Smith PetscInt blocksize 236dd63270SBarry Smith PetscDataType dtype 246dd63270SBarry Smith PetscScalar, pointer :: data(:) 256dd63270SBarry Smith PetscErrorCode ierr 26*02c639afSMartin Diehl end subroutine 27*02c639afSMartin Diehl end interface 28