Class xlifepp::QuadratureRule#

class QuadratureRule#

Collaboration diagram for xlifepp::QuadratureRule:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "3" [label="std::vector< T >" tooltip="std::vector< T >"] "2" [label="std::vector< real_t >" tooltip="std::vector< real_t >"] "1" [label="xlifepp::QuadratureRule" tooltip="xlifepp::QuadratureRule" fillcolor="#BFBFBF"] "2" -> "3" [dir=forward tooltip="template-instance"] "1" -> "2" [dir=forward tooltip="usage"] }

represents a quadrature formula points and weights

Public Functions

inline QuadratureRule()#

default constructor

QuadratureRule(const std::vector<real_t>&, const std::vector<real_t>&)#

constructor by coords and weights

QuadratureRule(const std::vector<real_t>&, real_t)#

constructor for 1 point formula

QuadratureRule(dimen_t, number_t)#

constructor by dimension and number of points

QuadratureRule &booleRule()#

Boole quadratire rule.

QuadratureRule &conicalRule(const QuadratureRule&, const QuadratureRule&)#

conical product of 2 1D rules (see A.H.Stroud, page 18&#8212;31 & 314)

QuadratureRule &conicalRule(const QuadratureRule&, const QuadratureRule&, const QuadratureRule&)#

conical product of 3 1D rules (see A.H.Stroud, pages 18-31 & 314)

inline const std::vector<real_t> &coords() const#

returns vector of point coordinates

void coords(const std::vector<real_t>&)#

copy std::vector<real_t> into quadrature point coordinates

void coords(real_t)#

barycentric quadrature point coordinates

void coords(std::vector<real_t>::const_iterator)#

copy std::vector<real_t> into quadrature point coordinates

void coords(std::vector<real_t>::iterator&, dimen_t, std::vector<real_t>::const_iterator&)#

input quadrature point coordinates in any dimension

inline dimen_t dim() const#

returns dimension of quadrature points

QuadratureRule &gaussJacobiRules(number_t)#

Gauss-Legendre quadrature rule.

QuadratureRule &gaussLegendreRules(number_t)#

Gauss-Legendre quadrature rule.

QuadratureRule &gaussLobattoRules(number_t)#

Gauss-Lobatto quadrature rule.

QuadratureRule &hexahedronNodalRule(const QuadratureRule&)#

nodal rule on hexahedra

inline std::vector<real_t>::iterator point(number_t i = 0)#

get i-th quadrature point as a vector (0 <= i)

inline std::vector<real_t>::const_iterator point(number_t i = 0) const#

get i-th quadrature point as a vector (0 <= i)

void point(std::vector<real_t>::iterator&, real_t, real_t, real_t, std::vector<real_t>::iterator&, real_t)#

input accumulator for 3d quadrature point

void point(std::vector<real_t>::iterator&, real_t, real_t, std::vector<real_t>::iterator&, real_t)#

input accumulator for 2d quadrature point

void point(std::vector<real_t>::iterator&, real_t, std::vector<real_t>::iterator&, real_t)#

input accumulator for 1d quadrature point

QuadratureRule &pyramidRule(const QuadratureRule &qrxy, const QuadratureRule &qrz)#

conical product of 3 1D rule

QuadratureRule &pyramidStroudRule()#

Degree 7, 48 points, A.H.Stroud, page 339.

QuadratureRule &quadrangleNodalRule(const QuadratureRule&)#

nodal rule on quadrangles

void resize(dimen_t, number_t)#

resizes vectors of coordinates and weights

QuadratureRule &ruleOn01(number_t n, bool symmmetric = true)#

quadrature rule on [0,1]

QuadratureRule &simpson38Rule()#

Simpson 3-8 quadrature rule.

QuadratureRule &simpsonRule()#

Simpson quadrature rule.

inline number_t size() const#

number of points of quadrature rule

QuadratureRule &symmetricalGaussHexahedronRule(number_t)#

symmetrical Gauss rule on hexahedron, odd order up to 11

QuadratureRule &symmetricalGaussPrismRule(number_t)#

symmetrical Gauss rule on prism, order up to 10

QuadratureRule &symmetricalGaussPyramidRule(number_t)#

symmetrical Gauss rule on pyramid, order up to 10

QuadratureRule &symmetricalGaussQuadrangleRule(number_t)#

symmetrical Gauss rule on quadrangle, odd order up to 21

QuadratureRule &symmetricalGaussTetrahedronRule(number_t)#

symmetrical Gauss rule on tetrahedron, order up to 10

QuadratureRule &symmetricalGaussTriangleRule(number_t)#

symmetrical Gauss rule on triangle, order up to 20

QuadratureRule &t2P2HammerStroudRule()#

Degree 2, 3 points, A.H.Stroud, page 307.

QuadratureRule &t2P2MidEdgeRule()#

Degree 2, 3 points.

QuadratureRule &t2P3AlbrechtCollatzRule()#

Degree 3, 6 points, A.H.Stroud, page 314.

QuadratureRule &t2P3StroudRule()#

Degree 3, 7 points, A.H.Stroud, page 308.

QuadratureRule &t2P5RadonHammerMarloweStroudRule()#

Degree 5, 7 points, A.H.Stroud, page 314.

QuadratureRule &t2P6HammerRule()#

Degree 6, Hammer 12 internal points, G.Dhatt, G.Touzot page 298.

QuadratureRule &t3P2HammerStroudRule()#

Degree 2, 4 points, A.H.Stroud, page 307.

QuadratureRule &t3P3StroudRule()#

Degree 3, 8 points, A.H.Stroud, page 308.

QuadratureRule &t3P5StroudRule()#

Degree 5, 15 points, A.H.Stroud, page 315.

QuadratureRule &tensorRule(const QuadratureRule&, const QuadratureRule&)#

tensor product of 2 1D rules of degree d.

QuadratureRule &tensorRule(const QuadratureRule&, const QuadratureRule&, const QuadratureRule&)#

tensor product of 3 1D rules of degree d.

QuadratureRule &tNGrundmannMollerRule(int, dimen_t)#

degree 2s+1, C^n_n+d+1 points rule over the unit simplex

void tNGrundmannMollerSet(int)#

modified version of John Burkhart’s GM_RULE_SET function

QuadratureRule &trapezoidalRule()#

trapezoidal quadrature rule

inline std::vector<real_t>::iterator weight(const number_t i = 0)#

get iterator to i-th quadrature weight

inline std::vector<real_t>::const_iterator weight(number_t i = 0) const#

get const_iterator to i-th quadrature weight

inline const std::vector<real_t> &weights() const#

returns vector of point coordinates

void weights(const std::vector<real_t>&)#

copy std::vector<real_t> into quadrature weights

void weights(real_t)#

uniform quadrature weights

Friends

friend std::ostream &operator<<(std::ostream&, const QuadratureRule&)#

print operator