Actual source code: petscistypes.h

petsc-main 2021-04-20
Report Typos and Errors
  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