Actual source code: petscfvtypes.h

petsc-3.7.5 2017-01-01
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: intermediate

  9:   Concepts: finite volume, limiter

 11: .seealso: PetscLimiterCreate(), PetscLimiterSetType(), PetscLimiterType
 12: S*/
 13: typedef struct _p_PetscLimiter *PetscLimiter;

 15: /*S
 16:   PetscFV - PETSc object that manages a finite volume discretization

 18:   Level: intermediate

 20:   Concepts: finite volume

 22: .seealso: PetscFVCreate(), PetscFVSetType(), PetscFVType
 23: S*/
 24: typedef struct _p_PetscFV *PetscFV;

 26: /*S
 27:   PetscFVFaceGeom - Data structure (C struct) for storing information about face geometry for a finite volume method.

 29:   Level: beginner

 31:   Note: The components are
 32: $  PetscReal   normal[3]   - Area-scaled normals
 33: $  PetscReal   centroid[3] - Location of centroid (quadrature point)
 34: $  PetscScalar grad[2][3]  - Face contribution to gradient in left and right cell

 36:   Concepts: finite volume; geometry; unstructured mesh

 38: .seealso: DMPlexComputeGeometryFVM()
 39: S*/
 40: typedef struct {
 41:   PetscReal   normal[3];   /* Area-scaled normals */
 42:   PetscReal   centroid[3]; /* Location of centroid (quadrature point) */
 43:   PetscScalar grad[2][3];  /* Face contribution to gradient in left and right cell */
 44: } PetscFVFaceGeom;

 46: /*S
 47:   PetscFVCellGeom - Data structure (C struct) for storing information about cell geometry for a finite volume method.

 49:   Level: beginner

 51:   Note: The components are
 52: $  PetscReal   centroid[3] - The cell centroid
 53: $  PetscReal   volume      - The cell volume

 55:   Concepts: finite volume; geometry; unstructured mesh

 57: .seealso: DMPlexComputeGeometryFVM()
 58: S*/
 59: typedef struct {
 60:   PetscReal centroid[3];
 61:   PetscReal volume;
 62: } PetscFVCellGeom;

 64: #endif