Actual source code: petscfvtypes.h
petsc-3.10.5 2019-03-28
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