ParMooN
 All Classes Functions Variables Friends Pages
HexaAffin.h
1 // =======================================================================
2 // @(#)HexaAffin.h 1.3 02/22/00
3 //
4 // Class: THexaAffin
5 //
6 // Purpose: affin reference transformations for Hexahedron
7 //
8 // Author: Daniel Quoos
9 //
10 // History: 08.07.97 start implementation
11 //
12 // =======================================================================
13 
14 #ifndef __HEXAAFFIN__
15 #define __HEXAAFFIN__
16 
17 #include <Enumerations.h>
18 #include <RefTrans3D.h>
19 
21 class THexaAffin : public TRefTrans3D
22 {
23  protected:
25  double x0, x1, x2, x3, x4, x5, x6, x7;
26 
28  double y0, y1, y2, y3, y4, y5, y6, y7;
29 
31  double z0, z1, z2, z3, z4, z5, z6, z7;
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  THexaAffin();
51 
53  void GetOrigFromRef(double eta, double xi, double zeta, double &x, double &y, double &z);
54 
56  void GetOrigFromRef(int N_Points, double *eta, double *xi, double *zeta,
57  double *x, double *y, double *z, double *absdetjk);
58 
60  void GetOrigFromRef(double *ref, double *orig);
61 
63  void GetRefFromOrig(double x, double y, double z, double &eta, double &xi, double &zeta);
64 
66  void GetRefFromOrig(double *orig, double *ref);
67 
70  void GetOrigValues(BaseFunct3D BaseFunct,
71  int N_Points, double *xi, double *eta, double *zeta,
72  int N_Functs, QuadFormula3D HexaFormula);
73 
76  void GetOrigValues(int N_Sets, BaseFunct3D *BaseFunct,
77  int N_Points, double *xi, double *eta, double *zeta,
78  QuadFormula3D HexaFormula,
79  bool *Needs2ndDer);
80 
83  void GetOrigValues(double xi, double eta, double zeta, int N_BaseFunct,
84  double *uref, double *uxiref, double *uetaref, double *uzetaref,
85  double *uorig, double *uxorig, double *uyorig, double *uzorig,
86  int _BaseVectDim = 1);
87 
89  void SetCell(TBaseCell * cell);
90 
92  void GetOuterNormal(int j, double s, double t,
93  double &n1, double &n2, double &n3);
94 
96  void GetTangentVectors(int j, double p1, double p2,
97  double &t11, double &t12, double &t13,
98  double &t21, double &t22, double &t23);
99 
101  void PiolaMapOrigFromRef(int N_Functs, double *refD000, double *origD000);
102 };
103 
104 #endif
double y0
Definition: HexaAffin.h:28
void GetOrigValues(BaseFunct3D BaseFunct, int N_Points, double *xi, double *eta, double *zeta, int N_Functs, QuadFormula3D HexaFormula)
Definition: HexaAffin.C:96
Definition: HexaAffin.h:21
Definition: RefTrans3D.h:22
double rec_detjk
Definition: HexaAffin.h:46
void PiolaMapOrigFromRef(int N_Functs, double *refD000, double *origD000)
Piola transformation for vector valued basis functions.
Definition: HexaAffin.C:1001
void SetCell(TBaseCell *cell)
Definition: HexaAffin.C:865
double detjk
Definition: HexaAffin.h:43
double xc0
Definition: HexaAffin.h:34
THexaAffin()
Definition: HexaAffin.C:22
double zc0
Definition: HexaAffin.h:40
double z0
Definition: HexaAffin.h:31
information for finite element data structure
Definition: BaseCell.h:25
double yc0
Definition: HexaAffin.h:37
void GetOuterNormal(int j, double s, double t, double &n1, double &n2, double &n3)
Definition: HexaAffin.C:900
void GetOrigFromRef(double eta, double xi, double zeta, double &x, double &y, double &z)
Definition: HexaAffin.C:27
void GetTangentVectors(int j, double p1, double p2, double &t11, double &t12, double &t13, double &t21, double &t22, double &t23)
Definition: HexaAffin.C:957
double x0
Definition: HexaAffin.h:25
void GetRefFromOrig(double x, double y, double z, double &eta, double &xi, double &zeta)
Definition: HexaAffin.C:63