IPPL (Independent Parallel Particle Layer)
IPPL
Loading...
Searching...
No Matches
ippl::MidpointQuadrature< T, NumNodes1D, ElementType > Class Template Reference

This is a class representing the midpoint quadrature rule. More...

#include <MidpointQuadrature.h>

Inheritance diagram for ippl::MidpointQuadrature< T, NumNodes1D, ElementType >:
Collaboration diagram for ippl::MidpointQuadrature< T, NumNodes1D, ElementType >:

Public Member Functions

 MidpointQuadrature (const ElementType &ref_element)
 Construct a new Midpoint Quadrature object.
void computeNodesAndWeights () override
 Computes the quadrature nodes and weights.
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, numElementNodesgetWeightsForRefElement () const
 Get the quadrature weights for the reference element.
Vector< Vector< T, dim >, numElementNodesgetIntegrationNodesForRefElement () 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]).

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

Detailed Description

template<typename T, unsigned NumNodes1D, typename ElementType>
class ippl::MidpointQuadrature< T, NumNodes1D, ElementType >

This is a class representing the midpoint quadrature rule.

Template Parameters
Tfloating point number type of the quadrature nodes and weights
NumNodes1Dnumber of quadrature nodes for one dimension
ElementTypeelement type for which the quadrature rule is defined

Definition at line 19 of file MidpointQuadrature.h.

Constructor & Destructor Documentation

◆ MidpointQuadrature()

template<typename T, unsigned NumNodes1D, typename ElementType>
ippl::MidpointQuadrature< T, NumNodes1D, ElementType >::MidpointQuadrature ( const ElementType & ref_element)

Construct a new Midpoint Quadrature object.

Parameters
ref_elementreference element to compute the quadrature nodes on

Definition at line 5 of file MidpointQuadrature.hpp.

References ippl::Quadrature< T, NumNodes1D, ElementType >::a_m, ippl::Quadrature< T, NumNodes1D, ElementType >::b_m, computeNodesAndWeights(), ippl::Quadrature< T, NumNodes1D, ElementType >::degree_m, and ippl::Quadrature< T, NumNodes1D, ElementType >::Quadrature().

Here is the call graph for this function:

Member Function Documentation

◆ computeNodesAndWeights()

template<typename T, unsigned NumNodes1D, typename ElementType>
void ippl::MidpointQuadrature< T, NumNodes1D, ElementType >::computeNodesAndWeights ( )
overridevirtual

Computes the quadrature nodes and weights.

Implements ippl::Quadrature< T, NumNodes1D, ElementType >.

Definition at line 17 of file MidpointQuadrature.hpp.

References ippl::Quadrature< T, NumNodes1D, ElementType >::a_m, ippl::Quadrature< T, NumNodes1D, ElementType >::b_m, ippl::Quadrature< T, NumNodes1D, ElementType >::integration_nodes_m, and ippl::Quadrature< T, NumNodes1D, ElementType >::weights_m.

Referenced by MidpointQuadrature().

Here is the caller graph for this function:

◆ getDegree()

template<typename T, unsigned NumNodes1D, typename ElementType>
size_t ippl::Quadrature< T, NumNodes1D, ElementType >::getDegree ( ) const
inherited

Returns the degree of exactness of the quadrature rule.

Returns
unsigned - degree

Definition at line 13 of file Quadrature.hpp.

References degree_m.

◆ getIntegrationNodes1D()

template<typename T, unsigned NumNodes1D, typename ElementType>
Vector< T, NumNodes1D > ippl::Quadrature< T, NumNodes1D, ElementType >::getIntegrationNodes1D ( const T & a,
const T & b ) const
inherited

Get the quadrature nodes for one dimension. (With respect to the given domain [a, b]).

Parameters
alocal domain start
blocal domain end
Returns
Vector<T, NumNodes1D>

Definition at line 72 of file Quadrature.hpp.

Referenced by getIntegrationNodesForRefElement().

