ParMooN
 All Classes Functions Variables Friends Pages
TriaAffin.h
1 // =======================================================================
2 // @(#)TriaAffin.h 1.5 04/13/00
3 //
4 // Class: TTriaAffin
5 //
6 // Purpose: reference transformations for triangle
7 //
8 // Author: Gunar Matthies
9 //
10 // History: 08.07.97 start implementation
11 //
12 // =======================================================================
13 
14 #ifndef __TRIAAFFIN__
15 #define __TRIAAFFIN__
16 
17 #include <Enumerations.h>
18 #include <RefTrans2D.h>
19 
21 class TTriaAffin : public TRefTrans2D
22 {
23  protected:
25  double x0, x1, x2;
26 
28  double y0, y1, y2;
29 
31  double xc0, xc1, xc2;
32 
34  double yc0, yc1, yc2;
35 
37  double detjk;
38 
40  double rec_detjk;
41 
42  public:
44  TTriaAffin();
45 
47  void GetOrigFromRef(double eta, double xi, double &x, double &y);
48 
50  void GetOrigFromRef(int N_Points, double *eta, double *xi,
51  double *x, double *y, double *absdetjk);
52 
54  void GetOrigFromRef(double *ref, double *orig);
55 
57  void GetRefFromOrig(double x, double y, double &eta, double &xi);
58 
60  void GetRefFromOrig(double *orig, double *ref);
61 
64  void GetOrigValues(BaseFunct2D BaseFunct,
65  int N_Points, double *xi, double *eta,
66  int N_Functs, QuadFormula2D QuadFormula);
67 
70  void GetOrigValues(int N_Sets, BaseFunct2D *BaseFunct,
71  int N_Points, double *xi, double *eta,
72  QuadFormula2D QuadFormula,
73  bool *Needs2ndDer);
74 
77  void GetOrigValues(double xi, double eta, int N_BaseFunct,
78  double *uref, double *uxiref, double *uetaref,
79  double *uorig, double *uxorig, double *uyorig,
80  int _BaseVectDim = 1);
81 
84  void GetOrigValues(int joint, double zeta, int N_BaseFunct,
85  double *uref, double *uxiref, double *uetaref,
86  double *uorig, double *uxorig, double *uyorig,
87  int _BaseVectDim=1);
88 
90  void SetCell(TBaseCell * cell);
91 
93  void GetOuterNormal(int j, double zeta,
94  double &n1, double &n2);
95 
97  void GetTangent(int j, double zeta,
98  double &t1, double &t2);
99 
101  double GetVolume();
102 
104  void GetOrigBoundFromRef(int joint, int N_Points, double *zeta, double *X, double *Y);
105 
107  void PiolaMapOrigFromRef(int N_Functs, double *refD00, double *origD00);
108  void PiolaMapOrigFromRef(int N_Functs, double *refD10, double *refD01,
109  double *origD10, double *origD01);
110 
111 };
112 
113 #endif
void GetOrigFromRef(double eta, double xi, double &x, double &y)
Definition: TriaAffin.C:26
double GetVolume()
Definition: TriaAffin.C:651
void GetOrigValues(BaseFunct2D BaseFunct, int N_Points, double *xi, double *eta, int N_Functs, QuadFormula2D QuadFormula)
Definition: TriaAffin.C:79
double x0
Definition: TriaAffin.h:25
double xc0
Definition: TriaAffin.h:31
Definition: RefTrans2D.h:22
double y0
Definition: TriaAffin.h:28
TTriaAffin()
Definition: TriaAffin.C:21
void SetCell(TBaseCell *cell)
Definition: TriaAffin.C:550
void GetOrigBoundFromRef(int joint, int N_Points, double *zeta, double *X, double *Y)
Definition: TriaAffin.C:656
void GetOuterNormal(int j, double zeta, double &n1, double &n2)
Definition: TriaAffin.C:587
double detjk
Definition: TriaAffin.h:37
void PiolaMapOrigFromRef(int N_Functs, double *refD00, double *origD00)
Piola transformation for vector basis.
Definition: TriaAffin.C:691
Definition: TriaAffin.h:21
information for finite element data structure
Definition: BaseCell.h:25
double rec_detjk
Definition: TriaAffin.h:40
void GetRefFromOrig(double x, double y, double &eta, double &xi)
Definition: TriaAffin.C:58
double yc0
Definition: TriaAffin.h:34
void GetTangent(int j, double zeta, double &t1, double &t2)
Definition: TriaAffin.C:621