void EpetraCrsGraph::fillComplete(const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap, const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap, const RCP< ParameterList > ¶ms){ XPETRA_MONITOR("EpetraCrsGraph::fillComplete"); graph_->FillComplete(toEpetra(domainMap), toEpetra(rangeMap)); bool doOptimizeStorage = true; if (params != null && params->get("Optimize Storage",true) == false) doOptimizeStorage = false; if (doOptimizeStorage) graph_->OptimizeStorage(); }
void EpetraCrsGraph::doExport(const DistObject<int, int, int> &dest, const Export<int, int>& exporter, CombineMode CM) { XPETRA_MONITOR("EpetraCrsGraph::doExport"); XPETRA_DYNAMIC_CAST(const EpetraCrsGraph, dest, tDest, "Xpetra::EpetraCrsGraph::doImport only accept Xpetra::EpetraCrsGraph as input arguments."); XPETRA_DYNAMIC_CAST(const EpetraExport, exporter, tExporter, "Xpetra::EpetraCrsGraph::doImport only accept Xpetra::EpetraImport as input arguments."); RCP<const Epetra_CrsGraph> v = tDest.getEpetra_CrsGraph(); int err = graph_->Export(*v, *tExporter.getEpetra_Export(), toEpetra(CM)); TEUCHOS_TEST_FOR_EXCEPTION(err != 0, std::runtime_error, "Catch error code returned by Epetra."); }
//! Export. void doExport(const DistObject<GlobalOrdinal, LocalOrdinal, GlobalOrdinal, Node> &dest, const Import<LocalOrdinal, GlobalOrdinal, Node>& importer, CombineMode CM) { XPETRA_MONITOR("EpetraCrsGraphT::doExport"); XPETRA_DYNAMIC_CAST(const EpetraCrsGraphT<GlobalOrdinal COMMA Node>, dest, tDest, "Xpetra::EpetraCrsGraphT::doImport only accept Xpetra::EpetraCrsGraphT as input arguments."); XPETRA_DYNAMIC_CAST(const EpetraImportT<GlobalOrdinal COMMA Node>, importer, tImporter, "Xpetra::EpetraCrsGraphT::doImport only accept Xpetra::EpetraImportT as input arguments."); RCP<const Epetra_CrsGraph> v = tDest.getEpetra_CrsGraph(); int err = graph_->Export(*v, *tImporter.getEpetra_Import(), toEpetra(CM)); TEUCHOS_TEST_FOR_EXCEPTION(err != 0, std::runtime_error, "Catch error code returned by Epetra."); }
void EpetraMultiVector::replaceMap(const RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> >& map) { int err = 0; if (!map.is_null()) { err = this->getEpetra_MultiVector()->ReplaceMap(toEpetra(map)); } else { // Replace map with a dummy map to avoid potential hangs later Epetra_SerialComm SComm; Epetra_Map NewMap(vec_->MyLength(), vec_->Map().IndexBase(), SComm); err = this->getEpetra_MultiVector()->ReplaceMap(NewMap); } TEUCHOS_TEST_FOR_EXCEPTION(err != 0, std::runtime_error, "Catch error code returned by Epetra."); }
EpetraCrsGraph::EpetraCrsGraph(const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap, const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &colMap, size_t maxNumEntriesPerRow, ProfileType pftype, const Teuchos::RCP< Teuchos::ParameterList > &plist) : graph_(Teuchos::rcp(new Epetra_CrsGraph(Copy, toEpetra(rowMap), toEpetra(colMap), maxNumEntriesPerRow, toEpetra(pftype)))) { }
EpetraImport::EpetraImport(const Teuchos::RCP<const Map<int,int> > & source, const Teuchos::RCP<const Map<int,int> > & target) : import_(rcp(new Epetra_Import(toEpetra(target), toEpetra(source)))) { } // Warning: Epetra(Target, Source) vs. Tpetra(Source, Target)
void EpetraMultiVector::doImport(const DistObject<double,int,int> &source, const Export<int, int>& exporter, CombineMode CM) { XPETRA_MONITOR("EpetraMultiVector::doImport"); XPETRA_DYNAMIC_CAST(const EpetraMultiVector, source, tSource, "Xpetra::EpetraMultiVector::doImport only accept Xpetra::EpetraMultiVector as input arguments."); XPETRA_DYNAMIC_CAST(const EpetraExport, exporter, tExporter, "Xpetra::EpetraMultiVector::doImport only accept Xpetra::EpetraImport as input arguments."); RCP<Epetra_MultiVector> v = tSource.getEpetra_MultiVector(); int err = this->getEpetra_MultiVector()->Import(*v, *tExporter.getEpetra_Export(), toEpetra(CM)); TEUCHOS_TEST_FOR_EXCEPTION(err != 0, std::runtime_error, "Catch error code returned by Epetra."); }