PETSc version 3.17.5
Fix/Edit manual page

KSPSetDM

Sets the DM that may be used by some preconditioners

Synopsis

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

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

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/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/ex43.c.html
src/ksp/ksp/tutorials/ex45.c.html
src/ksp/ksp/tutorials/ex50.c.html
src/ksp/ksp/tutorials/ex65.c.html
src/ksp/ksp/tutorials/ex66.c.html

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