Loading...
Searching...
No Matches
ITHACAstream.H File Reference

Header file of the ITHACAstream class, it contains the implementation of several methods for input output operations. More...

#include "fvCFD.H"
#include "IOmanip.H"
#include <stdio.h>
#include <sys/types.h>
#include <dirent.h>
#include <algorithm>
#include <fstream>
#include <string>
#include <stdexcept>
#include <sstream>
#include <vector>
#include <cstdio>
#include <typeinfo>
#include <iostream>
#include <cassert>
#include <zlib.h>
#include <map>
#include "ITHACAassert.H"
#include "ITHACAparameters.H"
#include "ITHACAutilities.H"
#include <Eigen/Eigen>
#include "EigenFunctions.H"
#include "colormod.H"
#include <unsupported/Eigen/CXX11/Tensor>
#include "cnpy.H"

Go to the source code of this file.

Namespaces

namespace  ITHACAstream
 Namespace for input-output manipulation.

Macros

#define MAXBUFSIZE   (static_cast<int> (1e6))
#define PBSTR   "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||"
#define PBWIDTH   60

Functions

template<typename Type>
void ITHACAstream::exportFvMatrix (fvMatrix< Type > &Matrix, word folder, word MatrixName)
 Export an Fv Matrix to folder together with its source term.
template<typename T, int dim>
void ITHACAstream::exportMatrix (Eigen::Matrix< T, -1, dim > &matrix, word Name, word type="python", word folder="./Matrices")
 Export the reduced matrices in numpy (type=python), matlab (type=matlab) and txt (type=eigen) format The function is implemented for a second order matrix.
void ITHACAstream::exportMatrix (List< Eigen::MatrixXd > &matrix, word Name, word type="python", word folder="./Matrices")
 Export the reduced matrices in numpy (type=python), matlab (type=matlab) and txt (type=eigen) format The function is implemented for a third order matrix The eigen matrix is stored as a set of two dimensional matrices where each matrix is in a different file.
template<typename T>
void ITHACAstream::exportTensor (Eigen::Tensor< T, 3 > tensor, word Name, word type="python", word folder="./Matrices")
 Export the reduced tensor in numpy (tipo=python), matlab (tipo=matlab) and txt (tipo=eigen) format.
template<class Type, template< class > class PatchField, class GeoMesh>
void ITHACAstream::read_fields (PtrList< GeometricField< Type, PatchField, GeoMesh > > &Lfield, word Name, fileName casename, int first_snap=0, int n_snap=0)
 Function to read a list of fields from the name of the field and casename.
template<class Type, template< class > class PatchField, class GeoMesh>
void ITHACAstream::read_fields (PtrList< GeometricField< Type, PatchField, GeoMesh > > &Lfield, GeometricField< Type, PatchField, GeoMesh > &field, fileName casename, int first_snap=0, int n_snap=0)
 Function to read a list of fields from the name of the field if it is already existing.
template<class Type, template< class > class PatchField, class GeoMesh>
void ITHACAstream::readMiddleFields (PtrList< GeometricField< Type, PatchField, GeoMesh > > &Lfield, GeometricField< Type, PatchField, GeoMesh > &field, fileName casename)
 Funtion to read a list of volVectorField from name of the field including all the intermediate snapshots.
template<class Type, template< class > class PatchField, class GeoMesh>
void ITHACAstream::readConvergedFields (PtrList< GeometricField< Type, PatchField, GeoMesh > > &Lfield, GeometricField< Type, PatchField, GeoMesh > &field, fileName casename)
 Function to read a list of volVectorField from name of the field including only converged snapshots.
template<class Type, template< class > class PatchField, class GeoMesh>
void ITHACAstream::read_last_fields (PtrList< GeometricField< Type, PatchField, GeoMesh > > &Lfield, const GeometricField< Type, PatchField, GeoMesh > &field, const fileName casename)
 Function to read a list of fields from the name of the field including only the last snapshot.
template<class Type, template< class > class PatchField, class GeoMesh>
void ITHACAstream::readLastFields (PtrList< GeometricField< Type, PatchField, GeoMesh > > &Lfield, const GeometricField< Type, PatchField, GeoMesh > &field, const fileName casename)
 Funtion to read a list of volVectorField from name of the field including only the last snapshots.
