# PetscFEIntegrateBd
Produce the integral for the given field for a chunk of elements by quadrature integration
## Synopsis
```
#include "petscfe.h"
PetscErrorCode PetscFEIntegrateBd(PetscDS prob, PetscInt field, void (*obj_func)(PetscInt, PetscInt, PetscInt, const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), PetscInt Ne, PetscFEGeom *geom, const PetscScalar coefficients[], PetscDS probAux, const PetscScalar coefficientsAux[], PetscScalar integral[])
```
Not collective
## Input Parameters
- ***prob -*** The `PetscDS` specifying the discretizations and continuum functions
- ***field -*** The field being integrated
- ***obj_func -*** The function to be integrated
- ***Ne -*** The number of elements in the chunk
- ***fgeom -*** The face geometry for each face in the chunk
- ***coefficients -*** The array of FEM basis coefficients for the elements
- ***probAux -*** The `PetscDS` specifying the auxiliary discretizations
- ***coefficientsAux -*** The array of FEM auxiliary basis coefficients for the elements
## Output Parameter
- ***integral -*** the integral for this field
## Developer Note
The function name begins with `PetscFE` and yet the first argument is `PetscDS` and it has no `PetscFE` arguments.
## See Also
`PetscFE`, `PetscDS`, `PetscFEIntegrateResidual()`, `PetscFEIntegrate()`
## Level
intermediate
## Location
src/dm/dt/fe/interface/fe.c
## Implementations
PetscFEIntegrateBd_Basic in src/dm/dt/fe/impls/basic/febasic.c
---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/dm/dt/fe/interface/fe.c)
[Index of all FE routines](index.md)
[Table of Contents for all manual pages](/docs/manualpages/index.md)
[Index of all manual pages](/docs/manualpages/singleindex.md)