![]() |
LehrFEM++ 1.0.0
A simple Finite Element Library for teaching
|
Rules for numerical quadrature on reference entity shapes. More...
Classes | |
| class | QuadRule |
| Represents a Quadrature Rule over one of the Reference Elements. More... | |
| class | QuadRuleCache |
| A cache for make_QuadRule() More... | |
Typedefs | |
| using | quadDegree_t = unsigned int |
Functions | |
| std::tuple< Eigen::VectorXd, Eigen::VectorXd > | GaussLegendre (unsigned num_points) |
| std::tuple< Eigen::VectorXd, Eigen::VectorXd > | GaussJacobi (quadDegree_t num_points, double alpha, double beta) |
| Computes the quadrature points and weights for the interval [-1,1] of a Gauss-Jacobi quadrature rule with weight function \( (1-x)^\alpha
(1+x)^\beta \). | |
| std::tuple< Eigen::VectorXd, Eigen::VectorXd > | GaussLegendre (unsigned int num_points) |
| Computes the quadrature points and weights for the interval [0,1] of a Gauss-Legendre quadrature rule using a newton algorithm. | |
| QuadRule | make_QuadRule (base::RefEl ref_el, unsigned degree) |
| Returns a QuadRule object for the given Reference Element and Degree. | |
| QuadRule | make_TriaQR_MidpointRule () |
| midpoint quadrature rule for triangles | |
| QuadRule | make_TriaQR_EdgeMidpointRule () |
| edge midpoint quadrature rule for reference triangles | |
| QuadRule | make_QuadQR_EdgeMidpointRule () |
| edge midpoint quadrature rule for unit square (= reference quad) | |
| QuadRule | make_TriaQR_P6O4 () |
| Six point triangular quadrature rule of order 4. | |
| QuadRule | make_TriaQR_P7O6 () |
| Seven point triangular quadrature rule of order 6. | |
| QuadRule | make_TriaQR_P1O2 () |
| QuadRule | make_TriaQR_P3O3 () |
| QuadRule | make_QuadQR_MidpointRule () |
| midpoint quadrature rule for quadrilaterals | |
| QuadRule | make_QuadQR_P1O2 () |
| QuadRule | make_QuadQR_P4O2 () |
| QuadRule | make_QuadQR_P4O4 () |
| Fourth-order tensor product Gauss rule for quadrilaterals. | |
| QuadRule | make_QuadRuleNodal (base::RefEl ref_el) |
| Create a quadrature rule that evaluates the quadrand only at the nodes of the reference element. | |
| std::ostream & | operator<< (std::ostream &stream, const lf::quad::QuadRule &quadrule) |
| Output operator for quadrature rules. | |
Rules for numerical quadrature on reference entity shapes.
Quadrature rules are specified by
Refer to Lecture Document Paragraph 2.7.5.39.
| using lf::quad::quadDegree_t = unsigned int |
Definition at line 19 of file quad_rule.h.
| std::tuple< Eigen::VectorXd, Eigen::VectorXd > lf::quad::GaussJacobi | ( | quadDegree_t | num_points, |
| double | alpha, | ||
| double | beta ) |
Computes the quadrature points and weights for the interval [-1,1] of a Gauss-Jacobi quadrature rule with weight function \( (1-x)^\alpha (1+x)^\beta \).
quad namespace and used by LehrFEM++ internally only.| num_points | The number of points/weights that should be used. |
| alpha | The exponent of the weight function |
| beta | The exponent of the weight function |
Definition at line 71 of file gauss_quadrature.cc.
Referenced by make_QuadRule().
| std::tuple< Eigen::VectorXd, Eigen::VectorXd > lf::quad::GaussLegendre | ( | unsigned int | num_points | ) |
Computes the quadrature points and weights for the interval [0,1] of a Gauss-Legendre quadrature rule using a newton algorithm.
quad namespace and used by LehrFEM++ internally only.| num_points | The number of points/weights that should be used. |
| std::tuple< Eigen::VectorXd, Eigen::VectorXd > lf::quad::GaussLegendre | ( | unsigned | num_points | ) |
Definition at line 16 of file gauss_quadrature.cc.
Referenced by make_QuadRule().
| QuadRule lf::quad::make_QuadRule | ( | base::RefEl | ref_el, |
| unsigned | degree ) |
Returns a QuadRule object for the given Reference Element and Degree.
| ref_el | The type of reference element |
| degree | The minimum degree of polynomials that should be integrated exactly by the created QuadRule object |
degreeThis method tries to return optimal quadrature rules when possible:
Note that the order of a quadrature rule is equal to degree of exactness + 1!
Definition at line 21 of file make_quad_rule.cc.
References GaussJacobi(), GaussLegendre(), lf::base::RefEl::kQuad(), lf::base::RefEl::kSegment(), and lf::base::RefEl::kTria().
Referenced by lf::geometry::test_utils::checkChildGeometryVolume(), lf::quad::QuadRuleCache::Get(), make_QuadQR_MidpointRule(), make_QuadQR_P4O4(), lf::uscalfe::ReactionDiffusionElementMatrixProvider< SCALAR, DIFF_COEFF, REACTION_COEFF >::ReactionDiffusionElementMatrixProvider(), and lf::uscalfe::ScalarLoadElementVectorProvider< SCALAR, MESH_FUNCTION >::ScalarLoadElementVectorProvider().
| QuadRule lf::quad::make_QuadRuleNodal | ( | base::RefEl | ref_el | ) |
Create a quadrature rule that evaluates the quadrand only at the nodes of the reference element.
| ref_el | The reference element for which the quadrule is. |
Definition at line 14 of file make_quad_rule_nodal.cc.
References lf::base::RefEl::kTria(), lf::base::RefEl::NodeCoords(), and lf::base::RefEl::NumNodes().
| std::ostream & lf::quad::operator<< | ( | std::ostream & | stream, |
| const lf::quad::QuadRule & | quadrule ) |
Output operator for quadrature rules.
| stream | The stream to which this function should output |
| quadrule | the quadrature rule to be printed |
Definition at line 19 of file quad_rule.cc.
References lf::quad::QuadRule::PrintInfo().