ParMooN
 All Classes Functions Variables Friends Pages
TetraAffin.h
1 // =======================================================================
2 // @(#)TetraAffin.h 1.3 08/18/99
3 //
4 // Class: TTetraAffin
5 //
6 // Purpose: reference transformations for tetrahedron
7 //
8 // Author: Daniel Quoos
9 //
10 // History: 01.02.00 start implementation
11 //
12 // =======================================================================
13 
14 #ifndef __TETRAAFFIN__
15 #define __TETRAAFFIN__
16 
17 #include <Enumerations.h>
18 #include <RefTrans3D.h>
19 
21 class TTetraAffin : public TRefTrans3D
22 {
23  protected:
25  double x0, x1, x2, x3;
26 
28  double y0, y1, y2, y3;
29 
31  double z0, z1, z2, z3;
32 
34  double xc0, xc1, xc2, xc3;
35 
37  double yc0, yc1, yc2, yc3;
38 
40  double zc0, zc1, zc2, zc3;
41 
43  double detjk;
44 
46  double rec_detjk;
47 
48  public:
50  TTetraAffin();
51 
53  void GetOrigBoundFromRef(int Joint, double xi, double eta,
54  double &X, double &Y, double &Z);
55 
57  void GetOrigFromRef(double eta, double xi, double zeta, double &x, double &y, double &z);
58 
60  void GetOrigFromRef(int N_Points, double *eta, double *xi, double *zeta,
61  double *x, double *y, double *z, double *absdetjk);
62 
64  void GetOrigFromRef(double *ref, double *orig);
65 
67  void GetRefFromOrig(double x, double y, double z, double &eta, double &xi, double &zeta);
68 
70  void GetRefFromOrig(double *orig, double *ref);
71 
74  void GetOrigValues(BaseFunct3D BaseFunct,
75  int N_Points, double *xi, double *eta, double *zeta,
76  int N_Functs, QuadFormula3D QuadFormula);
77 
80  void GetOrigValues(int N_Sets, BaseFunct3D *BaseFunct,
81  int N_Points, double *xi, double *eta, double *zeta,
82  QuadFormula3D QuadFormula,
83  bool *Needs2ndDer);
84 
87  void GetOrigValues(double xi, double eta, double zeta, int N_BaseFunct,
88  double *uref, double *uxiref, double *uetaref,
89  double *zetaref,
90  double *uorig, double *uxorig, double *uyorig,
91  double *uzorig, int _BaseVectDim = 1);
92 
95  void GetOrigValuesJoint(int JointNr, double p1, double p2, int N_BaseFunct,
96  double *uref, double *uxiref, double *uetaref, double *uzetaref,
97  double *uorig, double *uxorig, double *uyorig, double *uzorig);
98 
99  // for compatibility
100  void GetOrigValues(int JointNr, double p1, double p2, int N_BaseFunct,
101  double *uref, double *uxiref, double *uetaref, double *uzetaref,
102  double *uorig, double *uxorig, double *uyorig, double *uzorig);
103 
105  void SetCell(TBaseCell * cell);
106 
108  void GetOuterNormal(int j, double s, double t,
109  double &n1, double &n2, double &n3);
110 
112  void GetTangentVectors(int j, double p1, double p2,
113  double &t11, double &t12, double &t13,
114  double &t21, double &t22, double &t23);
115 
117  void PiolaMapOrigFromRef(int N_Functs, double *refD000, double *origD000);
118 };
119 
120 #endif
void PiolaMapOrigFromRef(int N_Functs, double *refD000, double *origD000)
Piola transformation for vector basis.
Definition: TetraAffin.C:990
void SetCell(TBaseCell *cell)
Definition: TetraAffin.C:878
void GetOrigBoundFromRef(int Joint, double xi, double eta, double &X, double &Y, double &Z)
Definition: TetraAffin.C:27
void GetRefFromOrig(double x, double y, double z, double &eta, double &xi, double &zeta)
Definition: TetraAffin.C:106
Definition: RefTrans3D.h:22
double x0
Definition: TetraAffin.h:25
Definition: TetraAffin.h:21
void GetOuterNormal(int j, double s, double t, double &n1, double &n2, double &n3)
Definition: TetraAffin.C:911
double z0
Definition: TetraAffin.h:31
void GetOrigFromRef(double eta, double xi, double zeta, double &x, double &y, double &z)
Definition: TetraAffin.C:70
double y0
Definition: TetraAffin.h:28
information for finite element data structure
Definition: BaseCell.h:25
TTetraAffin()
Definition: TetraAffin.C:22
double yc0
Definition: TetraAffin.h:37
void GetOrigValues(BaseFunct3D BaseFunct, int N_Points, double *xi, double *eta, double *zeta, int N_Functs, QuadFormula3D QuadFormula)
Definition: TetraAffin.C:146
double zc0
Definition: TetraAffin.h:40
void GetTangentVectors(int j, double p1, double p2, double &t11, double &t12, double &t13, double &t21, double &t22, double &t23)
Definition: TetraAffin.C:956
double xc0
Definition: TetraAffin.h:34
double detjk
Definition: TetraAffin.h:43
double rec_detjk
Definition: TetraAffin.h:46
void GetOrigValuesJoint(int JointNr, double p1, double p2, int N_BaseFunct, double *uref, double *uxiref, double *uetaref, double *uzetaref, double *uorig, double *uxorig, double *uyorig, double *uzorig)
Definition: TetraAffin.C:837