Here is the caller graph for this function:

◆ getIntegrationNodesForRefElement()

template<typename T, unsigned NumNodes1D, typename ElementType>
Vector< Vector< T, Quadrature< T, NumNodes1D, ElementType >::dim >, Quadrature< T, NumNodes1D, ElementType >::numElementNodes > ippl::Quadrature< T, NumNodes1D, ElementType >::getIntegrationNodesForRefElement ( ) const
inherited

Get the integration (quadrature) nodes for the reference element.

Returns
Vector<Vector<T, Dim>, numElementNodes>

Definition at line 47 of file Quadrature.hpp.

References getIntegrationNodes1D(), and numElementNodes.

Here is the call graph for this function:

◆ getOrder()

template<typename T, unsigned NumNodes1D, typename ElementType>
size_t ippl::Quadrature< T, NumNodes1D, ElementType >::getOrder ( ) const
inherited

Returns the order of the quadrature rule. (order = degree + 1).

Returns
unsigned - order

Definition at line 8 of file Quadrature.hpp.

References degree_m.

◆ getWeights1D()

template<typename T, unsigned NumNodes1D, typename ElementType>
Vector< T, NumNodes1D > ippl::Quadrature< T, NumNodes1D, ElementType >::getWeights1D ( const T & a,
const T & b ) const
inherited

Get the quadrature weights for one dimension. (With respect to the given domain [a, b]).

Parameters
alocal domain start
blocal domain end
Returns
Vector<T, NumNodes1D>

Definition at line 81 of file Quadrature.hpp.

References a_m, b_m, and weights_m.

Referenced by getWeightsForRefElement().

Here is the caller graph for this function:

◆ getWeightsForRefElement()

template<typename T, unsigned NumNodes1D, typename ElementType>
Vector< T, Quadrature< T, NumNodes1D, ElementType >::numElementNodes > ippl::Quadrature< T, NumNodes1D, ElementType >::getWeightsForRefElement ( ) const
inherited

Get the quadrature weights for the reference element.

Returns
Vector<T, numElementNodes>

Definition at line 19 of file Quadrature.hpp.

References getWeights1D(), and numElementNodes.

Here is the call graph for this function:

Member Data Documentation

◆ a_m

◆ b_m

◆ degree_m

template<typename T, unsigned NumNodes1D, typename ElementType>
unsigned ippl::Quadrature< T, NumNodes1D, ElementType >::degree_m
protectedinherited

◆ dim

template<typename T, unsigned NumNodes1D, typename ElementType>
unsigned ippl::Quadrature< T, NumNodes1D, ElementType >::dim = ElementType::dim
staticconstexprinherited

Definition at line 41 of file Quadrature.h.

◆ integration_nodes_m

template<typename T, unsigned NumNodes1D, typename ElementType>
Vector<T, NumNodes1D> ippl::Quadrature< T, NumNodes1D, ElementType >::integration_nodes_m
protectedinherited

◆ numElementNodes

template<typename T, unsigned NumNodes1D, typename ElementType>
unsigned ippl::Quadrature< T, NumNodes1D, ElementType >::numElementNodes
staticconstexprinherited
Initial value:

Definition at line 44 of file Quadrature.h.

Referenced by getIntegrationNodesForRefElement(), and getWeightsForRefElement().

◆ numNodes1D

template<typename T, unsigned NumNodes1D, typename ElementType>
unsigned ippl::Quadrature< T, NumNodes1D, ElementType >::numNodes1D = NumNodes1D
staticconstexprinherited

Definition at line 38 of file Quadrature.h.

◆ ref_element_m

template<typename T, unsigned NumNodes1D, typename ElementType>
const ElementType& ippl::Quadrature< T, NumNodes1D, ElementType >::ref_element_m
protectedinherited

Definition at line 112 of file Quadrature.h.

Referenced by Quadrature().

◆ weights_m


The documentation for this class was generated from the following files: