Memosa-FVM  0.2
Matrix Class Referenceabstract

#include <Matrix.h>

Inheritance diagram for Matrix:

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< ArrayBasequadProduct (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 CRConnectivitygetConnectivity () 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< MatrixcreateMergeMatrix (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< MatrixcreateCoarseMatrix (const IContainer &coarseIndex, const CRConnectivity &coarseToFine, const CRConnectivity &coarseConnectivity)
 
virtual bool isInvertible ()
 

Detailed Description

Definition at line 16 of file Matrix.h.

Constructor & Destructor Documentation

Matrix::Matrix ( )

Definition at line 8 of file Matrix.cpp.

9 {}
Matrix::~Matrix ( )
virtual

Definition at line 11 of file Matrix.cpp.

12 {}

Member Function Documentation

void Matrix::computeResidual ( const IContainer xB,
const IContainer bB,
IContainer residual 
) const
virtual

Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >, and DiagonalMatrix< Diag, X >.

Definition at line 87 of file Matrix.cpp.

89 {
90  throw CException("computeResidual not implemented");
91 }
shared_ptr< CRConnectivity > Matrix::createCoarseConnectivity ( const IContainer coarseIndex,
const CRConnectivity coarseToFine,
const StorageSite coarseRowSite,
const StorageSite coarseColSite 
)
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().

27 {
28  throw CException("createCoarseConnectivity not implemented");
29 }
shared_ptr< Matrix > Matrix::createCoarseMatrix ( const IContainer coarseIndex,
const CRConnectivity coarseToFine,
const CRConnectivity coarseConnectivity 
)
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().

35 {
36  throw CException("createCoarseMatrix not implemented");
37 }
int Matrix::createCoarsening ( IContainer coarseIndex,
const int  groupSize,
const double  weighRatioThreshold 
)
virtual

Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >.

Definition at line 16 of file Matrix.cpp.

Referenced by MultiFieldMatrix::createCoarsening().

18 {
19  throw CException("createCoarsening not implemented");
20 }
virtual shared_ptr<Matrix> Matrix::createMergeMatrix ( const LinearSystemMerger &  mergeLS)
inlinevirtual

Definition at line 57 of file Matrix.h.

57 { throw;}
Matrix::DEFINE_TYPENAME ( "Matrix"  )
virtual void Matrix::eliminateBoundaryEquations ( IContainer xB)
inlinevirtual

Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >.

Definition at line 50 of file Matrix.h.

Referenced by LinearSystem::initSolve().

50 {throw;}
void Matrix::forwardGS ( IContainer xB,
IContainer bB,
IContainer residual 
) const
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().

53 {
54  throw CException("forwardGS not implemented");
55 }
virtual const CRConnectivity& Matrix::getConnectivity ( ) const
inlinevirtual
virtual void* Matrix::getDiagData ( ) const
inlinevirtual

Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >.

Definition at line 53 of file Matrix.h.

53 {throw;}
virtual int Matrix::getDiagDataSize ( ) const
inlinevirtual

Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >.

Definition at line 55 of file Matrix.h.

55 {throw;}
virtual void* Matrix::getOffDiagData ( ) const
inlinevirtual

Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >.

Definition at line 54 of file Matrix.h.

54 {throw;}
virtual int Matrix::getOffDiagDataSize ( ) const
inlinevirtual

Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >.

Definition at line 56 of file Matrix.h.

56 {throw;}
void Matrix::iluSolve ( IContainer xB,
const IContainer bB,
const IContainer residual 
) const
virtual

Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >.

Definition at line 69 of file Matrix.cpp.

Referenced by MultiFieldMatrix::iluSolve().

71 {
72  throw CException("iluSolve not implemented");
73 }
virtual bool Matrix::isInvertible ( )
inlinevirtual

Reimplemented in DiagonalMatrix< Diag, X >.

Definition at line 73 of file Matrix.h.

Referenced by LinearSystem::initSolve().

73 {return false;}
void Matrix::Jacobi ( IContainer xnew,
const IContainer xold,
const IContainer b 
) const
virtual

Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >.

Definition at line 63 of file Matrix.cpp.

Referenced by MultiFieldMatrix::Jacobi().

65 {
66  throw CException("Jacobi not implemented");
67 }
void Matrix::multiply ( IContainer yB,
const IContainer xB 
) const
virtual
virtual void Matrix::printRow ( const int  nr) const
inlinevirtual

Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >.

Definition at line 51 of file Matrix.h.

51 {throw;}
virtual shared_ptr<ArrayBase> Matrix::quadProduct ( const IContainer xB) const
inlinevirtual

Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >.

Definition at line 28 of file Matrix.h.

Referenced by MultiFieldMatrix::quadProduct().

28 {throw;}
void Matrix::reverseGS ( IContainer xB,
IContainer bB,
IContainer residual 
) const
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().

59 {
60  throw CException("reverseGS not implemented");
61 }
virtual void Matrix::setFlatMatrix ( Matrix fmg) const
inlinevirtual

Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >.

Definition at line 59 of file Matrix.h.

Referenced by DirectSolver::solve().

59 {throw;}
void Matrix::solveBoundary ( IContainer xB,
IContainer bB,
IContainer residual 
) const
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().

83 {
84  throw CException("solveBoundary not implemented");
85 }
void Matrix::spikeSolve ( IContainer xB,
const IContainer bB,
const IContainer residual,
const SpikeStorage spike_storage 
) const
virtual

Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >.

Definition at line 74 of file Matrix.cpp.

Referenced by MultiFieldMatrix::spikeSolve().

76 {
77  throw CException("spikeSolve not imlemented");
78 }
virtual void Matrix::transpose ( )
inlinevirtual

Reimplemented in CRMatrix< T_Diag, T_OffDiag, X >, DiagonalMatrix< Diag, X >, and FluxJacobianMatrix< OffDiag, X >.

Definition at line 61 of file Matrix.h.

61 {throw;}

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