Skip to main content
`Ctrl`+`K`

# MatShellGetContext

Returns the user-provided context associated with a `MATSHELL` shell matrix.

## Synopsis

    #include "petscmat.h"
    PetscErrorCode MatShellGetContext(Mat mat, PetscCtxRt ctx)

Not Collective

## Input Parameter

- mat - the matrix, should have been created with `MatCreateShell()`

## Output Parameter

- ctx - the user provided context

## Fortran Notes

This only works when the context is a Fortran derived type or a `PetscObject`. Declare `ctx` with

      type(tUsertype), pointer :: ctx

## See Also

Matrices, `Mat`, `MATSHELL`, `MatCreateShell()`, `MatShellSetOperation()`, `MatShellSetContext()`

## Level

advanced

## Location

src/mat/impls/shell/shell.c

## Examples

src/mat/tutorials/ex20f.F90
src/mat/tutorials/ex6f.F90
src/tao/unconstrained/tutorials/eptorsion1.c
src/tao/pde_constrained/tutorials/elliptic.c
src/tao/pde_constrained/tutorials/hyperbolic.c
src/ts/tutorials/ex20opt_ic.c
src/snes/tutorials/ex36.c
src/tao/bound/tutorials/plate2.c
src/tao/unconstrained/tutorials/eptorsion3.c
src/tao/pde_constrained/tutorials/parabolic.c

## Implementations

MatShellGetContext_Shell() in src/mat/impls/shell/shell.c

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