ParMooN
 All Classes Functions Variables Friends Pages
QuadBilinear.h
1 // =======================================================================
2 // @(#)QuadBilinear.h 1.5 04/13/00
3 //
4 // Class: TQuadBilinear
5 //
6 // Purpose: Bilinear reference transformations for parallelogram
7 //
8 // Author: Gunar Matthies
9 //
10 // History: 08.07.97 start implementation
11 //
12 // =======================================================================
13 
14 #ifndef __QUADBilinear__
15 #define __QUADBilinear__
16 
17 #include <Enumerations.h>
18 #include <RefTrans2D.h>
19 
21 class TQuadBilinear : public TRefTrans2D
22 {
23  protected:
25  double x0, x1, x2, x3;
26 
28  double y0, y1, y2, y3;
29 
31  double xc0, xc1, xc2, xc3;
32 
34  double yc0, yc1, yc2, yc3;
35 
36  public:
38  TQuadBilinear();
39 
41  void GetOrigFromRef(double eta, double xi, double &x, double &y);
42 
44  void GetOrigFromRef(int N_Points, double *eta, double *xi,
45  double *x, double *y, double *absdetjk);
46 
48  void GetOrigFromRef(double *ref, double *orig);
49 
51  void GetRefFromOrig(double x, double y, double &eta, double &xi);
52 
54  void GetRefFromOrig(double *orig, double *ref);
55 
58  void GetOrigValues(BaseFunct2D BaseFunct,
59  int N_Points, double *xi, double *eta,
60  int N_Functs, QuadFormula2D QuadFormula);
61 
64  void GetOrigValues(int N_Sets, BaseFunct2D *BaseFunct,
65  int N_Points, double *xi, double *eta,
66  QuadFormula2D QuadFormula,
67  bool *Needs2ndDer);
68 
71  void GetOrigValues(double xi, double eta, int N_BaseFunct,
72  double *uref, double *uxiref, double *uetaref,
73  double *uorig, double *uxorig, double *uyorig,
74  int _BaseVectDim = 1);
75 
76  void GetOrigValues(int joint, double zeta, int N_BaseFunct,
77  double *uref, double *uxiref, double *uetaref,
78  double *uorig, double *uxorig, double *uyorig,
79  int _BaseVectDim = 1);
80 
82  void SetCell(TBaseCell * cell);
83 
85  void GetOuterNormal(int j, double zeta,
86  double &n1, double &n2);
87 
89  void GetTangent(int j, double zeta,
90  double &t1, double &t2);
92  double GetVolume();
93 
95  void PiolaMapOrigFromRefNotAffine(int N_Functs, double *refD00,
96  double *origD00, double xi, double eta);
99  void PiolaMapOrigFromRefNotAffine(int N_Functs, double *refD00,
100  double *refD10, double *refD01,
101  double *origD10, double *origD01,
102  double xi, double eta);
103 };
104 
105 #endif
void GetRefFromOrig(double x, double y, double &eta, double &xi)
Definition: QuadBilinear.C:58
double xc0
Definition: QuadBilinear.h:31
void GetOrigValues(BaseFunct2D BaseFunct, int N_Points, double *xi, double *eta, int N_Functs, QuadFormula2D QuadFormula)
Definition: QuadBilinear.C:95
double y0
Definition: QuadBilinear.h:28
Definition: RefTrans2D.h:22
double x0
Definition: QuadBilinear.h:25
TQuadBilinear()
Definition: QuadBilinear.C:21
void SetCell(TBaseCell *cell)
Definition: QuadBilinear.C:738
information for finite element data structure
Definition: BaseCell.h:25
void PiolaMapOrigFromRefNotAffine(int N_Functs, double *refD00, double *origD00, double xi, double eta)
Piola transformation for vector valued basis functions.
Definition: QuadBilinear.C:871
Definition: QuadBilinear.h:21
void GetTangent(int j, double zeta, double &t1, double &t2)
Definition: QuadBilinear.C:811
void GetOrigFromRef(double eta, double xi, double &x, double &y)
Definition: QuadBilinear.C:26
double GetVolume()
Definition: QuadBilinear.C:845
void GetOuterNormal(int j, double zeta, double &n1, double &n2)
Definition: QuadBilinear.C:771
double yc0
Definition: QuadBilinear.h:34