Actual source code: petscistypes.h
petsc-3.7.1 2016-05-15
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:   Concepts: indexing, stride

     11: .seealso:  ISCreateGeneral(), ISCreateBlock(), ISCreateStride(), ISGetIndices(), ISDestroy()
     12: S*/
     13: typedef struct _p_IS* IS;

     15: /*S
     16:    ISLocalToGlobalMapping - mappings from an arbitrary
     17:       local ordering from 0 to n-1 to a global PETSc ordering
     18:       used by a vector or matrix.

     20:    Level: intermediate

     22:    Note: mapping from Local to Global is scalable; but Global
     23:   to Local may not be if the range of global values represented locally
     24:   is very large.

     26:    Note: the ISLocalToGlobalMapping is actually a private object; it is included
     27:   here for the inline function ISLocalToGlobalMappingApply() to allow it to be inlined since
     28:   it is used so often.

     30: .seealso:  ISLocalToGlobalMappingCreate()
     31: S*/
     32: typedef struct _p_ISLocalToGlobalMapping* ISLocalToGlobalMapping;

     34: /*S
     35:      ISColoring - sets of IS's that define a coloring
     36:               of the underlying indices

     38:    Level: intermediate

     40:     Notes:
     41:         One should not access the *is records below directly because they may not yet
     42:     have been created. One should use ISColoringGetIS() to make sure they are
     43:     created when needed.

     45:     Developer Note: this is not a PetscObject

     47: .seealso:  ISColoringCreate(), ISColoringGetIS(), ISColoringView(), ISColoringGetIS()
     48: S*/
     49: typedef struct _n_ISColoring* ISColoring;

     51: /*S
     52:      PetscLayout - defines layout of vectors and matrices across processes (which rows are owned by which processes)

     54:    Level: developer

     57: .seealso:  PetscLayoutCreate(), PetscLayoutDestroy()
     58: S*/
     59: typedef struct _n_PetscLayout* PetscLayout;

     61: /*S
     62:   PetscSection - Mapping from integers in a designated range to contiguous sets of integers.

     64:   In contrast to IS, which maps from integers to single integers, the range of a PetscSection is in the space of
     65:   contiguous sets of integers. These ranges are frequently interpreted as domains of other array-like objects,
     66:   especially other PetscSections, Vecs, and ISs. The domain is set with PetscSectionSetChart() and does not need to
     67:   start at 0. For each point in the domain of a PetscSection, the output set is represented through an offset and a
     68:   count, which are set using PetscSectionSetOffset() and PetscSectionSetDof() respectively. Lookup is typically using
     69:   accessors or routines like VecGetValuesSection().

     71:   Level: developer

     73: .seealso:  PetscSectionCreate(), PetscSectionDestroy()
     74: S*/
     75: typedef struct _p_PetscSection *PetscSection;

     77: #endif