Intrepid
Public Member Functions | Protected Attributes | List of all members
Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector > Class Template Referenceabstract
Inheritance diagram for Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >:
ASGdata< Scalar, UserVector > ASGdata< Scalar, UserVector > ASGdata< Scalar, UserVector > ASGdata< Scalar, UserVector > ASGdata< Scalar, UserVector > ASGdata< Scalar, UserVector >

Public Member Functions

virtual ~AdaptiveSparseGridInterface ()
 Destructor.
 
 AdaptiveSparseGridInterface (int dimension, std::vector< EIntrepidBurkardt > rule1D, std::vector< EIntrepidGrowth > growth1D, int maxLevel, bool isNormalized)
 Constructor starts with index [1,...,1].

 
virtual void eval_integrand (UserVector &output, std::vector< Scalar > &input)=0
 Evaluate the integrand function.
 
virtual void eval_cubature (UserVector &output, CubatureTensorSorted< Scalar > &cubRule)
 Evaluate the cubature rule.
 
virtual Scalar error_indicator (UserVector &input)=0
 User defined error indicator function.
 
virtual bool max_level (std::vector< int > index)
 User defined test for maximum level of cubature.
 
void init (UserVector &output)
 Compute initial quantities for sparse grid adaptation.
 
void getRule (std::vector< EIntrepidBurkardt > &rule1D)
 Return user defined 1D quadrature rules.
 
void getGrowth (std::vector< EIntrepidGrowth > &growth1D)
 Return user defined 1D growth rules.
 
int getDimension ()
 Return dimension of integration domain.
 
Scalar getInitialDiff ()
 Return initial error indicator.
 
bool isNormalized ()
 Return whether or not cubature weights are normalized.
 

Protected Attributes

int dimension_
 The dimension of the integration domain.
 
int maxLevel_
 The maximum allowable level of quadrature.
 
Scalar initialDiff_
 The initial contribution to the integral.
 
bool isNormalized_
 Whether or not to normalize the weights.
 
std::vector< EIntrepidBurkardt > rule1D_
 The user defined 1D cubature rules.
 
std::vector< EIntrepidGrowth > growth1D_
 The user defined 1D growth rules.
 

Detailed Description

template<class Scalar, class UserVector>
class Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >

Definition at line 63 of file Intrepid_AdaptiveSparseGridInterface.hpp.

Constructor & Destructor Documentation

◆ ~AdaptiveSparseGridInterface()

template<class Scalar , class UserVector >
virtual Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::~AdaptiveSparseGridInterface ( )
inlinevirtual

Destructor.

Definition at line 92 of file Intrepid_AdaptiveSparseGridInterface.hpp.

◆ AdaptiveSparseGridInterface()

template<class Scalar , class UserVector >
Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::AdaptiveSparseGridInterface ( int dimension,
std::vector< EIntrepidBurkardt > rule1D,
std::vector< EIntrepidGrowth > growth1D,
int maxLevel,
bool isNormalized )

Constructor starts with index [1,...,1].

Parameters
dimension[in] - Dimension of integration domain.
rule1D[in] - 1D cubature rule names.
growth1D[in] - 1D cubature growth rules.
maxlevel[in] - Maximum level of sparse grid.
isNormalized[in] - Flag whether to normalize cubature weights.

Definition at line 52 of file Intrepid_AdaptiveSparseGridInterfaceDef.hpp.

Member Function Documentation

◆ error_indicator()

template<class Scalar , class UserVector >
virtual Scalar Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::error_indicator ( UserVector & input)
pure virtual

User defined error indicator function.

Parameters
input[in] - Reduction of high dimensional integral value to a Scalar.

Implemented in ASGdata< Scalar, UserVector >, ASGdata< Scalar, UserVector >, ASGdata< Scalar, UserVector >, ASGdata< Scalar, UserVector >, ASGdata< Scalar, UserVector >, and ASGdata< Scalar, UserVector >.

◆ eval_cubature()

template<class Scalar , class UserVector >
void Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::eval_cubature ( UserVector & output,
CubatureTensorSorted< Scalar > & cubRule )
virtual

Evaluate the cubature rule.

Parameters
output[out] - Output of cubature evaluation.
cubRule[in] - Cubature rule.

