Actual source code: petscfvtypes.h
1: #if !defined(PETSCFVTYPES_H)
2: #define PETSCFVTYPES_H
4: /*S
5: PetscLimiter - PETSc object that manages a finite volume slope limiter
7: Level: beginner
9: .seealso: PetscLimiterCreate(), PetscLimiterSetType(), PetscLimiterType
10: S*/
11: typedef struct _p_PetscLimiter *PetscLimiter;
13: /*S
14: PetscFV - PETSc object that manages a finite volume discretization
16: Level: beginner
18: .seealso: PetscFVCreate(), PetscFVSetType(), PetscFVType
19: S*/
20: typedef struct _p_PetscFV *PetscFV;
22: /*S
23: PetscFVFaceGeom - Data structure (C struct) for storing information about face geometry for a finite volume method.
25: Level: beginner
27: Note: The components are
28: $ PetscReal normal[3] - Area-scaled normals
29: $ PetscReal centroid[3] - Location of centroid (quadrature point)
30: $ PetscScalar grad[2][3] - Face contribution to gradient in left and right cell
32: .seealso: DMPlexComputeGeometryFVM()
33: S*/
34: typedef struct {
35: PetscReal normal[3]; /* Area-scaled normals */
36: PetscReal centroid[3]; /* Location of centroid (quadrature point) */
37: PetscScalar grad[2][3]; /* Face contribution to gradient in left and right cell */
38: } PetscFVFaceGeom;
40: /*S
41: PetscFVCellGeom - Data structure (C struct) for storing information about cell geometry for a finite volume method.
43: Level: beginner
45: Note: The components are
46: $ PetscReal centroid[3] - The cell centroid
47: $ PetscReal volume - The cell volume
49: .seealso: DMPlexComputeGeometryFVM()
50: S*/
51: typedef struct {
52: PetscReal centroid[3];
53: PetscReal volume;
54: } PetscFVCellGeom;
56: #endif