Date: 2022-03-04T17:38:47+00:00

Actual source code: dmfieldimpl.h

      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