Skip to main content
`Ctrl`+`K`

# PetscWeakFormKind

The kind of weak form. The specific forms are given in the documentation for the integraton functions.

## Synopsis

    typedef enum {
      PETSC_WF_OBJECTIVE,
      PETSC_WF_F0,
      PETSC_WF_F1,
      PETSC_WF_G0,
      PETSC_WF_G1,
      PETSC_WF_G2,
      PETSC_WF_G3,
      PETSC_WF_GP0,
      PETSC_WF_GP1,
      PETSC_WF_GP2,
      PETSC_WF_GP3,
      PETSC_WF_GT0,
      PETSC_WF_GT1,
      PETSC_WF_GT2,
      PETSC_WF_GT3,
      PETSC_WF_BDF0,
      PETSC_WF_BDF1,
      PETSC_WF_BDG0,
      PETSC_WF_BDG1,
      PETSC_WF_BDG2,
      PETSC_WF_BDG3,
      PETSC_WF_BDGP0,
      PETSC_WF_BDGP1,
      PETSC_WF_BDGP2,
      PETSC_WF_BDGP3,
      PETSC_WF_R,
      PETSC_WF_CEED,
      PETSC_NUM_WF
    } PetscWeakFormKind;

## Values

- OBJECTIVE - Objective form

- F0, F1 - Residual forms

- G0, G1, G2, G3 - Jacobian forms

- GP0, GP1, GP2, GP3 - Jacobian forms used to construct the preconditioner

- GT0, GT1, GT2, GT3 - Dynamic Jacobian matrix forms

- BDF0, BDF1 - Boundary Residual forms

- BDG0, BDG1, BDG2, BDG3 - Jacobian forms

- BDGP0, BDGP1, BDGP2, BDGP3 - Jacobian forms used to construct the preconditioner

- R - Riemann solver

- CEED - libCEED QFunction

## See Also

`PetscWeakForm`, `PetscFEIntegrateResidual()`, `PetscFEIntegrateJacobian()`, `PetscFEIntegrateBdResidual()`, `PetscFEIntegrateBdJacobian()`, `PetscFVIntegrateRHSFunction()`, `PetscWeakFormSetIndexResidual()`, `PetscWeakFormClearIndex()`

## Level

beginner

## Location

include/petscdstypes.h

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