Public Methods |
| | MatEBE(Type) () |
| | MatEBE(Type) (const Matrix(prm_Type) &pm) |
| | MatEBE(Type) (const MatEBE(Type) &X) |
| | MatEBE(Type) (int no_eqs, int no_dof, int no_elms, int maxno_elmeqs, int maxno_elmdof, bool all_elms_of_same_type=true) |
| virtual | ~MatEBE(Type) () |
| virtual int | getNoRows () const |
| virtual int | getNoColumns () const |
| virtual int | getNoNonzeroes () const |
| virtual int | getMaxNoElmEqs () const |
| virtual int | getMaxNoElmDof () const |
| virtual void | size (int &m, int &n) const |
| int | size () const |
| virtual int | getWork (const MatrixWork work_tp=MATVEC_WORK) const |
| virtual real | getStorage () const |
| virtual bool | makeItSimilar (Handle(Matrix(Type)) &M) const |
| virtual bool | redim (const Matrix(prm_Type) &pm) |
| bool | redim (int no_eqs, int no_dof, int no_elms, int maxno_elmeqs, int maxno_elmdof, bool all_elms_of_same_type=true) |
| virtual bool | redim (const VecSimple(int) &ivec, const VecSimple(int) &jvec, int new_nrows, int new_ncolumns) |
| virtual void | getIndexSet (VecSimple(int) &ivec, VecSimple(int) &jvec) const |
| virtual bool | validIndexSet (const VecSimple(int) &ivec, const VecSimple(int) &jvec, const int new_nrows, const int new_ncolumns) |
| virtual Type& | elm (int i, int j) |
| Type& | operator() (int e, int i, int j) |
| const Type& | operator() (int e, int i, int j) const |
| virtual void | fill (const Matrix(Type) &X) |
| virtual void | fill (Type b) |
| MatEBE(Type)& | operator= (const MatEBE(Type) &X) |
| MatEBE(Type)& | operator= (Type b) |
| virtual void | assemble (const Mat(Type) &em, const VecSimple(int) &idx_row_trans, const VecSimple(int) &idx_col_trans, int e) |
| virtual void | add (Matrix(Type) &bb, Matrix(Type) &cb) |
| virtual void | add (Matrix(Type) &bb, char s, Matrix(Type) &cb) |
| virtual void | add (Matrix(Type) &bb, Type b, Matrix(Type) &cb) |
| virtual void | add (Type a, Matrix(Type) &bb, Type b, Matrix(Type) &cb) |
| virtual void | mult (Type value) |
| virtual void | prod (const Vector(Type) &xb, Vector(Type) &yb, TransposeMode tpmode=NOT_TRANSPOSED, bool add_to_yb=false) const |
| bool | factChol (bool zero_upper_part=true) |
| void | forwBackChol (Vec(Type) &b, Vec(Type) &x) |
| bool | factLU () |
| void | forwBackLU (Vec(Type) &b, Vec(Type) &x) |
| bool | factRILU (real omega=0.0, int level=0) |
| void | forwBackRILU (Vec(Type) &b, Vec(Type) &x) |
| virtual bool | factorize (const FactStrategy &fstrategy) |
| virtual void | forwBack (Vector(Type) &b, Vector(Type) &x) |
| virtual void | inverse (Mat(Type) &inv) |
| void | inverse (MatEBE(Type) &inv) |
| Type | det () |
| virtual void | SSOR1it (Vector(Type) &xnew, const Vector(Type) &xold, const Vector(Type) &b, real omega, TransposeMode tpmode=NOT_TRANSPOSED) const |
| virtual void | SSORsolve (Vector(Type) &y, const Vector(Type) &c, real omega, TransposeMode tpmode=NOT_TRANSPOSED) const |
| virtual void | SOR1it (Vector(Type) &xnew, const Vector(Type) &xold, const Vector(Type) &b, real omega, TransposeMode tpmode=NOT_TRANSPOSED) const |
| virtual void | SORsolve (Vector(Type) &y, const Vector(Type) &c, real omega, TransposeMode tpmode=NOT_TRANSPOSED) const |
| virtual void | Jacobi1it (Vector(Type) &xnew, const Vector(Type) &xold, const Vector(Type) &b, TransposeMode tpmode=NOT_TRANSPOSED) const |
| virtual void | Jacobisolve (Vector(Type) &y, const Vector(Type) &c, TransposeMode tpmode=NOT_TRANSPOSED) const |
| virtual void | print (Os os, const char *header=NULL, int nentries_per_line=3) const |
| virtual void | printAscii (Os os, const char *header=NULL) const |
| virtual void | scan (Is is) |
| virtual void | save (const char *filename, const char *name="X") const |
| virtual void | load (const char *filename, const char *name="X") |
| CLASS_INFO | VIRTUAL_CAST (MatEBE(Type)) |
Protected Methods |
| void | copy_simple_parameters (const MatEBE(Type) &X) |
Protected Attributes |
| ArrayGen(Type) | a |
| ArrayGenSimple(int) | loc2glob_eqs |
| ArrayGenSimple(int) | loc2glob_dof |
| int | no_eqs |
| int | no_dof |
| int | no_elms |
| int | maxno_elmeqs |
| int | maxno_elmdof |
| bool | all_elms_of_same_type |
Friends |
| Os& | operator<< (Os &os, const MatEBE(Type) &X) |
| Is& | operator>> (Is &is, MatEBE(Type) &X) |
The class defines a matrix where the contributions are stored element by element (in conjunction with finite element formulations) in an object of type ArrayGen. The first index of the ArrayGen object runs over the elements, while 2nd and 3rd indices equal the (maximum) number of equations and degrees of freedom in the elements, respectively. Derivation from class "Matrix(Type)" ensures that the class is of a matrix nature. The matrix is filled through calls to the assemble function (in the element loop).