|
Intrepid
|
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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
Builds general adaptive sparse grid rules (Gerstner and Griebel) using the 1D cubature rules in the Intrepid::CubatureLineSorted class.
Definition at line 63 of file Intrepid_AdaptiveSparseGrid.hpp.
| 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.
| 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().
| 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.
| 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().
| 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.
| 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().
| 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.
| 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().
| Scalar Intrepid::AdaptiveSparseGrid< Scalar, UserVector >::refine_grid | ( | typename std::multimap< Scalar, std::vector< int > > & | indexSet, |
| UserVector & | integralValue, | ||
| AdaptiveSparseGridInterface< Scalar, UserVector > & | problem_data | ||
| ) | [static] |
Update adaptive sparse grid.
| indexSet | [in/out] - Admissible set of multi-indices. |
| integralValue | [in/out] - Value of integral. |
| problem_data | [in] - User defined problem data. |
Definition at line 127 of file Intrepid_AdaptiveSparseGridDef.hpp.
References Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::error_indicator(), Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::eval_cubature(), Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::getDimension(), Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::getGrowth(), and Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::getRule().
| 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] |
Update adaptive sparse grid.
| activeIndex | [in/out] - Active Indices |
| oldIndex | [in/out] - Inactive Indices |
| integralValue | [in/out] - Value of Integral |
| globalErrorIndicator | [in/out] - Error Indicator |
| problem_data | [in] - User defined problem data. |
Definition at line 201 of file Intrepid_AdaptiveSparseGridDef.hpp.
References Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::error_indicator(), Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::eval_cubature(), Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::getDimension(), Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::getGrowth(), Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::getRule(), and Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::max_level().
| 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] |
Update adaptive sparse grid.
| activeIndex | [in/out] - Active Indices |
| oldIndex | [in/out] - Inactive Indices |
| integralValue | [in/out] - Value of Integral |
| cubRule | [in/out] - Sparse Grid Points and Weights |
| globalErrorIndicator | [in/out] - Error Indicator |
| problem_data | [in] - User defined problem data. |
Definition at line 280 of file Intrepid_AdaptiveSparseGridDef.hpp.
References Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::error_indicator(), Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::eval_cubature(), Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::getDimension(), Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::getGrowth(), Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::getRule(), Intrepid::AdaptiveSparseGridInterface< Scalar, UserVector >::max_level(), and Intrepid::CubatureTensorSorted< Scalar, ArrayPoint, ArrayWeight >::update().
1.7.6.1