Actual source code: petscda.h
1: !
2: ! $Id: petscda.h,v 1.20 2001/06/21 21:20:08 bsmith Exp $;
3: !
4: ! Include file for Fortran use of the DA (distributed array) package in PETSc
5: !
6: #if !defined (__PETSCDA_H)
9: #define DA PetscFortranAddr
10: #define DAPeriodicType integer
11: #define DAStencilType integer
12: #define DADirection integer
13: #define DMMG PetscFortranAddr
14: #define VecPack PetscFortranAddr
15: #define DM PetscFortranAddr
17: #define DALocalInfo integer
18: !
19: ! DA_LOCAL_INFO_SIZE is one large than the size incase the DA is larger than an integer (on 64 bit systems)
20: !
21: #define DA_LOCAL_INFO_SIZE 22
22: #define DA_LOCAL_INFO_DIM 1
23: #define DA_LOCAL_INFO_DOF 2
24: #define DA_LOCAL_INFO_PT 4
25: #define DA_LOCAL_INFO_ST 5
26: #define DA_LOCAL_INFO_MX 6
27: #define DA_LOCAL_INFO_MY 7
28: #define DA_LOCAL_INFO_MZ 8
29: #define DA_LOCAL_INFO_XS 9
30: #define DA_LOCAL_INFO_YS 10
31: #define DA_LOCAL_INFO_ZS 11
32: #define DA_LOCAL_INFO_XM 12
33: #define DA_LOCAL_INFO_YM 13
34: #define DA_LOCAL_INFO_ZM 14
35: #define DA_LOCAL_INFO_GXS 15
36: #define DA_LOCAL_INFO_GYS 16
37: #define DA_LOCAL_INFO_GZS 17
38: #define DA_LOCAL_INFO_GXM 18
39: #define DA_LOCAL_INFO_GYM 19
40: #define DA_LOCAL_INFO_GZM 20
41: #define DA_LOCAL_INFO_DA 21
43: #define XG_RANGE in(DA_LOCAL_INFO_GXS)+1:in(DA_LOCAL_INFO_GXS)+in(DA_LOCAL_INFO_GXM)
44: #define YG_RANGE in(DA_LOCAL_INFO_GYS)+1:in(DA_LOCAL_INFO_GYS)+in(DA_LOCAL_INFO_GYM)
45: #define ZG_RANGE in(DA_LOCAL_INFO_GZS)+1:in(DA_LOCAL_INFO_GZS)+in(DA_LOCAL_INFO_GZM)
46: #define X_RANGE in(DA_LOCAL_INFO_XS)+1:in(DA_LOCAL_INFO_XS)+in(DA_LOCAL_INFO_XM)
47: #define Y_RANGE in(DA_LOCAL_INFO_YS)+1:in(DA_LOCAL_INFO_YS)+in(DA_LOCAL_INFO_YM)
48: #define Z_RANGE in(DA_LOCAL_INFO_ZS)+1:in(DA_LOCAL_INFO_ZS)+in(DA_LOCAL_INFO_ZM)
50: #define DAInterpolationType integer
51: #define DA_Q0 0
52: #define DA_Q1 1
54: #endif
57: #if !defined (PETSC_AVOID_DECLARATIONS)
58: !
59: ! Types of stencils
60: !
61: integer DA_STENCIL_STAR,DA_STENCIL_BOX
63: parameter (DA_STENCIL_STAR = 0,DA_STENCIL_BOX = 1)
64: !
65: ! Types of periodicity
66: !
67: integer DA_NONPERIODIC,DA_XPERIODIC,DA_YPERIODIC,DA_XYPERIODIC
68: integer DA_XYZPERIODIC,DA_XZPERIODIC,DA_YZPERIODIC,DA_ZPERIODIC
70: parameter (DA_NONPERIODIC = 0,DA_XPERIODIC = 1,DA_YPERIODIC = 2)
71: parameter (DA_XYPERIODIC = 3,DA_XYZPERIODIC = 4)
72: parameter (DA_XZPERIODIC = 5,DA_YZPERIODIC = 6,DA_ZPERIODIC = 7)
73: !
74: ! DA Directions
75: !
76: integer DA_X,DA_Y,DA_Z
78: parameter (DA_X = 0,DA_Y = 1,DA_Z = 2)
79: !
80: ! End of Fortran include file for the DA package in PETSc
82: #endif