File: DMPlexTransferVecTree.html

package info (click to toggle)
petsc 3.10.3%2Bdfsg1-5
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 209,064 kB
  • sloc: ansic: 587,333; python: 29,696; makefile: 12,445; fortran: 11,626; f90: 9,677; cpp: 8,768; sh: 1,027; xml: 621; objc: 445; csh: 194; java: 13
file content (65 lines) | stat: -rw-r--r-- 5,663 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
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/DMPlexTransferVecTree.html" />
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<TITLE>DMPlexTransferVecTree</TITLE>
</HEAD>
<BODY BGCOLOR="FFFFFF">
   <div id="version" align=right><b>petsc-3.10.3 2018-12-18</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.10.3 v3.10.3 docs/manualpages/DMPLEX/DMPlexTransferVecTree.html "><small>Report Typos and Errors</small></a></div>
<A NAME="DMPlexTransferVecTree"><H1>DMPlexTransferVecTree</H1></A>
transfer a vector between two meshes that differ from each other by refinement/coarsening that can be represented by a common reference tree used by both.  This routine can be used for a combination of coarsening and refinement at the same time. 
<H3><FONT COLOR="#CC3333">Synopsis</FONT></H3>
<PRE>
#include "petscdmplex.h"   
<A HREF="../Sys/PetscErrorCode.html#PetscErrorCode">PetscErrorCode</A> <A HREF="../DMPLEX/DMPlexTransferVecTree.html#DMPlexTransferVecTree">DMPlexTransferVecTree</A>(<A HREF="../DM/DM.html#DM">DM</A> dmIn, <A HREF="../Vec/Vec.html#Vec">Vec</A> vecIn, <A HREF="../DM/DM.html#DM">DM</A> dmOut, <A HREF="../Vec/Vec.html#Vec">Vec</A> vecOut, <A HREF="../PetscSF/PetscSF.html#PetscSF">PetscSF</A> sfRefine, <A HREF="../PetscSF/PetscSF.html#PetscSF">PetscSF</A> sfCoarsen, <A HREF="../Sys/PetscInt.html#PetscInt">PetscInt</A> *cidsRefine, <A HREF="../Sys/PetscInt.html#PetscInt">PetscInt</A> *cidsCoarsen, <A HREF="../Sys/PetscBool.html#PetscBool">PetscBool</A> useBCs, <A HREF="../Sys/PetscReal.html#PetscReal">PetscReal</A> time)
</PRE>
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>dmIn        </B></TD><TD>- The DMPlex mesh for the input vector
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>vecIn       </B></TD><TD>- The input vector
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>sfRefine    </B></TD><TD>- A star forest indicating points in the mesh dmIn (roots in the star forest) that are parents to points in
the mesh dmOut (leaves in the star forest), i.e. where dmOut is more refined than dmIn
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>sfCoarsen   </B></TD><TD>- A star forest indicating points in the mesh dmOut (roots in the star forest) that are parents to points in
the mesh dmIn (leaves in the star forest), i.e. where dmOut is more coarsened than dmIn
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>cidsRefine  </B></TD><TD>- The childIds of the points in dmOut.  These childIds relate back to the reference tree: childid[j] = k implies
that mesh point j of dmOut was refined from a point in dmIn just as the mesh point k in the reference
tree was refined from its parent.  childid[j] = -1 indicates that the point j in dmOut is exactly
equivalent to its root in dmIn, so no interpolation is necessary.  childid[j] = -2 indicates that this
point j in dmOut is not a leaf of sfRefine.
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>cidsCoarsen </B></TD><TD>- The childIds of the points in dmIn.  These childIds relate back to the reference tree: childid[j] = k implies
that mesh point j of dmIn coarsens to a point in dmOut just as the mesh point k in the reference
tree coarsens to its parent.  childid[j] = -2 indicates that point j in dmOut is not a leaf in sfCoarsen.
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>useBCs      </B></TD><TD>- <A HREF="../Sys/PETSC_TRUE.html#PETSC_TRUE">PETSC_TRUE</A> indicates that boundary values should be inserted into vecIn before transfer.
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>time        </B></TD><TD>- Used if boundary values are time dependent.
</TD></TR></TABLE>
<P>
<H3><FONT COLOR="#CC3333">Output Parameters</FONT></H3>
<DT><B>vecOut      </B> -Using interpolation and injection operators calculated on the reference tree, the transfered
projection of vecIn from dmIn to dmOut.  Note that any field discretized with a <A HREF="../DM/PetscFV.html#PetscFV">PetscFV</A> finite volume
method that uses gradient reconstruction will use reconstructed gradients when interpolating from
coarse points to fine points.
<br>
<P>

<P>
<H3><FONT COLOR="#CC3333">See Also</FONT></H3>
): <A HREF="../DMPLEX/DMPlexSetReferenceTree.html#DMPlexSetReferenceTree">DMPlexSetReferenceTree</A>(), <A HREF="../DMPLEX/DMPlexGetReferenceTree.html#DMPlexGetReferenceTree">DMPlexGetReferenceTree</A>(), <A HREF="../DT/PetscFVGetComputeGradients.html#PetscFVGetComputeGradients">PetscFVGetComputeGradients</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/plextree.c.html#DMPlexTransferVecTree">src/dm/impls/plex/plextree.c</A>
<P><H3><FONT COLOR="CC3333">Implementations</FONT></H3><A HREF="../../../src/dm/impls/plex/plextree.c.html#DMPlexTransferVecTree_Interpolate">DMPlexTransferVecTree_Interpolate in src/dm/impls/plex/plextree.c</A><BR>
<A HREF="../../../src/dm/impls/plex/plextree.c.html#DMPlexTransferVecTree_Inject">DMPlexTransferVecTree_Inject in src/dm/impls/plex/plextree.c</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>