File: DMPlexCreateHybridMesh.html

package info (click to toggle)
petsc 3.14.5%2Bdfsg1-4
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 266,472 kB
  • sloc: ansic: 680,898; python: 33,303; cpp: 16,324; makefile: 14,022; f90: 13,731; javascript: 10,713; fortran: 9,581; sh: 1,373; xml: 619; objc: 445; csh: 192; pascal: 148; java: 13
file content (63 lines) | stat: -rw-r--r-- 4,799 bytes parent folder | download
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
<!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/DMPlexCreateHybridMesh.html" />
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<TITLE>DMPlexCreateHybridMesh</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/DMPlexCreateHybridMesh.html "><small>Report Typos and Errors</small></a></div>
<A NAME="DMPlexCreateHybridMesh"><H1>DMPlexCreateHybridMesh</H1></A>
Create a mesh with hybrid cells along an internal interface 
<H3><FONT COLOR="#CC3333">Synopsis</FONT></H3>
<PRE>
#include "petscdmplex.h"    
#include "petscdmlabel.h"   
<A HREF="../Sys/PetscErrorCode.html#PetscErrorCode">PetscErrorCode</A> <A HREF="../DMPLEX/DMPlexCreateHybridMesh.html#DMPlexCreateHybridMesh">DMPlexCreateHybridMesh</A>(<A HREF="../DM/DM.html#DM">DM</A> dm, <A HREF="../DM/DMLabel.html#DMLabel">DMLabel</A> label, <A HREF="../DM/DMLabel.html#DMLabel">DMLabel</A> bdlabel, <A HREF="../DM/DMLabel.html#DMLabel">DMLabel</A> *hybridLabel, <A HREF="../DM/DMLabel.html#DMLabel">DMLabel</A> *splitLabel, <A HREF="../DM/DM.html#DM">DM</A> *dmInterface, <A HREF="../DM/DM.html#DM">DM</A> *dmHybrid)
</PRE>
Collective on dm
<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 original <A HREF="../DM/DM.html#DM">DM</A>
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>label </B></TD><TD>- The label specifying the interface vertices
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>bdlabel </B></TD><TD>- The optional label specifying the interface boundary vertices
</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>hybridLabel </B></TD><TD>- The label fully marking the interface, or NULL if no output is desired
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>splitLabel </B></TD><TD>- The label containing the split points, or NULL if no output is desired
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>dmInterface </B></TD><TD>- The new interface <A HREF="../DM/DM.html#DM">DM</A>, or NULL
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>dmHybrid </B></TD><TD>- The new <A HREF="../DM/DM.html#DM">DM</A> with cohesive cells
</TD></TR></TABLE>
<P>
Note: The hybridLabel indicates what parts of the original mesh impinged on the on division surface. For points
directly on the division surface, they are labeled with their dimension, so an edge 7 on the division surface would be
7 (1) in hybridLabel. For points that impinge from the positive side, they are labeled with 100+dim, so an edge 6 with
one vertex 3 on the surface would be 6 (101) and 3 (0) in hybridLabel. If an edge 9 from the negative side of the
surface also hits vertex 3, it would be 9 (-101) in hybridLabel.
<P>
The splitLabel indicates what points in the new hybrid mesh were the result of splitting points in the original
mesh. The label value is +=100+dim for each point. For example, if two edges 10 and 14 in the hybrid resulting from
splitting an edge in the original mesh, you would have 10 (101) and 14 (-101) in the splitLabel.
<P>
The dmInterface is a <A HREF="../DM/DM.html#DM">DM</A> built from the original division surface. It has a label which can be retrieved using
<A HREF="../DMPLEX/DMPlexGetSubpointMap.html#DMPlexGetSubpointMap">DMPlexGetSubpointMap</A>() which maps each point back to the point in the surface of the original mesh.
<P>

<P>
<H3><FONT COLOR="#CC3333">See Also</FONT></H3>
 <A HREF="../DMPLEX/DMPlexConstructCohesiveCells.html#DMPlexConstructCohesiveCells">DMPlexConstructCohesiveCells</A>(), <A HREF="../DMPLEX/DMPlexLabelCohesiveComplete.html#DMPlexLabelCohesiveComplete">DMPlexLabelCohesiveComplete</A>(), <A HREF="../DMPLEX/DMPlexGetSubpointMap.html#DMPlexGetSubpointMap">DMPlexGetSubpointMap</A>(), <A HREF="../DM/DMCreate.html#DMCreate">DMCreate</A>()
<BR><P><B></B><H3><FONT COLOR="#CC3333">Level</FONT></H3>developer<BR>
<H3><FONT COLOR="#CC3333">Location</FONT></H3>
</B><A HREF="../../../src/dm/impls/plex/plexsubmesh.c.html#DMPlexCreateHybridMesh">src/dm/impls/plex/plexsubmesh.c</A>
<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>