Stokhos
Development
|
Legendre polynomial basis using Clenshaw-Curtis quadrature points. More...
#include <Stokhos_ClenshawCurtisLegendreBasis.hpp>
Public Member Functions | |
ClenshawCurtisLegendreBasis (ordinal_type p, bool normalize=false, bool isotropic=false) | |
Constructor. More... | |
~ClenshawCurtisLegendreBasis () | |
Destructor. | |
Implementation of Stokhos::OneDOrthogPolyBasis methods | |
virtual void | getQuadPoints (ordinal_type quad_order, Teuchos::Array< value_type > &points, Teuchos::Array< value_type > &weights, Teuchos::Array< Teuchos::Array< value_type > > &values) const |
Compute quadrature points, weights, and values of basis polynomials at given set of points points . More... | |
virtual ordinal_type | quadDegreeOfExactness (ordinal_type n) const |
virtual Teuchos::RCP < OneDOrthogPolyBasis < ordinal_type, value_type > > | cloneWithOrder (ordinal_type p) const |
Clone this object with the option of building a higher order basis. More... | |
virtual ordinal_type | coefficientGrowth (ordinal_type n) const |
Evaluate coefficient growth rule for Smolyak-type bases. | |
virtual ordinal_type | pointGrowth (ordinal_type n) const |
Evaluate point growth rule for Smolyak-type bases. | |
Public Member Functions inherited from Stokhos::LegendreBasis< ordinal_type, value_type > | |
LegendreBasis (ordinal_type p, bool normalize=false, GrowthPolicy growth=SLOW_GROWTH) | |
Constructor. More... | |
~LegendreBasis () | |
Destructor. | |
Public Member Functions inherited from Stokhos::RecurrenceBasis< ordinal_type, value_type > | |
virtual | ~RecurrenceBasis () |
Destructor. | |
virtual void | getRecurrenceCoefficients (Teuchos::Array< value_type > &alpha, Teuchos::Array< value_type > &beta, Teuchos::Array< value_type > &delta, Teuchos::Array< value_type > &gamma) const |
Return recurrence coefficients defined by above formula. | |
virtual void | evaluateBasesAndDerivatives (const value_type &point, Teuchos::Array< value_type > &vals, Teuchos::Array< value_type > &derivs) const |
Evaluate basis polynomials and their derivatives at given point point . | |
virtual void | setQuadZeroTol (value_type tol) |
Set tolerance for zero in quad point generation. | |
virtual ordinal_type | order () const |
Return order of basis (largest monomial degree ). | |
virtual ordinal_type | size () const |
Return total size of basis (given by order() + 1). | |
virtual const Teuchos::Array < value_type > & | norm_squared () const |
Return array storing norm-squared of each basis polynomial. More... | |
virtual const value_type & | norm_squared (ordinal_type i) const |
Return norm squared of basis polynomial i . | |
virtual Teuchos::RCP < Stokhos::Dense3Tensor < ordinal_type, value_type > > | computeTripleProductTensor () const |
Compute triple product tensor. More... | |
virtual Teuchos::RCP < Stokhos::Sparse3Tensor < ordinal_type, value_type > > | computeSparseTripleProductTensor (ordinal_type order) const |
Compute triple product tensor. More... | |
virtual Teuchos::RCP < Teuchos::SerialDenseMatrix < ordinal_type, value_type > > | computeDerivDoubleProductTensor () const |
Compute derivative double product tensor. More... | |
virtual void | evaluateBases (const value_type &point, Teuchos::Array< value_type > &basis_pts) const |
Evaluate each basis polynomial at given point point . More... | |
virtual value_type | evaluate (const value_type &point, ordinal_type order) const |
Evaluate basis polynomial given by order order at given point point . | |
virtual void | print (std::ostream &os) const |
Print basis to stream os . | |
virtual const std::string & | getName () const |
Return string name of basis. | |
virtual LevelToOrderFnPtr | getSparseGridGrowthRule () const |
Get sparse grid level_to_order mapping function. More... | |
virtual void | setSparseGridGrowthRule (LevelToOrderFnPtr ptr) |
Set sparse grid rule. | |
Public Member Functions inherited from Stokhos::OneDOrthogPolyBasis< ordinal_type, value_type > | |
OneDOrthogPolyBasis () | |
Default constructor. | |
virtual | ~OneDOrthogPolyBasis () |
Destructor. | |
virtual void | setSparseGridGrowthRule (LevelToOrderFnPtr ptr)=0 |
Set sparse grid rule. | |
Protected Member Functions | |
ClenshawCurtisLegendreBasis (ordinal_type p, const ClenshawCurtisLegendreBasis &basis) | |
Copy constructor with specified order. | |
Protected Member Functions inherited from Stokhos::LegendreBasis< ordinal_type, value_type > | |
LegendreBasis (ordinal_type p, const LegendreBasis &basis) | |
Copy constructor with specified order. | |
virtual bool | computeRecurrenceCoefficients (ordinal_type n, Teuchos::Array< value_type > &alpha, Teuchos::Array< value_type > &beta, Teuchos::Array< value_type > &delta, Teuchos::Array< value_type > &gamma) const |
Compute recurrence coefficients. | |
Protected Member Functions inherited from Stokhos::RecurrenceBasis< ordinal_type, value_type > | |
RecurrenceBasis (const std::string &name, ordinal_type p, bool normalize, GrowthPolicy growth=SLOW_GROWTH) | |
Constructor to be called by derived classes. More... | |
RecurrenceBasis (ordinal_type p, const RecurrenceBasis &basis) | |
Copy constructor with specified order. | |
virtual void | setup () |
Setup basis after computing recurrence coefficients. More... | |
void | normalizeRecurrenceCoefficients (Teuchos::Array< value_type > &alpha, Teuchos::Array< value_type > &beta, Teuchos::Array< value_type > &delta, Teuchos::Array< value_type > &gamma) const |
Normalize coefficients. | |
Protected Attributes | |
bool | isotropic |
Flag determining if expansion is iostropic (same basis in every dim) | |
Protected Attributes inherited from Stokhos::RecurrenceBasis< ordinal_type, value_type > | |
std::string | name |
Name of basis. | |
ordinal_type | p |
Order of basis. | |
bool | normalize |
Normalize basis. | |
GrowthPolicy | growth |
Smolyak growth policy. | |
value_type | quad_zero_tol |
Tolerance for quadrature points near zero. | |
LevelToOrderFnPtr | sparse_grid_growth_rule |
Sparse grid growth rule (as determined by Pecos) | |
Teuchos::Array< value_type > | alpha |
Recurrence coefficients. | |
Teuchos::Array< value_type > | beta |
Recurrence coefficients. | |
Teuchos::Array< value_type > | delta |
Recurrence coefficients. | |
Teuchos::Array< value_type > | gamma |
Recurrence coefficients. | |
Teuchos::Array< value_type > | norms |
Norms. | |
Additional Inherited Members | |
Public Types inherited from Stokhos::RecurrenceBasis< ordinal_type, value_type > | |
typedef OneDOrthogPolyBasis < ordinal_type, value_type > ::LevelToOrderFnPtr | LevelToOrderFnPtr |
Function pointer needed for level_to_order mappings. | |
Public Types inherited from Stokhos::OneDOrthogPolyBasis< ordinal_type, value_type > | |
typedef int(* | LevelToOrderFnPtr )(int level, int growth) |
Function pointer needed for level_to_order mappings. | |
Legendre polynomial basis using Clenshaw-Curtis quadrature points.
This is the same as Stokhos::LegendreBasis, but uses Clenshaw-Curtis quadrature points (instead of Gauss-Legendre).
Stokhos::ClenshawCurtisLegendreBasis< ordinal_type, value_type >::ClenshawCurtisLegendreBasis | ( | ordinal_type | p, |
bool | normalize = false , |
||
bool | isotropic = false |
||
) |
Constructor.
p | order of the basis |
normalize | whether polynomials should be given unit norm |
References Stokhos::RecurrenceBasis< ordinal_type, value_type >::setSparseGridGrowthRule().
|
virtual |
Clone this object with the option of building a higher order basis.
This method is following the Prototype pattern (see Design Pattern's textbook). The slight variation is that it allows the order of the polynomial to be modified, otherwise an exact copy is formed. The use case for this is creating basis functions for column indices in a spatially varying adaptive refinement context.
Reimplemented from Stokhos::LegendreBasis< ordinal_type, value_type >.
|
virtual |
Compute quadrature points, weights, and values of basis polynomials at given set of points points
.
quad_order
specifies the order to which the quadrature should be accurate, not the number of quadrature points which for Clenshaw-Curtis points is equal to the number of points
Reimplemented from Stokhos::RecurrenceBasis< ordinal_type, value_type >.
|
virtual |
Return polynomial degree of exactness for a given number of quadrature points.
Reimplemented from Stokhos::RecurrenceBasis< ordinal_type, value_type >.