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
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML3.2 EN">
<HTML>
<HEAD> <link rel="canonical" href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Vec/VecSetOption.html" />
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<TITLE>VecSetOption</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/Vec/VecSetOption.html "><small>Report Typos and Errors</small></a></div>
<A NAME="VecSetOption"><H1>VecSetOption</H1></A>
Sets an option for controling a vector's behavior.
<H3><FONT COLOR="#CC3333">Synopsis</FONT></H3>
<PRE>
#include "petscvec.h"
<A HREF="../Sys/PetscErrorCode.html#PetscErrorCode">PetscErrorCode</A> <A HREF="../Vec/VecSetOption.html#VecSetOption">VecSetOption</A>(<A HREF="../Vec/Vec.html#Vec">Vec</A> x,VecOption op,<A HREF="../Sys/PetscBool.html#PetscBool">PetscBool</A> flag)
</PRE>
Collective on <A HREF="../Vec/Vec.html#Vec">Vec</A>
<P>
<H3><FONT COLOR="#CC3333">Input Parameter</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
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>op </B></TD><TD>- the option
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>flag </B></TD><TD>- turn the option on or off
</TD></TR></TABLE>
<P>
<H3><FONT COLOR="#CC3333">Supported Options</FONT></H3>
<TABLE border="0" cellpadding="0" cellspacing="0">
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>VEC_IGNORE_OFF_PROC_ENTRIES, which causes <A HREF="../Vec/VecSetValues.html#VecSetValues">VecSetValues</A>() to ignore</B></TD><TD>- entries destined to be stored on a separate processor. This can be used
to eliminate the global reduction in the VecAssemblyXXXX() if you know
that you have only used <A HREF="../Vec/VecSetValues.html#VecSetValues">VecSetValues</A>() to set local elements
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>VEC_IGNORE_NEGATIVE_INDICES, which means you can pass negative indices</B></TD><TD>- in ix in calls to <A HREF="../Vec/VecSetValues.html#VecSetValues">VecSetValues</A>() or <A HREF="../Vec/VecGetValues.html#VecGetValues">VecGetValues</A>(). These rows are simply
ignored.
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>VEC_SUBSET_OFF_PROC_ENTRIES, which causes <A HREF="../Vec/VecAssemblyBegin.html#VecAssemblyBegin">VecAssemblyBegin</A>() to assume that the off</B></TD><TD>- process
entries will always be a subset (possibly equal) of the off-process entries set on the
first assembly which had a true VEC_SUBSET_OFF_PROC_ENTRIES and the vector has not
changed this flag afterwards. If this assembly is not such first assembly, then this
assembly can reuse the communication pattern setup in that first assembly, thus avoiding
a global reduction. Subsequent assemblies setting off-process values should use the same
<A HREF="../Sys/InsertMode.html#InsertMode">InsertMode</A> as the first assembly.
</TD></TR></TABLE>
<P>
<H3><FONT COLOR="#CC3333">Developer Note</FONT></H3>
The <A HREF="../Sys/InsertMode.html#InsertMode">InsertMode</A> restriction could be removed by packing the stash messages out of place.
<P>
<P>
<P><B></B><H3><FONT COLOR="#CC3333">Level</FONT></H3>intermediate<BR>
<H3><FONT COLOR="#CC3333">Location</FONT></H3>
</B><A HREF="../../../src/vec/vec/interface/vector.c.html#VecSetOption">src/vec/vec/interface/vector.c</A>
<P><H3><FONT COLOR="#CC3333">Examples</FONT></H3>
<A HREF="../../../src/ksp/ksp/tutorials/ex71.c.html">src/ksp/ksp/tutorials/ex71.c.html</A><BR>
<P><H3><FONT COLOR="CC3333">Implementations</FONT></H3><A HREF="../../../src/vec/vec/impls/mpi/pbvec.c.html#VecSetOption_MPI">VecSetOption_MPI in src/vec/vec/impls/mpi/pbvec.c</A><BR>
<A HREF="../../../src/vec/vec/impls/seq/bvec2.c.html#VecSetOption_Seq">VecSetOption_Seq in src/vec/vec/impls/seq/bvec2.c</A><BR>
<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>
|