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

# DMMoabFEMComputeBasis

Evaluate bases and derivatives at quadrature points for a linear EDGE/QUAD/TRI/HEX/TET element.

### Synopsis

    #include "petscdt.h"
    #include "petscdmmoab.h"
    PetscErrorCode DMMoabFEMComputeBasis(const PetscInt dim, const PetscInt nverts, const PetscReal *coordinates, const PetscQuadrature quadrature,
                                         PetscReal *phypts, PetscReal *jacobian_quadrature_weight_product,
                                         PetscReal *fe_basis, PetscReal **fe_basis_derivatives)

The routine takes the coordinates of the vertices of an element and computes basis functions associated with each quadrature point provided, and their derivatives with respect to X, Y and Z as appropriate.

### Input Parameter

| PetscInt nverts, the number of element vertices
| PetscReal coords[3*nverts], the physical coordinates of the vertices (in canonical numbering)
| PetscInt npts, the number of evaluation points (quadrature points)
| PetscReal quad[3*npts], the evaluation points (quadrature points) in the reference space

### Output Parameter

| PetscReal phypts[3*npts], the evaluation points (quadrature points) transformed to the physical space
| PetscReal jxw[npts], the jacobian determinant * quadrature weight necessary for assembling discrete contributions
| PetscReal fe_basis[npts], the bases values evaluated at the specified quadrature points
| PetscReal fe_basis_derivatives[dim][npts], the derivative of the bases wrt (X,Y,Z) | - directions (depending on the dimension) evaluated at the specified quadrature points

### Level

advanced

### Location

src/dm/impls/moab/dmmbfem.cxx
Index of all DMMOAB routines
Table of Contents for all manual pages
Index of all manual pages