xref: /petsc/include/petscfvtypes.h (revision 523f37fc9117dd5fa1aa02add422425c9dfa13a5)
1f62f30faSMatthew G. Knepley #if !defined(_PETSCFVTYPES_H)
2f62f30faSMatthew G. Knepley #define _PETSCFVTYPES_H
3f62f30faSMatthew G. Knepley 
4f62f30faSMatthew G. Knepley /*S
5ab2453f0SMatthew G. Knepley   PetscLimiter - PETSc object that manages a finite volume slope limiter
6ab2453f0SMatthew G. Knepley 
7ab2453f0SMatthew G. Knepley   Level: intermediate
8ab2453f0SMatthew G. Knepley 
9ab2453f0SMatthew G. Knepley   Concepts: finite volume, limiter
10ab2453f0SMatthew G. Knepley 
11ab2453f0SMatthew G. Knepley .seealso: PetscLimiterCreate(), PetscLimiterSetType(), PetscLimiterType
12ab2453f0SMatthew G. Knepley S*/
13ab2453f0SMatthew G. Knepley typedef struct _p_PetscLimiter *PetscLimiter;
14ab2453f0SMatthew G. Knepley 
15ab2453f0SMatthew G. Knepley /*S
16f62f30faSMatthew G. Knepley   PetscFV - PETSc object that manages a finite volume discretization
17f62f30faSMatthew G. Knepley 
18f62f30faSMatthew G. Knepley   Level: intermediate
19f62f30faSMatthew G. Knepley 
20f62f30faSMatthew G. Knepley   Concepts: finite volume
21f62f30faSMatthew G. Knepley 
22f62f30faSMatthew G. Knepley .seealso: PetscFVCreate(), PetscFVSetType(), PetscFVType
23f62f30faSMatthew G. Knepley S*/
24f62f30faSMatthew G. Knepley typedef struct _p_PetscFV *PetscFV;
25f62f30faSMatthew G. Knepley 
26*523f37fcSMatthew G. Knepley /* Assuming dim <= 3 */
27*523f37fcSMatthew G. Knepley typedef struct {
28*523f37fcSMatthew G. Knepley   PetscReal   normal[3];   /* Area-scaled normals */
29*523f37fcSMatthew G. Knepley   PetscReal   centroid[3]; /* Location of centroid (quadrature point) */
30*523f37fcSMatthew G. Knepley   PetscScalar grad[2][3];  /* Face contribution to gradient in left and right cell */
31*523f37fcSMatthew G. Knepley } PetscFVFaceGeom;
32*523f37fcSMatthew G. Knepley 
33*523f37fcSMatthew G. Knepley typedef struct {
34*523f37fcSMatthew G. Knepley   PetscReal centroid[3];
35*523f37fcSMatthew G. Knepley   PetscReal volume;
36*523f37fcSMatthew G. Knepley } PetscFVCellGeom;
37*523f37fcSMatthew G. Knepley 
38f62f30faSMatthew G. Knepley #endif
39