source: issm/trunk-jpl/src/c/objects/Numerics/ElementMatrix.h@ 10937

Last change on this file since 10937 was 8800, checked in by Eric.Larour, 14 years ago

Modified API for modules, to take into account new constraint applications, without nodesets

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