forked from petsc/petsc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpetscfvtypes.h
60 lines (45 loc) · 1.52 KB
/
petscfvtypes.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#pragma once
/* SUBMANSEC = FV */
/*S
PetscLimiter - PETSc object that manages a finite volume slope limiter
Level: beginner
.seealso: `PetscLimiterCreate()`, `PetscLimiterSetType()`, `PetscLimiterType`
S*/
typedef struct _p_PetscLimiter *PetscLimiter;
/*S
PetscFV - PETSc object that manages a finite volume discretization
Level: beginner
.seealso: `PetscFVCreate()`, `PetscFVSetType()`, `PetscFVType`
S*/
typedef struct _p_PetscFV *PetscFV;
/*S
PetscFVFaceGeom - Data structure (C struct) for storing information about face geometry for a finite volume method.
Level: beginner
Note:
The components are
.vb
PetscReal normal[3] - Area-scaled normals
PetscReal centroid[3] - Location of centroid (quadrature point)
PetscScalar grad[2][3] - Face contribution to gradient in left and right cell
.ve
.seealso: `PetscFVCellGeom`, `DMPlexComputeGeometryFVM()`
S*/
typedef struct {
PetscReal normal[3]; /* Area-scaled normals */
PetscReal centroid[3]; /* Location of centroid (quadrature point) */
PetscScalar grad[2][3]; /* Face contribution to gradient in left and right cell */
} PetscFVFaceGeom;
/*S
PetscFVCellGeom - Data structure (C struct) for storing information about cell geometry for a finite volume method.
Level: beginner
Note: The components are
.vb
PetscReal centroid[3] - The cell centroid
PetscReal volume - The cell volume
.ve
.seealso: `PetscFVFaceGeom`, `DMPlexComputeGeometryFVM()`
S*/
typedef struct {
PetscReal centroid[3];
PetscReal volume;
} PetscFVCellGeom;