ParMooN
 All Classes Functions Variables Friends Pages
FE3DMapper.h
1 // =======================================================================
2 // %W% %G%
3 //
4 // Class: TFE3DMapper
5 // Purpose: find out which of the given local degress of freedom
6 // are equivalent to the same global degree of freedom
7 //
8 // Author: Gunar Matthies 05.11.97
9 //
10 // History: Added edge details by Sashi (08.03.12)
11 // =======================================================================
12 
13 #ifndef __FE3DMAPPER__
14 #define __FE3DMAPPER__
15 
16 #define HANGINGNODE -5
17 #define FIRSTMARK -10
18 
19 #include <FEDesc3D.h>
20 #include "Vector.h"
21 
25 {
26  protected:
28  char *Name;
29 
31  char *Description;
32 
34  int N_DOF0;
35 
37  int N_DOF1;
38 
40  int N_Pairs;
41 
43  int **Pairs;
44 
47 
49  int **NoOpposite;
50 
52  int *Aux;
53 
54  public:
56  TFE3DMapper(char *name, char *description, int n0, int n1,
57  int n_pairs, int **pairs,
58  int n_noopposite, int **noopposite,
59  int n_nodes);
60 
61  // Methods
63  char *GetName() const
64  { return Name; }
65 
67  char *GetDescription() const
68  { return Description; }
69 
71  int GetN_DOF0() const
72  { return N_DOF0; }
73 
75  int GetN_DOF1() const
76  { return N_DOF1; }
77 
79  void GetN_DOF(int &n0, int &n1) const
80  {
81  n0 = N_DOF1;
82  n1 = N_DOF1;
83  }
84 
86  int GetN_Pairs() const
87  { return N_Pairs; }
88 
90  int **GetPairs() const
91  { return Pairs; }
92 
94  int *GetPairs(int i) const
95  { return Pairs[i]; }
96 
98  void Map(int Type,
99  int *Global, int I_K0, int I_K1,
100  int *Indices0, int *Indices1,
101  int LocEdge0, int LocEdge1,
102  TFEDesc3D *Desc0, TFEDesc3D *Desc1,
103  int &Counter,
105  TVector<int> *numbers);
106 
108  void MapBound(int *Global, int I_K, int *Indices,
109  int &BoundCounter,
111  TVector<int> *numbers);
112 
114  void MapDOF(int *Global, int dof0, int dof1, int &Counter,
116  TVector<int> *numbers);
117 
119  void MapBoundEdge(int N_EdgeDOF, int *Global, int I_K, int *Indices,
120  int &BoundCounter,
122  TVector<int> *numbers);
123 
125  void MapBoundVert(int *Global, int I_K, int Index,
126  int &BoundCounter,
128  TVector<int> *numbers);
129 
130 
133  { delete Aux; }
134 
135 };
136 
137 #endif
int ** GetPairs() const
Definition: FE3DMapper.h:90
int N_NoOpposite
Definition: FE3DMapper.h:46
void GetN_DOF(int &n0, int &n1) const
Definition: FE3DMapper.h:79
void MapBound(int *Global, int I_K, int *Indices, int &BoundCounter, TVector< THangingNode * > *vect, TVector< int > *numbers)
Definition: FE3DMapper.C:75
int ** Pairs
Definition: FE3DMapper.h:43
char * Description
Definition: FE3DMapper.h:31
int N_DOF1
Definition: FE3DMapper.h:37
char * GetDescription() const
Definition: FE3DMapper.h:67
void Map(int Type, int *Global, int I_K0, int I_K1, int *Indices0, int *Indices1, int LocEdge0, int LocEdge1, TFEDesc3D *Desc0, TFEDesc3D *Desc1, int &Counter, TVector< THangingNode * > *vect, TVector< int > *numbers)
Definition: FE3DMapper.C:42
char * GetName() const
Definition: FE3DMapper.h:63
int N_DOF0
Definition: FE3DMapper.h:34
void MapBoundVert(int *Global, int I_K, int Index, int &BoundCounter, TVector< THangingNode * > *vect, TVector< int > *numbers)
Definition: FE3DMapper.C:335
void MapBoundEdge(int N_EdgeDOF, int *Global, int I_K, int *Indices, int &BoundCounter, TVector< THangingNode * > *vect, TVector< int > *numbers)
Definition: FE3DMapper.C:273
int N_Pairs
Definition: FE3DMapper.h:40
int GetN_Pairs() const
Definition: FE3DMapper.h:86
void MapDOF(int *Global, int dof0, int dof1, int &Counter, TVector< THangingNode * > *vect, TVector< int > *numbers)
Definition: FE3DMapper.C:134
char * Name
Definition: FE3DMapper.h:28
int * Aux
Definition: FE3DMapper.h:52
TFE3DMapper(char *name, char *description, int n0, int n1, int n_pairs, int **pairs, int n_noopposite, int **noopposite, int n_nodes)
Definition: FE3DMapper.C:18
Definition: Vector.h:24
Definition: FE3DMapper.h:24
Definition: FEDesc3D.h:19
int GetN_DOF1() const
Definition: FE3DMapper.h:75
int ** NoOpposite
Definition: FE3DMapper.h:49
int * GetPairs(int i) const
Definition: FE3DMapper.h:94
~TFE3DMapper()
Definition: FE3DMapper.h:132
int GetN_DOF0() const
Definition: FE3DMapper.h:71