xref: /petsc/include/petscfetypes.h (revision 98d129c30f3ee9fdddc40fdbc5a989b7be64f888)
1 #pragma once
2 
3 /* SUBMANSEC = FE */
4 
5 /*S
6   PetscFE - PETSc object that manages a finite element space, e.g. the P_1 Lagrange element
7 
8   Level: beginner
9 
10 .seealso: `PetscFECreate()`, `PetscSpace`, `PetscDualSpace`, `PetscSpaceCreate()`, `PetscDualSpaceCreate()`, `PetscFESetType()`, `PetscFEType`
11 S*/
12 typedef struct _p_PetscFE *PetscFE;
13 
14 /*MC
15   PetscFEJacobianType - indicates which pointwise functions should be used to fill the Jacobian matrix
16 
17   Level: beginner
18 
19 .seealso: `PetscFEIntegrateJacobian()`
20 M*/
21 typedef enum {
22   PETSCFE_JACOBIAN,
23   PETSCFE_JACOBIAN_PRE,
24   PETSCFE_JACOBIAN_DYN
25 } PetscFEJacobianType;
26