ug4
|
provides quadrature rules for a reference dimension More...
#include <quadrature_provider.h>
Public Member Functions | |
~QuadratureRuleProvider () | |
destructor More... | |
Static Public Member Functions | |
static const QuadratureRule< TDim > & | get (ReferenceObjectID roid, size_t order, QuadType type=BEST) |
gets quadrature rule of requested order More... | |
template<typename TRefElem > | |
static const QuadratureRule< TDim > & | get (size_t order, QuadType type=BEST) |
gets quadrature rule of requested order More... | |
Static Public Attributes | |
static const int | dim = TDim |
dimension of reference element More... | |
Protected Member Functions | |
const QuadratureRule< 0 > * | create_gauss_legendre_rule (ReferenceObjectID roid, size_t order) |
const QuadratureRule< 1 > * | create_gauss_legendre_rule (ReferenceObjectID roid, size_t order) |
const QuadratureRule< 2 > * | create_gauss_legendre_rule (ReferenceObjectID roid, size_t order) |
const QuadratureRule< 3 > * | create_gauss_legendre_rule (ReferenceObjectID roid, size_t order) |
const QuadratureRule< 0 > * | create_gauss_rule (ReferenceObjectID roid, size_t order) |
const QuadratureRule< 1 > * | create_gauss_rule (ReferenceObjectID roid, size_t order) |
const QuadratureRule< 2 > * | create_gauss_rule (ReferenceObjectID roid, size_t order) |
const QuadratureRule< 3 > * | create_gauss_rule (ReferenceObjectID roid, size_t order) |
const QuadratureRule< 1 > * | create_newton_cotes_rule (ReferenceObjectID roid, size_t order) |
Static Protected Member Functions | |
static void | create_rule (ReferenceObjectID roid, size_t order, QuadType type) |
creates rule at this provider More... | |
static const QuadratureRule< TDim > & | get_quad_rule (ReferenceObjectID roid, size_t order, QuadType type) |
provide rule, try to create it if not already present More... | |
static const QuadratureRule< TDim > * | create_gauss_rule (ReferenceObjectID roid, size_t order) |
static const QuadratureRule< TDim > * | create_newton_cotes_rule (ReferenceObjectID roid, size_t order) |
static const QuadratureRule< TDim > * | create_gauss_legendre_rule (ReferenceObjectID roid, size_t order) |
Static Protected Attributes | |
static std::vector< const QuadratureRule< TDim > * > | m_vRule [NUM_QUADRATURE_TYPES][NUM_REFERENCE_OBJECTS] |
Vector, holding all registered rules. More... | |
Private Member Functions | |
QuadratureRuleProvider & | operator= (const QuadratureRuleProvider &) |
QuadratureRuleProvider () | |
private constructor performing standard registering More... | |
QuadratureRuleProvider (const QuadratureRuleProvider &) | |
Static Private Member Functions | |
static QuadratureRuleProvider< dim > & | instance () |
singleton provider More... | |
provides quadrature rules for a reference dimension
This class serves as a provider for quadrature rules. It is templated for a reference element dimension.
TDim | Reference Element Dimension |
|
private |
private constructor performing standard registering
References NUM_QUADRATURE_TYPES, and ug::NUM_REFERENCE_OBJECTS.
|
private |
ug::QuadratureRuleProvider< TDim >::~QuadratureRuleProvider |
destructor
References NUM_QUADRATURE_TYPES, and ug::NUM_REFERENCE_OBJECTS.
|
protected |
|
protected |
|
protected |
References dim, ug::ROID_QUADRILATERAL, ug::ROID_TRIANGLE, and UG_THROW.
|
protected |
References dim, ug::ROID_HEXAHEDRON, ug::ROID_OCTAHEDRON, ug::ROID_PRISM, ug::ROID_PYRAMID, ug::ROID_TETRAHEDRON, and UG_THROW.
|
staticprotected |
rule creation, returns NULL if unavailable
|
protected |
References dim, ug::ROID_VERTEX, and UG_THROW.
|
protected |
References dim, ug::ROID_EDGE, and UG_THROW.
|
protected |
References dim, ug::ROID_QUADRILATERAL, ug::ROID_TRIANGLE, and UG_THROW.
|
protected |
References dim, ug::ROID_HEXAHEDRON, ug::ROID_OCTAHEDRON, ug::ROID_PRISM, ug::ROID_PYRAMID, ug::ROID_TETRAHEDRON, and UG_THROW.
|
staticprotected |
rule creation, returns NULL if unavailable
|
protected |
|
staticprotected |
rule creation, returns NULL if unavailable
|
staticprotected |
creates rule at this provider
References BEST, dim, GAUSS, GAUSS_LEGENDRE, NEWTON_COTES, and UG_THROW.
|
static |
gets quadrature rule of requested order
This function returns the next quadrature rule of order >= 'order' that is registered to this Provider. If no rule is found an Exception is thrown.
[in] | roid | Reference Object id |
[in] | order | Order of requested quadrature rule |
|
static |
gets quadrature rule of requested order
This function returns the next quadrature rule of order >= 'order' that is registered to this Provider. If no rule is found an Exception is thrown.
[in] | order | Order of requested quadrature rule |
TRefElem | Reference element type |
Referenced by ug::IntegralNormalComponentOnManifoldGeneral(), ug::Integrate(), ug::SideAndElemErrEstData< TDomain >::GetQuadRules< refDim >::operator()(), ug::DimFVGeometry< TWorldDim, TDim >::update(), ug::DimFVGeometry< TWorldDim, TDim >::update_boundary_faces(), ug::DimFEGeometry< TWorldDim, TRefDim >::update_boundary_faces(), ug::DimFEGeometry< TWorldDim, TRefDim >::update_local(), and ug::DimFVGeometry< TWorldDim, TDim >::update_local().
|
staticprotected |
provide rule, try to create it if not already present
|
inlinestaticprivate |
singleton provider
|
private |
|
static |
dimension of reference element
|
staticprotected |
Vector, holding all registered rules.