MOOSE - Multiscale Object Oriented Simulation Environment
|
Public Member Functions | |
const double * | allEntries () const |
void | buildBackwardSub (vector< unsigned int > &diag, vector< Triplet< double > > &bops, vector< double > &diagVal) |
void | buildForwardElim (vector< unsigned int > &diag, vector< Triplet< double > > &fops) |
bool | hinesReorder (const vector< unsigned int > &parentVoxel) |
void | makeTestMatrix (const double *test, unsigned int numCompts) |
void | shuffleRows (const vector< unsigned int > &lookupOldRowFromNew) |
Public Member Functions inherited from SparseMatrix< double > | |
void | addRow (unsigned int rowNum, const vector< double > &row) |
void | addRow (unsigned int rowNum, const vector< double > &entry, const vector< unsigned int > &colIndexArg) |
void | clear () |
const vector< unsigned int > & | colIndex () const |
double | get (unsigned int row, unsigned int column) const |
unsigned int | getColumn (unsigned int col, vector< double > &entry, vector< unsigned int > &rowIndex) const |
unsigned int | getRow (unsigned int row, const double **entry, const unsigned int **colIndex) const |
unsigned int | getRow (unsigned int row, vector< double > &e, vector< unsigned int > &c) const |
const vector< double > & | matrixEntry () const |
Here we expose the sparse matrix for MOOSE use. More... | |
unsigned int | nColumns () const |
unsigned int | nEntries () const |
unsigned int | nRows () const |
void | pairFill (const vector< unsigned int > &row, const vector< unsigned int > &col, doublevalue) |
void | print () const |
void | printInternal () const |
void | printTriplet (const vector< Triplet< double > > &t) |
void | reorderColumns (const vector< unsigned int > &colMap) |
const vector< unsigned int > & | rowStart () const |
void | set (unsigned int row, unsigned int column, doublevalue) |
void | setSize (unsigned int nrows, unsigned int ncolumns) |
SparseMatrix () | |
SparseMatrix (unsigned int nrows, unsigned int ncolumns) | |
void | transpose () |
void | tripletFill (const vector< unsigned int > &row, const vector< unsigned int > &col, const vector< double > &z, bool retainSize=false) |
void | unset (unsigned int row, unsigned int column) |
Additional Inherited Members | |
Protected Attributes inherited from SparseMatrix< double > | |
vector< unsigned int > | colIndex_ |
Non-zero entries in the SparseMatrix. More... | |
vector< double > | N_ |
unsigned int | ncolumns_ |
unsigned int | nrows_ |
vector< unsigned int > | rowStart_ |
Start index in the N_ and colIndex_ vectors, of each row. More... | |
Definition at line 40 of file standaloneTestFastElim.cpp.
const double * FastElim::allEntries | ( | ) | const |
Definition at line 73 of file standaloneTestFastElim.cpp.
void FastElim::buildBackwardSub | ( | vector< unsigned int > & | diag, |
vector< Triplet< double > > & | bops, | ||
vector< double > & | diagVal | ||
) |
Operations to be done on the RHS for the back sub are generated and put into the bops (backward ops) vector. col > row here, row is the entry being operated on, and col is given by rowsToSub. offDiagVal is the value on the off-diagonal at row,col. diagVal is the value on the diagonal at [row][row]. RHS[row] = ( RHS[row] - offDiagVal * RHS[col] ) / diagVal
Definition at line 352 of file standaloneTestFastElim.cpp.
Referenced by main().
void FastElim::buildForwardElim | ( | vector< unsigned int > & | diag, |
vector< Triplet< double > > & | fops | ||
) |
Builds the vector of forward ops: ratio, i, j RHS[i] = RHS[i] - RHS[j] * ratio This vec tells the routine which rows below have to be eliminated. This includes the rows if any in the tridiagonal band and also rows, if any, on branches.
Definition at line 286 of file standaloneTestFastElim.cpp.
Referenced by main().
bool FastElim::hinesReorder | ( | const vector< unsigned int > & | parentVoxel | ) |
Reorders rows and columns to put the matrix in the form suitable for rapid single-pass inversion. Returns 0 on failure.
Definition at line 85 of file standaloneTestFastElim.cpp.
Referenced by main().
void FastElim::makeTestMatrix | ( | const double * | test, |
unsigned int | numCompts | ||
) |
Finds the 'twigs' of the matrix: Only one end connected. void FastElim::extractTwig( unsigned int i, vector< unsigned int >& rowReorder, vector< bool >& extracted ) { ; }
void FastElim::findClosedEnds( vector< unsigned int >& rowReorder, vector< bool >& extracted ) { ; }
void FastElim::extractClosedEnds( unsigned int i, vector< unsigned int >& rowReorder, vector< bool >& extracted ) { ; }
Definition at line 255 of file standaloneTestFastElim.cpp.
Referenced by main().
void FastElim::shuffleRows | ( | const vector< unsigned int > & | lookupOldRowFromNew | ) |
Definition at line 132 of file standaloneTestFastElim.cpp.
References SparseMatrix< T >::getRow(), SparseMatrix< T >::nrows_, and sortByColumn().