petsc-3.14.5 2021-03-03
Report Typos and Errors

# PetscQuadraturePushForward

Push forward a quadrature functional under an affine transformation.

### Synopsis

    #include "petscdt.h"
    PetscErrorCode PetscQuadraturePushForward(PetscQuadrature q, PetscInt imageDim, const PetscReal origin[], const PetscReal originImage[], const PetscReal J[], PetscInt formDegree, PetscQuadrature *Jinvstarq)

Collecive on PetscQuadrature

### Input Arguments

| q | - the quadrature functional
| imageDim | - the dimension of the image of the transformation
| origin | - a point in the original space
| originImage | - the image of the origin under the transformation
| J | - the Jacobian of the image: an [imageDim x dim] matrix in row major order
| formDegree | - transform the quadrature weights as k-forms of this form degree (if the number of components is a multiple of (dim choose formDegree), it is assumed that they represent multiple k-forms) [see PetscDTAltVPullback() for interpretation of formDegree]

### Output Arguments

| Jinvstarq | - a quadrature rule where each point is the image of a point in the original quadrature rule, and where the k-form weights have been pulled-back by the pseudoinverse of J to the k-form weights in the image space.

Note: the new quadrature rule will have a different number of components if spaces have different dimensions. For example, pushing a 2-form forward from a two dimensional space to a three dimensional space changes the number of components from 1 to 3.

### See Also

PetscDTAltVPullback(), PetscDTAltVPullbackMatrix()

### Level

intermediate

### Location

src/dm/dt/interface/dt.c
Index of all DT routines
Table of Contents for all manual pages
Index of all manual pages