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