KSPSetDM#

Sets the DM that may be used by some preconditioners

Synopsis#

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

Logically Collective

Input Parameters#

  • ksp - the preconditioner context

  • dm - the dm, cannot be NULL

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/dm/impls/stag/tutorials/ex4.c.html
src/dm/impls/stag/tutorials/ex8.c.html
src/ksp/ksp/tutorials/ex22f.F90.html
src/ksp/ksp/tutorials/ex25.c.html
src/ksp/ksp/tutorials/ex28.c.html
src/ksp/ksp/tutorials/ex29.c.html
src/ksp/ksp/tutorials/ex32.c.html
src/ksp/ksp/tutorials/ex34.c.html
src/ksp/ksp/tutorials/ex35.cxx.html
src/ksp/ksp/tutorials/ex36.cxx.html
src/ksp/ksp/tutorials/ex43.c.html


Edit on GitLab

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