FEMTIC
Public Member Functions | Protected Attributes | Private Member Functions | List of all members
ComplexSparseSquareMatrix Class Referenceabstract

#include <ComplexSparseSquareMatrix.h>

Inheritance diagram for ComplexSparseSquareMatrix:
Inheritance graph
[legend]
Collaboration diagram for ComplexSparseSquareMatrix:
Collaboration graph
[legend]

Public Member Functions

 ComplexSparseSquareMatrix ()
 
 ComplexSparseSquareMatrix (const int nEq, const int nRhs=1)
 
virtual ~ComplexSparseSquareMatrix ()
 
virtual void setNumRowsAndColumns (const int nrows, const int ncols)
 
void setDegreeOfEquation (const int nEq)
 
void initializeMatrixAndRhsVectors (const int nEq, const int nRhs)
 
virtual void initializeMatrixSolver (const std::string &oocHeaderName, const int imode)=0
 
void analysisPhaseMatrixSolver ()
 
void factorizationPhaseMatrixSolver ()
 
void solvePhaseMatrixSolver (std::complex< double > *solution, const long long iRhsStart, const int nRhs)
 
void solvePhaseMatrixSolver (std::complex< double > *solution)
 
void releaseMemoryMatrixSolver ()
 
void writeMemoryRequiredByMatrixSolver ()
 
virtual void releaseMemory ()
 
int getDegreeOfEquation () const
 
- Public Member Functions inherited from ComplexSparseMatrix
 ComplexSparseMatrix ()
 
 ComplexSparseMatrix (const int nrows, const int ncols, const int nrhs=1)
 
virtual ~ComplexSparseMatrix ()
 
virtual void setStructureByTripletFormat (const int row, const int col)
 
virtual void setStructureAndAddValueByTripletFormat (const int row, const int col, const std::complex< double > &val)
 
void convertToCRSFormat ()
 
virtual void addNonZeroValues (const int row, const int col, const std::complex< double > &val)
 
virtual int checkAndGetLocationNonZeroValue (const int row, const int col)
 
virtual void addNonZeroValuesWithoutSearchingLocation (const int loc, const std::complex< double > &val)
 
void zeroClearNonZeroValues ()
 
void addRightHandSideVector (const int row, const std::complex< double > &val, const int irhs=0)
 
void zeroClearRightHandSideVector ()
 
virtual void initializeMatrixAndRhsVectors (const int nrows, const int ncols, const int nrhs)
 
int getNumRows () const
 
int getNumColumns () const
 
int getNumRightHandSideVectors () const
 
bool hasConvertedToCRSFormat () const
 
void reallocateMemoryForRightHandSideVectors (const int nrhs)
 
void copyRhsVector (std::complex< double > *vecOut) const
 
void copyRhsVector (const int numCompsCopied, const int *const compsCopied, std::complex< double > *vecOut) const
 
void debugWriteMatrix () const
 
void debugWriteRightHandSide () const
 
void debugWriteNonZeroRightHandSide () const
 

Protected Attributes

PARDISOSolverComplex m_pardisoSolver
 
- Protected Attributes inherited from ComplexSparseMatrix
int m_numRows
 
int m_numColumns
 
int m_numNonZeros
 
int m_numRightHandSideVectors
 
bool m_hasConvertedToCRSFormat
 
std::map< int, std::complex< double > > * m_matrixTripletFormat
 
long long int * m_rowIndex
 
long long int * m_columns
 
std::complex< double > * m_values
 
std::complex< double > * m_rightHandSideVector
 

Private Member Functions

 ComplexSparseSquareMatrix (const ComplexSparseSquareMatrix &matrix)
 
ComplexSparseSquareMatrixoperator= (const ComplexSparseSquareMatrix &rhs)
 

Additional Inherited Members

- Protected Member Functions inherited from ComplexSparseMatrix
void deleteTripletMatrix ()
 

Constructor & Destructor Documentation

◆ ComplexSparseSquareMatrix() [1/3]

ComplexSparseSquareMatrix::ComplexSparseSquareMatrix ( )
explicit

◆ ComplexSparseSquareMatrix() [2/3]

ComplexSparseSquareMatrix::ComplexSparseSquareMatrix ( const int  nEq,
const int  nRhs = 1 
)
explicit

◆ ~ComplexSparseSquareMatrix()

ComplexSparseSquareMatrix::~ComplexSparseSquareMatrix ( )
virtual

◆ ComplexSparseSquareMatrix() [3/3]

ComplexSparseSquareMatrix::ComplexSparseSquareMatrix ( const ComplexSparseSquareMatrix matrix)
private

Member Function Documentation

◆ analysisPhaseMatrixSolver()

void ComplexSparseSquareMatrix::analysisPhaseMatrixSolver ( )

◆ factorizationPhaseMatrixSolver()

void ComplexSparseSquareMatrix::factorizationPhaseMatrixSolver ( )

◆ getDegreeOfEquation()

int ComplexSparseSquareMatrix::getDegreeOfEquation ( ) const

◆ initializeMatrixAndRhsVectors()

void ComplexSparseSquareMatrix::initializeMatrixAndRhsVectors ( const int  nEq,
const int  nRhs 
)

◆ initializeMatrixSolver()

virtual void ComplexSparseSquareMatrix::initializeMatrixSolver ( const std::string &  oocHeaderName,
const int  imode 
)
pure virtual

◆ operator=()

ComplexSparseSquareMatrix & ComplexSparseSquareMatrix::operator= ( const ComplexSparseSquareMatrix rhs)
private

◆ releaseMemory()

void ComplexSparseSquareMatrix::releaseMemory ( )
virtual

Reimplemented from ComplexSparseMatrix.

◆ releaseMemoryMatrixSolver()

void ComplexSparseSquareMatrix::releaseMemoryMatrixSolver ( )

◆ setDegreeOfEquation()

void ComplexSparseSquareMatrix::setDegreeOfEquation ( const int  nEq)

◆ setNumRowsAndColumns()

void ComplexSparseSquareMatrix::setNumRowsAndColumns ( const int  nrows,
const int  ncols 
)
virtual

Reimplemented from ComplexSparseMatrix.

◆ solvePhaseMatrixSolver() [1/2]

void ComplexSparseSquareMatrix::solvePhaseMatrixSolver ( std::complex< double > *  solution)

◆ solvePhaseMatrixSolver() [2/2]

void ComplexSparseSquareMatrix::solvePhaseMatrixSolver ( std::complex< double > *  solution,
const long long  iRhsStart,
const int  nRhs 
)

◆ writeMemoryRequiredByMatrixSolver()

void ComplexSparseSquareMatrix::writeMemoryRequiredByMatrixSolver ( )

Member Data Documentation

◆ m_pardisoSolver

PARDISOSolverComplex ComplexSparseSquareMatrix::m_pardisoSolver
protected

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