Actual source code: petscfvtypes.h

petsc-3.13.6 2020-09-29
Report Typos and Errors
  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