/*!\file: ElementMatrix.h * \brief container for information needed to plug element matrix generated by elements * into the Kff and Kfs global matrices. * This object will hold the element matrix on the g-set, the local as well as global * dof lists in the f and s sets. */ #ifndef _ELEMENT_MATRIX_H_ #define _ELEMENT_MATRIX_H_ /*Headers:*/ /*{{{1*/ #include "../Object.h" #include "../../toolkits/toolkits.h" /*}}}*/ class ElementMatrix{ public: int nrows; int ncols; double* values; bool square; bool kff; //gset int* gglobaldoflist; /*row wise: */ //fset int row_fsize; int* row_flocaldoflist; int* row_fglobaldoflist; //sset int row_ssize; int* row_slocaldoflist; int* row_sglobaldoflist; /*column wise: */ //fset int col_fsize; int* col_flocaldoflist; int* col_fglobaldoflist; //sset int col_ssize; int* col_slocaldoflist; int* col_sglobaldoflist; /*ElementMatrix constructors, destructors {{{1*/ ElementMatrix(); ElementMatrix(int gsize,bool square,int* gglobaldoflist); ElementMatrix(int gsize,bool square,int* flocaldoflist,int* fglobaldoflist,int fsize,int* slocaldoflist,int* sglobaldoflist,int ssize); ~ElementMatrix(); /*}}}*/ /*ElementMatrix specific routines {{{1*/ void AddValues(double* Ke_gg); void AddToGlobal(Mat Kgg, Mat Kff, Mat Kfs); void Echo(void); /*}}}*/ }; #endif //#ifndef _ELEMENT_MATRIX_H_