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]. More...
 
virtual void eval_integrand (UserVector &output, std::vector< Scalar > &input)=0
 Evaluate the integrand function. More...
 
virtual void eval_cubature (UserVector &output, CubatureTensorSorted< Scalar > &cubRule)
 Evaluate the cubature rule. More...
 
virtual Scalar error_indicator (UserVector &input)=0
 User defined error indicator function. More...
 
virtual bool max_level (std::vector< int > index)
 User defined test for maximum level of cubature. More...
 
void init (UserVector &output)
 Compute initial quantities for sparse grid adaptation. More...
 
void getRule (std::vector< EIntrepidBurkardt > &rule1D)
 Return user defined 1D quadrature rules. More...
 
void getGrowth (std::vector< EIntrepidGrowth > &growth1D)
 Return user defined 1D growth rules. More...
 
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

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

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 >.

Referenced by Intrepid::AdaptiveSparseGrid< Scalar, UserVector >::refine_grid().

template<class Scalar , class UserVector >
void Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::eval_cubature ( UserVector &  output,
CubatureTensorSorted< Scalar > &  cubRule 
)
virtual
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 >.

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.

Referenced by Intrepid::AdaptiveSparseGrid< Scalar, UserVector >::build_diffRule(), and Intrepid::AdaptiveSparseGrid< Scalar, UserVector >::refine_grid().

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.

Referenced by Intrepid::AdaptiveSparseGrid< Scalar, UserVector >::build_diffRule(), and Intrepid::AdaptiveSparseGrid< Scalar, UserVector >::refine_grid().

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.

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.

Referenced by Intrepid::AdaptiveSparseGrid< Scalar, UserVector >::refine_grid().


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