Go to the documentation of this file.00001
00002
00003
00004
00005
00006 #ifndef MOR_EPETRAUTILS_HPP
00007 #define MOR_EPETRAUTILS_HPP
00008
00009 #include "Epetra_ConfigDefs.h"
00010
00011 #include "Epetra_BlockMap.h"
00012 #include "Epetra_Map.h"
00013
00014 #include "Epetra_MultiVector.h"
00015 #include "Epetra_Vector.h"
00016
00017 #include "Teuchos_Array.hpp"
00018 #include "Teuchos_RCP.hpp"
00019
00020 namespace MOR {
00021
00022 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
00023 typedef int EpetraGlobalIndex;
00024 #else
00025 typedef long long EpetraGlobalIndex;
00026 #endif
00027
00028 Teuchos::Array<EpetraGlobalIndex> getMyLIDs(
00029 const Epetra_BlockMap &map,
00030 const Teuchos::ArrayView<const EpetraGlobalIndex> &selectedGIDs);
00031
00032 Teuchos::RCP<Epetra_Map> mapDowncast(const Epetra_BlockMap &in);
00033
00034
00035 Teuchos::RCP<const Epetra_Vector> headView(const Teuchos::RCP<const Epetra_MultiVector> &mv);
00036 Teuchos::RCP<Epetra_Vector> nonConstHeadView(const Teuchos::RCP<Epetra_MultiVector> &mv);
00037
00038 Teuchos::RCP<const Epetra_MultiVector> tailView(const Teuchos::RCP<const Epetra_MultiVector> &mv);
00039 Teuchos::RCP<Epetra_MultiVector> nonConstTailView(const Teuchos::RCP<Epetra_MultiVector> &mv);
00040
00041 Teuchos::RCP<const Epetra_MultiVector> truncatedView(const Teuchos::RCP<const Epetra_MultiVector> &mv, int vectorCountMax);
00042 Teuchos::RCP<Epetra_MultiVector> nonConstTruncatedView(const Teuchos::RCP<Epetra_MultiVector> &mv, int vectorCountMax);
00043
00044 Teuchos::RCP<const Epetra_Vector> memberView(const Teuchos::RCP<const Epetra_MultiVector> &mv, int i);
00045 Teuchos::RCP<Epetra_Vector> nonConstMemberView(const Teuchos::RCP<Epetra_MultiVector> &mv, int i);
00046
00047
00048 void normalize(Epetra_Vector &v);
00049
00050 }
00051
00052 #endif