Returns an IS and subDM containing a PetscSection that encapsulates a subproblem defined by a subset of the fields in a PetscSection in the DM.


#include "petscdm.h"     
PetscErrorCode DMCreateSectionSubDM(DM dm, PetscInt numFields, const PetscInt fields[], const PetscInt numComps[], const PetscInt comps[], IS *is, DM *subdm)

Not Collective

Input Parameters#

  • dm - The DM object

  • numFields - The number of fields to incorporate into subdm

  • fields - The field numbers of the selected fields

  • numComps - The number of components from each field to incorporate into subdm, or PETSC_DECIDE for all components

  • comps - The component numbers of the selected fields (omitted for PTESC_DECIDE fields)

Output Parameters#

  • is - The global indices for the subproblem or NULL

  • subdm - The DM for the subproblem, which must already have be cloned from dm or NULL


If is and subdm are both NULL this does nothing

See Also#

DMCreateSubDM(), DMGetLocalSection(), DMPlexSetMigrationSF(), DMView()





Index of all DM routines
Table of Contents for all manual pages
Index of all manual pages