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

Last change on this file since 5772 was 5772, checked in by Eric.Larour, 15 years ago

New solution strategy, based on creation of Kff, Kfs directly,
instead of Kgg. Idem for pf instead of pg.
Kept backwards compatibility for now, and only applied to macayeal diagnostic
in 2d. Will switch to this new strategy in the near future.

File size: 1.5 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 internal as well as external
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/*}}}*/
16
17class ElementMatrix{
18
19 public:
20
21 int nrows;
22 int ncols;
23 double* values;
24 bool symmetric;
25 bool kff;
26
27 //gset
28 int* gexternaldoflist;
29
30 /*row wise: */
31 //fset
32 int row_fsize;
33 int* row_finternaldoflist;
34 int* row_fexternaldoflist;
35 //sset
36 int row_ssize;
37 int* row_sinternaldoflist;
38 int* row_sexternaldoflist;
39
40 /*column wise: */
41 //fset
42 int col_fsize;
43 int* col_finternaldoflist;
44 int* col_fexternaldoflist;
45 //sset
46 int col_ssize;
47 int* col_sinternaldoflist;
48 int* col_sexternaldoflist;
49
50 /*ElementMatrix constructors, destructors {{{1*/
51 ElementMatrix();
52 ElementMatrix(int gsize,bool symmetric,int* gexternaldoflist);
53 ElementMatrix(int gsize,bool symmetric,int* finternaldoflist,int* fexternaldoflist,int fsize,int* sinternaldoflist,int* sexternaldoflist,int ssize);
54 ~ElementMatrix();
55 /*}}}*/
56 /*ElementMatrix specific routines {{{1*/
57 void AddValues(double* Ke_gg);
58 void AddToGlobal(Mat Kgg, Mat Kff, Mat Kfs);
59 void Echo(void);
60 /*}}}*/
61};
62#endif //#ifndef _ELEMENT_MATRIX_H_
63
Note: See TracBrowser for help on using the repository browser.