ParMooN
 All Classes Functions Variables Friends Pages
FEDesc3D.h
1 // =======================================================================
2 // %W% %G%
3 //
4 // Class: TFEDesc3D
5 // Purpose: store a finite element descriptor for a 3D element
6 //
7 // Author: Gunar Matthies 23.07.98
8 //
9 // History: Added info of edges and vertices for parallel
10 // (Sashikumaar Ganesan 08.09.2010)
11 // =======================================================================
12 
13 #ifndef __FEDESC3D__
14 #define __FEDESC3D__
15 
16 #include <Enumerations.h>
17 
19 class TFEDesc3D
20 {
21  protected:
23  char *Description;
24 
26  int N_DOF;
27 
30 
32  int **JointDOF;
33 
36 
38  int *InnerDOF;
39 
42 
44  int *OuterDOF;
45 
46 #ifdef _MPI
47 
49 
51  int N_EdgeDOF;
52 
54  int **EdgeDOF;
55 
57  int N_VertDOF;
58 
60  int *VertDOF;
61 #endif
62 
63  public:
65  TFEDesc3D(char *description, int n_dof, int n_jointdof,
66  int **jointdof, int n_innerdof, int *innerdof);
67 
69  TFEDesc3D(char *description, int n_dof, int n_jointdof,
70  int **jointdof, int n_innerdof, int *innerdof,
71  int n_outerdof, int *outerdof);
72 
73 #ifdef _MPI
74 
75  TFEDesc3D(char *description, int n_dof, int n_jointdof,
76  int **jointdof, int n_innerdof, int *innerdof,
77  int n_edgeDOF, int **edgeDOF, int n_vertDOF, int *vertDOF );
78 
80  TFEDesc3D(char *description, int n_dof, int n_jointdof,
81  int **jointdof, int n_innerdof, int *innerdof,
82  int n_outerdof, int *outerdof,
83  int n_edgeDOF, int **edgeDOF, int n_vertDOF, int *vertDOF );
84 
85 
87  int GetN_EdgeDOF() const
88  { return N_EdgeDOF; }
89 
91  int **GetEdgeDOF() const
92  { return EdgeDOF; }
93 
95  int *GetEdgeDOF(int i) const
96  { return EdgeDOF[i]; }
97 
99  int GetN_VertDOF() const
100  { return N_VertDOF; }
101 
103  int GetVertDOF(int i) const
104  { return VertDOF[i]; }
105 
106  int IsEdgeVertData_Filled() const
107  {return EdgeVertData_Filled; }
108 
109 #endif
110 
112  char *GetDescription() const
113  { return Description; }
114 
116  int GetN_DOF() const
117  { return N_DOF; }
118 
120  int GetN_JointDOF() const
121  { return N_JointDOF; }
122 
124  int GetN_InnerDOF() const
125  { return N_InnerDOF; }
126 
128  int *GetInnerDOF() const
129  { return InnerDOF; }
130 
132  int GetN_OuterDOF() const
133  { return N_OuterDOF; }
134 
136  int *GetOuterDOF() const
137  { return OuterDOF; }
138 
141  void GetOuterDOF(int &n_outerdof, int* &outerdof) const
142  { n_outerdof = N_OuterDOF; outerdof = OuterDOF; }
143 
145  int **GetJointDOF() const
146  { return JointDOF; }
147 
149  int *GetJointDOF(int i) const
150  { return JointDOF[i]; }
151 
157  int GetJointOfThisDOF(int localDOF) const;
158 
159 };
160 
161 #endif
char * Description
Definition: FEDesc3D.h:23
int GetN_OuterDOF() const
Definition: FEDesc3D.h:132
int GetN_DOF() const
Definition: FEDesc3D.h:116
char * GetDescription() const
Definition: FEDesc3D.h:112
int GetN_JointDOF() const
Definition: FEDesc3D.h:120
int * GetInnerDOF() const
Definition: FEDesc3D.h:128
TFEDesc3D(char *description, int n_dof, int n_jointdof, int **jointdof, int n_innerdof, int *innerdof)
Definition: FEDesc3D.C:16
int * GetEdgeDOF(int i) const
Definition: FEDesc3D.h:95
int * VertDOF
Definition: FEDesc3D.h:60
int N_DOF
Definition: FEDesc3D.h:26
int N_VertDOF
Definition: FEDesc3D.h:57
int * GetOuterDOF() const
Definition: FEDesc3D.h:136
void GetOuterDOF(int &n_outerdof, int *&outerdof) const
Definition: FEDesc3D.h:141
int GetN_EdgeDOF() const
Definition: FEDesc3D.h:87
int N_InnerDOF
Definition: FEDesc3D.h:35
int GetJointOfThisDOF(int localDOF) const
Definition: FEDesc3D.C:115
int N_OuterDOF
Definition: FEDesc3D.h:41
int * InnerDOF
Definition: FEDesc3D.h:38
int N_EdgeDOF
Definition: FEDesc3D.h:51
int N_JointDOF
Definition: FEDesc3D.h:29
int ** GetJointDOF() const
Definition: FEDesc3D.h:145
int EdgeVertData_Filled
Definition: FEDesc3D.h:48
int * GetJointDOF(int i) const
Definition: FEDesc3D.h:149
int GetN_InnerDOF() const
Definition: FEDesc3D.h:124
int GetN_VertDOF() const
Definition: FEDesc3D.h:99
int ** EdgeDOF
Definition: FEDesc3D.h:54
int ** JointDOF
Definition: FEDesc3D.h:32
Definition: FEDesc3D.h:19
int ** GetEdgeDOF() const
Definition: FEDesc3D.h:91
int * OuterDOF
Definition: FEDesc3D.h:44
int GetVertDOF(int i) const
Definition: FEDesc3D.h:103