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 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML3.2 EN">
<HTML>
<HEAD> <link rel="canonical" href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DM/DMCreateMatrix.html" />
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<TITLE>DMCreateMatrix</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/DM/DMCreateMatrix.html "><small>Report Typos and Errors</small></a></div>
<A NAME="DMCreateMatrix"><H1>DMCreateMatrix</H1></A>
Gets empty Jacobian for a <A HREF="../DM/DM.html#DM">DM</A>
<H3><FONT COLOR="#CC3333">Synopsis</FONT></H3>
<PRE>
#include "petscdm.h"
#include "petscdmlabel.h"
#include "petscds.h"
<A HREF="../Sys/PetscErrorCode.html#PetscErrorCode">PetscErrorCode</A> <A HREF="../DM/DMCreateMatrix.html#DMCreateMatrix">DMCreateMatrix</A>(<A HREF="../DM/DM.html#DM">DM</A> dm,<A HREF="../Mat/Mat.html#Mat">Mat</A> *mat)
</PRE>
Collective on dm
<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>dm </B></TD><TD>- the <A HREF="../DM/DM.html#DM">DM</A> object
</TD></TR></TABLE>
<P>
<H3><FONT COLOR="#CC3333">Output Parameter</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 empty Jacobian
</TD></TR></TABLE>
<P>
<P>
<H3><FONT COLOR="#CC3333">Notes</FONT></H3>
This properly preallocates the number of nonzeros in the sparse matrix so you
do not need to do it yourself.
<P>
By default it also sets the nonzero structure and puts in the zero entries. To prevent setting
the nonzero pattern call <A HREF="../DM/DMSetMatrixPreallocateOnly.html#DMSetMatrixPreallocateOnly">DMSetMatrixPreallocateOnly</A>()
<P>
For structured grid problems, when you call <A HREF="../Mat/MatView.html#MatView">MatView</A>() on this matrix it is displayed using the global natural ordering, NOT in the ordering used
internally by PETSc.
<P>
For structured grid problems, in general it is easiest to use <A HREF="../Mat/MatSetValuesStencil.html#MatSetValuesStencil">MatSetValuesStencil</A>() or <A HREF="../Mat/MatSetValuesLocal.html#MatSetValuesLocal">MatSetValuesLocal</A>() to put values into the matrix because <A HREF="../Mat/MatSetValues.html#MatSetValues">MatSetValues</A>() requires
the indices for the global numbering for DMDAs which is complicated.
<P>
<H3><FONT COLOR="#CC3333">See Also</FONT></H3>
<A HREF="../DM/DMDestroy.html#DMDestroy">DMDestroy</A>(), <A HREF="../DM/DMView.html#DMView">DMView</A>(), <A HREF="../DM/DMCreateGlobalVector.html#DMCreateGlobalVector">DMCreateGlobalVector</A>(), <A HREF="../DM/DMCreateInterpolation.html#DMCreateInterpolation">DMCreateInterpolation</A>(), <A HREF="../DM/DMSetMatType.html#DMSetMatType">DMSetMatType</A>()
<BR>
<P>
<P><B></B><H3><FONT COLOR="#CC3333">Level</FONT></H3>beginner<BR>
<H3><FONT COLOR="#CC3333">Location</FONT></H3>
</B><A HREF="../../../src/dm/interface/dm.c.html#DMCreateMatrix">src/dm/interface/dm.c</A>
<P><H3><FONT COLOR="#CC3333">Examples</FONT></H3>
<A HREF="../../../src/dm/impls/stag/tutorials/ex1.c.html">src/dm/impls/stag/tutorials/ex1.c.html</A><BR>
<A HREF="../../../src/dm/impls/stag/tutorials/ex2.c.html">src/dm/impls/stag/tutorials/ex2.c.html</A><BR>
<A HREF="../../../src/dm/impls/stag/tutorials/ex3.c.html">src/dm/impls/stag/tutorials/ex3.c.html</A><BR>
<A HREF="../../../src/dm/impls/stag/tutorials/ex4.c.html">src/dm/impls/stag/tutorials/ex4.c.html</A><BR>
<A HREF="../../../src/ksp/ksp/tutorials/ex42.c.html">src/ksp/ksp/tutorials/ex42.c.html</A><BR>
<A HREF="../../../src/ksp/ksp/tutorials/ex43.c.html">src/ksp/ksp/tutorials/ex43.c.html</A><BR>
<A HREF="../../../src/ksp/ksp/tutorials/ex46.c.html">src/ksp/ksp/tutorials/ex46.c.html</A><BR>
<A HREF="../../../src/ksp/ksp/tutorials/ex49.c.html">src/ksp/ksp/tutorials/ex49.c.html</A><BR>
<A HREF="../../../src/ksp/ksp/tutorials/ex65.c.html">src/ksp/ksp/tutorials/ex65.c.html</A><BR>
<A HREF="../../../src/ksp/ksp/tutorials/ex67.c.html">src/ksp/ksp/tutorials/ex67.c.html</A><BR>
<A HREF="../../../src/ksp/ksp/tutorials/ex69.c.html">src/ksp/ksp/tutorials/ex69.c.html</A><BR>
<P><H3><FONT COLOR="CC3333">Implementations</FONT></H3><A HREF="../../../src/dm/impls/composite/packm.c.html#DMCreateMatrix_Composite_Nest">DMCreateMatrix_Composite_Nest in src/dm/impls/composite/packm.c</A><BR>
<A HREF="../../../src/dm/impls/composite/packm.c.html#DMCreateMatrix_Composite_AIJ">DMCreateMatrix_Composite_AIJ in src/dm/impls/composite/packm.c</A><BR>
<A HREF="../../../src/dm/impls/composite/packm.c.html#DMCreateMatrix_Composite">DMCreateMatrix_Composite in src/dm/impls/composite/packm.c</A><BR>
<A HREF="../../../src/dm/impls/da/fdda.c.html#DMCreateMatrix_DA">DMCreateMatrix_DA in src/dm/impls/da/fdda.c</A><BR>
<A HREF="../../../src/dm/impls/da/fdda.c.html#DMCreateMatrix_DA_IS">DMCreateMatrix_DA_IS in src/dm/impls/da/fdda.c</A><BR>
<A HREF="../../../src/dm/impls/da/fdda.c.html#DMCreateMatrix_DA_2d_MPISELL">DMCreateMatrix_DA_2d_MPISELL in src/dm/impls/da/fdda.c</A><BR>
<A HREF="../../../src/dm/impls/da/fdda.c.html#DMCreateMatrix_DA_3d_MPISELL">DMCreateMatrix_DA_3d_MPISELL in src/dm/impls/da/fdda.c</A><BR>
<A HREF="../../../src/dm/impls/da/fdda.c.html#DMCreateMatrix_DA_2d_MPIAIJ">DMCreateMatrix_DA_2d_MPIAIJ in src/dm/impls/da/fdda.c</A><BR>
<A HREF="../../../src/dm/impls/da/fdda.c.html#DMCreateMatrix_DA_2d_MPIAIJ_Fill">DMCreateMatrix_DA_2d_MPIAIJ_Fill in src/dm/impls/da/fdda.c</A><BR>
<A HREF="../../../src/dm/impls/da/fdda.c.html#DMCreateMatrix_DA_3d_MPIAIJ">DMCreateMatrix_DA_3d_MPIAIJ in src/dm/impls/da/fdda.c</A><BR>
<A HREF="../../../src/dm/impls/da/fdda.c.html#DMCreateMatrix_DA_1d_MPIAIJ_Fill">DMCreateMatrix_DA_1d_MPIAIJ_Fill in src/dm/impls/da/fdda.c</A><BR>
<A HREF="../../../src/dm/impls/da/fdda.c.html#DMCreateMatrix_DA_1d_MPIAIJ">DMCreateMatrix_DA_1d_MPIAIJ in src/dm/impls/da/fdda.c</A><BR>
<A HREF="../../../src/dm/impls/da/fdda.c.html#DMCreateMatrix_DA_1d_SeqAIJ_NoPreallocation">DMCreateMatrix_DA_1d_SeqAIJ_NoPreallocation in src/dm/impls/da/fdda.c</A><BR>
<A HREF="../../../src/dm/impls/da/fdda.c.html#DMCreateMatrix_DA_2d_MPIBAIJ">DMCreateMatrix_DA_2d_MPIBAIJ in src/dm/impls/da/fdda.c</A><BR>
<A HREF="../../../src/dm/impls/da/fdda.c.html#DMCreateMatrix_DA_3d_MPIBAIJ">DMCreateMatrix_DA_3d_MPIBAIJ in src/dm/impls/da/fdda.c</A><BR>
<A HREF="../../../src/dm/impls/da/fdda.c.html#DMCreateMatrix_DA_2d_MPISBAIJ">DMCreateMatrix_DA_2d_MPISBAIJ in src/dm/impls/da/fdda.c</A><BR>
<A HREF="../../../src/dm/impls/da/fdda.c.html#DMCreateMatrix_DA_3d_MPISBAIJ">DMCreateMatrix_DA_3d_MPISBAIJ in src/dm/impls/da/fdda.c</A><BR>
<A HREF="../../../src/dm/impls/da/fdda.c.html#DMCreateMatrix_DA_3d_MPIAIJ_Fill">DMCreateMatrix_DA_3d_MPIAIJ_Fill in src/dm/impls/da/fdda.c</A><BR>
<A HREF="../../../src/dm/impls/forest/p4est/pforest.c.html#DMCreateMatrix_pforest">DMCreateMatrix_pforest in src/dm/impls/forest/p4est/pforest.c</A><BR>
<A HREF="../../../src/dm/impls/moab/dmmbmat.cxx.html#DMCreateMatrix_Moab">DMCreateMatrix_Moab in src/dm/impls/moab/dmmbmat.cxx</A><BR>
<A HREF="../../../src/dm/impls/network/network.c.html#DMCreateMatrix_Network_Nest">DMCreateMatrix_Network_Nest in src/dm/impls/network/network.c</A><BR>
<A HREF="../../../src/dm/impls/network/network.c.html#DMCreateMatrix_Network">DMCreateMatrix_Network in src/dm/impls/network/network.c</A><BR>
<A HREF="../../../src/dm/impls/plex/plex.c.html#DMCreateMatrix_Plex">DMCreateMatrix_Plex in src/dm/impls/plex/plex.c</A><BR>
<A HREF="../../../src/dm/impls/redundant/dmredundant.c.html#DMCreateMatrix_Redundant">DMCreateMatrix_Redundant in src/dm/impls/redundant/dmredundant.c</A><BR>
<A HREF="../../../src/dm/impls/shell/dmshell.c.html#DMCreateMatrix_Shell">DMCreateMatrix_Shell in src/dm/impls/shell/dmshell.c</A><BR>
<A HREF="../../../src/dm/impls/sliced/sliced.c.html#DMCreateMatrix_Sliced">DMCreateMatrix_Sliced in src/dm/impls/sliced/sliced.c</A><BR>
<A HREF="../../../src/dm/impls/stag/stag.c.html#DMCreateMatrix_Stag">DMCreateMatrix_Stag in src/dm/impls/stag/stag.c</A><BR>
<BR><A HREF="./index.html">Index of all DM 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>
|