Class xlifepp::Quadrature#

class Quadrature#

Collaboration diagram for xlifepp::Quadrature:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "4" [label="std::vector< T >" tooltip="std::vector< T >"] "5" [label="std::vector< ShapeType >" tooltip="std::vector< ShapeType >"] "3" [label="std::vector< real_t >" tooltip="std::vector< real_t >"] "7" [label="std::vector< std::vector< int_t > >" tooltip="std::vector< std::vector< int_t > >"] "6" [label="std::vector< std::vector< number_t > >" tooltip="std::vector< std::vector< number_t > >"] "8" [label="std::vector< xlifepp::GeomRefElement * >" tooltip="std::vector< xlifepp::GeomRefElement * >"] "10" [label="std::vector< xlifepp::Quadrature * >" tooltip="std::vector< xlifepp::Quadrature * >"] "2" [label="xlifepp::GeomRefElement" tooltip="xlifepp::GeomRefElement"] "1" [label="xlifepp::Quadrature" tooltip="xlifepp::Quadrature" fillcolor="#BFBFBF"] "9" [label="xlifepp::QuadratureRule" tooltip="xlifepp::QuadratureRule"] "5" -> "4" [dir=forward tooltip="template-instance"] "3" -> "4" [dir=forward tooltip="template-instance"] "7" -> "4" [dir=forward tooltip="template-instance"] "6" -> "4" [dir=forward tooltip="template-instance"] "8" -> "4" [dir=forward tooltip="template-instance"] "10" -> "4" [dir=forward tooltip="template-instance"] "2" -> "3" [dir=forward tooltip="usage"] "2" -> "5" [dir=forward tooltip="usage"] "2" -> "6" [dir=forward tooltip="usage"] "2" -> "7" [dir=forward tooltip="usage"] "2" -> "8" [dir=forward tooltip="usage"] "1" -> "2" [dir=forward tooltip="usage"] "1" -> "9" [dir=forward tooltip="usage"] "1" -> "10" [dir=forward tooltip="usage"] "9" -> "3" [dir=forward tooltip="usage"] }

Quadrature defines the quadrature rule in Finite Element Method.

Public Functions

Quadrature()#

default constructor

Quadrature(ShapeType, QuadRule, number_t, const string_t&, bool pob = false)#

constructor by shape, rule and number or polynomial degree

~Quadrature()#

destructor

void centroidRule()#

define centroid rule for any element

Quadrature *clone() const#

clone of quadrature, not included in the list of quadratures

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

returns vector of point coordinates

inline dimen_t dim() const#

dimension of points in formula

inline number_t numberOfPoints() const#

number of points of quadrature rule

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

get iterator to i-th quadrature point (0 <= i)

inline ShapeType shapeType() const#

shape bearing the quadrature

void vertexRule()#

define rule using all vertices for any element

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

get iterator to first quadrature weight

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

returns vector of weights

Public Members

number_t degree#

degree of quadrature rule

GeomRefElement *geomRefElt_p#

pointer to geometric reference element bearing quadrature rule

bool hasPointsOnBoundary#

as it reads

string_t name#

name of quadrature formula (for documentation purposes)

QuadratureRule quadratureRule#

embedded QuadratureRule object

QuadRule rule#

type of quadrature rule

Public Static Functions

static QuadRule bestQuadRule(ShapeType, number_t)#

best QuadRule to be used to integrate polynom of given degree on a given shape

static void clearGlobalVector()#

delete all quadrature objects

static void printAllQuadratures(std::ostream&)#

print the list of Quadrature objects in memory

Public Static Attributes

static std::vector<Quadrature*> theQuadratures#

vector to store run-time Quadrature pointers

list of pointers of all quadrature rules

Friends

friend void alternateRule(QuadRule, ShapeType, const string_t&)#

display message before choosing an alternate rule

friend Quadrature *hexahedronQuadrature(QuadRule, number_t)#

find or create quadrature rule over the unit hexahedron

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

print operator

friend Quadrature *prismQuadrature(QuadRule, number_t)#

find or create quadrature rule over the unit prism

friend Quadrature *pyramidQuadrature(QuadRule, number_t)#

find or create quadrature rule over the unit pyramid

friend Quadrature *quadrangleQuadrature(QuadRule, number_t)#

find or create quadrature rule over the unit square

friend Quadrature *segmentQuadrature(QuadRule, number_t)#

find or create quadrature rule over the unit segment

friend Quadrature *tetrahedronQuadrature(QuadRule, number_t)#

find or create quadrature rule over the unit tetrahedron

friend Quadrature *triangleQuadrature(QuadRule, number_t)#

find or create quadrature rule over the unit triangle