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 20*cb1d1399SDave May PETSC_EXTERN PetscErrorCode DMSwarmAddPoint(DM dm); 21*cb1d1399SDave May PETSC_EXTERN PetscErrorCode DMSwarmAddNPoints(DM dm,PetscInt npoints); 22*cb1d1399SDave May PETSC_EXTERN PetscErrorCode DMSwarmRemovePoint(DM dm); 23*cb1d1399SDave May PETSC_EXTERN PetscErrorCode DMSwarmRemovePointAtIndex(DM dm,PetscInt idx); 24*cb1d1399SDave May 253d5c7219SDave May #endif 263d5c7219SDave May 27