13d5c7219SDave May #if !defined(__PETSCDMSWARM_H) 23d5c7219SDave May #define __PETSCDMSWARM_H 33d5c7219SDave May 43d5c7219SDave May #include <petscdm.h> 53d5c7219SDave May 6b5bcf523SDave May PETSC_EXTERN PetscErrorCode DMSwarmCreateGlobalVectorFromField(DM dm,const char fieldname[],Vec *vec); 7b5bcf523SDave May PETSC_EXTERN PetscErrorCode DMSwarmDestroyGlobalVectorFromField(DM dm,const char fieldname[],Vec *vec); 8b5bcf523SDave May 9b5bcf523SDave May PETSC_EXTERN PetscErrorCode DMSwarmInitializeFieldRegister(DM dm); 10b5bcf523SDave May PETSC_EXTERN PetscErrorCode DMSwarmFinalizeFieldRegister(DM dm); 11b5bcf523SDave May PETSC_EXTERN PetscErrorCode DMSwarmSetLocalSizes(DM dm,PetscInt nlocal,PetscInt buffer); 12b5bcf523SDave May PETSC_EXTERN PetscErrorCode DMSwarmRegisterPetscDatatypeField(DM dm,const char fieldname[],PetscInt blocksize,PetscDataType type); 13b5bcf523SDave May PETSC_EXTERN PetscErrorCode DMSwarmRegisterUserStructField(DM dm,const char fieldname[],size_t size); 14b5bcf523SDave May PETSC_EXTERN PetscErrorCode DMSwarmRegisterUserDatatypeField(DM dm,const char fieldname[],size_t size); 15b5bcf523SDave May PETSC_EXTERN PetscErrorCode DMSwarmGetField(DM dm,const char fieldname[],PetscInt *blocksize,PetscDataType *type,void **data); 16b5bcf523SDave May PETSC_EXTERN PetscErrorCode DMSwarmRestoreField(DM dm,const char fieldname[],PetscInt *blocksize,PetscDataType *type,void **data); 17b5bcf523SDave May 18b5bcf523SDave May PETSC_EXTERN PetscErrorCode DMSwarmVectorDefineField(DM dm,const char fieldname[]); 193d5c7219SDave May 20cb1d1399SDave May PETSC_EXTERN PetscErrorCode DMSwarmAddPoint(DM dm); 21cb1d1399SDave May PETSC_EXTERN PetscErrorCode DMSwarmAddNPoints(DM dm,PetscInt npoints); 22cb1d1399SDave May PETSC_EXTERN PetscErrorCode DMSwarmRemovePoint(DM dm); 23cb1d1399SDave May PETSC_EXTERN PetscErrorCode DMSwarmRemovePointAtIndex(DM dm,PetscInt idx); 24cb1d1399SDave May 25*dcf43ee8SDave May PETSC_EXTERN PetscErrorCode DMSwarmGetLocalSize(DM dm,PetscInt *nlocal); 26*dcf43ee8SDave May PETSC_EXTERN PetscErrorCode DMSwarmGetSize(DM dm,PetscInt *n); 27*dcf43ee8SDave May PETSC_EXTERN PetscErrorCode DMSwarmMigrate(DM dm,PetscBool remove_sent_points); 28*dcf43ee8SDave May 293d5c7219SDave May #endif 303d5c7219SDave May 31