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 66 67
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML3.2 EN">
<HTML>
<HEAD> <link rel="canonical" href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/KSP/KSPBuildSolution.html" />
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<TITLE>KSPBuildSolution</TITLE>
</HEAD>
<BODY BGCOLOR="FFFFFF">
<div id="version" align=right><b>petsc-3.7.5 2017-01-01</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.7.5 v3.7.5 docs/manualpages/KSP/KSPBuildSolution.html "><small>Report Typos and Errors</small></a></div>
<A NAME="KSPBuildSolution"><H1>KSPBuildSolution</H1></A>
Builds the approximate solution in a vector provided. This routine is NOT commonly needed (see <A HREF="../KSP/KSPSolve.html#KSPSolve">KSPSolve</A>()).
<H3><FONT COLOR="#CC3333">Synopsis</FONT></H3>
<PRE>
#include "petscksp.h"
PetscErrorCode KSPBuildSolution(KSP ksp,Vec v,Vec *V)
</PRE>
Collective on <A HREF="../KSP/KSP.html#KSP">KSP</A>
<P>
<H3><FONT COLOR="#CC3333">Input Parameter</FONT></H3>
<DT><B>ctx </B> -iterative context obtained from <A HREF="../KSP/KSPCreate.html#KSPCreate">KSPCreate</A>()
<br>
<P>
<H3><FONT COLOR="#CC3333">Output Parameter</FONT></H3>
Provide exactly one of
<TABLE border="0" cellpadding="0" cellspacing="0">
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>v </B></TD><TD>- location to stash solution.
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>V </B></TD><TD>- the solution is returned in this location. This vector is created
internally. This vector should NOT be destroyed by the user with
<A HREF="../Vec/VecDestroy.html#VecDestroy">VecDestroy</A>().
</TD></TR></TABLE>
<P>
<H3><FONT COLOR="#CC3333">Notes</FONT></H3>
This routine can be used in one of two ways
<PRE>
<A HREF="../KSP/KSPBuildSolution.html#KSPBuildSolution">KSPBuildSolution</A>(ksp,NULL,&V);
or
<A HREF="../KSP/KSPBuildSolution.html#KSPBuildSolution">KSPBuildSolution</A>(ksp,v,NULL); or <A HREF="../KSP/KSPBuildSolution.html#KSPBuildSolution">KSPBuildSolution</A>(ksp,v,&v);
</PRE>
In the first case an internal vector is allocated to store the solution
(the user cannot destroy this vector). In the second case the solution
is generated in the vector that the user provides. Note that for certain
methods, such as <A HREF="../KSP/KSPCG.html#KSPCG">KSPCG</A>, the second case requires a copy of the solution,
while in the first case the call is essentially free since it simply
returns the vector where the solution already is stored. For some methods
like GMRES this is a reasonably expensive operation and should only be
used in truly needed.
<P>
<P>
<H3><FONT COLOR="#CC3333">Keywords</FONT></H3>
<A HREF="../KSP/KSP.html#KSP">KSP</A>, build, solution
<BR>
<P>
<H3><FONT COLOR="#CC3333">See Also</FONT></H3>
<A HREF="../KSP/KSPGetSolution.html#KSPGetSolution">KSPGetSolution</A>(), <A HREF="../KSP/KSPBuildResidual.html#KSPBuildResidual">KSPBuildResidual</A>()
<BR><P><B><P><B><FONT COLOR="#CC3333">Level:</FONT></B>advanced
<BR><FONT COLOR="#CC3333">Location:</FONT></B><A HREF="../../../src/ksp/ksp/interface/itfunc.c.html#KSPBuildSolution">src/ksp/ksp/interface/itfunc.c</A>
<BR><A HREF="./index.html">Index of all KSP 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>
<P><H3><FONT COLOR="#CC3333">Examples</FONT></H3>
<A HREF="../../../src/ksp/ksp/examples/tutorials/ex9.c.html">src/ksp/ksp/examples/tutorials/ex9.c.html</A><BR>
<A HREF="../../../src/ksp/ksp/examples/tutorials/ex2f.F.html">src/ksp/ksp/examples/tutorials/ex2f.F.html</A><BR>
<A HREF="../../../src/snes/examples/tutorials/ex12.c.html">src/snes/examples/tutorials/ex12.c.html</A><BR>
</BODY></HTML>
|