libROM  v1.0
Data-driven physical simulation library
BasisReader.h
1 
11 // Description: A class that reads basis vectors from a file.
12 
13 #ifndef included_BasisReader_h
14 #define included_BasisReader_h
15 
16 #include "utils/Utilities.h"
17 #include "utils/Database.h"
18 #include <string>
19 #include <vector>
20 #include <memory>
21 
22 namespace CAROM {
23 
24 class Matrix;
25 class Vector;
26 class Database;
27 
34 class BasisReader {
35 public:
52  const std::string& base_file_name,
53  Database::formats db_format = Database::formats::HDF5,
54  const int dim = -1,
55  MPI_Comm comm = MPI_COMM_WORLD);
56 
60  ~BasisReader();
61 
68  std::unique_ptr<Matrix>
70 
82  std::unique_ptr<Matrix>
84  int n);
85 
99  std::unique_ptr<Matrix>
101  int start_col,
102  int end_col);
103 
115  std::unique_ptr<Matrix>
117  double ef);
118 
126  std::unique_ptr<Matrix>
128 
140  std::unique_ptr<Matrix>
142  int n);
143 
157  std::unique_ptr<Matrix>
159  int start_col,
160  int end_col);
161 
173  std::unique_ptr<Matrix>
175  double ef);
176 
183  std::unique_ptr<Vector>
185 
197  std::unique_ptr<Vector>
199  double ef);
200 
212  int
213  getDim(
214  const std::string kind);
215 
222  int
224  const std::string kind);
225 
232  std::unique_ptr<Matrix>
234 
245  std::unique_ptr<Matrix>
247  int n);
248 
261  std::unique_ptr<Matrix>
263  int start_col,
264  int end_col);
265 
266 private:
270  BasisReader();
271 
275  BasisReader(
276  const BasisReader& other);
277 
281  BasisReader&
282  operator = (
283  const BasisReader& rhs);
284 
288  Database* d_database;
289 
293  Database::formats d_format;
294 
298  std::string base_file_name_;
299 
303  std::string full_file_name;
304 
310  const int d_dim;
311 
317  int d_global_dim;
318 
319  bool d_distributed;
320 };
321 
322 }
323 
324 #endif
std::unique_ptr< Matrix > getSnapshotMatrix()
Returns the snapshot matrix for the requested time.
std::unique_ptr< Matrix > getTemporalBasis()
Returns the temporal basis vectors for the requested time as a Matrix.
int getNumSamples(const std::string kind)
Returns the number of samples (columns) in file.
int getDim(const std::string kind)
Returns the dimension of the system on this processor.
std::unique_ptr< Matrix > getSpatialBasis()
Returns the spatial basis vectors as a Matrix.
Definition: BasisReader.cpp:79
std::unique_ptr< Vector > getSingularValues()
Returns the singular values for the requested time.
~BasisReader()
Destructor.
Definition: BasisReader.cpp:72
formats
Implemented database file formats. Add to this enum each time a new database format is implemented.
Definition: Database.h:311