1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML3.2 EN">
<HTML>
<HEAD> <link rel="canonical" href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DMPLEX/DMPlexGetClosureIndices.html" />
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<TITLE>DMPlexGetClosureIndices</TITLE>
</HEAD>
<BODY BGCOLOR="FFFFFF">
<div id="version" align=right><b>petsc-3.14.5 2021-03-03</b></div>
<div id="bugreport" align=right><a href="mailto:petsc-maint@mcs.anl.gov?subject=Typo or Error in Documentation &body=Please describe the typo or error in the documentation: petsc-3.14.5 v3.14.5 docs/manualpages/DMPLEX/DMPlexGetClosureIndices.html "><small>Report Typos and Errors</small></a></div>
<A NAME="DMPlexGetClosureIndices"><H1>DMPlexGetClosureIndices</H1></A>
Gets the global dof indices associated with the closure of the given point within the provided sections.
<H3><FONT COLOR="#CC3333">Synopsis</FONT></H3>
<PRE>
#include "petscdmplex.h"
<A HREF="../Sys/PetscErrorCode.html#PetscErrorCode">PetscErrorCode</A> <A HREF="../DMPLEX/DMPlexGetClosureIndices.html#DMPlexGetClosureIndices">DMPlexGetClosureIndices</A>(<A HREF="../DM/DM.html#DM">DM</A> dm, <A HREF="../PetscSection/PetscSection.html#PetscSection">PetscSection</A> section, <A HREF="../PetscSection/PetscSection.html#PetscSection">PetscSection</A> idxSection, <A HREF="../Sys/PetscInt.html#PetscInt">PetscInt</A> point, <A HREF="../Sys/PetscBool.html#PetscBool">PetscBool</A> useClPerm,
<A HREF="../Sys/PetscInt.html#PetscInt">PetscInt</A> *numIndices, <A HREF="../Sys/PetscInt.html#PetscInt">PetscInt</A> *indices[], <A HREF="../Sys/PetscInt.html#PetscInt">PetscInt</A> outOffsets[], <A HREF="../Sys/PetscScalar.html#PetscScalar">PetscScalar</A> *values[])
</PRE>
Not collective
<P>
<H3><FONT COLOR="#CC3333">Input Parameters</FONT></H3>
<TABLE border="0" cellpadding="0" cellspacing="0">
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>dm </B></TD><TD>- The <A HREF="../DM/DM.html#DM">DM</A>
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>section </B></TD><TD>- The <A HREF="../PetscSection/PetscSection.html#PetscSection">PetscSection</A> describing the points (a local section)
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>idxSection </B></TD><TD>- The <A HREF="../PetscSection/PetscSection.html#PetscSection">PetscSection</A> from which to obtain indices (may be local or global)
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>point </B></TD><TD>- The point defining the closure
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>useClPerm </B></TD><TD>- Use the closure point permutation if available
</TD></TR></TABLE>
<P>
<H3><FONT COLOR="#CC3333">Output Parameters</FONT></H3>
<TABLE border="0" cellpadding="0" cellspacing="0">
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>numIndices </B></TD><TD>- The number of dof indices in the closure of point with the input sections
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>indices </B></TD><TD>- The dof indices
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>outOffsets </B></TD><TD>- Array to write the field offsets into, or NULL
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>values </B></TD><TD>- The input values, which may be modified if sign flips are induced by the point symmetries, or NULL
</TD></TR></TABLE>
<P>
<H3><FONT COLOR="#CC3333">Notes</FONT></H3>
Must call <A HREF="../DMPLEX/DMPlexRestoreClosureIndices.html#DMPlexRestoreClosureIndices">DMPlexRestoreClosureIndices</A>() to free allocated memory
<P>
If idxSection is global, any constrained dofs (see <A HREF="../DM/DMAddBoundary.html#DMAddBoundary">DMAddBoundary</A>(), for example) will get negative indices. The value
of those indices is not significant. If idxSection is local, the constrained dofs will yield the involution -(idx+1)
of their index in a local vector. A caller who does not wish to distinguish those points may recover the nonnegative
indices via involution, -(-(idx+1)+1)==idx. Local indices are provided when idxSection == section, otherwise global
indices (with the above semantics) are implied.
<P>
<P>
<H3><FONT COLOR="#CC3333">See Also</FONT></H3>
<A HREF="../DMPLEX/DMPlexRestoreClosureIndices.html#DMPlexRestoreClosureIndices">DMPlexRestoreClosureIndices</A>(), <A HREF="../DMPLEX/DMPlexVecGetClosure.html#DMPlexVecGetClosure">DMPlexVecGetClosure</A>(), <A HREF="../DMPLEX/DMPlexMatSetClosure.html#DMPlexMatSetClosure">DMPlexMatSetClosure</A>(), <A HREF="../DM/DMGetLocalSection.html#DMGetLocalSection">DMGetLocalSection</A>(), <A HREF="../DM/DMGetGlobalSection.html#DMGetGlobalSection">DMGetGlobalSection</A>()
<BR><P><B></B><H3><FONT COLOR="#CC3333">Level</FONT></H3>advanced<BR>
<H3><FONT COLOR="#CC3333">Location</FONT></H3>
</B><A HREF="../../../src/dm/impls/plex/plex.c.html#DMPlexGetClosureIndices">src/dm/impls/plex/plex.c</A>
<P><H3><FONT COLOR="#CC3333">Examples</FONT></H3>
<A HREF="../../../src/dm/impls/plex/tutorials/ex8.c.html">src/dm/impls/plex/tutorials/ex8.c.html</A><BR>
<BR><A HREF="./index.html">Index of all DMPLEX routines</A>
<BR><A HREF="../../index.html">Table of Contents for all manual pages</A>
<BR><A HREF="../singleindex.html">Index of all manual pages</A>
</BODY></HTML>
|