ParMooN
 All Classes Functions Variables Friends Pages
FE2DMapper.h
1 // =======================================================================
2 // @(#)FE2DMapper.h 1.2 04/12/99
3 //
4 // Class: TFE2DMapper
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 // =======================================================================
11 
12 #ifndef __FE2DMAPPER__
13 #define __FE2DMAPPER__
14 
15 #define HANGINGNODE -5
16 #define FIRSTMARK -10
17 
18 #include <FEDesc2D.h>
19 #include "Vector.h"
20 #include <HangingNode.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 // =======================================================================
55 // local hanging nodes = coupling only this node on this edge
56 // =======================================================================
58  int N_Hanging;
59 
61  int *Hanging;
62 
64  HNDesc *HangingTypes;
65 
67  int **Coupling;
68 
69 // =======================================================================
70 // far hanging nodes = coupling also with node not on this edge
71 // =======================================================================
74 
76  int *FarHanging;
77 
79  HNDesc *FarHangingTypes;
80 
82  int ****FarCoupling;
83 
84  public:
86  TFE2DMapper(char *name, char *description, int n0, int n1,
87  int n_pairs, int *pairs,
88  int n_hanging, int *hanging,
89  HNDesc *hangingtypes, int **coupling,
90  int n_farhanging, int *farhanging,
91  HNDesc *farhangingtypes, int ****farcoupling,
92  int n_noopposite, int *noopposite,
93  int n_nodes);
94 
95  // Methods
97  char *GetName()
98  { return Name; }
99 
102  { return Description; }
103 
105  int GetN_DOF0()
106  { return N_DOF0; }
107 
109  int GetN_DOF1()
110  { return N_DOF1; }
111 
113  void GetN_DOF(int &n0, int &n1)
114  {
115  n0 = N_DOF1;
116  n1 = N_DOF1;
117  }
118 
121  { return N_Pairs; }
122 
124  int *GetPairs()
125  { return Pairs; }
126 
128  HNDesc *GetHangingTypes()
129  { return HangingTypes; }
130 
132  int **GetCoupling()
133  { return Coupling; }
134 
137  { return FarHangingTypes; }
138 
140  int ****GetFarCoupling()
141  { return FarCoupling; }
142 
145  { return N_NoOpposite; }
146 
149  { return NoOpposite; }
150 
152  void Map(int *Global, int I_K0, int I_K1,
153  int *Indices0, int *Indices1,
154  int LocEdge0, int LocEdge1,
155  TFEDesc2D *Desc0, TFEDesc2D *Desc1,
156  int &Counter,
158  TVector<int> *numbers);
159 
161  void MapBound(int *Global, int I_K, int *Indices,
162  int &BoundCounter);
163 
165  void MapDOF(int *Global, int dof0, int dof1, int &Counter);
166 
169  { delete Aux; }
170 
171 };
172 
173 #endif
int N_FarHanging
Definition: FE2DMapper.h:73
int * GetNoOpposite()
Definition: FE2DMapper.h:148
HNDesc * HangingTypes
Definition: FE2DMapper.h:64
char * Name
Definition: FE2DMapper.h:28
HNDesc * GetFarHangingTypes()
Definition: FE2DMapper.h:136
int GetN_DOF0()
Definition: FE2DMapper.h:105
int * Aux
Definition: FE2DMapper.h:52
int * Hanging
Definition: FE2DMapper.h:61
int ** Coupling
Definition: FE2DMapper.h:67
TFE2DMapper(char *name, char *description, int n0, int n1, int n_pairs, int *pairs, int n_hanging, int *hanging, HNDesc *hangingtypes, int **coupling, int n_farhanging, int *farhanging, HNDesc *farhangingtypes, int ****farcoupling, int n_noopposite, int *noopposite, int n_nodes)
Definition: FE2DMapper.C:19
~TFE2DMapper()
Definition: FE2DMapper.h:168
int **** GetFarCoupling()
Definition: FE2DMapper.h:140
void Map(int *Global, int I_K0, int I_K1, int *Indices0, int *Indices1, int LocEdge0, int LocEdge1, TFEDesc2D *Desc0, TFEDesc2D *Desc1, int &Counter, TVector< THangingNode * > *vect, TVector< int > *numbers)
Definition: FE2DMapper.C:63
int GetN_Pairs()
Definition: FE2DMapper.h:120
int * FarHanging
Definition: FE2DMapper.h:76
int N_NoOpposite
Definition: FE2DMapper.h:46
int N_Hanging
Definition: FE2DMapper.h:58
int * Pairs
Definition: FE2DMapper.h:43
void GetN_DOF(int &n0, int &n1)
Definition: FE2DMapper.h:113
int N_DOF0
Definition: FE2DMapper.h:34
int * GetPairs()
Definition: FE2DMapper.h:124
char * GetDescription()
Definition: FE2DMapper.h:101
int N_DOF1
Definition: FE2DMapper.h:37
void MapDOF(int *Global, int dof0, int dof1, int &Counter)
Definition: FE2DMapper.C:157
int GetN_DOF1()
Definition: FE2DMapper.h:109
HNDesc * GetHangingTypes()
Definition: FE2DMapper.h:128
void MapBound(int *Global, int I_K, int *Indices, int &BoundCounter)
Definition: FE2DMapper.C:121
int GetN_NoOpposite()
Definition: FE2DMapper.h:144
Definition: Vector.h:24
int ** GetCoupling()
Definition: FE2DMapper.h:132
char * Description
Definition: FE2DMapper.h:31
int N_Pairs
Definition: FE2DMapper.h:40
Definition: FEDesc2D.h:15
Definition: FE2DMapper.h:24
HNDesc * FarHangingTypes
Definition: FE2DMapper.h:79
char * GetName()
Definition: FE2DMapper.h:97
int **** FarCoupling
Definition: FE2DMapper.h:82
int * NoOpposite
Definition: FE2DMapper.h:49