Lines Matching refs:quadrature
78 Compute_Lagrange_Basis_1D_Internal - Evaluate bases and derivatives at quadrature points for a EDGE2 or EDGE3 element.
82 The routine evaluates the basis functions associated with each quadrature point provided,
96 . PetscInt npts - the number of evaluation points (quadrature points)
97 - PetscReal quad[3*npts] - the evaluation points (quadrature points) in the reference space
100 + PetscReal phypts[3*npts] - the evaluation points (quadrature points) transformed to the physical space
101 . PetscReal jxw[npts] - the jacobian determinant * quadrature weight necessary for assembling discrete contributions
102 . PetscReal phi[npts] - the bases evaluated at the specified quadrature points
103 . PetscReal dphidx[npts] - the derivative of the bases wrt X-direction evaluated at the specified quadrature points
184 Compute_Lagrange_Basis_2D_Internal - Evaluate bases and derivatives at quadrature points for a QUAD4 or TRI3 element.
188 The routine evaluates the basis functions associated with each quadrature point provided,
205 . PetscInt npts - the number of evaluation points (quadrature points)
206 - PetscReal quad[3*npts] - the evaluation points (quadrature points) in the reference space
209 + PetscReal phypts[3*npts] - the evaluation points (quadrature points) transformed to the physical space
210 . PetscReal jxw[npts] - the jacobian determinant * quadrature weight necessary for assembling discrete contributions
211 . PetscReal phi[npts] - the bases evaluated at the specified quadrature points
212 . PetscReal dphidx[npts] - the derivative of the bases wrt X-direction evaluated at the specified quadrature points
213 . PetscReal dphidy[npts] - the derivative of the bases wrt Y-direction evaluated at the specified quadrature points
337 Compute_Lagrange_Basis_3D_Internal - Evaluate bases and derivatives at quadrature points for a HEX8 or TET4 element.
341 The routine evaluates the basis functions associated with each quadrature point provided,
360 . PetscInt npts - the number of evaluation points (quadrature points)
361 - PetscReal quad[3*npts] - the evaluation points (quadrature points) in the reference space
364 + PetscReal phypts[3*npts] - the evaluation points (quadrature points) transformed to the physical space
365 . PetscReal jxw[npts] - the jacobian determinant * quadrature weight necessary for assembling discrete contributions
366 . PetscReal phi[npts] - the bases evaluated at the specified quadrature points
367 . PetscReal dphidx[npts] - the derivative of the bases wrt X-direction evaluated at the specified quadrature points
368 . PetscReal dphidy[npts] - the derivative of the bases wrt Y-direction evaluated at the specified quadrature points
369 . PetscReal dphidz[npts] - the derivative of the bases wrt Z-direction evaluated at the specified quadrature points
534 DMMoabFEMComputeBasis - Evaluate bases and derivatives at quadrature points for a linear EDGE/QUAD/TRI/HEX/TET element.
537 each quadrature point provided, and their derivatives with respect to X, Y and Z as appropriate.
543 - quadrature - the evaluation points (quadrature points) in the reference space
546 + phypts - the evaluation points (quadrature points) transformed to the physical space
547 . jacobian_quadrature_weight_product - the jacobian determinant * quadrature weight necessary for assembling discrete contributions
548 . fe_basis - the bases values evaluated at the specified quadrature points
549 - fe_basis_derivatives - the derivative of the bases wrt (X,Y,Z)-directions (depending on the dimension) evaluated at the specified quadrature points
555 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)
564 PetscValidHeaderSpecific(quadrature, PETSCQUADRATURE_CLASSID, 4);
568 /* Get the quadrature points and weights for the given quadrature rule */
569 PetscCall(PetscQuadratureGetData(quadrature, &idim, NULL, &npoints, &quadpts, &quadwts));
570 PetscCheck(idim == dim, PETSC_COMM_WORLD, PETSC_ERR_ARG_WRONG, "Dimension mismatch: provided (%" PetscInt_FMT ") vs quadrature (%" PetscInt_FMT ")", idim, dim);
590 DMMoabFEMCreateQuadratureDefault - Create default quadrature rules for integration over an element with a given
598 . quadrature - the quadrature object with default settings to integrate polynomials defined over the element
604 PetscErrorCode DMMoabFEMCreateQuadratureDefault(const PetscInt dim, const PetscInt nverts, PetscQuadrature *quadrature)
610 /* Create an appropriate quadrature rule to sample basis */
613 /* Create Gauss quadrature rules with <order = nverts> in the span [-1, 1] */
614 PetscCall(PetscDTStroudConicalQuadrature(1, nc, nverts, 0, 1.0, quadrature));
617 /* Create Gauss quadrature rules with <order = nverts> in the span [-1, 1] */
635 } else SETERRQ(PETSC_COMM_WORLD, PETSC_ERR_ARG_OUTOFRANGE, "Triangle quadrature rules for points 3 and 6 supported; npoints : %" PetscInt_FMT, npoints);
636 PetscCall(PetscQuadratureCreate(PETSC_COMM_SELF, quadrature));
637 PetscCall(PetscQuadratureSetOrder(*quadrature, order));
638 PetscCall(PetscQuadratureSetData(*quadrature, dim, nc, npoints, x, w));
639 /* PetscCall(PetscDTStroudConicalQuadrature(dim, nc, nverts, 0.0, 1.0, quadrature)); */
640 } else PetscCall(PetscDTGaussTensorQuadrature(dim, nc, nverts, 0.0, 1.0, quadrature));
643 /* Create Gauss quadrature rules with <order = nverts> in the span [-1, 1] */
664 } else SETERRQ(PETSC_COMM_WORLD, PETSC_ERR_ARG_OUTOFRANGE, "Tetrahedral quadrature rules for points 4 and 10 supported; npoints : %" PetscInt_FMT, npoints);
665 PetscCall(PetscQuadratureCreate(PETSC_COMM_SELF, quadrature));
666 PetscCall(PetscQuadratureSetOrder(*quadrature, order));
667 PetscCall(PetscQuadratureSetData(*quadrature, dim, nc, npoints, x, w));
668 /* PetscCall(PetscDTStroudConicalQuadrature(dim, nc, nverts, 0.0, 1.0, quadrature)); */
669 } else PetscCall(PetscDTGaussTensorQuadrature(dim, nc, nverts, 0.0, 1.0, quadrature));
678 static PetscErrorCode FEMComputeBasis_JandF(const PetscInt dim, const PetscInt nverts, const PetscReal *coordinates, const PetscReal *quadrature, PetscReal *phypts, PetscReal *phibasis, PetscReal *jacobian, PetscReal *ijacobian, PetscReal *volume)
683 PetscCall(Compute_Lagrange_Basis_1D_Internal(nverts, coordinates, 1, quadrature, phypts, NULL, phibasis, NULL, jacobian, ijacobian, volume));
686 PetscCall(Compute_Lagrange_Basis_2D_Internal(nverts, coordinates, 1, quadrature, phypts, NULL, phibasis, NULL, NULL, jacobian, ijacobian, volume));
689 PetscCall(Compute_Lagrange_Basis_3D_Internal(nverts, coordinates, 1, quadrature, phypts, NULL, phibasis, NULL, NULL, NULL, jacobian, ijacobian, volume));