00001 //*****************************************************************// 00002 // Albany 2.0: Copyright 2012 Sandia Corporation // 00003 // This Software is released under the BSD license detailed // 00004 // in the file "license.txt" in the top-level Albany directory // 00005 //*****************************************************************// 00006 #ifndef ALBANY_STKEPETRAMVSOURCE_HPP 00007 #define ALBANY_STKEPETRAMVSOURCE_HPP 00008 00009 #include "MOR_EpetraMVSource.hpp" 00010 00011 #include "Albany_STKDiscretization.hpp" 00012 00013 namespace Albany { 00014 00015 class StkEpetraMVSource : public MOR::EpetraMVSource { 00016 public: 00017 explicit StkEpetraMVSource(const Teuchos::RCP<STKDiscretization> &disc); 00018 00019 virtual int vectorCount() const; 00020 virtual Epetra_Map vectorMap() const; 00021 00022 virtual Teuchos::RCP<Epetra_MultiVector> multiVectorNew(); 00023 virtual Teuchos::RCP<Epetra_MultiVector> truncatedMultiVectorNew(int vectorCountMax); 00024 virtual const Epetra_MultiVector &filledMultiVector(Epetra_MultiVector &result); 00025 00026 private: 00027 Teuchos::RCP<STKDiscretization> disc_; 00028 }; 00029 00030 } // end namespace Albany 00031 00032 #endif /*ALBANY_STKEPETRAMVSOURCE_HPP*/