47#ifndef MUELU_AMGXOPERATOR_DEF_HPP
48#define MUELU_AMGXOPERATOR_DEF_HPP
51#if defined (HAVE_MUELU_AMGX)
57 Teuchos::RCP<const Tpetra::Map<int,int,Node> >
69 Tpetra::MultiVector<double,int,int,Node>&
Y,
78 for (
int i = 0; i < (
int)
Y.getNumVectors(); i++) {
80 vectorTimer1_->start();
85 if (
comm->getSize() == 1) {
96 for (
int j = 0; j <
n; j++) {
105 vectorTimer1_->stop();
106 vectorTimer1_->incrementNumCalls();
110 solverTimer_->start();
112 solverTimer_->stop();
113 solverTimer_->incrementNumCalls();
116 vectorTimer2_->start();
120 if (
comm->getSize() > 1) {
123 for (
int j = 0; j <
n; j++)
127 vectorTimer2_->stop();
128 vectorTimer2_->incrementNumCalls();
132 }
catch (std::exception&
e) {
133 std::string
errMsg = std::string(
"Caught an exception in MueLu::AMGXOperator::Apply():\n") +
e.what() +
"\n";
Tpetra::Map< LO, GO, NO > Map
void apply(const MultiVector &X, MultiVector &Y, Teuchos::ETransp mode=Teuchos::NO_TRANS, Scalar alpha=Teuchos::ScalarTraits< Scalar >::one(), Scalar beta=Teuchos::ScalarTraits< Scalar >::zero()) const
Returns a solution for the linear system AX=Y in the Tpetra::MultiVector X.
Teuchos::RCP< const Map > getRangeMap() const
Returns the Tpetra::Map object associated with the range of this operator.
bool hasTransposeApply() const
Indicates whether this operator supports applying the adjoint operator.
Teuchos::RCP< const Map > getDomainMap() const
Returns the Tpetra::Map object associated with the domain of this operator.
Exception throws to report errors in the internal logical of the program.
Namespace for MueLu classes and methods.