MBDyn-1.7.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
SparseMatrixHandler Class Referenceabstract

#include <spmh.h>

Inheritance diagram for SparseMatrixHandler:
Collaboration diagram for SparseMatrixHandler:

Classes

struct  SparseMatrixElement
 
struct  SparseMatrixElement_base
 
struct  SparseMatrixElementConstRef
 
struct  SparseMatrixElementRef
 

Public Member Functions

const integer Nz () const
 
 SparseMatrixHandler (const integer &n, const integer &nn=0)
 
virtual ~SparseMatrixHandler (void)
 
integer iGetNumRows (void) const
 
integer iGetNumCols (void) const
 
virtual integer MakeCompressedColumnForm (doublereal *const Ax, integer *const Ai, integer *const Ap, int offset=0) const =0
 
virtual integer MakeCompressedColumnForm (std::vector< doublereal > &Ax, std::vector< integer > &Ai, std::vector< integer > &Ap, int offset=0) const =0
 
virtual integer MakeIndexForm (doublereal *const Ax, integer *const Arow, integer *const Acol, integer *const AcolSt, int offset=0) const =0
 
virtual integer MakeIndexForm (std::vector< doublereal > &Ax, std::vector< integer > &Arow, std::vector< integer > &Acol, std::vector< integer > &AcolSt, int offset=0) const =0
 
virtual VectorHandlerGetCol (integer icol, VectorHandler &out) const =0
 
- Public Member Functions inherited from MatrixHandler
virtual ~MatrixHandler (void)
 
virtual void Resize (integer, integer)=0
 
virtual void ResizeReset (integer, integer)
 
virtual const doublerealpdGetMat (void) const
 
virtual doublerealpdGetMat (void)
 
virtual integerpiGetRows (void) const
 
virtual integerpiGetCols (void) const
 
virtual integer PacMat (void)
 
virtual void Reset (void)=0
 
virtual void PutCoef (integer iRow, integer iCol, const doublereal &dCoef)
 
virtual void IncCoef (integer iRow, integer iCol, const doublereal &dCoef)
 
virtual void DecCoef (integer iRow, integer iCol, const doublereal &dCoef)
 
virtual const doublerealdGetCoef (integer iRow, integer iCol) const
 
virtual const doublerealoperator() (integer iRow, integer iCol) const =0
 
virtual doublerealoperator() (integer iRow, integer iCol)=0
 
virtual MatrixHandleroperator= (const MatrixHandler &MH)
 
virtual MatrixHandleroperator+= (const SubMatrixHandler &SubMH)
 
virtual MatrixHandleroperator-= (const SubMatrixHandler &SubMH)
 
virtual MatrixHandleroperator+= (const VariableSubMatrixHandler &SubMH)
 
virtual MatrixHandleroperator-= (const VariableSubMatrixHandler &SubMH)
 
virtual MatrixHandlerScalarMul (const doublereal &d)
 
virtual MatrixHandlerMatMatMul (MatrixHandler &out, const MatrixHandler &in) const
 
virtual MatrixHandlerMatTMatMul (MatrixHandler &out, const MatrixHandler &in) const
 
virtual MatrixHandlerMatMatIncMul (MatrixHandler &out, const MatrixHandler &in) const
 
virtual MatrixHandlerMatTMatIncMul (MatrixHandler &out, const MatrixHandler &in) const
 
virtual MatrixHandlerMatMatDecMul (MatrixHandler &out, const MatrixHandler &in) const
 
virtual MatrixHandlerMatTMatDecMul (MatrixHandler &out, const MatrixHandler &in) const
 
virtual VectorHandlerMatVecMul (VectorHandler &out, const VectorHandler &in) const
 
virtual VectorHandlerMatTVecMul (VectorHandler &out, const VectorHandler &in) const
 
virtual VectorHandlerMatVecIncMul (VectorHandler &out, const VectorHandler &in) const
 
virtual VectorHandlerMatTVecIncMul (VectorHandler &out, const VectorHandler &in) const
 
virtual VectorHandlerMatVecDecMul (VectorHandler &out, const VectorHandler &in) const
 
virtual VectorHandlerMatTVecDecMul (VectorHandler &out, const VectorHandler &in) const
 
virtual doublereal ConditionNumber (enum Norm_t eNorm=NORM_1) const
 
virtual doublereal Norm (enum Norm_t eNorm=NORM_1) const
 

Protected Attributes

integer NRows
 
integer NCols
 
integer NZ
 

Additional Inherited Members

- Public Types inherited from MatrixHandler
enum  Norm_t { NORM_1, NORM_INF }
 
- Protected Member Functions inherited from MatrixHandler
virtual MatrixHandlerMatMatMul_base (void(MatrixHandler::*op)(integer iRow, integer iCol, const doublereal &dCoef), MatrixHandler &out, const MatrixHandler &in) const
 
virtual MatrixHandlerMatTMatMul_base (void(MatrixHandler::*op)(integer iRow, integer iCol, const doublereal &dCoef), MatrixHandler &out, const MatrixHandler &in) const
 
virtual VectorHandlerMatVecMul_base (void(VectorHandler::*op)(integer iRow, const doublereal &dCoef), VectorHandler &out, const VectorHandler &in) const
 
virtual VectorHandlerMatTVecMul_base (void(VectorHandler::*op)(integer iRow, const doublereal &dCoef), VectorHandler &out, const VectorHandler &in) const
 

Detailed Description

Definition at line 43 of file spmh.h.

Constructor & Destructor Documentation

SparseMatrixHandler::SparseMatrixHandler ( const integer n,
const integer nn = 0 
)

Definition at line 38 of file spmh.cc.

References NO_OP.

39 : NRows(n), NCols(nn == 0 ? n : nn), NZ(0)
40 {
41  NO_OP;
42 }
#define NO_OP
Definition: myassert.h:74
integer NZ
Definition: spmh.h:47
integer NRows
Definition: spmh.h:45
integer NCols
Definition: spmh.h:46
SparseMatrixHandler::~SparseMatrixHandler ( void  )
virtual

Definition at line 44 of file spmh.cc.

References NO_OP.

45 {
46  NO_OP;
47 }
#define NO_OP
Definition: myassert.h:74

Member Function Documentation

virtual VectorHandler& SparseMatrixHandler::GetCol ( integer  icol,
VectorHandler out 
) const
pure virtual
virtual integer SparseMatrixHandler::MakeCompressedColumnForm ( doublereal *const  Ax,
integer *const  Ai,
integer *const  Ap,
int  offset = 0 
) const
pure virtual
virtual integer SparseMatrixHandler::MakeCompressedColumnForm ( std::vector< doublereal > &  Ax,
std::vector< integer > &  Ai,
std::vector< integer > &  Ap,
int  offset = 0 
) const
pure virtual
virtual integer SparseMatrixHandler::MakeIndexForm ( doublereal *const  Ax,
integer *const  Arow,
integer *const  Acol,
integer *const  AcolSt,
int  offset = 0 
) const
pure virtual

Implemented in SpMapMatrixHandler, and CompactSparseMatrixHandler.

Referenced by SetupSystem().

virtual integer SparseMatrixHandler::MakeIndexForm ( std::vector< doublereal > &  Ax,
std::vector< integer > &  Arow,
std::vector< integer > &  Acol,
std::vector< integer > &  AcolSt,
int  offset = 0 
) const
pure virtual

Member Data Documentation


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