Stokhos Package Browser (Single Doxygen Collection)
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
src
epetra
Stokhos_EpetraMultiVectorOperatorOrthogPoly.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_EpetraMultiVectorOperatorOrthogPoly.hpp
"
43
44
Stokhos::EpetraMultiVectorOperatorOrthogPoly::
45
EpetraMultiVectorOperatorOrthogPoly
(
46
const
Teuchos::RCP<Stokhos::EpetraMultiVectorOrthogPoly>& sg_mv_,
47
bool
is_multi_vec_transposed) :
48
ProductContainer
<
Epetra_Operator
>(sg_mv_->
map
()),
49
VectorOrthogPoly
<
Epetra_Operator
>(sg_mv_->
basis
(), sg_mv_->
map
()),
50
ProductEpetraOperator
(sg_mv_->
map
(), sg_mv_->
productComm
()),
51
EpetraOperatorOrthogPoly
(sg_mv_->
basis
(), sg_mv_->
map
(),
52
sg_mv_->
productComm
()),
53
ProductEpetraMultiVectorOperator
(sg_mv_, is_multi_vec_transposed),
54
sg_mv
(sg_mv_)
55
{
56
// Now need to call setup() as it is called in
57
// ProductEpetraMultiVectorOperator constructor
58
}
59
60
Stokhos::EpetraMultiVectorOperatorOrthogPoly::
61
EpetraMultiVectorOperatorOrthogPoly
(
62
const
Stokhos::EpetraMultiVectorOperatorOrthogPoly
& v) :
63
ProductContainer
<
Epetra_Operator
>(v),
64
VectorOrthogPoly
<
Epetra_Operator
>(v),
65
ProductEpetraOperator
(v),
66
EpetraOperatorOrthogPoly
(v),
67
ProductEpetraMultiVectorOperator
(v)
68
{
69
sg_mv
= v.
sg_mv
;
70
}
71
72
Stokhos::EpetraMultiVectorOperatorOrthogPoly::
73
~EpetraMultiVectorOperatorOrthogPoly
() {}
74
75
Stokhos::EpetraMultiVectorOperatorOrthogPoly
&
76
Stokhos::EpetraMultiVectorOperatorOrthogPoly::
77
operator=
(
const
Stokhos::EpetraMultiVectorOperatorOrthogPoly
& v) {
78
ProductEpetraMultiVectorOperator::operator=
(v);
79
this->
basis_
= v.
basis_
;
80
sg_mv
= v.
sg_mv
;
81
return
*
this
;
82
}
83
84
Teuchos::RCP<Stokhos::EpetraMultiVectorOrthogPoly>
85
Stokhos::EpetraMultiVectorOperatorOrthogPoly::
86
multiVectorOrthogPoly
()
const
87
{
88
return
sg_mv
;
89
}
Stokhos_EpetraMultiVectorOperatorOrthogPoly.hpp
Epetra_Operator
Stokhos::EpetraMultiVectorOperatorOrthogPoly
A container class storing an orthogonal polynomial whose coefficients are vectors,...
Definition
Stokhos_EpetraMultiVectorOperatorOrthogPoly.hpp:58
Stokhos::EpetraMultiVectorOperatorOrthogPoly::~EpetraMultiVectorOperatorOrthogPoly
virtual ~EpetraMultiVectorOperatorOrthogPoly()
Destructor.
Definition
Stokhos_EpetraMultiVectorOperatorOrthogPoly.cpp:73
Stokhos::EpetraMultiVectorOperatorOrthogPoly::multiVectorOrthogPoly
Teuchos::RCP< EpetraMultiVectorOrthogPoly > multiVectorOrthogPoly() const
Get multi vector orthog poly.
Definition
Stokhos_EpetraMultiVectorOperatorOrthogPoly.cpp:86
Stokhos::EpetraMultiVectorOperatorOrthogPoly::operator=
EpetraMultiVectorOperatorOrthogPoly & operator=(const EpetraMultiVectorOperatorOrthogPoly &v)
Assignment.
Definition
Stokhos_EpetraMultiVectorOperatorOrthogPoly.cpp:77
Stokhos::EpetraMultiVectorOperatorOrthogPoly::EpetraMultiVectorOperatorOrthogPoly
EpetraMultiVectorOperatorOrthogPoly(const Teuchos::RCP< Stokhos::EpetraMultiVectorOrthogPoly > &sg_mv, bool is_multi_vec_transposed)
Create a polynomial for basis basis where each coefficient is generated from the supplied map.
Definition
Stokhos_EpetraMultiVectorOperatorOrthogPoly.cpp:45
Stokhos::EpetraMultiVectorOperatorOrthogPoly::sg_mv
Teuchos::RCP< Stokhos::EpetraMultiVectorOrthogPoly > sg_mv
Multivector orthog poly.
Definition
Stokhos_EpetraMultiVectorOperatorOrthogPoly.hpp:99
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::ProductContainer
A product (in the mathematical sense) container class whose coefficients are vectors,...
Definition
Stokhos_ProductContainer.hpp:61
Stokhos::ProductContainer< Epetra_Operator >::map
Teuchos::RCP< const Epetra_BlockMap > map() const
Definition
Stokhos_ProductContainerImp.hpp:147
Stokhos::ProductEpetraMultiVectorOperator::ProductEpetraMultiVectorOperator
ProductEpetraMultiVectorOperator(const Teuchos::RCP< ProductEpetraMultiVector > &product_mv, bool is_multi_vec_transposed)
Create ProductEpetraOperator out of ProductEpetraMultiVector.
Stokhos::ProductEpetraMultiVectorOperator::operator=
ProductEpetraMultiVectorOperator & operator=(const ProductEpetraMultiVectorOperator &v)
Assignment.
Definition
Stokhos_ProductEpetraMultiVectorOperator.cpp:96
Stokhos::ProductEpetraOperator
A container class for products of Epetra_Vector's.
Definition
Stokhos_ProductEpetraOperator.hpp:57
Stokhos::ProductEpetraOperator::productComm
Teuchos::RCP< const EpetraExt::MultiComm > productComm() const
Get product comm.
Definition
Stokhos_ProductEpetraOperator.cpp:105
Stokhos::VectorOrthogPoly
A container class storing an orthogonal polynomial whose coefficients are vectors,...
Definition
Stokhos_VectorOrthogPoly.hpp:58
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
Generated by
1.17.0