|
IPPL (Independent Parallel Particle Layer)
IPPL
|
This is the base class for all quadrature rules. More...
#include <Quadrature.h>
Public Member Functions | |
| Quadrature (const ElementType &ref_element) | |
| Construct a new Quadrature object. | |
| size_t | getOrder () const |
| Returns the order of the quadrature rule. (order = degree + 1). | |
| size_t | getDegree () const |
| Returns the degree of exactness of the quadrature rule. | |
| Vector< T, numElementNodes > | getWeightsForRefElement () const |
| Get the quadrature weights for the reference element. | |
| Vector< Vector< T, dim >, numElementNodes > | getIntegrationNodesForRefElement () const |
| Get the integration (quadrature) nodes for the reference element. | |
| Vector< T, NumNodes1D > | getIntegrationNodes1D (const T &a, const T &b) const |
| Get the quadrature nodes for one dimension. (With respect to the given domain [a, b]). | |
| Vector< T, NumNodes1D > | getWeights1D (const T &a, const T &b) const |
| Get the quadrature weights for one dimension. (With respect to the given domain [a, b]). | |
| virtual void | computeNodesAndWeights ()=0 |
| Pure virtual function that computes the local quadrature nodes and weights. (Needs to be implemented in derived classes). | |
Static Public Attributes | |
| static constexpr unsigned | numNodes1D = NumNodes1D |
| static constexpr unsigned | dim = ElementType::dim |
| static constexpr unsigned | numElementNodes |
Protected Attributes | |
| unsigned | degree_m |
| const ElementType & | ref_element_m |
| Vector< T, NumNodes1D > | integration_nodes_m |
| Vector< T, NumNodes1D > | weights_m |
| T | a_m |
| T | b_m |
This is the base class for all quadrature rules.
| T | floating point number type of the quadrature nodes and weights |
| NumNodes1D | number of quadrature nodes for one dimension |
| ElementType | element type for which the quadrature rule is defined |
Definition at line 35 of file Quadrature.h.
| ippl::Quadrature< T, NumNodes1D, ElementType >::Quadrature | ( | const ElementType & | ref_element | ) |
Construct a new Quadrature object.
| ref_element | reference element to compute the quadrature nodes on |
Definition at line 4 of file Quadrature.hpp.
References ref_element_m.
Referenced by ippl::GaussJacobiQuadrature< T, NumNodes1D, ElementType >::GaussJacobiQuadrature(), and ippl::MidpointQuadrature< T, NumNodes1D, ElementType >::MidpointQuadrature().
|
pure virtual |
Pure virtual function that computes the local quadrature nodes and weights. (Needs to be implemented in derived classes).
Implemented in ippl::GaussJacobiQuadrature< T, NumNodes1D, ElementType >, ippl::GaussJacobiQuadrature< T, 5, ElementType >, ippl::GaussJacobiQuadrature< Tlhs, 5, ElementType >, ippl::GaussJacobiQuadrature< Tlhs, QuadNumNodes, ElementType >, and ippl::MidpointQuadrature< T, NumNodes1D, ElementType >.
| size_t ippl::Quadrature< T, NumNodes1D, ElementType >::getDegree | ( | ) | const |
Returns the degree of exactness of the quadrature rule.
Definition at line 13 of file Quadrature.hpp.
References degree_m.
| Vector< T, NumNodes1D > ippl::Quadrature< T, NumNodes1D, ElementType >::getIntegrationNodes1D | ( | const T & | a, |
| const T & | b ) const |
Get the quadrature nodes for one dimension. (With respect to the given domain [a, b]).
| a | local domain start |
| b | local domain end |
Definition at line 72 of file Quadrature.hpp.
Referenced by getIntegrationNodesForRefElement().
| Vector< Vector< T, Quadrature< T, NumNodes1D, ElementType >::dim >, Quadrature< T, NumNodes1D, ElementType >::numElementNodes > ippl::Quadrature< T, NumNodes1D, ElementType >::getIntegrationNodesForRefElement | ( | ) | const |
Get the integration (quadrature) nodes for the reference element.
Definition at line 47 of file Quadrature.hpp.
References getIntegrationNodes1D(), and numElementNodes.
| size_t ippl::Quadrature< T, NumNodes1D, ElementType >::getOrder | ( | ) | const |
Returns the order of the quadrature rule. (order = degree + 1).
Definition at line 8 of file Quadrature.hpp.
References degree_m.
| Vector< T, NumNodes1D > ippl::Quadrature< T, NumNodes1D, ElementType >::getWeights1D | ( | const T & | a, |
| const T & | b ) const |
Get the quadrature weights for one dimension. (With respect to the given domain [a, b]).
| a | local domain start |
| b | local domain end |
Definition at line 81 of file Quadrature.hpp.
References a_m, b_m, and weights_m.
Referenced by getWeightsForRefElement().
| Vector< T, Quadrature< T, NumNodes1D, ElementType >::numElementNodes > ippl::Quadrature< T, NumNodes1D, ElementType >::getWeightsForRefElement | ( | ) | const |
Get the quadrature weights for the reference element.
Definition at line 19 of file Quadrature.hpp.
References getWeights1D(), and numElementNodes.
|
protected |
Definition at line 117 of file Quadrature.h.
Referenced by ippl::MidpointQuadrature< T, NumNodes1D, ElementType >::computeNodesAndWeights(), ippl::GaussJacobiQuadrature< T, NumNodes1D, ElementType >::GaussJacobiQuadrature(), getWeights1D(), and ippl::MidpointQuadrature< T, NumNodes1D, ElementType >::MidpointQuadrature().
|
protected |
Definition at line 119 of file Quadrature.h.
Referenced by ippl::MidpointQuadrature< T, NumNodes1D, ElementType >::computeNodesAndWeights(), ippl::GaussJacobiQuadrature< T, NumNodes1D, ElementType >::GaussJacobiQuadrature(), getWeights1D(), and ippl::MidpointQuadrature< T, NumNodes1D, ElementType >::MidpointQuadrature().
|
protected |
Definition at line 111 of file Quadrature.h.
Referenced by ippl::GaussJacobiQuadrature< T, NumNodes1D, ElementType >::GaussJacobiQuadrature(), getDegree(), getOrder(), and ippl::MidpointQuadrature< T, NumNodes1D, ElementType >::MidpointQuadrature().
|
staticconstexpr |
Definition at line 41 of file Quadrature.h.
|
protected |
Definition at line 113 of file Quadrature.h.
Referenced by ippl::GaussJacobiQuadrature< T, NumNodes1D, ElementType >::computeNodesAndWeights(), ippl::MidpointQuadrature< T, NumNodes1D, ElementType >::computeNodesAndWeights(), and ippl::GaussJacobiQuadrature< T, NumNodes1D, ElementType >::GaussJacobiQuadrature().
|
staticconstexpr |
Definition at line 44 of file Quadrature.h.
Referenced by getIntegrationNodesForRefElement(), and getWeightsForRefElement().
|
staticconstexpr |
Definition at line 38 of file Quadrature.h.
|
protected |
Definition at line 112 of file Quadrature.h.
Referenced by Quadrature().
|
protected |
Definition at line 114 of file Quadrature.h.
Referenced by ippl::GaussJacobiQuadrature< T, NumNodes1D, ElementType >::computeNodesAndWeights(), ippl::MidpointQuadrature< T, NumNodes1D, ElementType >::computeNodesAndWeights(), ippl::GaussJacobiQuadrature< T, NumNodes1D, ElementType >::GaussJacobiQuadrature(), and getWeights1D().