Memosa-FVM
0.2
|
#include <Matrix.h>
Public Member Functions | |
Matrix () | |
virtual | ~Matrix () |
DEFINE_TYPENAME ("Matrix") | |
virtual void | initAssembly ()=0 |
virtual void | multiply (IContainer &yB, const IContainer &xB) const |
virtual void | multiplyAndAdd (IContainer &yB, const IContainer &xB) const |
virtual shared_ptr< ArrayBase > | quadProduct (const IContainer &xB) const |
virtual void | forwardGS (IContainer &xB, IContainer &bB, IContainer &residual) const |
virtual void | reverseGS (IContainer &xB, IContainer &bB, IContainer &residual) const |
virtual void | Jacobi (IContainer &xnew, const IContainer &xold, const IContainer &b) const |
virtual void | iluSolve (IContainer &xB, const IContainer &bB, const IContainer &residual) const |
virtual void | spikeSolve (IContainer &xB, const IContainer &bB, const IContainer &residual, const SpikeStorage &spike_storage) const |
virtual void | solveBoundary (IContainer &xB, IContainer &bB, IContainer &residual) const |
virtual void | computeResidual (const IContainer &xB, const IContainer &bB, IContainer &residual) const |
virtual int | createCoarsening (IContainer &coarseIndex, const int groupSize, const double weighRatioThreshold) |
virtual const CRConnectivity & | getConnectivity () const |
virtual void | eliminateBoundaryEquations (IContainer &xB) |
virtual void | printRow (const int nr) const |
virtual void * | getDiagData () const |
virtual void * | getOffDiagData () const |
virtual int | getDiagDataSize () const |
virtual int | getOffDiagDataSize () const |
virtual shared_ptr< Matrix > | createMergeMatrix (const LinearSystemMerger &mergeLS) |
virtual void | setFlatMatrix (Matrix &fmg) const |
virtual void | transpose () |
virtual shared_ptr < CRConnectivity > | createCoarseConnectivity (const IContainer &coarseIndex, const CRConnectivity &coarseToFine, const StorageSite &coarseRowSite, const StorageSite &coarseColSite) |
virtual shared_ptr< Matrix > | createCoarseMatrix (const IContainer &coarseIndex, const CRConnectivity &coarseToFine, const CRConnectivity &coarseConnectivity) |
virtual bool | isInvertible () |
Matrix::Matrix | ( | ) |
Definition at line 8 of file Matrix.cpp.
|
virtual |
Definition at line 11 of file Matrix.cpp.
|
virtual |
Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >, and DiagonalMatrix< Diag, X >.
Definition at line 87 of file Matrix.cpp.
|
virtual |
Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >, CRMatrixRect< T_Coeff, X, B >, and DiagonalMatrix< Diag, X >.
Definition at line 23 of file Matrix.cpp.
Referenced by MultiFieldMatrix::createCoarseConnectivity().
|
virtual |
Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >, CRMatrixRect< T_Coeff, X, B >, and DiagonalMatrix< Diag, X >.
Definition at line 32 of file Matrix.cpp.
Referenced by MultiFieldMatrix::createCoarseMatrices().
|
virtual |
Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >.
Definition at line 16 of file Matrix.cpp.
Referenced by MultiFieldMatrix::createCoarsening().
|
inlinevirtual |
Matrix::DEFINE_TYPENAME | ( | "Matrix" | ) |
|
inlinevirtual |
Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >.
Definition at line 50 of file Matrix.h.
Referenced by LinearSystem::initSolve().
|
virtual |
Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >, and DiagonalMatrix< Diag, X >.
Definition at line 51 of file Matrix.cpp.
Referenced by MultiFieldMatrix::forwardGS().
|
inlinevirtual |
Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >, CRMatrixRect< T_Coeff, X, B >, CRMatrixTranspose< T_Coeff, X, B >, and FluxJacobianMatrix< OffDiag, X >.
Definition at line 48 of file Matrix.h.
Referenced by DirectSolver::solve().
|
inlinevirtual |
Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >.
|
inlinevirtual |
Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >.
|
inlinevirtual |
Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >.
|
inlinevirtual |
Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >.
|
virtual |
Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >.
Definition at line 69 of file Matrix.cpp.
Referenced by MultiFieldMatrix::iluSolve().
|
pure virtual |
|
inlinevirtual |
Reimplemented in DiagonalMatrix< Diag, X >.
Definition at line 73 of file Matrix.h.
Referenced by LinearSystem::initSolve().
|
virtual |
Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >.
Definition at line 63 of file Matrix.cpp.
Referenced by MultiFieldMatrix::Jacobi().
|
virtual |
Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >, CRMatrixRect< T_Coeff, X, B >, CRMatrixTranspose< T_Coeff, X, B >, DiagonalMatrix< Diag, X >, and FluxJacobianMatrix< OffDiag, X >.
Definition at line 40 of file Matrix.cpp.
|
virtual |
Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >, CRMatrixRect< T_Coeff, X, B >, CRMatrixTranspose< T_Coeff, X, B >, FluxJacobianMatrix< OffDiag, X >, and DiagonalMatrix< Diag, X >.
Definition at line 46 of file Matrix.cpp.
Referenced by MultiFieldMatrix::computeResidual(), MultiFieldMatrix::forwardGS(), MultiFieldMatrix::Jacobi(), MultiFieldMatrix::multiply(), MultiFieldMatrix::multiplyAndAdd(), MultiFieldMatrix::reverseGS(), and MultiFieldMatrix::solveBoundary().
|
inlinevirtual |
Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >.
|
inlinevirtual |
Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >.
Definition at line 28 of file Matrix.h.
Referenced by MultiFieldMatrix::quadProduct().
|
virtual |
Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >, and DiagonalMatrix< Diag, X >.
Definition at line 57 of file Matrix.cpp.
Referenced by MultiFieldMatrix::reverseGS().
|
inlinevirtual |
Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >.
Definition at line 59 of file Matrix.h.
Referenced by DirectSolver::solve().
|
virtual |
Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >, and DiagonalMatrix< Diag, X >.
Definition at line 81 of file Matrix.cpp.
Referenced by MultiFieldMatrix::solveBoundary().
|
virtual |
Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >.
Definition at line 74 of file Matrix.cpp.
Referenced by MultiFieldMatrix::spikeSolve().
|
inlinevirtual |
Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >, DiagonalMatrix< Diag, X >, and FluxJacobianMatrix< OffDiag, X >.