KSPSetDM#

Sets the DM that may be used by some preconditioners and that may be used to construct the linear system

Synopsis#

#include "petscksp.h" 
PetscErrorCode KSPSetDM(KSP ksp, DM dm)

Logically Collective

Input Parameters#

  • ksp - the KSP

  • dm - the DM, cannot be NULL to remove a previously set DM

Notes#

If this is used then the KSP will attempt to use the DM to create the matrix and use the routine set with DMKSPSetComputeOperators(). Use KSPSetDMActive(ksp,PETSC_FALSE) to instead use the matrix you’ve provided with KSPSetOperators().

A DM can only be used for solving one problem at a time because information about the problem is stored on the DM, even when not using interfaces like DMKSPSetComputeOperators(). Use DMClone() to get a distinct DM when solving different problems using the same function space.

See Also#

KSP: Linear System Solvers, KSP, DM, KSPGetDM(), KSPSetDMActive(), KSPSetComputeOperators(), KSPSetComputeRHS(), KSPSetComputeInitialGuess(), DMKSPSetComputeOperators(), DMKSPSetComputeRHS(), DMKSPSetComputeInitialGuess()

Level#

intermediate

Location#

src/ksp/ksp/interface/iterativ.c

Examples#

src/ksp/ksp/tutorials/ex45.c
src/ksp/ksp/tutorials/ex32.c
src/ksp/ksp/tutorials/ex70.c
src/ksp/ksp/tutorials/ex73.c
src/ksp/ksp/tutorials/ex22f.F90
src/dm/impls/stag/tutorials/ex8.c
src/dm/impls/stag/tutorials/ex4.c
src/ksp/ksp/tutorials/ex45f.F90
src/ksp/ksp/tutorials/ex36.cxx
src/ksp/ksp/tutorials/ex29.c


Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages