Date: 2025-03-29T05:58:17+00:00

Actual source code: petscfetypes.h

      1: #pragma once

      3: /* MANSEC = DM */
      4: /* SUBMANSEC = FE */

      6: /*S
      7:   PetscFE - PETSc object that manages a finite element space, e.g. the P_1 Lagrange element

      9:   Level: beginner

     11: .seealso: `PetscFECreate()`, `PetscSpace`, `PetscDualSpace`, `PetscSpaceCreate()`, `PetscDualSpaceCreate()`, `PetscFESetType()`, `PetscFEType`
     12: S*/
     13: typedef struct _p_PetscFE *PetscFE;

     15: /*MC
     16:   PetscFEJacobianType - indicates which pointwise functions should be used to fill the Jacobian matrix

     18:   Level: beginner

     20: .seealso: `PetscFEIntegrateJacobian()`
     21: M*/
     22: typedef enum {
     23:   PETSCFE_JACOBIAN,
     24:   PETSCFE_JACOBIAN_PRE,
     25:   PETSCFE_JACOBIAN_DYN
     26: } PetscFEJacobianType;

     28: /*E
     29:   PetscFEGeomMode - Describes the type of geometry being encoded.

     31:   Values:
     32: + `PETSC_FEGEOM_BASIC`    - These are normal dim-cells, with dim == dE, and only bulk data is stored.
     33: . `PETSC_FEGEOM_EMBEDDED` - These are dim-cells embedded in a higher dimension, as an embedded manifold, where dim < dE and only bulk data is stored.
     34: . `PETSC_FEGEOM_BOUNDARY` - These are dim-cells on the boundary of a dE-mesh, so that dim < dE, and both bulk and s = 1 face data are stored.
     35: - `PETSC_FEGEOM_COHESIVE` - These are dim-cells in the interior of a dE-mesh, so that dim < dE, and both bulk and s = 2 face data are stored.

     37:   Level: beginner

     39:   Note:
     40:   .vb
     41:   dim - The topological dimension and reference coordinate dimension
     42:   dE  - The real coordinate dimension
     43:   s   - The number of supporting cells for a face
     44:   .ve

     46: .seealso: [](ch_dmbase), `PetscFEGeom`, `DM`, `DMPLEX`, `PetscFEGeomCreate()`
     47: E*/
     48: typedef enum {
     49:   PETSC_FEGEOM_BASIC,
     50:   PETSC_FEGEOM_EMBEDDED,
     51:   PETSC_FEGEOM_BOUNDARY,
     52:   PETSC_FEGEOM_COHESIVE
     53: } PetscFEGeomMode;