Actual source code: zswarm.c
1: #include <petsc/private/fortranimpl.h>
2: #include <petscdmswarm.h>
4: #if defined(PETSC_HAVE_FORTRAN_CAPS)
5: #define dmswarmcreateglobalvectorfromfield_ DMSWARMCREATEGLOBALVECTORFROMFIELD
6: #define dmswarmdestroyglobalvectorfromfield_ DMSWARMDESTROYGLOBALVECTORFROMFIELD
7: #define dmswarmregisterpetscdatatypefield_ DMSWARMREGISTERPETSCDATATYPEFIELD
8: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
9: #define dmswarmcreateglobalvectorfromfield_ dmswarmcreateglobalvectorfromfield
10: #define dmswarmdestroyglobalvectorfromfield_ dmswarmdestroyglobalvectorfromfield
11: #define dmswarmregisterpetscdatatypefield_ dmswarmregisterpetscdatatypefield
12: #endif
14: /* Definitions of Fortran Wrapper routines */
16: PETSC_EXTERN void dmswarmcreateglobalvectorfromfield_(DM *dm, char *name, Vec *vec, int *ierr, PETSC_FORTRAN_CHARLEN_T lenN)
17: {
18: char *fieldname;
20: FIXCHAR(name, lenN, fieldname);
21: *ierr = DMSwarmCreateGlobalVectorFromField(*dm, fieldname, vec);
22: FREECHAR(name, fieldname);
23: }
25: PETSC_EXTERN void dmswarmdestroyglobalvectorfromfield_(DM *dm, char *name, Vec *vec, int *ierr, PETSC_FORTRAN_CHARLEN_T lenN)
26: {
27: char *fieldname;
29: FIXCHAR(name, lenN, fieldname);
30: *ierr = DMSwarmDestroyGlobalVectorFromField(*dm, fieldname, vec);
31: FREECHAR(name, fieldname);
32: }
34: PETSC_EXTERN void dmswarmregisterpetscdatatypefield_(DM *dm, char *name, PetscInt *blocksize, PetscDataType *type, int *ierr, PETSC_FORTRAN_CHARLEN_T lenN)
35: {
36: char *fieldname;
38: FIXCHAR(name, lenN, fieldname);
39: *ierr = DMSwarmRegisterPetscDatatypeField(*dm, fieldname, *blocksize, *type);
40: FREECHAR(name, fieldname);
41: }