Actual source code: petscdmfield.h

petsc-3.12.5 2020-03-29
Report Typos and Errors
  1: #if !defined(PETSCDMFIELD_H)
  2: #define      PETSCDMFIELD_H
  3:  #include <petscdm.h>
  4:  #include <petscdt.h>
  5:  #include <petscfe.h>

  7: PETSC_EXTERN PetscErrorCode DMFieldInitializePackage(void);
  8: PETSC_EXTERN PetscErrorCode DMFieldFinalizePackage(void);

 10: PETSC_EXTERN PetscClassId DMFIELD_CLASSID;

 12: /*J
 13:     DMFieldType - String with the name of a DMField method

 15:     Level: intermediate
 16: J*/
 17: typedef const char *DMFieldType;
 18: #define DMFIELDDA    "da"
 19: #define DMFIELDDS    "ds"
 20: #define DMFIELDSHELL "shell"

 22: PETSC_EXTERN PetscFunctionList DMFieldList;
 23: PETSC_EXTERN PetscErrorCode    DMFieldSetType(DMField, DMFieldType);
 24: PETSC_EXTERN PetscErrorCode    DMFieldGetType(DMField, DMFieldType*);
 25: PETSC_EXTERN PetscErrorCode    DMFieldRegister(const char[],PetscErrorCode (*)(DMField));

 27: typedef enum {DMFIELD_VERTEX,DMFIELD_EDGE,DMFIELD_FACET,DMFIELD_CELL} DMFieldContinuity;
 28: PETSC_EXTERN const char *const DMFieldContinuities[];

 30: PETSC_EXTERN PetscErrorCode    DMFieldDestroy(DMField*);
 31: PETSC_EXTERN PetscErrorCode    DMFieldView(DMField,PetscViewer);

 33: PETSC_EXTERN PetscErrorCode    DMFieldGetDM(DMField,DM*);
 34: PETSC_EXTERN PetscErrorCode    DMFieldGetNumComponents(DMField,PetscInt*);
 35: PETSC_EXTERN PetscErrorCode    DMFieldGetContinuity(DMField,DMFieldContinuity*);

 37: PETSC_EXTERN PetscErrorCode    DMFieldEvaluate(DMField,Vec,PetscDataType,void*,void*,void*);
 38: PETSC_EXTERN PetscErrorCode    DMFieldEvaluateFE(DMField,IS,PetscQuadrature,PetscDataType,void*,void*,void*);
 39: PETSC_EXTERN PetscErrorCode    DMFieldEvaluateFV(DMField,IS,PetscDataType,void*,void*,void*);
 40: PETSC_EXTERN PetscErrorCode    DMFieldCreateFEGeom(DMField,IS,PetscQuadrature,PetscBool,PetscFEGeom **);

 42: PETSC_EXTERN PetscErrorCode    DMFieldCreateDefaultQuadrature(DMField,IS,PetscQuadrature*);

 44: PETSC_EXTERN PetscErrorCode    DMFieldGetDegree(DMField,IS,PetscInt *,PetscInt *);

 46: PETSC_EXTERN PetscErrorCode    DMFieldCreateDA(DM,PetscInt,const PetscScalar *,DMField *);
 47: PETSC_EXTERN PetscErrorCode    DMFieldCreateDS(DM,PetscInt,Vec,DMField *);

 49: PETSC_EXTERN PetscErrorCode    DMFieldCreateShell(DM,PetscInt,DMFieldContinuity,void *,DMField *);
 50: PETSC_EXTERN PetscErrorCode    DMFieldShellSetDestroy(DMField,PetscErrorCode(*)(DMField));
 51: PETSC_EXTERN PetscErrorCode    DMFieldShellGetContext(DMField,void *);
 52: PETSC_EXTERN PetscErrorCode    DMFieldShellSetEvaluate(DMField,PetscErrorCode(*)(DMField,Vec,PetscDataType,void*,void*,void*));
 53: PETSC_EXTERN PetscErrorCode    DMFieldShellSetEvaluateFE(DMField,PetscErrorCode(*)(DMField,IS,PetscQuadrature,PetscDataType,void*,void*,void*));
 54: PETSC_EXTERN PetscErrorCode    DMFieldShellEvaluateFEDefault(DMField,IS,PetscQuadrature,PetscDataType,void*,void*,void*);
 55: PETSC_EXTERN PetscErrorCode    DMFieldShellSetEvaluateFV(DMField,PetscErrorCode(*)(DMField,IS,PetscDataType,void*,void*,void*));
 56: PETSC_EXTERN PetscErrorCode    DMFieldShellEvaluateFVDefault(DMField,IS,PetscDataType,void*,void*,void*);
 57: PETSC_EXTERN PetscErrorCode    DMFieldShellSetGetDegree(DMField,PetscErrorCode(*)(DMField,IS,PetscInt *,PetscInt *));
 58: PETSC_EXTERN PetscErrorCode    DMFieldShellSetCreateDefaultQuadrature(DMField,PetscErrorCode(*)(DMField,IS,PetscQuadrature *));

 60: #endif