Actual source code: dmfieldimpl.h
petsc-3.14.6 2021-03-30
2: #define __DMFIELDIMPL_H
4: #include <petscdmfield.h>
5: #include <petsc/private/petscimpl.h>
7: PETSC_EXTERN PetscBool DMFieldRegisterAllCalled;
8: PETSC_EXTERN PetscErrorCode DMFieldRegisterAll(void);
10: typedef struct _DMFieldOps *DMFieldOps;
11: struct _DMFieldOps {
12: PetscErrorCode (*create) (DMField);
13: PetscErrorCode (*destroy) (DMField);
14: PetscErrorCode (*setfromoptions) (PetscOptionItems*,DMField);
15: PetscErrorCode (*setup) (DMField);
16: PetscErrorCode (*view) (DMField,PetscViewer);
17: PetscErrorCode (*evaluate) (DMField,Vec,PetscDataType,void*,void*,void*);
18: PetscErrorCode (*evaluateFE) (DMField,IS,PetscQuadrature,PetscDataType,void*,void*,void*);
19: PetscErrorCode (*evaluateFV) (DMField,IS,PetscDataType,void*,void*,void*);
20: PetscErrorCode (*getDegree) (DMField,IS,PetscInt *,PetscInt *);
21: PetscErrorCode (*createDefaultQuadrature) (DMField,IS,PetscQuadrature*);
22: PetscErrorCode (*computeFaceData) (DMField,IS,PetscQuadrature,PetscFEGeom *);
23: };
24: struct _p_DMField {
25: PETSCHEADER(struct _DMFieldOps);
26: DM dm;
27: DMFieldContinuity continuity;
28: PetscInt numComponents;
29: void *data;
30: };
32: PETSC_INTERN PetscErrorCode DMFieldCreate(DM,PetscInt,DMFieldContinuity,DMField*);
33: #endif