ParMooN
 All Classes Functions Variables Friends Pages
RefTrans2D.h
1 // =======================================================================
2 // @(#)RefTrans2D.h 1.4 04/13/00
3 //
4 // Class: TRefTrans2D
5 //
6 // Purpose: reference transformations for 2D geometric objects
7 //
8 // Author: Gunar Matthies
9 //
10 // History: 08.07.97 start implementation
11 //
12 // =======================================================================
13 
14 #ifndef __REFTRANS2D__
15 #define __REFTRANS2D__
16 
17 #include <Constants.h>
18 #include <Enumerations.h>
19 #include <BaseCell.h>
20 
23 {
24  protected:
25  TBaseCell *Cell;
26 
27  public:
30 
32  void GetOrigFromRef(double eta, double xi, double &x, double &y);
33 
35  void GetOrigFromRef(double *ref, double *orig);
36 
38  void GetRefFromOrig(double x, double y, double &eta, double &xi);
39 
41  void GetRefFromOrig(double *orig, double *ref);
42 
45  void GetOrigValues(TBaseCell *cell);
46 
48  virtual void SetCell(TBaseCell *cell)
49  { Cell = cell; }
50 
51  static RefTrans2D FindRefTrans2D
52  (int N_LocalUsedElements, FE2D *LocalUsedElements);
53 
55  virtual void GetOuterNormal(int j, double zeta,
56  double &n1, double &n2) = 0;
57 
59  virtual void GetTangent(int j, double zeta,
60  double &t1, double &t2) = 0;
61 
63  double GetVolume();
64 
65  // piola map, needed for vector values basis functions such as
66  // Raviart-Thomas (RT) or Brezzi-Douglas-Marini (BDM)
67  virtual void PiolaMapOrigFromRef(int N_Functs, double *refD00, double *origD00 )
68  { cout << " Piola Map not defined for this element " << endl; };
69 
70  // piola map for derivatives
71  virtual void PiolaMapOrigFromRef(int N_Functs, double *refD10,
72  double *refD01, double *origD10,
73  double *origD01)
74  { cout << " Piola Map not defined for this element " << endl; };
75 };
76 
77 #endif
void GetRefFromOrig(double x, double y, double &eta, double &xi)
Definition: RefTrans2D.h:22
virtual void GetTangent(int j, double zeta, double &t1, double &t2)=0
TRefTrans2D()
Definition: RefTrans2D.h:29
virtual void GetOuterNormal(int j, double zeta, double &n1, double &n2)=0
double GetVolume()
void GetOrigValues(TBaseCell *cell)
void GetOrigFromRef(double eta, double xi, double &x, double &y)
information for finite element data structure
Definition: BaseCell.h:25
virtual void SetCell(TBaseCell *cell)
Definition: RefTrans2D.h:48