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

Last change on this file since 6029 was 6029, checked in by Mathieu Morlighem, 14 years ago

Fixed Adjoint Balanced thickness-> The stiffness matrix must be transposed

File size: 1.6 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 bool kff;
27 double* values;
28
29 //gset
30 int* gglobaldoflist;
31
32 /*row wise: */
33 //fset
34 int row_fsize;
35 int* row_flocaldoflist;
36 int* row_fglobaldoflist;
37 //sset
38 int row_ssize;
39 int* row_slocaldoflist;
40 int* row_sglobaldoflist;
41
42 /*column wise: */
43 //fset
44 int col_fsize;
45 int* col_flocaldoflist;
46 int* col_fglobaldoflist;
47 //sset
48 int col_ssize;
49 int* col_slocaldoflist;
50 int* col_sglobaldoflist;
51
52 /*ElementMatrix constructors, destructors {{{1*/
53 ElementMatrix();
54 ElementMatrix(ElementMatrix* Ke);
55 ElementMatrix(ElementMatrix* Ke1,ElementMatrix* Ke2);
56 ElementMatrix(ElementMatrix* Ke1,ElementMatrix* Ke2,ElementMatrix* Ke3);
57 ElementMatrix(Node** nodes,int numnodes,Parameters* parameters,int approximation=NoneApproximationEnum);
58 ~ElementMatrix();
59 /*}}}*/
60 /*ElementMatrix specific routines {{{1*/
61 void AddToGlobal(Mat Kgg, Mat Kff, Mat Kfs);
62 void Echo(void);
63 void CheckConsistency(void);
64 void Transpose(void);
65 void Init(ElementMatrix* Ke);
66 /*}}}*/
67};
68#endif //#ifndef _ELEMENT_MATRIX_H_
Note: See TracBrowser for help on using the repository browser.