:orphan:
# PCBDDCSetDivergenceMat
Sets the linear operator representing \int_\Omega \div {\bf u} \cdot p dx for the `PCBDDC` preconditioner
## Synopsis
```
#include "petscpc.h"
PetscErrorCode PCBDDCSetDivergenceMat(PC pc, Mat divudotp, PetscBool trans, IS vl2l)
```
Collective
## Input Parameters
- ***pc -*** the preconditioning context
- ***divudotp -*** the matrix (must be of type `MATIS`)
- ***trans -*** if `PETSC_FALSE` (resp. `PETSC_TRUE`), then pressures are in the test (trial) space and velocities are in the trial (test) space.
- ***vl2l -*** optional index set describing the local (wrt the local matrix in `divudotp`) to local (wrt the local matrix
in the preconditioning matrix) map for the velocities
## Notes
This auxiliary matrix is used to compute quadrature weights representing the net-flux across subdomain boundaries
If `vl2l` is `NULL`, the local ordering for velocities in `divudotp` should match that of the preconditioning matrix
## See Also
`PCBDDC`, `PCBDDCSetDiscreteGradient()`
## Level
advanced
## Location
src/ksp/pc/impls/bddc/bddc.c
## Examples
src/ksp/ksp/tutorials/ex43.c
## Implementations
PCBDDCSetDivergenceMat_BDDC in src/ksp/pc/impls/bddc/bddc.c
---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/ksp/pc/impls/bddc/bddc.c)
[Index of all PC routines](index.md)
[Table of Contents for all manual pages](/manualpages/index.md)
[Index of all manual pages](/manualpages/singleindex.md)