Stokhos Package Browser (Single Doxygen Collection)
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
src
Stokhos_SmolyakSparseGridQuadrature.hpp
Go to the documentation of this file.
1
// @HEADER
2
// ***********************************************************************
3
//
4
// Stokhos Package
5
// Copyright (2009) Sandia Corporation
6
//
7
// Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive
8
// license for use of this work by or on behalf of the U.S. Government.
9
//
10
// Redistribution and use in source and binary forms, with or without
11
// modification, are permitted provided that the following conditions are
12
// met:
13
//
14
// 1. Redistributions of source code must retain the above copyright
15
// notice, this list of conditions and the following disclaimer.
16
//
17
// 2. Redistributions in binary form must reproduce the above copyright
18
// notice, this list of conditions and the following disclaimer in the
19
// documentation and/or other materials provided with the distribution.
20
//
21
// 3. Neither the name of the Corporation nor the names of the
22
// contributors may be used to endorse or promote products derived from
23
// this software without specific prior written permission.
24
//
25
// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
26
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
28
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
29
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
30
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
31
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
32
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
34
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
35
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36
//
37
// Questions? Contact Eric T. Phipps (etphipp@sandia.gov).
38
//
39
// ***********************************************************************
40
// @HEADER
41
42
#ifndef STOKHOS_SMOLYAK_SPARSE_GRID_QUADRATURE_HPP
43
#define STOKHOS_SMOLYAK_SPARSE_GRID_QUADRATURE_HPP
44
45
#include "
Stokhos_Quadrature.hpp
"
46
#include "
Stokhos_ProductBasis.hpp
"
47
#include "
Stokhos_SmolyakPseudoSpectralOperator.hpp
"
48
#include "Teuchos_RCP.hpp"
49
50
namespace
Stokhos
{
51
60
template
<
typename
ordinal_type
,
typename
value_type
,
61
typename
point_compare_type =
62
typename
DefaultPointCompare<ordinal_type,value_type>::type
>
63
class
SmolyakSparseGridQuadrature
:
64
public
Quadrature
<ordinal_type,value_type> {
65
public
:
66
68
73
template
<
typename
index_set_type>
74
SmolyakSparseGridQuadrature
(
75
const
Teuchos::RCP<
const
ProductBasis<ordinal_type,value_type>
>& product_basis,
76
const
index_set_type& index_set,
77
const
value_type
duplicate_tol = 1.0e-12,
78
const
point_compare_type& point_compare = point_compare_type());
79
81
virtual
~SmolyakSparseGridQuadrature
() {}
82
84
virtual
ordinal_type
size
()
const
{
return
quad_weights
.size(); }
85
87
91
virtual
const
Teuchos::Array< Teuchos::Array<value_type> >&
92
getQuadPoints
()
const
;
93
95
98
virtual
const
Teuchos::Array<value_type>&
99
getQuadWeights
()
const
;
100
102
106
virtual
const
Teuchos::Array< Teuchos::Array<value_type> > &
107
getBasisAtQuadPoints
()
const
;
108
110
virtual
std::ostream&
print
(std::ostream& os)
const
;
111
112
private
:
113
114
// Prohibit copying
115
SmolyakSparseGridQuadrature
(
const
SmolyakSparseGridQuadrature
&);
116
117
// Prohibit Assignment
118
SmolyakSparseGridQuadrature
&
operator=
(
const
SmolyakSparseGridQuadrature
& b);
119
120
protected
:
121
123
Teuchos::Array< Teuchos::Array<value_type> >
quad_points
;
124
126
Teuchos::Array<value_type>
quad_weights
;
127
129
Teuchos::Array< Teuchos::Array<value_type> >
quad_values
;
130
131
};
// class SmolyakSparseGridQuadrature
132
133
}
// namespace Stokhos
134
135
// Include template definitions
136
#include "
Stokhos_SmolyakSparseGridQuadratureImp.hpp
"
137
138
#endif
//STOKHOS_SMOLYAK_SPARSE_GRID_QUADRATURE_HPP
Stokhos_ProductBasis.hpp
Stokhos_Quadrature.hpp
Stokhos_SmolyakPseudoSpectralOperator.hpp
Stokhos_SmolyakSparseGridQuadratureImp.hpp
Stokhos::ProductBasis
Abstract base class for multivariate orthogonal polynomials generated from tensor products of univari...
Definition
Stokhos_ProductBasis.hpp:66
Stokhos::ordinal_type
Stokhos::Quadrature::Quadrature
Quadrature()
Constructor.
Definition
Stokhos_Quadrature.hpp:58
Stokhos::SmolyakSparseGridQuadrature::size
virtual ordinal_type size() const
Get number of quadrature points.
Definition
Stokhos_SmolyakSparseGridQuadrature.hpp:84
Stokhos::SmolyakSparseGridQuadrature::SmolyakSparseGridQuadrature
SmolyakSparseGridQuadrature(const SmolyakSparseGridQuadrature &)
Stokhos::SmolyakSparseGridQuadrature::~SmolyakSparseGridQuadrature
virtual ~SmolyakSparseGridQuadrature()
Destructor.
Definition
Stokhos_SmolyakSparseGridQuadrature.hpp:81
Stokhos::SmolyakSparseGridQuadrature::SmolyakSparseGridQuadrature
SmolyakSparseGridQuadrature(const Teuchos::RCP< const ProductBasis< ordinal_type, value_type > > &product_basis, const index_set_type &index_set, const value_type duplicate_tol=1.0e-12, const point_compare_type &point_compare=point_compare_type())
Constructor.
Definition
Stokhos_SmolyakSparseGridQuadratureImp.hpp:47
Stokhos::SmolyakSparseGridQuadrature::getBasisAtQuadPoints
virtual const Teuchos::Array< Teuchos::Array< value_type > > & getBasisAtQuadPoints() const
Get values of basis at quadrature points.
Definition
Stokhos_SmolyakSparseGridQuadratureImp.hpp:101
Stokhos::SmolyakSparseGridQuadrature::quad_points
Teuchos::Array< Teuchos::Array< value_type > > quad_points
Quadrature points.
Definition
Stokhos_SmolyakSparseGridQuadrature.hpp:123
Stokhos::SmolyakSparseGridQuadrature::operator=
SmolyakSparseGridQuadrature & operator=(const SmolyakSparseGridQuadrature &b)
Stokhos::SmolyakSparseGridQuadrature::getQuadPoints
virtual const Teuchos::Array< Teuchos::Array< value_type > > & getQuadPoints() const
Get quadrature points.
Definition
Stokhos_SmolyakSparseGridQuadratureImp.hpp:85
Stokhos::SmolyakSparseGridQuadrature::getQuadWeights
virtual const Teuchos::Array< value_type > & getQuadWeights() const
Get quadrature weights.
Definition
Stokhos_SmolyakSparseGridQuadratureImp.hpp:93
Stokhos::SmolyakSparseGridQuadrature::quad_weights
Teuchos::Array< value_type > quad_weights
Quadrature weights.
Definition
Stokhos_SmolyakSparseGridQuadrature.hpp:126
Stokhos::SmolyakSparseGridQuadrature::quad_values
Teuchos::Array< Teuchos::Array< value_type > > quad_values
Quadrature values.
Definition
Stokhos_SmolyakSparseGridQuadrature.hpp:129
Stokhos::SmolyakSparseGridQuadrature::print
virtual std::ostream & print(std::ostream &os) const
Print quadrature data.
Definition
Stokhos_SmolyakSparseGridQuadratureImp.hpp:109
Stokhos
Top-level namespace for Stokhos classes and functions.
Definition
Stokhos_AbstractPreconditionerFactory.hpp:48
Stokhos::DefaultPointCompare::type
LexographicLess< TensorProductElement< ordinal_type, value_type >, FloatingPointLess< value_type > > type
Definition
Stokhos_PseudoSpectralOperator.hpp:56
Generated by
1.17.0