Xpetra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Xpetra::IO< Scalar, int, int, EpetraNode > Class Template Reference

#include <Xpetra_IO.hpp>

Public Types

typedef int LocalOrdinal
 
typedef int GlobalOrdinal
 
typedef EpetraNode Node
 

Static Public Member Functions

static RCP
< Xpetra::MultiVector< Scalar,
LocalOrdinal, GlobalOrdinal,
Node > > 
ReadMultiVector (const std::string &fileName, const RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >> &map, const bool binary=false)
 
static RCP< const Xpetra::Map
< LocalOrdinal, GlobalOrdinal,
Node > > 
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. More...
 
template<class T >
static std::string toString (const T &what)
 Little helper function to convert non-string types to strings. More...
 
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. More...
 
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. More...
 
static void Write (const std::string &fileName, const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > &M)
 Read/Write methods. More...
 
static void Write (const std::string &fileName, const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &vec)
 Save vector to file in Matrix Market format. More...
 
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. More...
 
static void Write (const std::string &fileName, const Xpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node > &graph, const bool &writeAllMaps=false)
 Save CrsGraph to file in Matrix Market format. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 

Detailed Description

template<class Scalar>
class Xpetra::IO< Scalar, int, int, EpetraNode >

Definition at line 917 of file Xpetra_IO.hpp.

Member Typedef Documentation

template<class Scalar >
typedef int Xpetra::IO< Scalar, int, int, EpetraNode >::LocalOrdinal

Definition at line 919 of file Xpetra_IO.hpp.

template<class Scalar >
typedef int Xpetra::IO< Scalar, int, int, EpetraNode >::GlobalOrdinal

Definition at line 920 of file Xpetra_IO.hpp.

template<class Scalar >
typedef EpetraNode Xpetra::IO< Scalar, int, int, EpetraNode >::Node

Definition at line 921 of file Xpetra_IO.hpp.

Member Function Documentation

template<class Scalar >
static const Epetra_Map& Xpetra::IO< Scalar, int, int, EpetraNode >::Map2EpetraMap ( const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > &  map)
inlinestatic

Helper utility to pull out the underlying Epetra objects from an Xpetra object.

Definition at line 926 of file Xpetra_IO.hpp.

template<class Scalar >
static const RCP<const Tpetra::Map<LocalOrdinal, GlobalOrdinal, Node> > Xpetra::IO< Scalar, int, int, EpetraNode >::Map2TpetraMap ( const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > &  map)
inlinestatic

Helper utility to pull out the underlying Tpetra objects from an Xpetra object.

Definition at line 938 of file Xpetra_IO.hpp.

template<class Scalar >
static void Xpetra::IO< Scalar, int, int, EpetraNode >::Write ( const std::string &  fileName,
const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > &  M 
)
inlinestatic

Read/Write methods.

Save map to file.

Definition at line 949 of file Xpetra_IO.hpp.

template<class Scalar >
static void Xpetra::IO< Scalar, int, int, EpetraNode >::Write ( const std::string &  fileName,
const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  vec 
)
inlinestatic

Save vector to file in Matrix Market format.

Definition at line 979 of file Xpetra_IO.hpp.

template<class Scalar >
static void Xpetra::IO< Scalar, int, int, EpetraNode >::Write ( const std::string &  fileName,
const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  Op,
const bool &  writeAllMaps = false 
)
inlinestatic

Save matrix to file in Matrix Market format.

Definition at line 1014 of file Xpetra_IO.hpp.

template<class Scalar >
static void Xpetra::IO< Scalar, int, int, EpetraNode >::Write ( const std::string &  fileName,
const Xpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node > &  graph,
const bool &  writeAllMaps = false 
)
inlinestatic

Save CrsGraph to file in Matrix Market format.

Definition at line 1065 of file Xpetra_IO.hpp.

template<class Scalar >
static void Xpetra::IO< Scalar, int, int, EpetraNode >::WriteLocal ( const std::string &  fileName,
const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  Op 
)
inlinestatic

Save local parts of matrix to files in Matrix Market format.

Definition at line 1102 of file Xpetra_IO.hpp.

template<class Scalar >
static void Xpetra::IO< Scalar, int, int, EpetraNode >::WriteBlockedCrsMatrix ( const std::string &  fileName,
const Xpetra::BlockedCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  Op,
const bool &  writeAllMaps = false 
)
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.

Parameters
fileNameString to indicate file name of files to be written
OpBlockedCrsMatrix to be written
writeAllMapsFlag to control output of maps to separate files (defaults to false )
Note
This is the Epetra specialization.

Definition at line 1144 of file Xpetra_IO.hpp.

template<class Scalar >
static Teuchos::RCP<Xpetra::Matrix<Scalar, LocalOrdinal, GlobalOrdinal, Node> > Xpetra::IO< Scalar, int, int, EpetraNode >::Read ( const std::string &  fileName,
Xpetra::UnderlyingLib  lib,
const RCP< const Teuchos::Comm< int >> &  comm,
bool  binary = false 
)
inlinestatic

Read matrix from file in Matrix Market or binary format.

Definition at line 1178 of file Xpetra_IO.hpp.

template<class Scalar >
static Teuchos::RCP<Xpetra::Matrix<Scalar, LocalOrdinal, GlobalOrdinal, Node> > Xpetra::IO< Scalar, int, int, EpetraNode >::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 
)
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 1308 of file Xpetra_IO.hpp.

template<class Scalar >
static Teuchos::RCP<Xpetra::Matrix<Scalar, LocalOrdinal, GlobalOrdinal, Node> > Xpetra::IO< Scalar, int, int, EpetraNode >::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 
)
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 1407 of file Xpetra_IO.hpp.

template<class Scalar >
static RCP<Xpetra::MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node> > Xpetra::IO< Scalar, int, int, EpetraNode >::ReadMultiVector ( const std::string &  fileName,
const RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >> &  map,
const bool  binary = false 
)
inlinestatic

Definition at line 1548 of file Xpetra_IO.hpp.

template<class Scalar >
static RCP<const Xpetra::Map<LocalOrdinal, GlobalOrdinal, Node> > Xpetra::IO< Scalar, int, int, EpetraNode >::ReadMap ( const std::string &  fileName,
Xpetra::UnderlyingLib  lib,
const RCP< const Teuchos::Comm< int >> &  comm,
const bool  binary = false 
)
inlinestatic

Definition at line 1592 of file Xpetra_IO.hpp.

template<class Scalar >
static RCP<const Xpetra::BlockedCrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node> > Xpetra::IO< Scalar, int, int, EpetraNode >::ReadBlockedCrsMatrix ( const std::string &  fileName,
Xpetra::UnderlyingLib  lib,
const RCP< const Teuchos::Comm< int >> &  comm 
)
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.

Parameters
fileNameIndicator of file(s) to be read
libUnderlying type of sparse linear algebra to be used for the blocked operator
commCommunicator
Note
This is the Epetra specialization.

Definition at line 1651 of file Xpetra_IO.hpp.

template<class Scalar >
template<class T >
static std::string Xpetra::IO< Scalar, int, int, EpetraNode >::toString ( const T &  what)
inlinestatic

Little helper function to convert non-string types to strings.

Definition at line 1726 of file Xpetra_IO.hpp.


The documentation for this class was generated from the following file: