xref: /petsc/include/petscdmswarm.h (revision dcf43ee8151790df9d04c78a9ee59340338a1d5a)
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