Stokhos Package Browser (Single Doxygen Collection)
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
src
epetra
Stokhos_EpetraOperatorOrthogPoly.cpp
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
#include "
Stokhos_EpetraOperatorOrthogPoly.hpp
"
43
44
Stokhos::EpetraOperatorOrthogPoly::
45
EpetraOperatorOrthogPoly
(
46
const
Teuchos::RCP<
const
Stokhos::OrthogPolyBasis<int, double>
>&
basis
,
47
const
Teuchos::RCP<const Epetra_BlockMap>& block_map,
48
const
Teuchos::RCP<const Epetra_Map>&
domain_base_map
,
49
const
Teuchos::RCP<const Epetra_Map>&
range_base_map
,
50
const
Teuchos::RCP<const EpetraExt::MultiComm>&
product_comm
) :
51
ProductContainer
<
Epetra_Operator
>(block_map),
52
VectorOrthogPoly
<
Epetra_Operator
>(
basis
, block_map),
53
ProductEpetraOperator
(block_map,
domain_base_map
,
range_base_map
,
54
product_comm
)
55
{
56
}
57
58
Stokhos::EpetraOperatorOrthogPoly::
59
EpetraOperatorOrthogPoly
(
60
const
Teuchos::RCP<
const
Stokhos::OrthogPolyBasis<int, double>
>&
basis
,
61
const
Teuchos::RCP<const Epetra_BlockMap>& block_map,
62
const
Teuchos::RCP<const Epetra_Map>&
domain_base_map
,
63
const
Teuchos::RCP<const Epetra_Map>&
range_base_map
,
64
const
Teuchos::RCP<const Epetra_Map>&
product_range_map
,
65
const
Teuchos::RCP<const EpetraExt::MultiComm>&
product_comm
) :
66
ProductContainer
<
Epetra_Operator
>(block_map),
67
VectorOrthogPoly
<
Epetra_Operator
>(
basis
, block_map),
68
ProductEpetraOperator
(block_map,
domain_base_map
,
range_base_map
,
69
product_range_map
,
product_comm
)
70
{
71
}
72
73
Stokhos::EpetraOperatorOrthogPoly::
74
EpetraOperatorOrthogPoly
(
const
Stokhos::EpetraOperatorOrthogPoly
& v) :
75
ProductContainer
<
Epetra_Operator
>(v),
76
VectorOrthogPoly
<
Epetra_Operator
>(v),
77
ProductEpetraOperator
(v)
78
{
79
}
80
81
Stokhos::EpetraOperatorOrthogPoly::
82
~EpetraOperatorOrthogPoly
() {}
83
84
Stokhos::EpetraOperatorOrthogPoly
&
85
Stokhos::EpetraOperatorOrthogPoly::
86
operator=
(
const
Stokhos::EpetraOperatorOrthogPoly
& v) {
87
ProductEpetraOperator::operator=
(v);
88
this->
basis_
= v.
basis_
;
89
return
*
this
;
90
}
91
92
Stokhos::EpetraOperatorOrthogPoly::
93
EpetraOperatorOrthogPoly
(
94
const
Teuchos::RCP<
const
Stokhos::OrthogPolyBasis<int, double>
>&
basis
,
95
const
Teuchos::RCP<const Epetra_BlockMap>& block_map,
96
const
Teuchos::RCP<const EpetraExt::MultiComm>& product_comm_) :
97
ProductContainer
<
Epetra_Operator
>(block_map),
98
VectorOrthogPoly
<
Epetra_Operator
>(
basis
, block_map),
99
ProductEpetraOperator
(block_map, product_comm_)
100
{
101
}
102
103
void
104
Stokhos::EpetraOperatorOrthogPoly::
105
setup
(
const
Teuchos::RCP<const Epetra_Map>&
domain_base_map
,
106
const
Teuchos::RCP<const Epetra_Map>&
range_base_map
)
107
{
108
ProductEpetraOperator::setup
(
domain_base_map
,
range_base_map
);
109
}
Stokhos_EpetraOperatorOrthogPoly.hpp
Epetra_Operator
Stokhos::EpetraOperatorOrthogPoly
A container class storing an orthogonal polynomial whose coefficients are vectors,...
Definition
Stokhos_EpetraOperatorOrthogPoly.hpp:57
Stokhos::EpetraOperatorOrthogPoly::setup
void setup(const Teuchos::RCP< const Epetra_Map > &domain_base_map, const Teuchos::RCP< const Epetra_Map > &range_base_map)
Second stage of setup.
Definition
Stokhos_EpetraOperatorOrthogPoly.cpp:105
Stokhos::EpetraOperatorOrthogPoly::EpetraOperatorOrthogPoly
EpetraOperatorOrthogPoly(const Teuchos::RCP< const Stokhos::OrthogPolyBasis< int, double > > &basis, const Teuchos::RCP< const Epetra_BlockMap > &block_map, const Teuchos::RCP< const Epetra_Map > &domain_base_map, const Teuchos::RCP< const Epetra_Map > &range_base_map, const Teuchos::RCP< const EpetraExt::MultiComm > &product_comm)
Create a polynomial for basis basis where each coefficient is generated from the supplied map.
Definition
Stokhos_EpetraOperatorOrthogPoly.cpp:45
Stokhos::EpetraOperatorOrthogPoly::operator=
EpetraOperatorOrthogPoly & operator=(const EpetraOperatorOrthogPoly &v)
Assignment.
Definition
Stokhos_EpetraOperatorOrthogPoly.cpp:86
Stokhos::EpetraOperatorOrthogPoly::~EpetraOperatorOrthogPoly
virtual ~EpetraOperatorOrthogPoly()
Destructor.
Definition
Stokhos_EpetraOperatorOrthogPoly.cpp:82
Stokhos::OrthogPolyBasis
Abstract base class for multivariate orthogonal polynomials.
Definition
Stokhos_OrthogPolyBasis.hpp:74
Stokhos::ProductContainer
A product (in the mathematical sense) container class whose coefficients are vectors,...
Definition
Stokhos_ProductContainer.hpp:61
Stokhos::ProductEpetraOperator::product_comm
Teuchos::RCP< const EpetraExt::MultiComm > product_comm
Product multi-level communicator.
Definition
Stokhos_ProductEpetraOperator.hpp:186
Stokhos::ProductEpetraOperator::setup
void setup(const Teuchos::RCP< const Epetra_Map > &domain_base_map, const Teuchos::RCP< const Epetra_Map > &range_base_map)
Second stage of setup.
Definition
Stokhos_ProductEpetraOperator.cpp:216
Stokhos::ProductEpetraOperator::ProductEpetraOperator
ProductEpetraOperator(const Teuchos::RCP< const Epetra_BlockMap > &block_map, const Teuchos::RCP< const Epetra_Map > &domain_base_map, const Teuchos::RCP< const Epetra_Map > &range_base_map, const Teuchos::RCP< const EpetraExt::MultiComm > &product_comm)
Create a container with container map block_map where each coefficient is generated from the supplied...
Definition
Stokhos_ProductEpetraOperator.cpp:47
Stokhos::ProductEpetraOperator::operator=
ProductEpetraOperator & operator=(const ProductEpetraOperator &v)
Assignment.
Definition
Stokhos_ProductEpetraOperator.cpp:93
Stokhos::ProductEpetraOperator::domain_base_map
Teuchos::RCP< const Epetra_Map > domain_base_map
Domain map of each coefficient.
Definition
Stokhos_ProductEpetraOperator.hpp:177
Stokhos::ProductEpetraOperator::product_range_map
Teuchos::RCP< const Epetra_Map > product_range_map
Product range map.
Definition
Stokhos_ProductEpetraOperator.hpp:183
Stokhos::ProductEpetraOperator::range_base_map
Teuchos::RCP< const Epetra_Map > range_base_map
Range map of each coefficient.
Definition
Stokhos_ProductEpetraOperator.hpp:180
Stokhos::VectorOrthogPoly< Epetra_Operator >::basis
Teuchos::RCP< const Stokhos::OrthogPolyBasis< ordinal_type, value_type > > basis() const
Definition
Stokhos_VectorOrthogPolyImp.hpp:114
Stokhos::VectorOrthogPoly< Epetra_Operator >::basis_
Teuchos::RCP< const Stokhos::OrthogPolyBasis< ordinal_type, value_type > > basis_
Definition
Stokhos_VectorOrthogPoly.hpp:148
Stokhos::VectorOrthogPoly< Epetra_Operator >::VectorOrthogPoly
VectorOrthogPoly()
Definition
Stokhos_VectorOrthogPolyImp.hpp:46
Generated by
1.17.0