template<class Type, template< class > class PatchField, class GeoMesh>
void ITHACAstream::exportFields (PtrList< GeometricField< Type, PatchField, GeoMesh > > &field, word folder, word fieldname)
 Function to export a scalar of vector field.
Eigen::MatrixXd ITHACAstream::readMatrix (word filename)
 Read a two dimensional matrix from a txt file in Eigen format.
List< Eigen::MatrixXd > ITHACAstream::readMatrix (word folder, word mat_name)
 Read a three dimensional matrix from a txt file in Eigen format.
template<class Type, template< class > class PatchField, class GeoMesh>
void ITHACAstream::exportSolution (GeometricField< Type, PatchField, GeoMesh > &s, fileName subfolder, fileName folder, word fieldName)
 Export a field to file in a certain folder and subfolder.
template<class Type, template< class > class PatchField, class GeoMesh>
void ITHACAstream::exportSolution (GeometricField< Type, PatchField, GeoMesh > &s, fileName subfolder, fileName folder)
 Export a field to file in a certain folder and subfolder.
template<typename T>
void ITHACAstream::exportList (T &list, word folder, word filename)
 Export a list to file.
template<typename T, int Nrows, typename IND>
void ITHACAstream::SaveSparseMatrix (Eigen::SparseMatrix< T, Nrows, IND > &m, word folder, word MatrixName)
 Export an Eigen sparse matrix into bynary format file.
template<typename T, int Nrows, typename IND>
void ITHACAstream::ReadSparseMatrix (Eigen::SparseMatrix< T, Nrows, IND > &m, word folder, word MatrixName)
 Read an Eigen sparse matrix from a bynary format file.
template<typename MatrixType>
void ITHACAstream::SaveDenseMatrix (MatrixType &Matrix, word folder, word MatrixName)
 Save a dense matrix to a binary format file.
template<typename MatrixType>
void ITHACAstream::ReadDenseMatrix (MatrixType &Matrix, word folder, word MatrixName)
 Read a dense matrix from a binary format file.
template<typename TensorType>
void ITHACAstream::SaveDenseTensor (TensorType &Tensor, word folder, word MatrixName)
 Save a dense tensor to file.
template<typename TensorType>
void ITHACAstream::ReadDenseTensor (TensorType &Tensor, word folder, word MatrixName)
 Read a dense tensor from file.
template<typename MatrixType>
void ITHACAstream::SaveSparseMatrixList (List< MatrixType > &MatrixList, word folder, word MatrixName)
 Save a sparse matrix list to bynary files.
template<typename T, int Nrows, typename IND>
void ITHACAstream::ReadSparseMatrixList (List< Eigen::SparseMatrix< T, Nrows, IND > > &m, word folder, word MatrixName)
 Read a sparse matrix list to bynary files.
template<typename MatrixType>
void ITHACAstream::SaveDenseMatrixList (List< MatrixType > &MatrixList, word folder, word MatrixName)
 Save a dense matrix list to bynary files.
template<typename MatrixType>
void ITHACAstream::ReadDenseMatrixList (List< MatrixType > &m, word folder, word MatrixName)
 Read a sparse matrix list to bynary files.
int ITHACAstream::numberOfFiles (word folder, word MatrixName, word ext="")
 Count the number of files with a certain name prefix, used by reading functions of list of matrices.
void ITHACAstream::writePoints (pointField points, fileName folder, fileName subfolder)
 Write points of a mesh to a file.
void ITHACAstream::printProgress (double percentage)
 Print progress bar given the percentage.
template<typename T>
void ITHACAstream::save (const List< Eigen::SparseMatrix< T > > &MatrixList, word folder, word MatrixName)
template<typename T>
void ITHACAstream::load (List< Eigen::SparseMatrix< T > > &MatrixList, word folder, word MatrixName)
template<class Type, template< class > class PatchField, class GeoMesh>
GeometricField< Type, PatchField, GeoMesh > ITHACAstream::readFieldByIndex (const GeometricField< Type, PatchField, GeoMesh > &field, fileName casename, label index)
 Function to read a single field by index from a folder.