Definition at line 101 of file Intrepid_AdaptiveSparseGridInterfaceDef.hpp.

◆ eval_integrand()

template<class Scalar , class UserVector >
virtual void Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::eval_integrand ( UserVector & output,
std::vector< Scalar > & input )
pure virtual

Evaluate the integrand function.

Parameters
output[out] - Output of integrand evaluation.
input[in] - Evaluation points.

Implemented in ASGdata< Scalar, UserVector >, ASGdata< Scalar, UserVector >, ASGdata< Scalar, UserVector >, ASGdata< Scalar, UserVector >, ASGdata< Scalar, UserVector >, and ASGdata< Scalar, UserVector >.

◆ getDimension()

template<class Scalar , class UserVector >
int Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::getDimension ( void )

Return dimension of integration domain.

Definition at line 141 of file Intrepid_AdaptiveSparseGridInterfaceDef.hpp.

◆ getGrowth()

template<class Scalar , class UserVector >
void Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::getGrowth ( std::vector< EIntrepidGrowth > & growth1D)

Return user defined 1D growth rules.

Parameters
growth1D[out] - 1D quadrature growth rules.

Definition at line 133 of file Intrepid_AdaptiveSparseGridInterfaceDef.hpp.

◆ getInitialDiff()

template<class Scalar , class UserVector >
Scalar Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::getInitialDiff ( )

Return initial error indicator.

Definition at line 151 of file Intrepid_AdaptiveSparseGridInterfaceDef.hpp.

Referenced by ASGdata< Scalar, UserVector >::error_indicator().

◆ getRule()

template<class Scalar , class UserVector >
void Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::getRule ( std::vector< EIntrepidBurkardt > & rule1D)

Return user defined 1D quadrature rules.

Parameters
rule1D[out] - 1D quadrature rules names.

Definition at line 125 of file Intrepid_AdaptiveSparseGridInterfaceDef.hpp.

◆ init()

template<class Scalar , class UserVector >
void Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::init ( UserVector & output)

Compute initial quantities for sparse grid adaptation.

Parameters
output[out] - Vector of outputs.

Definition at line 71 of file Intrepid_AdaptiveSparseGridInterfaceDef.hpp.

◆ isNormalized()

template<class Scalar , class UserVector >
bool Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::isNormalized ( )

Return whether or not cubature weights are normalized.

Definition at line 146 of file Intrepid_AdaptiveSparseGridInterfaceDef.hpp.

◆ max_level()

template<class Scalar , class UserVector >
bool Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::max_level ( std::vector< int > index)
virtual

User defined test for maximum level of cubature.

Parameters
index[in] - Multi-index of cubature levels.

Definition at line 88 of file Intrepid_AdaptiveSparseGridInterfaceDef.hpp.

Member Data Documentation

◆ dimension_

template<class Scalar , class UserVector >
int Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::dimension_
protected

The dimension of the integration domain.

Definition at line 67 of file Intrepid_AdaptiveSparseGridInterface.hpp.

◆ growth1D_

template<class Scalar , class UserVector >
std::vector<EIntrepidGrowth> Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::growth1D_
protected

The user defined 1D growth rules.

Definition at line 87 of file Intrepid_AdaptiveSparseGridInterface.hpp.

◆ initialDiff_

template<class Scalar , class UserVector >
Scalar Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::initialDiff_
protected

The initial contribution to the integral.

Definition at line 75 of file Intrepid_AdaptiveSparseGridInterface.hpp.

◆ isNormalized_

template<class Scalar , class UserVector >
bool Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::isNormalized_
protected

Whether or not to normalize the weights.

Definition at line 79 of file Intrepid_AdaptiveSparseGridInterface.hpp.

◆ maxLevel_

template<class Scalar , class UserVector >
int Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::maxLevel_
protected

The maximum allowable level of quadrature.

Definition at line 71 of file Intrepid_AdaptiveSparseGridInterface.hpp.

◆ rule1D_

template<class Scalar , class UserVector >
std::vector<EIntrepidBurkardt> Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::rule1D_
protected

The user defined 1D cubature rules.

Definition at line 83 of file Intrepid_AdaptiveSparseGridInterface.hpp.


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