PFASST++
pfasst::quadrature::IQuadrature< precision > Class Template Reference

Interface for quadrature handlers. More...

#include <interface.hpp>

+ Inheritance diagram for pfasst::quadrature::IQuadrature< precision >:
+ Collaboration diagram for pfasst::quadrature::IQuadrature< precision >:

Public Member Functions

precision expected_error () const
 Compute a rough estimate of the numerical error... More...
 
 IQuadrature (const size_t num_nodes)
 
 IQuadrature ()
 
virtual ~IQuadrature ()=default
 
virtual const Matrix< precision > & get_q_mat () const
 
virtual const Matrix< precision > & get_s_mat () const
 
virtual const Matrix< precision > & get_b_mat () const
 
virtual const vector< precision > & get_q_vec () const
 
virtual const vector< precision > & get_nodes () const
 
virtual size_t get_num_nodes () const
 
virtual bool left_is_node () const
 
virtual bool right_is_node () const
 

Protected Member Functions

virtual void compute_nodes ()
 
virtual void compute_weights ()
 
static const bool LEFT_IS_NODE = false
 
static const bool RIGHT_IS_NODE = false
 
size_t num_nodes
 
Matrix< precision > q_mat
 
Matrix< precision > s_mat
 
vector< precision > q_vec
 
Matrix< precision > b_mat
 
vector< precision > nodes
 

Detailed Description

template<typename precision = pfasst::time_precision>
class pfasst::quadrature::IQuadrature< precision >

Interface for quadrature handlers.

Quadrature handlers provide \( Q \), \( S \) and \( B \) matrices respecting the left and right nodes, i.e. whether \( 0 \) and \( 1 \) are part of the nodes or not.

Computation of the quadrature nodes and matrices (i.e. quadrature weights) is done on initialization.

Template Parameters
scalarprecision of quadrature (i.e. double)
Since
v0.3.0

Definition at line 232 of file interface.hpp.

Constructor & Destructor Documentation

template<typename precision >
pfasst::quadrature::IQuadrature< precision >::IQuadrature ( const size_t  num_nodes)
explicit
Exceptions
invalid_argumentif number of nodes is invalid for quadrature type

Definition at line 10 of file interface_impl.hpp.

template<typename precision >
pfasst::quadrature::IQuadrature< precision >::IQuadrature ( )
Exceptions
invalid_argumentif number of nodes is invalid for quadrature type

Definition at line 19 of file interface_impl.hpp.

template<typename precision = pfasst::time_precision>
virtual pfasst::quadrature::IQuadrature< precision >::~IQuadrature ( )
virtualdefault

Member Function Documentation

template<typename precision >
void pfasst::quadrature::IQuadrature< precision >::compute_nodes ( )
protectedvirtual
template<typename precision >
void pfasst::quadrature::IQuadrature< precision >::compute_weights ( )
protectedvirtual

Definition at line 99 of file interface_impl.hpp.

References pfasst::quadrature::compute_q_matrix(), pfasst::quadrature::compute_q_vec(), and pfasst::quadrature::compute_s_matrix().

Referenced by pfasst::quadrature::ClenshawCurtis< precision >::ClenshawCurtis(), pfasst::quadrature::GaussLegendre< precision >::GaussLegendre(), pfasst::quadrature::GaussLobatto< precision >::GaussLobatto(), pfasst::quadrature::GaussRadau< precision >::GaussRadau(), and pfasst::quadrature::Uniform< precision >::Uniform().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename precision >
precision pfasst::quadrature::IQuadrature< precision >::expected_error ( ) const

Compute a rough estimate of the numerical error...

XXX

Definition at line 80 of file interface_impl.hpp.

References plot::data.

template<typename precision >
const Matrix< precision > & pfasst::quadrature::IQuadrature< precision >::get_b_mat ( ) const
virtual

Definition at line 36 of file interface_impl.hpp.

template<typename precision >
const vector< precision > & pfasst::quadrature::IQuadrature< precision >::get_nodes ( ) const
virtual

Definition at line 48 of file interface_impl.hpp.

template<typename precision >
size_t pfasst::quadrature::IQuadrature< precision >::get_num_nodes ( ) const
virtual

Definition at line 54 of file interface_impl.hpp.

template<typename precision >
const Matrix< precision > & pfasst::quadrature::IQuadrature< precision >::get_q_mat ( ) const
virtual

Definition at line 24 of file interface_impl.hpp.

template<typename precision >
const vector< precision > & pfasst::quadrature::IQuadrature< precision >::get_q_vec ( ) const
virtual

Definition at line 42 of file interface_impl.hpp.

template<typename precision >
const Matrix< precision > & pfasst::quadrature::IQuadrature< precision >::get_s_mat ( ) const
virtual

Definition at line 30 of file interface_impl.hpp.

template<typename precision >
bool pfasst::quadrature::IQuadrature< precision >::left_is_node ( ) const
virtual
template<typename precision >
bool pfasst::quadrature::IQuadrature< precision >::right_is_node ( ) const
virtual

Member Data Documentation

template<typename precision = pfasst::time_precision>
Matrix<precision> pfasst::quadrature::IQuadrature< precision >::b_mat
protected

Definition at line 243 of file interface.hpp.

template<typename precision = pfasst::time_precision>
const bool pfasst::quadrature::IQuadrature< precision >::LEFT_IS_NODE = false
staticprotected

Definition at line 236 of file interface.hpp.

template<typename precision = pfasst::time_precision>
vector<precision> pfasst::quadrature::IQuadrature< precision >::nodes
protected

Definition at line 244 of file interface.hpp.

template<typename precision = pfasst::time_precision>
size_t pfasst::quadrature::IQuadrature< precision >::num_nodes
protected

Definition at line 239 of file interface.hpp.

template<typename precision = pfasst::time_precision>
Matrix<precision> pfasst::quadrature::IQuadrature< precision >::q_mat
protected

Definition at line 240 of file interface.hpp.

template<typename precision = pfasst::time_precision>
vector<precision> pfasst::quadrature::IQuadrature< precision >::q_vec
protected

Definition at line 242 of file interface.hpp.

template<typename precision = pfasst::time_precision>
const bool pfasst::quadrature::IQuadrature< precision >::RIGHT_IS_NODE = false
staticprotected

Definition at line 237 of file interface.hpp.

template<typename precision = pfasst::time_precision>
Matrix<precision> pfasst::quadrature::IQuadrature< precision >::s_mat
protected

Definition at line 241 of file interface.hpp.


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