File: VecScatterPostRecvs.html

package info (click to toggle)
petsc 2.2.0-4
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 64,404 kB
  • ctags: 284,528
  • sloc: ansic: 223,999; python: 11,758; makefile: 7,707; fortran: 6,327; cpp: 4,104; sh: 3,387; csh: 41; asm: 6
file content (56 lines) | stat: -rw-r--r-- 2,946 bytes parent folder | download | duplicates (2)
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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML3.2 EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<TITLE>VecScatterPostRecvs</TITLE>
</HEAD>
<BODY BGCOLOR="FFFFFF">
<A NAME="VecScatterPostRecvs"><H1>VecScatterPostRecvs</H1></A>
Posts the receives required for the ready-receiver version of the <A HREF="../Vec/VecScatter.html#VecScatter">VecScatter</A> routines. 
<H3><FONT COLOR="#CC3333">Synopsis</FONT></H3>
<PRE>
#include "petscvec.h" 
int VecScatterPostRecvs(Vec x,Vec y,InsertMode addv,ScatterMode mode,VecScatter inctx)
</PRE>
Collective on <A HREF="../Vec/VecScatter.html#VecScatter">VecScatter</A>
<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>x </B></TD><TD>- the vector from which we scatter (not needed,can be null)
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>y </B></TD><TD>- the vector to which we scatter
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>addv </B></TD><TD>- either ADD_VALUES or INSERT_VALUES
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>mode </B></TD><TD>- the scattering mode, usually SCATTER_FORWARD.  The available modes are:
SCATTER_FORWARD, SCATTER_REVERSE
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>inctx </B></TD><TD>- scatter context generated by <A HREF="../Vec/VecScatterCreate.html#VecScatterCreate">VecScatterCreate</A>()
</TD></TR></TABLE>
<P>
<H3><FONT COLOR="#CC3333">Output Parameter</FONT></H3>
<DT><B>y </B> -the vector to which we scatter
<br>
<P>

<P>
<H3><FONT COLOR="#CC3333">Notes</FONT></H3>
If you use SCATTER_REVERSE the first two arguments should be reversed, from
the SCATTER_FORWARD.
The vectors x and y cannot be the same. y[iy[i]] = x[ix[i]], for i=0,...,ni-1
<P>
This scatter is far more general than the conventional
scatter, since it can be a gather or a scatter or a combination,
depending on the indices ix and iy.  If x is a parallel vector and y
is sequential, <A HREF="../Vec/VecScatterBegin.html#VecScatterBegin">VecScatterBegin</A>() can serve to gather values to a
single processor.  Similarly, if y is parallel and x sequential, the
routine can scatter from one processor to many processors.
<P>
<H3><FONT COLOR="#CC3333">See Also</FONT></H3>
 <A HREF="../Vec/VecScatterCreate.html#VecScatterCreate">VecScatterCreate</A>(), <A HREF="../Vec/VecScatterEnd.html#VecScatterEnd">VecScatterEnd</A>(), <A HREF="../Vec/VecScatterBegin.html#VecScatterBegin">VecScatterBegin</A>()
<BR><P><B><P><B><FONT COLOR="#CC3333">Level:</FONT></B>advanced
<BR><FONT COLOR="#CC3333">Location:</FONT></B><A HREF="../../../src/vec/utils/vscat.c.html#VecScatterPostRecvs">src/vec/utils/vscat.c</A>
<BR><A HREF="./index.html">Index of all Vec 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>