Skip to main content
`Ctrl`+`K`

# PCHYPRESetDiscreteGradient

Set discrete gradient matrix for `PCHYPRE` type of ams or ads

## Synopsis

    #include "petscpc.h"
    PetscErrorCode PCHYPRESetDiscreteGradient(PC pc, Mat G)

Collective

## Input Parameters

- pc - the preconditioning context

- G - the discrete gradient

## Notes

G should have as many rows as the number of edges and as many columns as the number of vertices in the mesh

Each row of G has 2 nonzeros, with column indexes being the global indexes of edge’s endpoints: matrix entries are +1 and -1 depending on edge orientation

## Developer Notes

This automatically converts the matrix to `MATHYPRE` if it is not already of that type

## See Also

KSP: Linear System Solvers, `PCHYPRE`, `PCHYPRESetDiscreteCurl()`

## Level

intermediate

## Location

src/ksp/pc/impls/hypre/hypre.c

## Implementations

PCHYPRESetDiscreteGradient_HYPRE() in src/ksp/pc/impls/hypre/hypre.c

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