template<typename T>
void ITHACAstream::read_snapshot (T &snapshot, const Foam::word snap_time, Foam::word path, Foam::word name)
template<typename T>
Ostream & Foam::operator<< (Ostream &os, const Eigen::Matrix< T, -1, -1 > &mat)
template<typename T>
Istream & Foam::operator>> (Istream &is, Eigen::Matrix< T, -1, -1 > &mat)
template<typename T>
Ostream & Foam::operator<< (Ostream &os, const Eigen::Matrix< T, -1, 1 > &mat)
template<typename T>
Istream & Foam::operator>> (Istream &is, Eigen::Matrix< T, -1, 1 > &mat)
template<typename T>
Ostream & Foam::operator<< (Ostream &os, const Eigen::Transpose< Eigen::Matrix< T, -1, -1 > > &mat)
template<typename T>
Ostream & Foam::operator<< (Ostream &os, const Eigen::Transpose< Eigen::Matrix< T, -1, 1 > > &mat)
template<typename T>
Ostream & Foam::operator<< (Ostream &os, const Eigen::Block< Eigen::Matrix< T, -1, -1 >, -1, 1, true > &mat)
template<typename T>
Ostream & Foam::operator<< (Ostream &os, const Eigen::Block< Eigen::Matrix< T, -1, -1 >, 1, -1, false > &mat)
template<typename T>
Ostream & Foam::operator<< (Ostream &os, const Eigen::Tensor< T, 3 > &tens)
template<typename T>
Istream & Foam::operator>> (Istream &is, Eigen::Tensor< T, 3 > &tens)
Ostream & Foam::operator<< (Ostream &os, const Color::Modifier &mod)

Detailed Description

Header file of the ITHACAstream class, it contains the implementation of several methods for input output operations.

Definition in file ITHACAstream.H.

Macro Definition Documentation

◆ MAXBUFSIZE

#define MAXBUFSIZE   (static_cast<int> (1e6))

Definition at line 72 of file ITHACAstream.H.

◆ PBSTR

#define PBSTR   "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||"

Definition at line 73 of file ITHACAstream.H.

◆ PBWIDTH

#define PBWIDTH   60

Definition at line 74 of file ITHACAstream.H.

Function Documentation

◆ operator<<() [1/8]

Ostream & Foam::operator<< ( Ostream & os,
const Color::Modifier & mod )
inline

Definition at line 647 of file ITHACAstream.H.

◆ operator<<() [2/8]

template<typename T>
Ostream & Foam::operator<< ( Ostream & os,
const Eigen::Block< Eigen::Matrix< T, -1, -1 >, -1, 1, true > & mat )

Definition at line 612 of file ITHACAstream.H.

◆ operator<<() [3/8]

template<typename T>
Ostream & Foam::operator<< ( Ostream & os,
const Eigen::Block< Eigen::Matrix< T, -1, -1 >, 1, -1, false > & mat )

Definition at line 620 of file ITHACAstream.H.

◆ operator<<() [4/8]

template<typename T>
Ostream & Foam::operator<< ( Ostream & os,
const Eigen::Matrix< T, -1, -1 > & mat )

Definition at line 555 of file ITHACAstream.H.

◆ operator<<() [5/8]

template<typename T>
Ostream & Foam::operator<< ( Ostream & os,
const Eigen::Matrix< T, -1, 1 > & mat )

Definition at line 574 of file ITHACAstream.H.

◆ operator<<() [6/8]

template<typename T>
Ostream & Foam::operator<< ( Ostream & os,
const Eigen::Tensor< T, 3 > & tens )

Definition at line 628 of file ITHACAstream.H.

◆ operator<<() [7/8]

template<typename T>
Ostream & Foam::operator<< ( Ostream & os,
const Eigen::Transpose< Eigen::Matrix< T, -1, -1 > > & mat )

Definition at line 594 of file ITHACAstream.H.

◆ operator<<() [8/8]

template<typename T>
Ostream & Foam::operator<< ( Ostream & os,
const Eigen::Transpose< Eigen::Matrix< T, -1, 1 > > & mat )

Definition at line 603 of file ITHACAstream.H.

◆ operator>>() [1/3]

template<typename T>
Istream & Foam::operator>> ( Istream & is,
Eigen::Matrix< T, -1, -1 > & mat )

Definition at line 563 of file ITHACAstream.H.

◆ operator>>() [2/3]

template<typename T>
Istream & Foam::operator>> ( Istream & is,
Eigen::Matrix< T, -1, 1 > & mat )

Definition at line 582 of file ITHACAstream.H.

◆ operator>>() [3/3]

template<typename T>
Istream & Foam::operator>> ( Istream & is,
Eigen::Tensor< T, 3 > & tens )

Definition at line 637 of file ITHACAstream.H.