44#ifndef STOKHOS_ANISOSPARSEGRIDQUADRATURE
45#define STOKHOS_ANISOSPARSEGRIDQUADRATURE
48#ifdef HAVE_STOKHOS_DAKOTA
52#include "Teuchos_RCP.hpp"
53#include "pecos_global_defs.hpp"
66 template <
typename ordinal_type,
typename value_type>
67 class AnisoSparseGridQuadrature :
public Quadrature<ordinal_type,value_type> {
77 AnisoSparseGridQuadrature(
78 const Teuchos::RCP<
const ProductBasis<ordinal_type,value_type> >& product_basis,
79 ordinal_type sparse_grid_level,
80 value_type dim_weights[],
81 value_type duplicate_tol = 1.0e-12,
82 ordinal_type growth_rate = Pecos::MODERATE_RESTRICTED_GROWTH);
85 virtual ~AnisoSparseGridQuadrature() {}
92 virtual const Teuchos::Array< Teuchos::Array<value_type> >&
93 getQuadPoints()
const;
99 virtual const Teuchos::Array<value_type>&
100 getQuadWeights()
const;
107 virtual const Teuchos::Array< Teuchos::Array<value_type> > &
108 getBasisAtQuadPoints()
const;
113 AnisoSparseGridQuadrature(
const AnisoSparseGridQuadrature&);
116 AnisoSparseGridQuadrature& operator=(
const AnisoSparseGridQuadrature& b);
118 static void getMyPoints(
int order,
int dim,
double x[] );
120 static void getMyWeights(
int order,
int dim,
double w[] );
125 Teuchos::Array< Teuchos::RCP<const OneDOrthogPolyBasis<ordinal_type,value_type> > > coordinate_bases;
128 Teuchos::Array< Teuchos::Array<value_type> > quad_points;
131 Teuchos::Array<value_type> quad_weights;
134 Teuchos::Array< Teuchos::Array<value_type> > quad_values;
137 static AnisoSparseGridQuadrature *sgq;
Top-level namespace for Stokhos classes and functions.