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 matrix used to construct the preconditioner) 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 matrix used to construct the preconditioner

See Also#

KSP: Linear System Solvers, 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


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