source: issm/trunk/src/c/objects/Numerics/ElementMatrix.h@ 12706

Last change on this file since 12706 was 12706, checked in by Mathieu Morlighem, 13 years ago

merged trunk-jpl and trunk for revision 12703

File size: 1.7 KB
RevLine 
[5772]1/*!\file: ElementMatrix.h
2 * \brief container for information needed to plug element matrix generated by elements
3 * into the Kff and Kfs global matrices.
[5827]4 * This object will hold the element matrix on the g-set, the local as well as global
[5772]5 * dof lists in the f and s sets.
6 */
7
8#ifndef _ELEMENT_MATRIX_H_
9#define _ELEMENT_MATRIX_H_
10
11/*Headers:*/
[12706]12/*{{{*/
[5772]13#include "../Object.h"
14#include "../../toolkits/toolkits.h"
[5989]15#include "../../EnumDefinitions/EnumDefinitions.h"
16class Node;
[5772]17/*}}}*/
18
19class ElementMatrix{
20
21 public:
22
23 int nrows;
24 int ncols;
[6021]25 bool dofsymmetrical;
[12706]26 IssmDouble* values;
[5772]27
28 //gset
[5827]29 int* gglobaldoflist;
[5772]30
31 /*row wise: */
32 //fset
33 int row_fsize;
[5827]34 int* row_flocaldoflist;
35 int* row_fglobaldoflist;
[5772]36 //sset
37 int row_ssize;
[5827]38 int* row_slocaldoflist;
39 int* row_sglobaldoflist;
[5772]40
41 /*column wise: */
42 //fset
43 int col_fsize;
[5827]44 int* col_flocaldoflist;
45 int* col_fglobaldoflist;
[5772]46 //sset
47 int col_ssize;
[5827]48 int* col_slocaldoflist;
49 int* col_sglobaldoflist;
[5772]50
[12706]51 /*ElementMatrix constructors, destructors {{{*/
[5772]52 ElementMatrix();
[6029]53 ElementMatrix(ElementMatrix* Ke);
[5831]54 ElementMatrix(ElementMatrix* Ke1,ElementMatrix* Ke2);
[5873]55 ElementMatrix(ElementMatrix* Ke1,ElementMatrix* Ke2,ElementMatrix* Ke3);
[5989]56 ElementMatrix(Node** nodes,int numnodes,Parameters* parameters,int approximation=NoneApproximationEnum);
[5772]57 ~ElementMatrix();
58 /*}}}*/
[12706]59 /*ElementMatrix specific routines {{{*/
[11995]60 void AddToGlobal(Matrix* Kff, Matrix* Kfs);
61 void AddToGlobal(Matrix* Jff);
[5772]62 void Echo(void);
[5885]63 void CheckConsistency(void);
[6027]64 void Transpose(void);
[5831]65 void Init(ElementMatrix* Ke);
[12706]66 void SetDiag(IssmDouble scalar);
[5772]67 /*}}}*/
68};
69#endif //#ifndef _ELEMENT_MATRIX_H_
Note: See TracBrowser for help on using the repository browser.