ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
ModuleIO::csrFileReader< T > Class Template Reference

Class to read CSR file. More...

#include <csr_reader.h>

Inheritance diagram for ModuleIO::csrFileReader< T >:
Collaboration diagram for ModuleIO::csrFileReader< T >:

Public Member Functions

 csrFileReader (const std::string &filename)
 
void parseFile ()
 
int getNumberOfR () const
 
SparseMatrix< TgetMatrix (int Rx, int Ry, int Rz)
 
SparseMatrix< TgetMatrix (int index) const
 
std::vector< int > getRCoordinate (int index) const
 
int getStep () const
 
int getMatrixDimension () const
 
- Public Member Functions inherited from ModuleIO::FileReader
 FileReader (std::string filename)
 
 ~FileReader ()
 
bool isOpen () const
 
void readLine ()
 

Private Attributes

std::vector< std::vector< int > > RCoordinates
 
std::vector< SparseMatrix< T > > sparse_matrices
 
int step
 
int matrixDimension
 
int numberOfR
 

Additional Inherited Members

- Public Attributes inherited from ModuleIO::FileReader
std::stringstream ss
 

Detailed Description

template<typename T>
class ModuleIO::csrFileReader< T >

Class to read CSR file.

This class is used to read CSR file the default format is like:

STEP: 0
Matrix Dimension of S(R): 4
Matrix number of S(R): 2
0 1 1 2 # (0,1,1) is the R coordinate, 2 is the number of non-zero elements
4.00e+00 7.00e+00 # non-zero elements
3 2 # column indices
0 1 2 2 2 # row pointer
0 0 0 3 # the second R coordinate and number of non-zero elements
5.00e+00 6.00e+00 1.00e+01
2 3 3
0 0 0 2 3
const std::map< std::string, std::vector< double > > zero
Definition vdwd3_autoset_xcparam.cpp:323

It will store the R coordinates and sparse matrices as two vectors. One can use getter functions to get the R coordinates and sparse matrices, and related info including step, matrix dimension, number of R.

Constructor & Destructor Documentation

◆ csrFileReader()

template<typename T >
ModuleIO::csrFileReader< T >::csrFileReader ( const std::string &  filename)
Here is the call graph for this function:

Member Function Documentation

◆ getMatrix() [1/2]

template<typename T >
SparseMatrix< T > ModuleIO::csrFileReader< T >::getMatrix ( int  index) const
Here is the call graph for this function:

◆ getMatrix() [2/2]

template<typename T >
SparseMatrix< T > ModuleIO::csrFileReader< T >::getMatrix ( int  Rx,
int  Ry,
int  Rz 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getMatrixDimension()

template<typename T >
int ModuleIO::csrFileReader< T >::getMatrixDimension ( ) const
Here is the caller graph for this function:

◆ getNumberOfR()

template<typename T >
int ModuleIO::csrFileReader< T >::getNumberOfR ( ) const
Here is the caller graph for this function:

◆ getRCoordinate()

template<typename T >
std::vector< int > ModuleIO::csrFileReader< T >::getRCoordinate ( int  index) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getStep()

template<typename T >
int ModuleIO::csrFileReader< T >::getStep ( ) const
Here is the caller graph for this function:

◆ parseFile()

template<typename T >
void ModuleIO::csrFileReader< T >::parseFile ( )
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ matrixDimension

template<typename T >
int ModuleIO::csrFileReader< T >::matrixDimension
private

◆ numberOfR

template<typename T >
int ModuleIO::csrFileReader< T >::numberOfR
private

◆ RCoordinates

template<typename T >
std::vector<std::vector<int> > ModuleIO::csrFileReader< T >::RCoordinates
private

◆ sparse_matrices

template<typename T >
std::vector<SparseMatrix<T> > ModuleIO::csrFileReader< T >::sparse_matrices
private

◆ step

template<typename T >
int ModuleIO::csrFileReader< T >::step
private

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