Actual source code: petscistypes.h
petsc-3.14.6 2021-03-30
1: #if !defined(PETSCISTYPES_H)
2: #define PETSCISTYPES_H
4: /*S
5: IS - Abstract PETSc object that allows indexing.
7: Level: beginner
9: .seealso: ISCreateGeneral(), ISCreateBlock(), ISCreateStride(), ISGetIndices(), ISDestroy()
10: S*/
11: typedef struct _p_IS* IS;
13: /*S
14: ISLocalToGlobalMapping - mappings from an arbitrary
15: local ordering from 0 to n-1 to a global PETSc ordering
16: used by a vector or matrix.
18: Level: intermediate
20: Note: mapping from local to global is scalable; but global
21: to local may not be if the range of global values represented locally
22: is very large.
24: Note: the ISLocalToGlobalMapping is actually a private object; it is included
25: here for the inline function ISLocalToGlobalMappingApply() to allow it to be inlined since
26: it is used so often.
28: .seealso: ISLocalToGlobalMappingCreate(), ISLocalToGlobalMappingApply(), ISLocalToGlobalMappingDestroy()
29: S*/
30: typedef struct _p_ISLocalToGlobalMapping* ISLocalToGlobalMapping;
32: /*S
33: ISColoring - sets of IS's that define a coloring
34: of the underlying indices
36: Level: intermediate
38: Notes:
39: One should not access the *is records below directly because they may not yet
40: have been created. One should use ISColoringGetIS() to make sure they are
41: created when needed.
43: When the coloring type is IS_COLORING_LOCAL the coloring is in the local ordering of the unknowns.
44: That is the matching the local (ghosted) vector; a local to global mapping must be applied to map
45: them to the global ordering.
47: Developer Note: this is not a PetscObject
49: .seealso: ISColoringCreate(), ISColoringGetIS(), ISColoringView()
50: S*/
51: typedef struct _n_ISColoring* ISColoring;
53: /*S
54: PetscLayout - defines layout of vectors and matrices across processes (which rows are owned by which processes)
56: Level: developer
59: .seealso: PetscLayoutCreate(), PetscLayoutDestroy()
60: S*/
61: typedef struct _n_PetscLayout* PetscLayout;
63: #endif