Last change
on this file since 11679 was 11679, checked in by Eric.Larour, 13 years ago |
Large commit, to strip out Petsc from the code. Created new Matrix and Vector
wrapper objects to the Petsc Mat and Vec objects. These wrappers make it possible
to hook up a different package to handle matrix and vector operations.
|
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"
|
---|
16 | class Node;
|
---|
17 | /*}}}*/
|
---|
18 |
|
---|
19 | class 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(Matrix* Kff, Matrix* Kfs);
|
---|
61 | void AddToGlobal(Matrix* Jff);
|
---|
62 | void Echo(void);
|
---|
63 | void CheckConsistency(void);
|
---|
64 | void Transpose(void);
|
---|
65 | void Init(ElementMatrix* Ke);
|
---|
66 | void SetDiag(double scalar);
|
---|
67 | /*}}}*/
|
---|
68 | };
|
---|
69 | #endif //#ifndef _ELEMENT_MATRIX_H_
|
---|
Note:
See
TracBrowser
for help on using the repository browser.