Intrepid
Static Public Member Functions | List of all members
Intrepid::AdaptiveSparseGrid< Scalar, UserVector > Class Template Reference

Builds general adaptive sparse grid rules (Gerstner and Griebel) using the 1D cubature rules in the Intrepid::CubatureLineSorted class. More...

#include <Intrepid_AdaptiveSparseGrid.hpp>

Static Public Member Functions

static Scalar refine_grid (typename std::multimap< Scalar, std::vector< int > > &indexSet, UserVector &integralValue, AdaptiveSparseGridInterface< Scalar, UserVector > &problem_data)
 Update adaptive sparse grid. More...
 
static Scalar refine_grid (typename std::multimap< Scalar, std::vector< int > > &activeIndex, std::set< std::vector< int > > &oldIndex, UserVector &integralValue, Scalar globalErrorIndicator, AdaptiveSparseGridInterface< Scalar, UserVector > &problem_data)
 Update adaptive sparse grid. More...
 
static Scalar refine_grid (typename std::multimap< Scalar, std::vector< int > > &activeIndex, std::set< std::vector< int > > &oldIndex, UserVector &integralValue, CubatureTensorSorted< Scalar > &cubRule, Scalar globalErrorIndicator, AdaptiveSparseGridInterface< Scalar, UserVector > &problem_data)
 Update adaptive sparse grid. More...
 
static void build_diffRule (CubatureTensorSorted< Scalar > &outRule, std::vector< int > index, AdaptiveSparseGridInterface< Scalar, UserVector > &problem_data)
 Given an index, build the corresponding differential cubature rule. More...
 
static void build_diffRule (CubatureTensorSorted< Scalar > &outRule, std::vector< int > index, int dimension, std::vector< EIntrepidBurkardt > rule1D, std::vector< EIntrepidGrowth > growth1D, bool isNormalized)
 Given an index, build the corresponding differential cubature rule. More...
 
static bool isAdmissible (std::vector< int > index, int direction, std::set< std::vector< int > > inOldIndex, AdaptiveSparseGridInterface< Scalar, UserVector > &problem_data)
 Check admissibility of an index set, outputs true if admissible. More...
 
static void buildSparseGrid (CubatureTensorSorted< Scalar > &output, int dimension, int maxlevel, std::vector< EIntrepidBurkardt > rule1D, std::vector< EIntrepidGrowth > growth1D, bool isNormalized)
 Build a classic isotropic sparse grid. More...
 

Detailed Description

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

Builds general adaptive sparse grid rules (Gerstner and Griebel) using the 1D cubature rules in the Intrepid::CubatureLineSorted class.

Definition at line 64 of file Intrepid_AdaptiveSparseGrid.hpp.

Member Function Documentation

template<class Scalar , class UserVector >
void Intrepid::AdaptiveSparseGrid< Scalar, UserVector >::build_diffRule ( CubatureTensorSorted< Scalar > &  outRule,
std::vector< int >  index,
AdaptiveSparseGridInterface< Scalar, UserVector > &  problem_data 
)
static

Given an index, build the corresponding differential cubature rule.

Parameters
outRule[out] - Cubature nodes/weights for differential rule.
index[in] - Multi-index of cubature levels.
problem_data[in] - User defined problem data.

Definition at line 75 of file Intrepid_AdaptiveSparseGridDef.hpp.

References Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::getDimension(), Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::getGrowth(), Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::getRule(), Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::isNormalized(), and Intrepid::CubatureLineSorted< Scalar, ArrayPoint, ArrayWeight >::update().

template<class Scalar , class UserVector >
void Intrepid::AdaptiveSparseGrid< Scalar, UserVector >::build_diffRule ( CubatureTensorSorted< Scalar > &  outRule,
std::vector< int >  index,
int  dimension,
std::vector< EIntrepidBurkardt >  rule1D,
std::vector< EIntrepidGrowth >  growth1D,
bool  isNormalized 
)
static

Given an index, build the corresponding differential cubature rule.

Parameters
outRule[out] - Cubature nodes/weights for differential rule.
index[in] - Multi-index of cubature levels.
dimension[in] - Dimension of integration domain.
rule1D[in] - 1D cubature rule names.
growth1D[in] - 1D cubature growth rules.
problem_data[in] - User defined problem data.

Definition at line 102 of file Intrepid_AdaptiveSparseGridDef.hpp.

References Intrepid::CubatureLineSorted< Scalar, ArrayPoint, ArrayWeight >::update().

template<class Scalar , class UserVector >
void Intrepid::AdaptiveSparseGrid< Scalar, UserVector >::buildSparseGrid ( CubatureTensorSorted< Scalar > &  output,
int  dimension,
int  maxlevel,
std::vector< EIntrepidBurkardt >  rule1D,
std::vector< EIntrepidGrowth >  growth1D,
bool  isNormalized 
)
static

Build a classic isotropic sparse grid.

Parameters
output[out] - Cubature points/weights for sparse grid
dimension[in] - Dimension of integration domain, dimension = 2,3,4,5.
maxlevel[in] - Maximum level of sparse grid.
rule1D[in] - 1D cubature rule names.
growth1D[in] - 1D cubature growth rules.
problem_data[in] - User defined problem data.

Definition at line 363 of file Intrepid_AdaptiveSparseGridDef.hpp.

References Intrepid::CubatureTensorSorted< Scalar, ArrayPoint, ArrayWeight >::update().

template<class Scalar , class UserVector >
bool Intrepid::AdaptiveSparseGrid< Scalar, UserVector >::isAdmissible ( std::vector< int >  index,
int  direction,
std::set< std::vector< int > >  inOldIndex,
AdaptiveSparseGridInterface< Scalar, UserVector > &  problem_data 
)
static

Check admissibility of an index set, outputs true if admissible.

Parameters
index[in] - Multi-index of cubature levels.
direction[in] - Search direction.
inOldIndex[in] - Input index set.
problem_data[in] - User defined problem data.

Definition at line 52 of file Intrepid_AdaptiveSparseGridDef.hpp.

References Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::getDimension().

template<class Scalar , class UserVector >
Scalar Intrepid::AdaptiveSparseGrid< Scalar, UserVector >::refine_grid ( typename std::multimap< Scalar, std::vector< int > > &  indexSet,
UserVector &  integralValue,
AdaptiveSparseGridInterface< Scalar, UserVector > &  problem_data 
)
static
template<class Scalar , class UserVector >
Scalar Intrepid::AdaptiveSparseGrid< Scalar, UserVector >::refine_grid ( typename std::multimap< Scalar, std::vector< int > > &  activeIndex,
std::set< std::vector< int > > &  oldIndex,
UserVector &  integralValue,
Scalar  globalErrorIndicator,
AdaptiveSparseGridInterface< Scalar, UserVector > &  problem_data 
)
static
template<class Scalar , class UserVector >
Scalar Intrepid::AdaptiveSparseGrid< Scalar, UserVector >::refine_grid ( typename std::multimap< Scalar, std::vector< int > > &  activeIndex,
std::set< std::vector< int > > &  oldIndex,
UserVector &  integralValue,
CubatureTensorSorted< Scalar > &  cubRule,
Scalar  globalErrorIndicator,
AdaptiveSparseGridInterface< Scalar, UserVector > &  problem_data 
)
static

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