xref: /petsc/include/petscfe.h (revision 568c31de91199397a9d0e3bff4dff974fd33c85d)
1dbe77d9eSMatthew G. Knepley /*
2dbe77d9eSMatthew G. Knepley       Objects which encapsulate finite element spaces and operations
3dbe77d9eSMatthew G. Knepley */
4dbe77d9eSMatthew G. Knepley #if !defined(__PETSCFE_H)
5dbe77d9eSMatthew G. Knepley #define __PETSCFE_H
6dbe77d9eSMatthew G. Knepley #include <petscdm.h>
7dbe77d9eSMatthew G. Knepley #include <petscfetypes.h>
8dbe77d9eSMatthew G. Knepley 
9dbe77d9eSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscFEInitializePackage(void);
10dbe77d9eSMatthew G. Knepley 
11dbe77d9eSMatthew G. Knepley PETSC_EXTERN PetscClassId PETSCSPACE_CLASSID;
12dbe77d9eSMatthew G. Knepley 
13dbe77d9eSMatthew G. Knepley /*J
14dbe77d9eSMatthew G. Knepley   PetscSpaceType - String with the name of a PETSc linear space
15dbe77d9eSMatthew G. Knepley 
16dbe77d9eSMatthew G. Knepley   Level: beginner
17dbe77d9eSMatthew G. Knepley 
18dbe77d9eSMatthew G. Knepley .seealso: PetscSpaceSetType(), PetscSpace
19dbe77d9eSMatthew G. Knepley J*/
20dbe77d9eSMatthew G. Knepley typedef const char *PetscSpaceType;
21dbe77d9eSMatthew G. Knepley #define PETSCSPACEPOLYNOMIAL "poly"
22dbe77d9eSMatthew G. Knepley 
23dbe77d9eSMatthew G. Knepley PETSC_EXTERN PetscFunctionList PetscSpaceList;
24dbe77d9eSMatthew G. Knepley PETSC_EXTERN PetscBool         PetscSpaceRegisterAllCalled;
25dbe77d9eSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscSpaceCreate(MPI_Comm, PetscSpace *);
26*568c31deSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscSpaceDestroy(PetscSpace *);
27dbe77d9eSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscSpaceSetType(PetscSpace, PetscSpaceType);
28dbe77d9eSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscSpaceGetType(PetscSpace, PetscSpaceType *);
29dbe77d9eSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscSpaceSetFromOptions(PetscSpace);
30dbe77d9eSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscSpaceRegister(const char [], PetscErrorCode (*)(PetscSpace));
31dbe77d9eSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscSpaceRegisterAll(void);
32dbe77d9eSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscSpaceRegisterDestroy(void);
33dbe77d9eSMatthew G. Knepley 
34dbe77d9eSMatthew G. Knepley PETSC_EXTERN PetscClassId PETSCDUALSPACE_CLASSID;
35dbe77d9eSMatthew G. Knepley 
36dbe77d9eSMatthew G. Knepley /*J
37dbe77d9eSMatthew G. Knepley   PetscDualSpaceType - String with the name of a PETSc dual space
38dbe77d9eSMatthew G. Knepley 
39dbe77d9eSMatthew G. Knepley   Level: beginner
40dbe77d9eSMatthew G. Knepley 
41dbe77d9eSMatthew G. Knepley .seealso: PetscDualSpaceSetType(), PetscDualSpace
42dbe77d9eSMatthew G. Knepley J*/
43dbe77d9eSMatthew G. Knepley typedef const char *PetscDualSpaceType;
44dbe77d9eSMatthew G. Knepley #define PETSCDUALSPACELAGRANGE "lagrange"
45dbe77d9eSMatthew G. Knepley 
46dbe77d9eSMatthew G. Knepley PETSC_EXTERN PetscFunctionList PetscDualSpaceList;
47dbe77d9eSMatthew G. Knepley PETSC_EXTERN PetscBool         PetscDualSpaceRegisterAllCalled;
48dbe77d9eSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate(MPI_Comm, PetscDualSpace *);
49*568c31deSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDualSpaceDestroy(PetscDualSpace *);
50dbe77d9eSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDualSpaceSetType(PetscDualSpace, PetscDualSpaceType);
51dbe77d9eSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDualSpaceGetType(PetscDualSpace, PetscDualSpaceType *);
52dbe77d9eSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDualSpaceSetFromOptions(PetscDualSpace);
53dbe77d9eSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDualSpaceRegister(const char [], PetscErrorCode (*)(PetscDualSpace));
54dbe77d9eSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDualSpaceRegisterAll(void);
55dbe77d9eSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDualSpaceRegisterDestroy(void);
56dbe77d9eSMatthew G. Knepley 
57dbe77d9eSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDualSpaceGetDimension(PetscDualSpace, PetscInt *);
58dbe77d9eSMatthew G. Knepley 
59dbe77d9eSMatthew G. Knepley PETSC_EXTERN PetscClassId PETSCFE_CLASSID;
60dbe77d9eSMatthew G. Knepley 
61*568c31deSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscFECreate(MPI_Comm, PetscFE *);
62*568c31deSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscFEDestroy(PetscFE *);
63*568c31deSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscFEGetTabulation(PetscFE, PetscInt, const PetscReal [], PetscReal **, PetscReal **, PetscReal **);
64dbe77d9eSMatthew G. Knepley #endif
65