13d5c7219SDave May #if !defined(__PETSCDMSWARM_H) 23d5c7219SDave May #define __PETSCDMSWARM_H 33d5c7219SDave May 43d5c7219SDave May #include <petscdm.h> 53d5c7219SDave May 6*b5bcf523SDave May PETSC_EXTERN PetscErrorCode DMSwarmCreateGlobalVectorFromField(DM dm,const char fieldname[],Vec *vec); 7*b5bcf523SDave May PETSC_EXTERN PetscErrorCode DMSwarmDestroyGlobalVectorFromField(DM dm,const char fieldname[],Vec *vec); 8*b5bcf523SDave May 9*b5bcf523SDave May PETSC_EXTERN PetscErrorCode DMSwarmInitializeFieldRegister(DM dm); 10*b5bcf523SDave May PETSC_EXTERN PetscErrorCode DMSwarmFinalizeFieldRegister(DM dm); 11*b5bcf523SDave May PETSC_EXTERN PetscErrorCode DMSwarmSetLocalSizes(DM dm,PetscInt nlocal,PetscInt buffer); 12*b5bcf523SDave May PETSC_EXTERN PetscErrorCode DMSwarmRegisterPetscDatatypeField(DM dm,const char fieldname[],PetscInt blocksize,PetscDataType type); 13*b5bcf523SDave May PETSC_EXTERN PetscErrorCode DMSwarmRegisterUserStructField(DM dm,const char fieldname[],size_t size); 14*b5bcf523SDave May PETSC_EXTERN PetscErrorCode DMSwarmRegisterUserDatatypeField(DM dm,const char fieldname[],size_t size); 15*b5bcf523SDave May PETSC_EXTERN PetscErrorCode DMSwarmGetField(DM dm,const char fieldname[],PetscInt *blocksize,PetscDataType *type,void **data); 16*b5bcf523SDave May PETSC_EXTERN PetscErrorCode DMSwarmRestoreField(DM dm,const char fieldname[],PetscInt *blocksize,PetscDataType *type,void **data); 17*b5bcf523SDave May 18*b5bcf523SDave May PETSC_EXTERN PetscErrorCode DMSwarmVectorDefineField(DM dm,const char fieldname[]); 193d5c7219SDave May 203d5c7219SDave May #endif 213d5c7219SDave May 22