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
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML3.2 EN">
<HTML>
<HEAD> <link rel="canonical" href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/PC/PCFactorSetUseInPlace.html" />
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<TITLE>PCFactorSetUseInPlace</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/PC/PCFactorSetUseInPlace.html "><small>Report Typos and Errors</small></a></div>
<A NAME="PCFactorSetUseInPlace"><H1>PCFactorSetUseInPlace</H1></A>
Tells the system to do an in-place factorization. For dense matrices, this enables the solution of much larger problems. For sparse matrices the factorization cannot be done truly in-place so this does not save memory during the factorization, but after the matrix is factored, the original unfactored matrix is freed, thus recovering that space. For ICC(0) and ILU(0) with the default natural ordering the factorization is done efficiently in-place.
<H3><FONT COLOR="#CC3333">Synopsis</FONT></H3>
<PRE>
#include "petscpc.h"
<A HREF="../Sys/PetscErrorCode.html#PetscErrorCode">PetscErrorCode</A> <A HREF="../PC/PCFactorSetUseInPlace.html#PCFactorSetUseInPlace">PCFactorSetUseInPlace</A>(<A HREF="../PC/PC.html#PC">PC</A> pc,<A HREF="../Sys/PetscBool.html#PetscBool">PetscBool</A> flg)
</PRE>
Logically Collective on <A HREF="../PC/PC.html#PC">PC</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>pc </B></TD><TD>- the preconditioner context
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>flg </B></TD><TD>- <A HREF="../Sys/PETSC_TRUE.html#PETSC_TRUE">PETSC_TRUE</A> to enable, <A HREF="../Sys/PETSC_FALSE.html#PETSC_FALSE">PETSC_FALSE</A> to disable
</TD></TR></TABLE>
<P>
<H3><FONT COLOR="#CC3333">Options Database Key</FONT></H3>
<TABLE border="0" cellpadding="0" cellspacing="0">
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-pc_factor_in_place <true,false></B></TD><TD>- Activate/deactivate in-place factorization
</TD></TR></TABLE>
<P>
<H3><FONT COLOR="#CC3333">Notes</FONT></H3>
PCFactorSetUseInplace() can only be used with the <A HREF="../KSP/KSP.html#KSP">KSP</A> method <A HREF="../KSP/KSPPREONLY.html#KSPPREONLY">KSPPREONLY</A> or when
a different matrix is provided for the multiply and the preconditioner in
a call to <A HREF="../KSP/KSPSetOperators.html#KSPSetOperators">KSPSetOperators</A>().
This is because the Krylov space methods require an application of the
matrix multiplication, which is not possible here because the matrix has
been factored in-place, replacing the original matrix.
<P>
<P>
<H3><FONT COLOR="#CC3333">See Also</FONT></H3>
<A HREF="../PC/PCFactorGetUseInPlace.html#PCFactorGetUseInPlace">PCFactorGetUseInPlace</A>()
<BR><P><B></B><H3><FONT COLOR="#CC3333">Level</FONT></H3>intermediate<BR>
<H3><FONT COLOR="#CC3333">Location</FONT></H3>
</B><A HREF="../../../src/ksp/pc/impls/factor/factor.c.html#PCFactorSetUseInPlace">src/ksp/pc/impls/factor/factor.c</A>
<P><H3><FONT COLOR="CC3333">Implementations</FONT></H3><A HREF="../../../src/ksp/pc/impls/factor/factor.c.html#PCFactorSetUseInPlace_Factor">PCFactorSetUseInPlace_Factor in src/ksp/pc/impls/factor/factor.c</A><BR>
<BR><A HREF="./index.html">Index of all PC 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>
|