xref: /petsc/include/petscdmswarm.h (revision cb1d1399e4986c428df25dfe271dbdc012ec953d)
1 #if !defined(__PETSCDMSWARM_H)
2 #define __PETSCDMSWARM_H
3 
4 #include <petscdm.h>
5 
6 PETSC_EXTERN PetscErrorCode DMSwarmCreateGlobalVectorFromField(DM dm,const char fieldname[],Vec *vec);
7 PETSC_EXTERN PetscErrorCode DMSwarmDestroyGlobalVectorFromField(DM dm,const char fieldname[],Vec *vec);
8 
9 PETSC_EXTERN PetscErrorCode DMSwarmInitializeFieldRegister(DM dm);
10 PETSC_EXTERN PetscErrorCode DMSwarmFinalizeFieldRegister(DM dm);
11 PETSC_EXTERN PetscErrorCode DMSwarmSetLocalSizes(DM dm,PetscInt nlocal,PetscInt buffer);
12 PETSC_EXTERN PetscErrorCode DMSwarmRegisterPetscDatatypeField(DM dm,const char fieldname[],PetscInt blocksize,PetscDataType type);
13 PETSC_EXTERN PetscErrorCode DMSwarmRegisterUserStructField(DM dm,const char fieldname[],size_t size);
14 PETSC_EXTERN PetscErrorCode DMSwarmRegisterUserDatatypeField(DM dm,const char fieldname[],size_t size);
15 PETSC_EXTERN PetscErrorCode DMSwarmGetField(DM dm,const char fieldname[],PetscInt *blocksize,PetscDataType *type,void **data);
16 PETSC_EXTERN PetscErrorCode DMSwarmRestoreField(DM dm,const char fieldname[],PetscInt *blocksize,PetscDataType *type,void **data);
17 
18 PETSC_EXTERN PetscErrorCode DMSwarmVectorDefineField(DM dm,const char fieldname[]);
19 
20 PETSC_EXTERN PetscErrorCode DMSwarmAddPoint(DM dm);
21 PETSC_EXTERN PetscErrorCode DMSwarmAddNPoints(DM dm,PetscInt npoints);
22 PETSC_EXTERN PetscErrorCode DMSwarmRemovePoint(DM dm);
23 PETSC_EXTERN PetscErrorCode DMSwarmRemovePointAtIndex(DM dm,PetscInt idx);
24 
25 #endif
26 
27