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
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML3.2 EN">
<HTML>
<HEAD> <link rel="canonical" href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatMFFDSetFunctioni.html" />
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<TITLE>MatMFFDSetFunctioni</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/Mat/MatMFFDSetFunctioni.html "><small>Report Typos and Errors</small></a></div>
<A NAME="MatMFFDSetFunctioni"><H1>MatMFFDSetFunctioni</H1></A>
Sets the function for a single component
<H3><FONT COLOR="#CC3333">Synopsis</FONT></H3>
<PRE>
#include "petscmat.h"
<A HREF="../Sys/PetscErrorCode.html#PetscErrorCode">PetscErrorCode</A> <A HREF="../Mat/MatMFFDSetFunctioni.html#MatMFFDSetFunctioni">MatMFFDSetFunctioni</A>(<A HREF="../Mat/Mat.html#Mat">Mat</A> mat,<A HREF="../Sys/PetscErrorCode.html#PetscErrorCode">PetscErrorCode</A> (*funci)(void*,<A HREF="../Sys/PetscInt.html#PetscInt">PetscInt</A>,<A HREF="../Vec/Vec.html#Vec">Vec</A>,<A HREF="../Sys/PetscScalar.html#PetscScalar">PetscScalar</A>*))
</PRE>
Logically Collective on <A HREF="../Mat/Mat.html#Mat">Mat</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>mat </B></TD><TD>- the matrix free matrix created via <A HREF="../SNES/MatCreateSNESMF.html#MatCreateSNESMF">MatCreateSNESMF</A>()
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>funci </B></TD><TD>- the function to use
</TD></TR></TABLE>
<P>
<P>
<H3><FONT COLOR="#CC3333">Notes</FONT></H3>
If you use this you MUST call <A HREF="../Mat/MatAssemblyBegin.html#MatAssemblyBegin">MatAssemblyBegin</A>()/<A HREF="../Mat/MatAssemblyEnd.html#MatAssemblyEnd">MatAssemblyEnd</A>() on the matrix free
matrix inside your compute Jacobian routine.
This function is necessary to compute the diagonal of the matrix.
funci must not contain any MPI call as it is called inside a loop on the local portion of the vector.
<P>
<H3><FONT COLOR="#CC3333">Keywords</FONT></H3>
<A HREF="../SNES/SNES.html#SNES">SNES</A>, matrix-free, function
<BR>
<P>
<H3><FONT COLOR="#CC3333">See Also</FONT></H3>
<A HREF="../SNES/MatCreateSNESMF.html#MatCreateSNESMF">MatCreateSNESMF</A>(),<A HREF="../Mat/MatMFFDGetH.html#MatMFFDGetH">MatMFFDGetH</A>(), <A HREF="../Mat/MatMFFDSetHHistory.html#MatMFFDSetHHistory">MatMFFDSetHHistory</A>(), <A HREF="../Mat/MatMFFDResetHHistory.html#MatMFFDResetHHistory">MatMFFDResetHHistory</A>(), SNESetFunction(), <A HREF="../Mat/MatGetDiagonal.html#MatGetDiagonal">MatGetDiagonal</A>()
<BR>
<P>
<P><B></B><H3><FONT COLOR="#CC3333">Level</FONT></H3>advanced<BR>
<H3><FONT COLOR="#CC3333">Location</FONT></H3>
</B><A HREF="../../../src/mat/impls/mffd/mffd.c.html#MatMFFDSetFunctioni">src/mat/impls/mffd/mffd.c</A>
<P><H3><FONT COLOR="CC3333">Implementations</FONT></H3><A HREF="../../../src/mat/impls/mffd/mffd.c.html#MatMFFDSetFunctioni_MFFD">MatMFFDSetFunctioni_MFFD in src/mat/impls/mffd/mffd.c</A><BR>
<BR><A HREF="./index.html">Index of all Mat 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>
|