Beispiel #1
0
 LocalOrdinal GetFixedBlockSize() const {
   if(IsView("stridedMaps")==true) {
     Teuchos::RCP<const StridedMap<LocalOrdinal, GlobalOrdinal, Node> > rangeMap = Teuchos::rcp_dynamic_cast<const StridedMap<LocalOrdinal, GlobalOrdinal, Node> >(getRowMap("stridedMaps"));
     Teuchos::RCP<const StridedMap<LocalOrdinal, GlobalOrdinal, Node> > domainMap = Teuchos::rcp_dynamic_cast<const StridedMap<LocalOrdinal, GlobalOrdinal, Node> >(getColMap("stridedMaps"));
     TEUCHOS_TEST_FOR_EXCEPTION(rangeMap  == Teuchos::null, Exceptions::BadCast, "Xpetra::Matrix::GetFixedBlockSize(): rangeMap is not of type StridedMap");
     TEUCHOS_TEST_FOR_EXCEPTION(domainMap == Teuchos::null, Exceptions::BadCast, "Xpetra::Matrix::GetFixedBlockSize(): domainMap is not of type StridedMap");
     TEUCHOS_TEST_FOR_EXCEPTION(domainMap->getFixedBlockSize() != rangeMap->getFixedBlockSize(), Exceptions::RuntimeError, "Xpetra::Matrix::GetFixedBlockSize(): block size of rangeMap and domainMap are different.");
     return Teuchos::as<LocalOrdinal>(domainMap->getFixedBlockSize()); // TODO: why LocalOrdinal?
   } else
     //TEUCHOS_TEST_FOR_EXCEPTION(false, Exceptions::RuntimeError, "Xpetra::Matrix::GetFixedBlockSize(): no strided maps available."); // TODO remove this
     return 1;
 }; //TODO: why LocalOrdinal?
 //! \brief Returns the Map that describes the column distribution in this matrix.
 //! This might be <tt>null</tt> until fillComplete() is called.
 const RCP<const Map> & getColMap() const { return getColMap(Matrix::GetCurrentViewLabel()); }
Beispiel #3
0
 //! \brief Returns the Map that describes the column distribution in this matrix.
 //! This might be <tt>null</tt> until fillComplete() is called.
 virtual const RCP<const Map> & getColMap() const { return getColMap(GetCurrentViewLabel()); }