OpenBEM
Open-source framework for electromagnetic simulation with the boundary element method.
Loading...
Searching...
No Matches
bem::TrapzLineQuadrature< dim > Class Template Reference

Class for trapezoidal integration over a line segment. More...

#include <trapz.hpp>

+ Inheritance diagram for bem::TrapzLineQuadrature< dim >:

Detailed Description

template<uint8_t dim>
class bem::TrapzLineQuadrature< dim >

Class for trapezoidal integration over a line segment.

Template Parameters
dim- Dimension of the line segment (1, 2, or 3).

Definition at line 43 of file trapz.hpp.

Constructor & Destructor Documentation

◆ TrapzLineQuadrature()

template<uint8_t dim>
bem::TrapzLineQuadrature< dim >::TrapzLineQuadrature ( const uint8_t  num_segments = TRAPZ_LINE_DEFAULT_NUM_SEGMENTS)
inline

Constructs a TrapzLineQuadrature object with a specified number of subdivisions.

Parameters
[in]num_segments- Number of sub-segments into which the given line segment is divided (optional).

Definition at line 54 of file trapz.hpp.

Member Function Documentation

◆ set_num_segments()

template<uint8_t dim>
void bem::TrapzLineQuadrature< dim >::set_num_segments ( const uint16_t  num_segments)

Sets the number of sub-segments into which the given line segment is divided.

Parameters
[in]num_segments- Number of sub-segments.

Definition at line 31 of file trapz.cpp.

◆ num_segments()

template<uint8_t dim>
uint16_t bem::TrapzLineQuadrature< dim >::num_segments ( ) const
inline

Returns the number of sub-segments into which the given line segment is divided.

Returns
Number of sub-segments.

Definition at line 72 of file trapz.hpp.

◆ compute_points_weights()

template<uint8_t dim>
void bem::TrapzLineQuadrature< dim >::compute_points_weights ( ConstEigRef< EigColVecN< Float, dim > >  p1,
ConstEigRef< EigColVecN< Float, dim > >  p2,
std::function< EigRowVec< Complex >(ConstEigRef< EigMatNX< Float, dim > >)>  eval = {} 
)
overridevirtual

Computes and stores the points on which to evaluate the integrand, and the corresponding weights.

Parameters
[in]p1- First point of the line segment.
[in]p2- Second point of the line segment.
[in]eval- Function or class with operator() that evaluates the integrand (optional, unused).

Implements bem::LineQuadratureBase< dim >.

Definition at line 48 of file trapz.cpp.

◆ ref_points()

template<uint8_t dim>
EigRowVec< Float > bem::TrapzLineQuadrature< dim >::ref_points ( ) const
inline

Returns the evaluation points in the reference unit line segment.

Returns
Reference segment evaluation points.

Definition at line 92 of file trapz.hpp.

◆ ref_weights()

template<uint8_t dim>
EigRowVec< Float > bem::TrapzLineQuadrature< dim >::ref_weights ( ) const
inline

Returns the weights associated with the evaluation points in the reference unit line segment.

Returns
Reference segment weights.

Definition at line 100 of file trapz.hpp.

◆ set_order()

template<uint8_t dim>
virtual void bem::LineQuadratureBase< dim >::set_order ( const uint8_t  order)
inlinevirtualinherited

Sets the quadrature order.

Parameters
[in]order- Quadrature order.

Reimplemented in bem::GaussLineQuadrature< dim >, and bem::GaussLineQuadrature< 1 >.

Definition at line 69 of file base.hpp.

◆ order()

template<uint8_t dim>
uint8_t bem::LineQuadratureBase< dim >::order ( ) const
inlineinherited

Returns the quadrature order.

Returns
Quadrature order.

Definition at line 76 of file base.hpp.

◆ points()

template<uint8_t dim>
const EigMatNX< Float, dim > & bem::LineQuadratureBase< dim >::points ( ) const
inlineinherited

Returns the points on which to evaluate the integrand.

Returns
Read-only reference to the evaluation points.

Definition at line 83 of file base.hpp.

◆ weights()

template<uint8_t dim>
const EigRowVec< Float > & bem::LineQuadratureBase< dim >::weights ( ) const
inlineinherited

Returns the weights associated with the points on which the integrand is evaluated.

Returns
Read-only reference to the weights.

Definition at line 96 of file base.hpp.

Member Data Documentation

◆ points_

template<uint8_t dim>
EigMatNX<Float, dim> bem::LineQuadratureBase< dim >::points_
protectedinherited

Definition at line 107 of file base.hpp.

◆ weights_

template<uint8_t dim>
EigRowVec<Float> bem::LineQuadratureBase< dim >::weights_
protectedinherited

Definition at line 108 of file base.hpp.

◆ order_

template<uint8_t dim>
uint8_t bem::LineQuadratureBase< dim >::order_ = LINE_DEFAULT_ORDER
protectedinherited

Definition at line 110 of file base.hpp.

◆ points_weights_computed_

template<uint8_t dim>
bool bem::LineQuadratureBase< dim >::points_weights_computed_ = false
protectedinherited

Definition at line 111 of file base.hpp.


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