Skip to main content
`Ctrl`+`K`

# PetscSectionCreateSubmeshSection

Create a new, smaller section with support on the submesh

## Synopsis

    #include "petscsection.h"
    PetscErrorCode PetscSectionCreateSubmeshSection(PetscSection s, IS subpointIS, PetscSection *subs)

Collective

## Input Parameters

- s - the `PetscSection`

- subpointIS - a sorted list of points in the original mesh which are in the submesh

## Output Parameter

- subs - the subsection

## Notes

The points are renumbered from 0, and the section offsets now refer to a new, smaller vector. That is the chart of `subs` is `[0,sizeof(subpointmap))`

Compare this with `PetscSectionCreateSubdomainSection()` that does not map the points numbers to start at zero but leaves them as before

## Developer Notes

The use of the term Submesh is confusing and needs clarification, it is not specific to meshes. It appears to be just a subset of the chart of the original `PetscSection`

## See Also

PetscSection, `PetscSection`, `PetscSectionCreateSubdomainSection()`, `PetscSectionCreateSubsection()`, `DMPlexGetSubpointMap()`, `PetscSectionCreate()`

## Level

advanced

## Location

src/vec/is/section/interface/section.c

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