44 #ifndef STOKHOS_FULLY_ASSEMBLED_OPERATOR_HPP 45 #define STOKHOS_FULLY_ASSEMBLED_OPERATOR_HPP 48 #include "EpetraExt_MultiComm.h" 51 #include "Teuchos_ParameterList.hpp" 52 #include "EpetraExt_BlockCrsMatrix.h" 63 public EpetraExt::BlockCrsMatrix {
69 const Teuchos::RCP<const EpetraExt::MultiComm>&
sg_comm,
71 const Teuchos::RCP<const Stokhos::EpetraSparse3Tensor>&
epetraCijk,
72 const Teuchos::RCP<const Epetra_CrsGraph>& base_graph,
75 const Teuchos::RCP<Teuchos::ParameterList>& params);
85 const Teuchos::RCP<Stokhos::EpetraOperatorOrthogPoly >& poly);
88 virtual Teuchos::RCP< Stokhos::EpetraOperatorOrthogPoly >
92 virtual Teuchos::RCP<const Stokhos::EpetraOperatorOrthogPoly >
103 virtual int Apply(
const Epetra_MultiVector& Input,
104 Epetra_MultiVector& Result)
const;
119 Teuchos::RCP<const EpetraExt::MultiComm>
sg_comm;
122 Teuchos::RCP<const Stokhos::OrthogPolyBasis<int,double> >
sg_basis;
137 Teuchos::RCP<const Cijk_type>
Cijk;
140 Teuchos::RCP<Stokhos::EpetraOperatorOrthogPoly >
block_ops;
155 #endif // STOKHOS_FULLY_ASSEMBLED_OPERATOR_HPP Teuchos::RCP< const Epetra_Map > domain_sg_map
Stores domain SG map.
Teuchos::RCP< const Epetra_Map > range_sg_map
Stores range SG map.
Teuchos::RCP< const Stokhos::EpetraSparse3Tensor > epetraCijk
Stores Epetra Cijk tensor.
virtual void setupOperator(const Teuchos::RCP< Stokhos::EpetraOperatorOrthogPoly > &poly)
Setup operator.
virtual Teuchos::RCP< Stokhos::EpetraOperatorOrthogPoly > getSGPolynomial()
Get SG polynomial.
virtual int Apply(const Epetra_MultiVector &Input, Epetra_MultiVector &Result) const
Wrap Apply() to add a timer.
FullyAssembledOperator & operator=(const FullyAssembledOperator &)
Private to prohibit copying.
Teuchos::RCP< const EpetraExt::MultiComm > sg_comm
Stores SG parallel communicator.
bool only_use_linear
Flag indicating whether to only use linear terms.
An abstract class to represent a generic stochastic Galerkin operator as an Epetra_Operator.
Teuchos::RCP< const Cijk_type > Cijk
Stores triple product tensor.
Top-level namespace for Stokhos classes and functions.
bool scale_op
Flag indicating whether operator be scaled with <^2>
Teuchos::RCP< Stokhos::EpetraOperatorOrthogPoly > block_ops
Stores operators.
bool include_mean
Flag indicating whether to include mean term.
Stokhos::Sparse3Tensor< int, double > Cijk_type
Short-hand for Cijk.
Teuchos::RCP< const Stokhos::OrthogPolyBasis< int, double > > sg_basis
Stochastic Galerking basis.
An Epetra operator representing the block stochastic Galerkin operator generated by fully assembling ...
FullyAssembledOperator(const Teuchos::RCP< const EpetraExt::MultiComm > &sg_comm, const Teuchos::RCP< const Stokhos::OrthogPolyBasis< int, double > > &sg_basis, const Teuchos::RCP< const Stokhos::EpetraSparse3Tensor > &epetraCijk, const Teuchos::RCP< const Epetra_CrsGraph > &base_graph, const Teuchos::RCP< const Epetra_Map > &domain_sg_map, const Teuchos::RCP< const Epetra_Map > &range_sg_map, const Teuchos::RCP< Teuchos::ParameterList > ¶ms)
Constructor.
virtual ~FullyAssembledOperator()
Destructor.