#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.
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 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 |