petsc-3.14.6 2021-03-30
DMCreateMatrix
Gets empty Jacobian for a DM
Synopsis
#include "petscdm.h"
#include "petscdmlabel.h"
#include "petscds.h"
PetscErrorCode DMCreateMatrix(DM dm,Mat *mat)
Collective on dm
Input Parameter
Output Parameter
Notes
This properly preallocates the number of nonzeros in the sparse matrix so you
do not need to do it yourself.
By default it also sets the nonzero structure and puts in the zero entries. To prevent setting
the nonzero pattern call DMSetMatrixPreallocateOnly()
For structured grid problems, when you call MatView() on this matrix it is displayed using the global natural ordering, NOT in the ordering used
internally by PETSc.
For structured grid problems, in general it is easiest to use MatSetValuesStencil() or MatSetValuesLocal() to put values into the matrix because MatSetValues() requires
the indices for the global numbering for DMDAs which is complicated.
See Also
DMDestroy(), DMView(), DMCreateGlobalVector(), DMCreateInterpolation(), DMSetMatType()
Level
beginner
Location
src/dm/interface/dm.c
Examples
src/dm/impls/stag/tutorials/ex1.c.html
src/dm/impls/stag/tutorials/ex2.c.html
src/dm/impls/stag/tutorials/ex3.c.html
src/dm/impls/stag/tutorials/ex4.c.html
src/ksp/ksp/tutorials/ex42.c.html
src/ksp/ksp/tutorials/ex43.c.html
src/ksp/ksp/tutorials/ex46.c.html
src/ksp/ksp/tutorials/ex49.c.html
src/ksp/ksp/tutorials/ex65.c.html
src/ksp/ksp/tutorials/ex67.c.html
src/ksp/ksp/tutorials/ex69.c.html
Implementations
DMCreateMatrix_Composite_Nest in src/dm/impls/composite/packm.c
DMCreateMatrix_Composite_AIJ in src/dm/impls/composite/packm.c
DMCreateMatrix_Composite in src/dm/impls/composite/packm.c
DMCreateMatrix_DA in src/dm/impls/da/fdda.c
DMCreateMatrix_DA_IS in src/dm/impls/da/fdda.c
DMCreateMatrix_DA_2d_MPISELL in src/dm/impls/da/fdda.c
DMCreateMatrix_DA_3d_MPISELL in src/dm/impls/da/fdda.c
DMCreateMatrix_DA_2d_MPIAIJ in src/dm/impls/da/fdda.c
DMCreateMatrix_DA_2d_MPIAIJ_Fill in src/dm/impls/da/fdda.c
DMCreateMatrix_DA_3d_MPIAIJ in src/dm/impls/da/fdda.c
DMCreateMatrix_DA_1d_MPIAIJ_Fill in src/dm/impls/da/fdda.c
DMCreateMatrix_DA_1d_MPIAIJ in src/dm/impls/da/fdda.c
DMCreateMatrix_DA_1d_SeqAIJ_NoPreallocation in src/dm/impls/da/fdda.c
DMCreateMatrix_DA_2d_MPIBAIJ in src/dm/impls/da/fdda.c
DMCreateMatrix_DA_3d_MPIBAIJ in src/dm/impls/da/fdda.c
DMCreateMatrix_DA_2d_MPISBAIJ in src/dm/impls/da/fdda.c
DMCreateMatrix_DA_3d_MPISBAIJ in src/dm/impls/da/fdda.c
DMCreateMatrix_DA_3d_MPIAIJ_Fill in src/dm/impls/da/fdda.c
DMCreateMatrix_pforest in src/dm/impls/forest/p4est/pforest.c
DMCreateMatrix_Moab in src/dm/impls/moab/dmmbmat.cxx
DMCreateMatrix_Network_Nest in src/dm/impls/network/network.c
DMCreateMatrix_Network in src/dm/impls/network/network.c
DMCreateMatrix_Plex in src/dm/impls/plex/plex.c
DMCreateMatrix_Redundant in src/dm/impls/redundant/dmredundant.c
DMCreateMatrix_Shell in src/dm/impls/shell/dmshell.c
DMCreateMatrix_Sliced in src/dm/impls/sliced/sliced.c
DMCreateMatrix_Stag in src/dm/impls/stag/stag.c
Index of all DM routines
Table of Contents for all manual pages
Index of all manual pages