IPPL API Reference
Independent Parallel Particle Layer C++ API
Loading...
Searching...
No Matches
ippl::ChebyshevGaussQuadrature< T, NumNodes1D, ElementType > Class Template Reference

This is class represents the Chebyshev-Gauss quadrature rule. It is a special case of the Gauss-Jacobi quadrature rule with alpha = beta = -0.5. More...

#include <GaussJacobiQuadrature.h>

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

Public Member Functions

 ChebyshevGaussQuadrature (const ElementType &ref_element, const size_t &max_newton_itersations=10, const size_t &min_newton_iterations=1)
 Construct a new Chebyshev Gauss Quadrature rule object.
 
- Public Member Functions inherited from ippl::GaussJacobiQuadrature< T, NumNodes1D, ElementType >
 GaussJacobiQuadrature (const ElementType &ref_element, const T &alpha, const T &beta, const size_t &max_newton_itersations=10, const size_t &min_newton_iterations=1)
 Construct a new Gauss Jacobi Quadrature rule object.
 
void computeNodesAndWeights () override
 
scalar_t getChebyshevNodes (const size_t &i) const
 Returns the i-th Chebyshev node, used as initial guess for the Newton iterations.
 
- Public Member Functions inherited from ippl::Quadrature< T, NumNodes1D, ElementType >
 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])
 

Additional Inherited Members

- Public Types inherited from ippl::GaussJacobiQuadrature< T, NumNodes1D, ElementType >
using scalar_t = double
 
- Static Public Attributes inherited from ippl::Quadrature< T, NumNodes1D, ElementType >
static constexpr unsigned numNodes1D = NumNodes1D
 
static constexpr unsigned dim = ElementType::dim
 
static constexpr unsigned numElementNodes
 
- Protected Attributes inherited from ippl::Quadrature< T, NumNodes1D, ElementType >
unsigned degree_m
 
const ElementType & ref_element_m
 
Vector< T, NumNodes1D > integration_nodes_m
 
Vector< T, NumNodes1D > weights_m
 
a_m
 
b_m
 

Detailed Description

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

This is class represents the Chebyshev-Gauss quadrature rule. It is a special case of the Gauss-Jacobi quadrature rule with alpha = beta = -0.5.

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

Constructor & Destructor Documentation

◆ ChebyshevGaussQuadrature()

template<typename T , unsigned NumNodes1D, typename ElementType >
ippl::ChebyshevGaussQuadrature< T, NumNodes1D, ElementType >::ChebyshevGaussQuadrature ( const ElementType &  ref_element,
const size_t &  max_newton_itersations = 10,
const size_t &  min_newton_iterations = 1 
)
inline

Construct a new Chebyshev Gauss Quadrature rule object.

Parameters
ref_elementreference element to compute the quadrature nodes on
max_newton_itersationsmaximum number of Newton iterations (default 10)
min_newton_iterationsminimum number of Newton iterations (default 1)

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