ParMooN
 All Classes Functions Variables Friends Pages
FESpace3D.h
1 // =======================================================================
2 // %W% %G%
3 //
4 // Class: TFESpace3D
5 // Purpose: class for all 3D finite element spaces
6 //
7 // Author: Gunar Matthies (22.11.97)
8 //
9 // History: start of implementation 22.11.97 (Gunar Matthies)
10 //
11 // =======================================================================
12 
13 #ifndef __FESPACE3D__
14 #define __FESPACE3D__
15 
16 #include <FESpace.h>
17 #include <FE3D.h>
18 
19 class THangingNode;
20 
22 class TFESpace3D : public TFESpace
23 {
24  protected:
27 
30 
34 
36  FE3D *UsedElements;
37 
40 
43 
45  FE3D *AllElements;
46 
47  public:
49  TFESpace3D(TCollection *coll, char *name, char *description);
50 
52  TFESpace3D(TCollection *coll, char *name, char *description,
53  BoundCondFunct3D *BoundaryCondition, int k);
54 
56  TFESpace3D(TCollection *coll, char *name, char *description,
57  BoundCondFunct3D *BoundaryCondition,
58  FE3D *fes);
59 
60  TFESpace3D(TCollection *coll, char *name, char *description,
61  BoundCondFunct3D *BoundaryCondition, SpaceType type,
62  int ord);
63 
65  ~TFESpace3D();
66 
68  void FindUsedElements();
69 
71  void ConstructSpace(BoundCondFunct3D *BoundaryCondition);
72 
75  { return N_ActiveDegrees; }
76 
79  { return N_SlaveDegrees; }
80 
83  { return HangingBound; }
84 
87  { return N_SlaveDegrees; }
88 
91  { return UsedElements; }
92 
95  { return HangingNodeArray; }
96 
98  FE3D GetFE3D(int i, TBaseCell *cell);
99 
101  void GetDOFPosition(int dof, double &x, double &y, double &z);
102 
104  void GetDOFPosition(double *x, double *y, double *z);
105 };
106 
107 #endif
FE3D * ElementForShape
Definition: FESpace3D.h:39
FE3D GetFE3D(int i, TBaseCell *cell)
Definition: FESpace3D.C:412
Definition: HangingNode.h:19
FE3D * AllElements
Definition: FESpace3D.h:45
~TFESpace3D()
Definition: FESpace3D.C:2055
void FindUsedElements()
Definition: FESpace3D.C:424
int N_SlaveDegrees
Definition: FESpace3D.h:29
Definition: FESpace3D.h:22
store cells in an array, used by cell iterators
Definition: Collection.h:18
int GetN_Hanging()
Definition: FESpace3D.h:86
void GetDOFPosition(int dof, double &x, double &y, double &z)
Definition: FESpace3D.C:2197
int GetN_SlaveDegrees()
Definition: FESpace3D.h:78
Definition: FESpace.h:30
int GetHangingBound()
Definition: FESpace3D.h:82
THangingNode ** HangingNodeArray
Definition: FESpace3D.h:42
THangingNode ** GetHangingNodes()
Definition: FESpace3D.h:94
FE3D * UsedElements
Definition: FESpace3D.h:36
int HangingBound
Definition: FESpace3D.h:33
information for finite element data structure
Definition: BaseCell.h:25
void ConstructSpace(BoundCondFunct3D *BoundaryCondition)
Definition: FESpace3D.C:459
TFESpace3D(TCollection *coll, char *name, char *description)
Definition: FESpace3D.C:39
int GetN_ActiveDegrees()
Definition: FESpace3D.h:74
int N_ActiveDegrees
Definition: FESpace3D.h:26
FE3D * GetUsedElements()
Definition: FESpace3D.h:90