Tpetra parallel linear algebra Version of the Day
Loading...
Searching...
No Matches
Tpetra_MatrixIO_decl.hpp
Go to the documentation of this file.
1// @HEADER
2// *****************************************************************************
3// Tpetra: Templated Linear Algebra Services Package
4//
5// Copyright 2008 NTESS and the Tpetra contributors.
6// SPDX-License-Identifier: BSD-3-Clause
7// *****************************************************************************
8// @HEADER
9
10#ifndef TPETRA_MATRIX_IO_DECL
11#define TPETRA_MATRIX_IO_DECL
12
19
20#include <Tpetra_CrsMatrix.hpp>
21
22namespace Tpetra {
23namespace Utils {
24
25bool parseIfmt(Teuchos::ArrayRCP<char> fmt, int &perline, int &width);
26bool parseRfmt(Teuchos::ArrayRCP<char> fmt, int &perline, int &width, int &prec, char &flag);
27void readHBInfo(const std::string &filename, int &M, int &N, int &nz, Teuchos::ArrayRCP<char> &Type, int &Nrhs);
28
29void readHBHeader(std::ifstream &in_file, Teuchos::ArrayRCP<char> &Title,
30 Teuchos::ArrayRCP<char> &Key, Teuchos::ArrayRCP<char> &Type,
31 int &Nrow, int &Ncol, int &Nnzero, int &Nrhs,
32 Teuchos::ArrayRCP<char> &Ptrfmt,
33 Teuchos::ArrayRCP<char> &Indfmt,
34 Teuchos::ArrayRCP<char> &Valfmt,
35 Teuchos::ArrayRCP<char> &Rhsfmt,
36 int &Ptrcrd, int &Indcrd, int &Valcrd, int &Rhscrd,
37 Teuchos::ArrayRCP<char> &Rhstype);
38
39void readHBMatDouble(const std::string &filename, int &M, int &N, int &nonzeros,
40 std::string &Type, Teuchos::ArrayRCP<int> &colptr,
41 Teuchos::ArrayRCP<int> &rowind,
42 Teuchos::ArrayRCP<double> &val);
43
44template <class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
45void readHBMatrix(const std::string &filename,
46 const Teuchos::RCP<const Teuchos::Comm<int> > &comm,
48 Teuchos::RCP<const Tpetra::Map<LocalOrdinal, GlobalOrdinal, Node> > rowMap = Teuchos::null,
49 const Teuchos::RCP<Teuchos::ParameterList> &params = Teuchos::null);
50
51} // namespace Utils
52} // namespace Tpetra
53
54#endif
Struct that holds views of the contents of a CrsMatrix.
Namespace Tpetra contains the class and methods constituting the Tpetra library.