Xpetra Version of the Day
|
Xpetra utility class containing IO routines to read/write vectors, matrices etc... More...
#include <Xpetra_IO.hpp>
Static Public Member Functions | |
static const Epetra_Map & | Map2EpetraMap (const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > &map) |
Helper utility to pull out the underlying Epetra objects from an Xpetra object. | |
static const RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > | Map2TpetraMap (const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > &map) |
Helper utility to pull out the underlying Tpetra objects from an Xpetra object. | |
static void | Write (const std::string &fileName, const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > &M) |
Read/Write methods. | |
static void | Write (const std::string &fileName, const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &vec) |
Save vector to file in Matrix Market format. | |
static void | Write (const std::string &fileName, const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Op, const bool &writeAllMaps=false) |
Save matrix to file in Matrix Market format. | |
static void | WriteLocal (const std::string &fileName, const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Op) |
Save local parts of matrix to files in Matrix Market format. | |
static void | WriteBlockedCrsMatrix (const std::string &fileName, const Xpetra::BlockedCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Op, const bool &writeAllMaps=false) |
Save block matrix to one file per block in Matrix Market format. | |
static Teuchos::RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > | Read (const std::string &fileName, Xpetra::UnderlyingLib lib, const RCP< const Teuchos::Comm< int > > &comm, bool binary=false) |
Read matrix from file in Matrix Market or binary format. | |
static Teuchos::RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > | Read (const std::string &filename, const RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > rowMap, RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > colMap=Teuchos::null, const RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > domainMap=Teuchos::null, const RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > rangeMap=Teuchos::null, const bool callFillComplete=true, const bool binary=false, const bool tolerant=false, const bool debug=false) |
Read matrix from file in Matrix Market or binary format. | |
static Teuchos::RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > | ReadLocal (const std::string &filename, const RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > rowMap, RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > colMap, const RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > domainMap=Teuchos::null, const RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > rangeMap=Teuchos::null, const bool callFillComplete=true, const bool binary=false, const bool tolerant=false, const bool debug=false) |
Read matrix from local files in Matrix Market or binary format. | |
static RCP< MultiVector > | ReadMultiVector (const std::string &fileName, const RCP< const Map > &map, const bool binary=false) |
static RCP< const Map > | ReadMap (const std::string &fileName, Xpetra::UnderlyingLib lib, const RCP< const Teuchos::Comm< int > > &comm, const bool binary=false) |
static RCP< const Xpetra::BlockedCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > | ReadBlockedCrsMatrix (const std::string &fileName, Xpetra::UnderlyingLib lib, const RCP< const Teuchos::Comm< int > > &comm) |
Read block matrix from one file per block in Matrix Market format. | |
template<class T > | |
static std::string | toString (const T &what) |
Little helper function to convert non-string types to strings. | |
Xpetra utility class containing IO routines to read/write vectors, matrices etc...
Xpetra utility class containing IO routines to read/write vectors, matrices.
Specialization for LO=GO=int
TODO: do we need specialization for SC=double and std::complex<>??? TODO: need specialization for <int, long long>
Definition at line 163 of file Xpetra_IO.hpp.
|
inlinestatic |
Helper utility to pull out the underlying Epetra objects from an Xpetra object.
Definition at line 186 of file Xpetra_IO.hpp.
|
inlinestatic |
Helper utility to pull out the underlying Tpetra objects from an Xpetra object.
Definition at line 215 of file Xpetra_IO.hpp.
|
inlinestatic |
|
inlinestatic |
Save vector to file in Matrix Market format.
Definition at line 254 of file Xpetra_IO.hpp.
|
inlinestatic |
Save matrix to file in Matrix Market format.
Definition at line 285 of file Xpetra_IO.hpp.
|
inlinestatic |
Save local parts of matrix to files in Matrix Market format.
Definition at line 333 of file Xpetra_IO.hpp.
|
inlinestatic |
Save block matrix to one file per block in Matrix Market format.
We write one MatrixMarket file for each block of the given BlockedCrsMatrix. The block (row,col) indicators are included into the file name, such that filename02.m indicates the block in row = 0 and col = 2, for example.
While the user can enable/disable the output of all maps of each matrix block, we always write the range and domain maps of each block as well of the full blocked operator in order to enable reconstruction of the MapExtractor objects for range and domain maps.
fileName | String to indicate file name of files to be written |
Op | BlockedCrsMatrix to be written |
writeAllMaps | Flag to control output of maps to separate files (defaults to false ) |
Definition at line 374 of file Xpetra_IO.hpp.
|
inlinestatic |
Read matrix from file in Matrix Market or binary format.
Definition at line 407 of file Xpetra_IO.hpp.
|
inlinestatic |
Read matrix from file in Matrix Market or binary format.
If only rowMap is specified, then it is used for the domainMap and rangeMap, as well.
Definition at line 533 of file Xpetra_IO.hpp.
|
inlinestatic |
Read matrix from local files in Matrix Market or binary format.
The file name format is filename.SIZE.RANK, where SIZE is the size of the communicator of the rowMap and RANK is the MPI ranks of the calling process.
If only rowMap is specified, then it is used for the domainMap and rangeMap, as well.
Definition at line 628 of file Xpetra_IO.hpp.
|
inlinestatic |
Definition at line 774 of file Xpetra_IO.hpp.
|
inlinestatic |
Definition at line 803 of file Xpetra_IO.hpp.
|
inlinestatic |
Read block matrix from one file per block in Matrix Market format.
We read one MatrixMarket file for each block of the desired BlockedCrsMatrix. The block (row,col) indicators are included into the file name, such that filename02.m indicates the block in row = 0 and col = 2, for example.
We also read the range and domain maps of each block as well of the full blocked operator in order to enable reconstruction of the MapExtractor objects for range and domain maps.
fileName | String to indicate file name of files to be written |
lib | Underlying type of linear algebra package |
comm | Communicator |
Definition at line 843 of file Xpetra_IO.hpp.
|
inlinestatic |
Little helper function to convert non-string types to strings.
Definition at line 920 of file Xpetra_IO.hpp.