36 Teuchos::ParameterList& paramListIn)
41 using NO = Xpetra::EpetraNode;
43 using Teuchos::ParameterList;
45 using MultiVector = Xpetra::MultiVector<SC, LO, GO, NO>;
46 using Matrix = Xpetra::Matrix<SC, LO, GO, NO>;
50 Teuchos::ParameterList& userList = paramListIn.sublist(
"user data");
51 if (userList.isParameter(
"Coordinates")) {
52 RCP<Xpetra::MultiVector<typename Teuchos::ScalarTraits<SC>::coordinateType,LO,GO,NO> > coordinates = Teuchos::null;
55 }
catch(Teuchos::Exceptions::InvalidParameterType&) {
56 coordinates = userList.get<RCP<Xpetra::MultiVector<typename Teuchos::ScalarTraits<SC>::coordinateType, LO, GO, NO> > >(
"Coordinates");
58 if(Teuchos::nonnull(coordinates)){
59 userList.set<RCP<Xpetra::MultiVector<typename Teuchos::ScalarTraits<SC>::coordinateType,LO,GO,NO> > >(
"Coordinates", coordinates);
62 if (userList.isParameter(
"Nullspace")) {
63 RCP<Xpetra::MultiVector<typename Teuchos::ScalarTraits<SC>::coordinateType,LO,GO,NO> > nullspace = Teuchos::null;
66 }
catch(Teuchos::Exceptions::InvalidParameterType&) {
67 nullspace = userList.get<RCP<Xpetra::MultiVector<SC, LO, GO, NO> > >(
"Nullspace");
69 if(Teuchos::nonnull(nullspace)){
70 userList.set<RCP<Xpetra::MultiVector<typename Teuchos::ScalarTraits<SC>::coordinateType,LO,GO,NO> > >(
"Nullspace", nullspace);
76 return rcp(
new EpetraOperator(H));
void ReuseXpetraPreconditioner(const Teuchos::RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &A, Teuchos::RCP< MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &H)
Helper function to reuse an existing MueLu preconditioner.
Teuchos::RCP< MueLu::EpetraOperator > CreateEpetraPreconditioner(const Teuchos::RCP< Epetra_CrsMatrix > &inA, Teuchos::ParameterList ¶mListIn)
Helper function to create a MueLu preconditioner that can be used by Epetra.Given a EpetraCrs_Matrix,...
Teuchos::RCP< MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node > > CreateXpetraPreconditioner(Teuchos::RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > op, const Teuchos::ParameterList &inParamList)
Helper function to create a MueLu preconditioner that can be used by Xpetra.Given an Xpetra::Matrix,...