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
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML3.2 EN">
<HTML>
<HEAD> <link rel="canonical" href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/SNES/DMPlexComputeJacobianAction.html" />
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<TITLE>DMPlexComputeJacobianAction</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/SNES/DMPlexComputeJacobianAction.html "><small>Report Typos and Errors</small></a></div>
<A NAME="DMPlexComputeJacobianAction"><H1>DMPlexComputeJacobianAction</H1></A>
Form the local portion of the Jacobian action Z = J(X) Y at the local solution X using pointwise functions specified by the user.
<H3><FONT COLOR="#CC3333">Synopsis</FONT></H3>
<PRE>
#include "petscdmplex.h"
#include "petscsnes.h"
<A HREF="../Sys/PetscErrorCode.html#PetscErrorCode">PetscErrorCode</A> <A HREF="../SNES/DMPlexComputeJacobianAction.html#DMPlexComputeJacobianAction">DMPlexComputeJacobianAction</A>(<A HREF="../DM/DM.html#DM">DM</A> dm, <A HREF="../IS/IS.html#IS">IS</A> cellIS, <A HREF="../Sys/PetscReal.html#PetscReal">PetscReal</A> t, <A HREF="../Sys/PetscReal.html#PetscReal">PetscReal</A> X_tShift, <A HREF="../Vec/Vec.html#Vec">Vec</A> X, <A HREF="../Vec/Vec.html#Vec">Vec</A> X_t, <A HREF="../Vec/Vec.html#Vec">Vec</A> Y, <A HREF="../Vec/Vec.html#Vec">Vec</A> Z, void *user)
</PRE>
<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>dm </B></TD><TD>- The mesh
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>cellIS </B></TD><TD>-
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>t </B></TD><TD>- The time
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>X_tShift </B></TD><TD>- The multiplier for the Jacobian with repsect to X_t
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>X </B></TD><TD>- Local solution vector
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>X_t </B></TD><TD>- Time-derivative of the local solution vector
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>Y </B></TD><TD>- Local input vector
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>user </B></TD><TD>- The user context
</TD></TR></TABLE>
<P>
<H3><FONT COLOR="#CC3333">Output Parameter</FONT></H3>
<DT><B>Z </B> -Local output vector
<br>
<P>
<H3><FONT COLOR="#CC3333">Note</FONT></H3>
We form the residual one batch of elements at a time. This allows us to offload work onto an accelerator,
like a GPU, or vectorize on a multicore machine.
<P>
<P>
<H3><FONT COLOR="#CC3333">See Also</FONT></H3>
FormFunctionLocal()
<BR><P><B></B><H3><FONT COLOR="#CC3333">Level</FONT></H3>developer<BR>
<H3><FONT COLOR="#CC3333">Location</FONT></H3>
</B><A HREF="../../../src/snes/utils/dmplexsnes.c.html#DMPlexComputeJacobianAction">src/snes/utils/dmplexsnes.c</A>
<BR><A HREF="./index.html">Index of all SNES 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>
|