#include "petscdt.h" #include "petscdmmoab.h" PetscErrorCode Compute_Lagrange_Basis_1D_Internal(const PetscInt nverts, const PetscReal *coords, const PetscInt npts, const PetscReal *quad, PetscReal *phypts, PetscReal *jxw, PetscReal *phi, PetscReal *dphidx, PetscReal *jacobian, PetscReal *ijacobian, PetscReal *volume)The routine is given the coordinates of the vertices of a linear or quadratic edge element.
The routine evaluates the basis functions associated with each quadrature point provided, and their derivatives with respect to X.
Example Physical Element
1-------2 1----3----2 EDGE2 EDGE3
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 |
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 phi[npts] | - the bases evaluated at the specified quadrature points | |
PetscReal dphidx[npts] | - the derivative of the bases wrt X-direction evaluated at the specified quadrature points |